Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prepared for CIS 6650.01 © 2007 W. Lu/J. Cole 1 "Colombo: Lightweight middleware for service- oriented computing" by F. Curbera, M. J. Duftler, R. Khalaf,

Similar presentations


Presentation on theme: "Prepared for CIS 6650.01 © 2007 W. Lu/J. Cole 1 "Colombo: Lightweight middleware for service- oriented computing" by F. Curbera, M. J. Duftler, R. Khalaf,"— Presentation transcript:

1 Prepared for CIS 6650.01 © 2007 W. Lu/J. Cole 1 "Colombo: Lightweight middleware for service- oriented computing" by F. Curbera, M. J. Duftler, R. Khalaf, W. A. Nagy, N. Mukhi, and S. Weerawarana IBM Systems Journal, Vol. 44, No. 4, 2005, Pages 799-820 Critique by Jack Cole (Presenter) and Wei Lu (Discussant) of :

2 2 Prepared for CIS 6650.01 Winter 2007 What Is Colombo? A research project at IBM (Watson) A research project at IBM (Watson) Goal is to "deepen understanding of what type of middleware architectures are most appropriate to support SOC environments". Goal is to "deepen understanding of what type of middleware architectures are most appropriate to support SOC environments". To that end: design and implement a middleware platform for developing, deploying, and executing SO applications that is: To that end: design and implement a middleware platform for developing, deploying, and executing SO applications that is: lightweight lightweight optimized for SOA optimized for SOA native for SOA – not glued onto legacy runtimes native for SOA – not glued onto legacy runtimes The paper describes the architecture, design principles, and capabilities of Colombo. The paper describes the architecture, design principles, and capabilities of Colombo.

3 3Prepared for CIS 6650.01 Winter 2007 Colombo is… A. A Programming Model for development of services and service compositions B. A Runtime Environment for Web Services and Web Service compositions, with rich Quality of Service (QoS) capabilities

4 4Prepared for CIS 6650.01 Winter 2007 SOA Principles & Requirements in Colombo 1. Faithful realization of the Web Services protocol stack efficient XML parser efficient XML parser SOAP processor for synchronous and asynchronous message exchange SOAP processor for synchronous and asynchronous message exchange Missing is support for discovery of services Missing is support for discovery of services ( All Figures are from the original paper )

5 5Prepared for CIS 6650.01 Winter 2007 SOA Principles & Requirements in Colombo 2. Quality of Service requirements must be part of the integration contract between providers and requestors. Colombo runtime provides a policy handler framework supporting "business enabling" QoS specifications currently in the Web Services stack: Colombo runtime provides a policy handler framework supporting "business enabling" QoS specifications currently in the Web Services stack: atomic transactions atomic transactions reliable messaging reliable messaging security security

6 6Prepared for CIS 6650.01 Winter 2007 SOA Principles & Requirements in Colombo 3. Web Services must be driven by machine-readable service descriptions in the form of meta-data. WSDL and WS-Policy descriptions are used throughout WSDL and WS-Policy descriptions are used throughout

7 7Prepared for CIS 6650.01 Winter 2007 SOA Principles & Requirements in Colombo 4. Must provide native support for service creation and composition Colombo defines primitives for creating and deploying Web Services in a language- independent manner Colombo defines primitives for creating and deploying Web Services in a language- independent manner "first-class support for service composition" "first-class support for service composition"

8 8Prepared for CIS 6650.01 Winter 2007 The Colombo Programming Model The Programming Model provides mechanisms to: The Programming Model provides mechanisms to: Access and use other services Access and use other services Encode "business" and compositional logic Encode "business" and compositional logic Encapsulate the composition as a new service Encapsulate the composition as a new service State and honour the QoS characteristics when interacting with services State and honour the QoS characteristics when interacting with services

9 9Prepared for CIS 6650.01 Winter 2007 Services & Servicelets "Service: A stateless message processor supporting exactly one interface and with associated interaction-specific information, said to be 'context' " "Service: A stateless message processor supporting exactly one interface and with associated interaction-specific information, said to be 'context' " The unit of development and deployment is Colombo is a "servicelet" The unit of development and deployment is Colombo is a "servicelet" A servicelet provides one or more services A servicelet provides one or more services

10 10Prepared for CIS 6650.01 Winter 2007 Servicelets Servicelets: May use other services to implement the business (service) logic May use other services to implement the business (service) logic All services in a servicelet share a context All services in a servicelet share a context Interactions between servicelets and other services represent "conversations" Interactions between servicelets and other services represent "conversations" servicelet may be in 1 conversation at a time servicelet may be in 1 conversation at a time Interactions with the Colombo runtime are also modeled as service interactions Interactions with the Colombo runtime are also modeled as service interactions

11 11Prepared for CIS 6650.01 Winter 2007 Servicelets Servicelets: May be programmed in any language May be programmed in any language Invoke another service using a "stub" Invoke another service using a "stub" Are invoked via an "adapter" Are invoked via an "adapter" Are driven by messages Are driven by messages As messages arrive, they are delivered to the servicelet along with the servicelet context

12 12Prepared for CIS 6650.01 Winter 2007 Servicelets Servicelets have clients, partners, policies, adapters, stubs, contexts, logic.

13 13Prepared for CIS 6650.01 Winter 2007 Service Development Development begins with a WSDL file. Development begins with a WSDL file. From WSDL, Colombo tools generate: From WSDL, Colombo tools generate:  mappings from XML schema data types to Java types  skeleton Java code for the service that must be implemented for the service that must be implemented for the reading and writing of messages for the reading and writing of messages  QoS policies from the binding sections

14 14Prepared for CIS 6650.01 Winter 2007 Development Models Service may be implemented in Java Service may be implemented in Java Java methods invoked for each message Java methods invoked for each message Return value of method is response to operation Return value of method is response to operation Service may be implemented in BPEL Service may be implemented in BPEL BPEL Process already embodies prominent characteristics of servicelet BPEL Process already embodies prominent characteristics of servicelet BPEL PartnerLinks are Conversations BPEL PartnerLinks are Conversations

15 15Prepared for CIS 6650.01 Winter 2007 Colombo Runtime There are 3 important parts: There are 3 important parts: SOAP-based message processing engine SOAP-based message processing engine Servicelet Managers Servicelet Managers QoS (Policy) Framework QoS (Policy) Framework

16 16Prepared for CIS 6650.01 Winter 2007 Message Engine The backbone of the Colombo Runtime The backbone of the Colombo Runtime Messages are divided into incoming and outgoing execution paths Messages are divided into incoming and outgoing execution paths

17 17Prepared for CIS 6650.01 Winter 2007 Message Engine Many of the difficulties in developing the Runtime centred on meeting WS- Addressing specification Many of the difficulties in developing the Runtime centred on meeting WS- Addressing specification Large impact on message routing methods Large impact on message routing methods Information about recipient, action, purpose of message is passed around conversations in SOAP headers Information about recipient, action, purpose of message is passed around conversations in SOAP headers

18 18Prepared for CIS 6650.01 Winter 2007 Servicelet Managers Each servicelet type (Java, BPEL, etc.) requires a Servicelet Manager Each servicelet type (Java, BPEL, etc.) requires a Servicelet Manager hooks the servicelet runtime into the Colombo machinery hooks the servicelet runtime into the Colombo machinery Serves to isolate the programming model from the transport details Serves to isolate the programming model from the transport details For examples, the Manager implements: For examples, the Manager implements: Interfaces to SOAP handlers Interfaces to SOAP handlers Serialization/deserialization of data types Serialization/deserialization of data types

19 19Prepared for CIS 6650.01 Winter 2007 QoS Framework Uses WS-Policy language Uses WS-Policy language Collects, interprets and enforces policies Collects, interprets and enforces policies There are system-wide, servicelet-wide, and service-wide policies There are system-wide, servicelet-wide, and service-wide policies They come from services, partner services, and the Colombo framework They come from services, partner services, and the Colombo framework Policy merging can be quite complex Policy merging can be quite complex

20 20Prepared for CIS 6650.01 Winter 2007 QoS Enforcement Enforced at the conversation level Enforced at the conversation level Enforcement Information is carried in message headers Enforcement Information is carried in message headers Enforcement is implemented by a linear chain of policy handlers Enforcement is implemented by a linear chain of policy handlers Ordering this chain correctly is an ongoing problem Ordering this chain correctly is an ongoing problem

21 21Prepared for CIS 6650.01 Winter 2007 Future Direction Testing and measurement of the platform to determine if goals have been met. Testing and measurement of the platform to determine if goals have been met. To date, this has not appeared. To date, this has not appeared. Add discovery capabilities Add discovery capabilities Add WS-BusinessActivity specification for business interactions Add WS-BusinessActivity specification for business interactions Extend developer support Extend developer support

22 22Prepared for CIS 6650.01 Winter 2007 Summary: Authors' Results Native WS platform. (No legacy integration.) Native WS platform. (No legacy integration.) High performance, small footprint. High performance, small footprint. Simplified application development. Simplified application development. Simplified deployment model. Simplified deployment model. Supports "full" Web Services stack. Supports "full" Web Services stack. including customizable QoS capabilities. including customizable QoS capabilities. Enables service composition. Enables service composition. Defines a multi-language development platform (Java and BPEL and more possible) Defines a multi-language development platform (Java and BPEL and more possible)

23 Critique Colombo overview Colombo overview Presentation of the paper Presentation of the paper Theoretical aspect Theoretical aspect In respect to J2EE In respect to J2EE In respect to ebXML In respect to ebXML Conclusion Conclusion 23Prepared for CIS 6650.01 Winter 2007

24 Colombo Overview An attempt for a native Web Service Platform An attempt for a native Web Service Platform Optimized, lightweight Optimized, lightweight Provides a native application framework Provides a native application framework Attempt to implement the full Web Service protocol stack Attempt to implement the full Web Service protocol stack Still under development Still under development Claims to provide service composition i.e. semantic web services Claims to provide service composition i.e. semantic web services Provides business oriented functionalities Provides business oriented functionalities 24Prepared for CIS 6650.01 Winter 2007

25 Colombo Framework Quality of Service (QOS) capabilities Quality of Service (QOS) capabilities WS-Policy and WS-Addressing, more to come WS-Policy and WS-Addressing, more to come Servicelets Servicelets Adapters and Stubs Adapters and Stubs 25Prepared for CIS 6650.01 Winter 2007

26 Presentation of the paper The paper is very technical on conceptual design The paper is very technical on conceptual design But no details on how solutions are approached But no details on how solutions are approached No discussion of actual implementation No discussion of actual implementation No concrete examples of the platform No concrete examples of the platform No benchmark to backup any claim, such as “lightweight” and “optimized” No benchmark to backup any claim, such as “lightweight” and “optimized” Fail to address the semantics in service composition Fail to address the semantics in service composition 26Prepared for CIS 6650.01 Winter 2007

27 Theoretical Aspect No noticeable break-through No noticeable break-through The use of stubs has been introduced in RPC The use of stubs has been introduced in RPC Fail to address semantic challenges such as best service selection, composition ordering, etc. Fail to address semantic challenges such as best service selection, composition ordering, etc. Just adding another abstraction layer Just adding another abstraction layer Only emphasize policies and QoS Only emphasize policies and QoS If no semantic, same composition can be hard-coded with existing web services If no semantic, same composition can be hard-coded with existing web services 27Prepared for CIS 6650.01 Winter 2007

28 In respect to J2EE Colombo is in direct competition with other Web services technologies, such as J2EE and MS.NET Colombo is in direct competition with other Web services technologies, such as J2EE and MS.NET J2EE, for example, is light-years ahead of Colombo J2EE, for example, is light-years ahead of Colombo J2EE is a well-established platform with actual existing implementation in widespread use J2EE is a well-established platform with actual existing implementation in widespread use J2EE is native on J2EE application server, providing optimized and integrated solutions. J2EE is native on J2EE application server, providing optimized and integrated solutions. 28Prepared for CIS 6650.01 Winter 2007

29 J2EE J2EE has a much more complete implementation of the Web Services stack, including all that of Colombo, and more J2EE has a much more complete implementation of the Web Services stack, including all that of Colombo, and more WS-Policy WS-Policy WS-Addressing WS-Addressing WS-Security WS-Security WS-AtomicTransaction WS-AtomicTransaction WS-Coordination WS-Coordination WS-Resource Framework WS-Resource Framework 29Prepared for CIS 6650.01 Winter 2007

30 J2EE (cont.) J2EE also implements QoS J2EE also implements QoS Better business support (WS-* services) Better business support (WS-* services) Enterprise JavaBeans (EJB) provides programming model for writing and deploying business logic into an application server Enterprise JavaBeans (EJB) provides programming model for writing and deploying business logic into an application server EJB can be stateful or stateless, or message- driven EJB can be stateful or stateless, or message- driven Service composition with EJB is as easy as connecting different components within IDE Service composition with EJB is as easy as connecting different components within IDE EJB is still loosely-coupled with well-defined interfaces, and uses SOAP EJB is still loosely-coupled with well-defined interfaces, and uses SOAP 30Prepared for CIS 6650.01 Winter 2007

31 J2EE (cont.) J2EE has Deployment Descriptors (DD) J2EE has Deployment Descriptors (DD) DD is an XML file that capture contextual information about components and applications DD is an XML file that capture contextual information about components and applications DD helps resolve many service composition issues, such as resolving references, setting policies, and linking to other components DD helps resolve many service composition issues, such as resolving references, setting policies, and linking to other components Java Server Pages (JSP) also allows the HTML and page design to be separated from the business logic while still providing integration Java Server Pages (JSP) also allows the HTML and page design to be separated from the business logic while still providing integration JSP, EJB and DD together form a robust service composition engine for J2EE JSP, EJB and DD together form a robust service composition engine for J2EE 31Prepared for CIS 6650.01 Winter 2007

32 In respect to ebXML Built-on Web services technology, a new architecture for conducting business online Built-on Web services technology, a new architecture for conducting business online J2EE fully supports ebXML J2EE fully supports ebXML Colombo is based on old Web service technology, and is not even using UDDI Colombo is based on old Web service technology, and is not even using UDDI Duplicated technologies (WS-* v.s. ebXML standards) Duplicated technologies (WS-* v.s. ebXML standards) ebXML provides better business support and has been in widespread use ebXML provides better business support and has been in widespread use 32Prepared for CIS 6650.01 Winter 2007

33 Conclusion Colombo still requires much development Colombo still requires much development At current rate, Colombo can not compare with products such as J2EE and MS.NET At current rate, Colombo can not compare with products such as J2EE and MS.NET Based on old technology, and fails to address new technologies such as ebXML Based on old technology, and fails to address new technologies such as ebXML Although Colombo attempts to be business- oriented, ebXML does it better and has been in widespread use Although Colombo attempts to be business- oriented, ebXML does it better and has been in widespread use IBM should not expect Colombo to compete IBM should not expect Colombo to compete Authors do not give evidence or arguments for Colombo's viability or success in reaching goals Authors do not give evidence or arguments for Colombo's viability or success in reaching goals 33Prepared for CIS 6650.01 Winter 2007


Download ppt "Prepared for CIS 6650.01 © 2007 W. Lu/J. Cole 1 "Colombo: Lightweight middleware for service- oriented computing" by F. Curbera, M. J. Duftler, R. Khalaf,"

Similar presentations


Ads by Google