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,

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Web Service Architecture
Web Service Composition Prepared by Robert Ma February 5, 2007.
Overview of Web Services
An Introduction to Web Services Sriram Krishnan, Ph.D.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
SOA and Web Services. SOA Architecture Explaination Transport protocols - communicate between a service and a requester. Messaging layer - enables the.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Integrating CICS applications into SOA
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Workflow utilization in composition of complex applications based.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Business Process Orchestration
Web Services Seppo Heikkinen MITA seminar/TUT
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Peoplesoft: Building and Consuming Web Services
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
SOA, BPM, BPEL, jBPM.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
XForms: A case study Rajiv Shivane & Pavitar Singh.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
Web Services and HL7v3 in IHE profiles Vassil Peytchev Epic.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
OiCoN 2007Madeira Island Automotive Industry Action Group (AIAG)  Automotive Industry ‘Vertical’ for North American Supply Chain Founded by.
Architecting Web Services Unit – II – PART - III.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Random Logic l Forum.NET l Web Services Enhancements for Microsoft.NET (WSE) Forum.NET ● October 4th, 2006.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
SOA support in J2EE Platform overview Primitive SOA support Support for service-orientation principles Contemporary SOA support.
Kemal Baykal Rasim Ismayilov
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
Sabri Kızanlık Ural Emekçi
Distribution and components
Inventory of Distributed Computing Concepts and Web services
Enterprise Service Bus (ESB) (Chapter 9)
Service-centric Software Engineering 1
Inventory of Distributed Computing Concepts
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
WebServices Using JAX-RPC
Introduction to Web Services
Distributed System using Web Services
Distributed System using Web Services
Inventory of Distributed Computing Concepts
Presentation transcript:

Prepared for CIS © 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 Critique by Jack Cole (Presenter) and Wei Lu (Discussant) of :

2 Prepared for CIS 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.

3Prepared for CIS 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

4Prepared for CIS 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 )

5Prepared for CIS 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

6Prepared for CIS 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

7Prepared for CIS 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"

8Prepared for CIS 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

9Prepared for CIS 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

10Prepared for CIS 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

11Prepared for CIS 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

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

13Prepared for CIS 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

14Prepared for CIS 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

15Prepared for CIS 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

16Prepared for CIS 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

17Prepared for CIS 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

18Prepared for CIS 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

19Prepared for CIS 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

20Prepared for CIS 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

21Prepared for CIS 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

22Prepared for CIS 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)

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007

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 Winter 2007