On Mon, 2007-10-22 at 09:09 -0400, Walker, Jeff wrote: > 1. Web services shouldn't be stateful. (Far harder to keep that > promise than to recite it). My own current service is stateful, and it > breaks the SOA rules we have in place here, causing me no end to > issues. Removing the statefulness once it creeps into your project is > like getting blood from a stone. Best remedy is to create a composite > service that is stateless, and that talks to the client. It also > formulates a series of web service calls to your stateful service that > does the real work. The composite service then returns the result to > the client. BPEL could help here.
Jeff, can you tell me about a non-trivial stateless web service? What is the difference between the first (i.e. the stateful WS talks to the client) and the second approach (i.e. the stateful WS is hidden by a stateless one)? > > 2. Web services are not suitable for large data transfer, at all. I > have found past about 20Mb of data per request/response and the > service starts to timeout. That is even when RAM is added and > processors are upgraded. On one of my previous web services gigs I was > asked to build a web service to transfer files. They grew from 20Mb to > 75Mb with few troubles except for the occasional timeout, then to 1 > Gig in size. The remedy was to call the service asynchronously. There > are various Microsoft and IBM websites that will explain that mode of > calling. (If you need them, I can send you the article urls, I just > don't have them handy right now). > Remedy is to rethink your architecture. Web services will perform very > badly for you on large data sets. (So bad as to be totally unusable). > So simply don't use the web services for the data transfer. Try FTP > instead, and use the web service to generate the files and pass back > the address of where to find the files. It sounds like the granularity > of your service is too fine-grained. You need to think in higher terms > for the web service operations. What about WS with JMS? Michele --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
