From service-oriented architecture to serviceoriented enterprise Marten van Sinderen Keynote lecture I-WEST 2009 Sofia, Bulgaria, 29 July 2009 Agenda 1. SOA • motivation • definition • principles • architectural elements 2. Web Services 3. Service-oriented enterprises 4. Summary 29 July 2009 I-WEST 2009 2 Agenda 1. 2. 3. 4. SOA Web Services Service-oriented enterprises Summary 29 July 2009 I-WEST 2009 3 Motivation for SOA Business needs • dynamic and competitive marketplace → need for business model and IT architecture that can rapidly change to support business model and its objectives • high IT investments → need for increased leverage through standard integration solutions that can turn existing applications into reusable services 29 July 2009 I-WEST 2009 4 Motivation for SOA IBM commissioned global CEO survey (2006) • 78% of CEOs believe that integrating business and technology is fundamental for innovation • 90% of CEOs believe that their organization does not have the ability to be very responsive to changing market conditions Need for rapid and flexible integration of IT systems aligned with business goals 29 July 2009 I-WEST 2009 5 Motivation for SOA Integration deficiencies of IT architectures • monolithic (silo) applications effective for the specific purpose they were created difficult to change and integrate with other applications within and between interprises → requires custom coded connections • component-based applications provide units of business logic as services flow of control and transformation of data formats is bound into the business logic 29 July 2009 I-WEST 2009 6 SOA – definition of terms service orientation? service? Repeatable business task Way of integrating your business as linked services service oriented architecture (SOA)? composite application? IT architectural style that supports service orientation Set of ‘wired’ services that support a business process 29 July 2009 I-WEST 2009 7 Intermezzo: what is a service? • repeatable business task (IBM Redbooks 2006) • all economic activity whose output is not a physical product or construction (Brian et al 1987) • an activity ... provided as a solution to customer problems (Gronroos 1990) • non-material equivalent of a good (Wikipedia 2006) • external and internal business services • business services vs IT services • application services vs communication services 29 July 2009 I-WEST 2009 8 SOA principles SOA is an IT architectural style that supports service orientation – integration of your business as linked services • loosely coupled • implementation-independent • protocol-independent • standards-based • reusable • composable • hierarchical 29 July 2009 I-WEST 2009 9 SOA principles The SOA architectural style entails the composed and/or coordinated interaction of services, associated with messages and governed by policies Focus shifted to business processes • business process as a service • business process as a driver of collaboration through services 29 July 2009 I-WEST 2009 10 Basic SOA pattern Service Broker Find Publish Services Service Requestor 29 July 2009 Bind/Invoke I-WEST 2009 Service Provider 11 Basic message exchange Example operation getBookPrice isbn Client price message BookQuote Service message 29 July 2009 I-WEST 2009 12 Integration with SOA How is integration solved? enterprise application integration business to business (B2B) integration 29 July 2009 I-WEST 2009 13 Enterprise Application Integration Virtual Component Service <<implements>> <<implements>> <<implements>> Stored Proc. EJB J2EE DBMS Assembly .NET Concrete Component 29 July 2009 I-WEST 2009 14 Basic SOA pattern Service Broker Find Publish Services Service Requestor Bind/Invoke Service Provider Backend Systems J2EE CORBA JMS Firewall 29 July 2009 I-WEST 2009 15 B2B Integration Example of required peer-to-peer interaction Partner1 Partner2 A B O C Q R S D T E U 29 July 2009 I-WEST 2009 16 B2B Integration Public processes and SOA-based message exchange Partner2 Partner1 A A B O O C Q C R R S D T E E T U Private Process 29 July 2009 Public Process Public Process I-WEST 2009 Private Process 17 Business processes between services Business processes operations Service provider 1 C D Service provider 2 E Services 29 July 2009 I-WEST 2009 18 Business processes as services A1 A2 Service … An 29 July 2009 I-WEST 2009 19 Hierarchical process structures F P V W X Y Z O 29 July 2009 P K C P2 Partner Processes L M D E H Top-level Process A B P1 P3 P4 R S N I-WEST 2009 Q T U 20 Distribution Business (service) Domain Order Management Purchasing Inventory Business Processes create, modify, suspend, cancel orders, schedule orders, create, modify, delete bulk orders, order progress Business Services Infrastructure Services Applying SOA to achieve business goals ComponentComponent-based service realizations CRM Operational Systems 29 July 2009 ERP Databases Packaged Applications I-WEST 2009 Legacy Applications Taken from Papazoglou2008 21 Analysis and design with SOA • analysis should lead to identification and description of business processes, and select processes where SOA can contribute to improvements and adding value → business services • design must result in definition of interfaces for conceptual services, prior to their implementation ‘atomic’ services business services/process policies non-functional service characteristics 29 July 2009 I-WEST 2009 22 SOA elements organized in a platform 29 July 2009 I-WEST 2009 23 Agenda 1. 2. 3. 4. SOA Web Services Service-oriented enterprises Summary 29 July 2009 I-WEST 2009 24 Web Services Collection of standards that can be used to implement SOA Self-contained, modular applications that can be described, published, located and invoked over networks Introduced as a technology to support B2B integration using standard web-based protocols 29 July 2009 I-WEST 2009 25 Web services vs other middleware B2B, Global Enterprise Program Inside one Se rv ic es ed process Tight 29 July 2009 W eb Inside one application (more than one process) as Application Integration between domains O R B -b Single Domain(Enterprise) Complex Application between application (inside one domain) I-WEST 2009 Coupled Loose 26 Core elements Simple Object Access Protocol (SOAP) • internet protocol for applications to communicate Web Service Service Description Language (WSDL) • language for specifying the interface of web services Universal Description, Discovery and Integration (UDDI) • framework for describing and discovering web services Extensible Markup Language (XML) underlies most of the specifications used for web services 29 July 2009 I-WEST 2009 27 Basic Web Services pattern Firewall UDDI/ebXML registered to WSDL WSDL WSDL behaviour discovery 29 July 2009 J2EE Web Services provider discovery Web Services Client description Back- end Systems SOAP / HTTP(S) invocations Web Services Runtime I-WEST 2009 CORBA JMS 28 SOAP Internet protocol for applications to communicate • runs on top of other standard internet protocols (typically HTTP) Defines how messages are structured and processed in a platform-independent way Two message exchange patterns • One-way • Request-response 29 July 2009 I-WEST 2009 29 WSDL Language for specifying the interface of web services Used to provide a description of the service for the (potential) clients Which messages are related to each operation supported by the service? How are these messages related? e.g., operation input and output How are SOAP messages exchanged? 29 July 2009 I-WEST 2009 30 WSDL Types Messages Operations Port Types Bindings Protocol – HTML, SMTP Encoding Ports Service 29 July 2009 I-WEST 2009 “interface” definition (abstract part) “endpoint” definition (concrete part) 31 Limitations of SOAP/WSDL WSDL allows to define the format and structure of the messages Operations (and related messages) can be grouped in an interface WSDL does not allow to describe the sequence and conditions of the operations of such an interface WSDL geared towards a stateless C/S-model of interaction no mechanism for correlating exchanged messages no notion of instance regarding service invocation 29 July 2009 I-WEST 2009 32 Composition and coordination Orchestration (composition) An executable business process describing an execution flow from the perspective and under control of a single endpoint (commonly: Workflow) Choreography (coordination) The observable public exchange of messages, rules of interaction and agreements between two or more business process endpoints 29 July 2009 I-WEST 2009 33 WS-BPEL WS-BPEL: Business Process Execution Language for Web Services • supports the specification of composition schemas as well as coordination protocols • composition schemas are executable process specifications implementation logic of a (composite) service that can invoke or be invoked by other services 29 July 2009 I-WEST 2009 34 ... and many other WS standards 29 July 2009 I-WEST 2009 35 Agenda 1. 2. 3. 4. SOA Web Services Service-oriented enterprises Summary 29 July 2009 I-WEST 2009 36 Service-oriented enterprises • major technology vendors have invested significant effort in supporting and promoting SOA (WS) • over time lack of SOA adoption will become a competive disadvantage for most enterprises (Gartner 2003) • adoption of SOA for developing business systems will impact organization as a whole (Luthria & Rabhi 2009) → service-oriented enterprises 29 July 2009 I-WEST 2009 37 Little knowledge about impact on business 29 July 2009 I-WEST 2009 38 Focus on technical challenges, rather than organizational ones Needed: Shift to businessinvolved service design and engineering 29 July 2009 I-WEST 2009 39 Practical problems and limitations • scalability: millions of services to register, search ... • governance: compliance of evolving services • trust/security/privacy: can I trust my service, what is behind its facade? who can access my info, is it well-protected? what happens if I stop using the service? • contracts: incorporation of legal aspects • quality: definition and management of SLAs • monitoring: do services behave as promised? • control: what if not: reconfigure, sanction, compensate? 29 July 2009 I-WEST 2009 40 Important developments • context awareness: use location and other context of business entities to align services to needs • semantic services: ontology-based techniques to allow automated reasoning for automated handling of services, e.g. in discovery and ... • on-demand/dynamic composition: given a service request and a collection of semantically annotated services, develop a service composition that fulfils the service request 29 July 2009 I-WEST 2009 41 Important developments • business-IT aligned modelling: hand-in-hand development of business models and IT models using consistency rules or transformations • cloud computing: scalable services delivery platform based on SOA and virtualization and targeted to sharing of resources (business-centric) • internet of services: delivery platform for open market services with contractually guanranteed rights and obligations (consumer-centric) 29 July 2009 I-WEST 2009 42 Agenda 1. 2. 3. 4. SOA Web Services Service-oriented enterprises Summary 29 July 2009 I-WEST 2009 43 Summary • SOA was motivated by business needs: flexibility and reusability • WS is the current de-facto implementation of SOA widely supported by technology vendors significant awareness in IT community • little knowledge about impact on business • focus shift from technology to business-involved design and engineering • several practical barriers still exist • new developments to fill gaps: cloud computing and internet of services 29 July 2009 I-WEST 2009 44 Summary Future vision: SOA provides a toolbox that allows rapid and flexible assembly of IT solution, without intimate knowledge of IT, aligned with business goals 29 July 2009 I-WEST 2009 45 References [Fynes & Lally 2008] Brian Fynes and Ann Marie Lally (2008) Innovation in services: from service concepts to service experiences. In Service Science, Springer US. [Gronroos 1990] Christian Gronroos (1990) Service management and marketing. Lexington Books. [Luthria & Rabhi 2009] Haresh Luthria and Fethi Rabhi (2009) Service oriented computing in practice. J. of Theoretical and Applied Electronic Commerce Research. [Meyer Goldstein et al 2002] Susan Meyer Goldstein et al. (2002) The service concept: the missing link in service design research? J. of Operations Management. [Minaei-Bidgoli & Rafati 2004] Behrouz Minaei-Bidgoli and Laleh Rafati (2004) Business service modeling in service-oriented enterprises. NCM 2004 Conference [Papazoglou 2008] Mike P. Papazoglou (2008) What’s in a service? Invited keynote. ICSOFT 2008 Conference. [Papazoglou et al 2006] Mike P. Papazoglou et al. (2006) Service-oriented computing: a research roadmap. Int. J. Cooperative Information Systems. [Vissers & Logrippo 1985] Chris A. Vissers and Luigi Logrippo (1985) The importance of the service concept in the design of data communications protocols. PSTV 1985 Conference. 29 July 2009 I-WEST 2009 46 Thank you! Questions? 29 July 2009 I-WEST 2009 47