- From: Newcomer, Eric <Eric.Newcomer@iona.com>
- Date: Mon, 1 Jul 2002 10:23:38 -0400
- To: "Edwin Khodabakchian" <edwink@collaxa.com>, <bytecode@Phreaker.net>, "Mark Baker" <distobj@acm.org>
- Cc: <www-ws-arch@w3.org>
Edwin, Yes, this is pretty much what I'd say about the document/messaging oriented interaction style. I agree also that it may not be so easy to create a single abstraction layer that will work for both this and the RPC oriented style, although there are precedents in industry of the RPC style being emulated over messaging (Lu6.2 and ATMI come to mind for example). Part of it also depends the extent to which we might imagine emulating LAN based RPCs in which a constant connection can be or is assumed. And yes, it will be very helpful to clarify the developer model and other use cases. I am thinking a strict interpretation of RPC semantics over the Web is not a good thing, as Mark and others have pointed out this was tried with CORBA and didn't work too well. I think the connection oriented nature of the RPCs from CORBA, Java, and DCOM is the main problem. Eric -----Original Message----- From: Edwin Khodabakchian [mailto:edwink@collaxa.com] Sent: Sunday, June 30, 2002 8:41 PM To: Newcomer, Eric; bytecode@Phreaker.net; 'Mark Baker' Cc: www-ws-arch@w3.org Subject: RE: Late binding Eric, May be we are saying the same thing here then: In a document/messaging world, Web Services are a set of interoperability standards that let us think of the web as a network of "queues". Each queue knows how to process a "XML Schema" typed document and if necessary return when completed another "XML Schema" typed document to 1 or many observers. The processing of the document could take 2 seconds, 30 seconds, 5 hours, 10 days or 3 months. In that perspective, in order to increase adaptability and simplify the composition, we can learn from the web and limit the number of verbs that each queue understand: one verb to put the document to the queue, one to get the status of processing, one to notify observer, etc. Interoperability also requires the propagation of context as part of the document: security context, transaction context, conversation/correlation/callback context, expiration, etc. and the need for protocols like BTP to coordinate the distribute processing of those documents. If we are able to define such abstraction and it ends up beeing isomorphic to a web resource then we might be able to leverage the foundation of the web architecture. Regarding the processing of the message once it is put in a queue, I believe that this should be left to J2EE and .Net similar to how Servlet, ISAPI, ASP, etc. did the mapping for HTTP requests to a class, etc... Are you suggesting that this workgroup should try and define how a SOAP message should be extracted from a queue and processed as part of each architecture? Finally, I think that part of the challenge of the workgroup is facing is that document/message oriented use of web service (app to app cooperation) is only one use case of Web Service standards. The other one, is the real-time integration of content into portals, excel and other user driven, desktop applications. The requirements and application model there are different. Trying to find one unique architecture that satisfies both requirements and remains simple will not be trivial. I believe that finding a middle ground between the web and distributed computing starts by determining the (developer) representation of a Web Service. Meaning is it a resource/state like in the web, an object with methods like for distributed computing, an typed-queue like for messaging/EAI. All have their pros and cons. :-) Edwin -----Original Message----- From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org] On Behalf Of Newcomer, Eric Sent: Sunday, June 30, 2002 3:26 PM To: Edwin Khodabakchian; Newcomer, Eric; bytecode@Phreaker.net; Mark Baker Cc: www-ws-arch@w3.org Subject: RE: Late binding Edwin, Yes, this is why I'm interested in finding a middle ground. I am actually am not very interested in the RPC oriented aspect of Web services; I think the document oriented (or messaging oriented) is much more interesting, and much more suited to the Web. I hope we can keep the discussion within the context of use cases we are trying to resolve. Within the message oriented world, there's a need to associate the content of a message with an operation on the message. Meaning that whenever anyone receives a message, there must be a way to associate processing with the message. For the browser oriented Web, the processing is always the same -- that's why GET and POST work out so well. The primary use case is to exchange hypertext documents and display them in browsers. With Web services we are attempting to solve an additional problem, as you said. I agree there's a lot we can learn from the existing Web, and those of us with distributed computing backgrounds have to adjust our thinking to this new world. But I also think the opposite is true; those with only a markup language background also have to adjust. Perhaps the initial SOAP and WSDL specifications need improvement; there are W3C working groups set up for the purpose. Our job is more to put those and other technologies into sensible relationship. Our main goal is to develop a reference architecture that helps guide progress on Web services as it evolves toward a more full featured environment; but not really to question what's already been accomplished. Eric -----Original Message----- From: Edwin Khodabakchian [mailto:edwink@collaxa.com] Sent: Sunday, June 30, 2002 6:24 PM To: 'Newcomer, Eric'; bytecode@Phreaker.net; 'Mark Baker' Cc: www-ws-arch@w3.org Subject: RE: Late binding Eric, I very much agree with you: *** We indeed are trying to solve a different problem: it is no longer about we use the web to let a user access a resource through a browser, but how multiple applications talk to each other. Therefore it is not about how a user agent access a resource but about how a developer programs and automates a service. And I believe that this is why we are attracted towards API and the early uses of Web Services look like RPC. *** XML, XMLSchema, SOAP are very good first steps in promoting interoperability. But as we start to deploy some of service-oriented applications for our customers, we start to realize that we need more: 2 of the most important requirements are adaptability and reliability. I think that adapability is one area where the web is shining. The web has an incredible ability to adapt to constant change. No other architecture (mainframe, client/server, corba or J2EE) has this ability. You might say that it is easier to build an adaptative system when one end is a user (who can dynamically adapt to new page layout/content, exception, etc.) but all the resources are still linked and there are definitely lessons to be learned. On the reliability side, asynchrony and messaging are key because they compensate for heterogeneous performance and life cycle. Together adaptability and a more messaging-driven linking abstraction raise serious question regarding the current RPC mechanism that web services expose to developers today. One other way to say that is that if early toolkits make it easy for developers to use the web for RPC, then there will be adoption because RPC is developer friendly but we might end up hitting the wall because we will have applications that are very fragile and very difficult to evolve. Edwin
Received on Monday, 1 July 2002 10:25:46 UTC