Transcript Slide 1
Realisation of SOA using Web Services Advanced WS Adomas Svirskas Vilnius University December 2005 Agenda • WS-* Specifications • Advanced WS Architecture • WS Taxonomy Why the WS core is not enough? • We have got SOAP, WSDL, UDDI • So we can develop, publish, discover, invoke Web Services • But... this is about application integration • While the business world needs business process integration • Thus we need composable, orchestrated, transactable, secure Web Services Current State of WS [1] • The Web Services stack of standards has grown rapidly in the last three years from its original form as SOAP, WSDL and UDDI specifications • With it, the Web is moving towards being an open distributed computing platform with which we can build Service Oriented Architectures and Composite Applications The Reality - WS-Nonexistent Standards [2] • The numerous WS specifications introduced by various parties over the past few years show that there's a clear desire to fill out the WS architecture stack • Unfortunately, converting those specifications into actual industry standards is elusive • WS-This and WS-That – The specifications (collectively known as WS-*) are numerous and daunting. – A coalition of developers and architects from BEA Systems, IBM, and Microsoft authored most of them, though different specifications also include contributions from several other smaller companies. – Because the same author companies didn't write all the specifications, at least two different lists exist. The Reality - WS-Nonexistent Standards [2] • One can find complete lists of the WS-* specifications at: – http://msdn.microsoft.com/Webservices/understanding/specs – http://www-128.ibm.com/developerworks/webservices/standards/ – http://dev2dev.bea.com/webservices/standards.html • Natural questions: – How do these specifications fit together? – Are they all really necessary? – If they are necessary, how and when will they become actual standards? WS-* • These lists from Microsoft, IBM and BEA (there are more lists) cover pretty much every topic imaginable: – – – – – – – – – – – – – – – – – – – – • • WS-Addressing WS-Attachments WS-BusinessActivity WS-Coordination WS-Discovery WS-Enumeration WS-Eventing WS-Federation WS-Inspection WS-Manageability WS-MetadataExchange WS-Notification WS-PolicyFramework WS-Provisioning WS-ReliableMessaging WS-Resource WS-Security WS-Topics WS-Transactions WS-Transfer Moreover, some areas have two, three, or more specifications devoted to them There is a need for taxonomy of WS-* specs Current State of WS [1] • Within Web-based platform, software agents may – Exchange messages – Provide or consume services – Perform cooperatively units of work • Message exchanges and operation invocations may be part of a unit of work performed by software agents. • Instances of this unit of work have a precise lifecycle and often have a context. • Service compositions represent a particular type of unit of work. Messages, Services, UoW [1] J-J Dubray, SAP Blog http://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2261 Web Services Taxonomy [1] • All standards and (the proposed specs) developed as part of the Web Services stack fall in one of these three categories • At the message exchange level, the message exchange protocol (SOAP) is layered on top of transport and syntax specifications. This protocol can be composed with other specifications for reliable and/or secure message exchanges • The WS-Addressing specification standardizes addressing mechanisms for the protocol WS-* Standards Architecture [1] J-J Dubray, SAP Blog http://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2261 WS-* Standards Architecture (W3C) Web Services Architecture, W3C, http://www.w3.org/TR/ws-arch/#technology WS-* Standards Architecture – M$ http://msdn.microsoft.com/webservices/webservices/understanding/specs/default.aspx WS-* Standards Architecture - IBM http://www-128.ibm.com/developerworks/webservices/standards/ Web Services Taxonomy [1] • At the service level, the service definition specification (WSDL) can be composed with other specifications to add the concepts of Event and Resource • A directory (UDDI) may be used to store, search and retrieve service definitions. WS Taxonomy – UoW [1] • WS- RemotePortlets specification provides a service interface to user activities. • The foundation of the unit of work level is composed of Context, Lifecycle and optionally Coordination services for a particular type of unit of work. • The most basic type is a transaction: WSAtomicTransaction (WS-AT), WS-Business Activity (WS-BA). • WS-BPEL provides more sophisticated capabilities and can be used to specify service compositions. WS Choreography • Finally, WS-CDL has the capability to describe any message exchanges performed by an arbitrary number of participants • WS-CDL is a choreography language as opposed to WS-BPEL which is an orchestration language. WS-BPEL is executable, WS-CDL is not. • In a choreography, it is the mere exchange of messages by agents which advances the state of the choreography. WS Choreography • The decision process by which an agent decides to send a message is hidden from the choreography definition. • In an orchestration, an engine decides what to do next when it receives or sends a message, based on an orchestration definition. • A choreography definition may be used by each participant to configure the validation of the current message exchange instead of hard coding it. WS Choreography http://www.w3.org/TR/ws-cdl-10/#Purpose-of-WS-CDL WS-* Standards Architecture • The architecture is complemented by security (WS-Security, SAML ,…), management (WS-DM) and metadata (WS-Policy) specifications • Overall, these specifications have enabled the web to become a powerful distributed computing platform Service Component Architecture (SCA) • A major news as of 30 November: SAP, IBM, BEA, Oracle, IONA, Sybase, Siebel an others have announced the development of a new component model specifically designed for building service oriented architectures - SCA • SCA is a new component model based on the principles of Service Oriented Architecture – middleware and programming language neutral – offers a superior application model to support "Rich Clients" and construct RIAs (Rich Internet Applications) • http://dev2dev.bea.com/pub/a/2005/11/sca.html Service Component Architecture (SCA) • SCA is also an assembly mechanism, based on the injection of dependency pattern (as in Spring framework) to create Modules from Components and Systems and Subsystems from Modules. • A module is composed of service components which run in the same process. • As such, SCA provides the means to compose assets which have been implemented using a variety of technologies as services can be accessed and reused in a uniform manner • Any component developed with SCA should be able to participate in a system with any other SCA component, regardless of its implementation language References • [1] Dubray, J-J, SAP Blog 2005. Taxonomy and Architecture of Web Service Standards, http://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2261 • [2] Vinoski, S. WS-Nonexistent Standards. IEEE's Internet Computing, November 2004. http://www.iona.com/hyplan/vinoski/pdfs/IEEE-WSNonexistentStandards.pdf • [3] Ferguson, D. et al. Secure, Reliable, Transacted Web Services: Architecture and Composition, 2003. http://www306.ibm.com/software/solutions/webservices/pdf/SecureReliableTra nsactedWSAction.pdf • Papazoglou, M., Dubray, J-J. A Survey of Web service technologies. 2004, http://eprints.biblio.unitn.it/archive/00000586/