Architecting and Building SOA solutions Derek Walker Southwest System Integration, Inc. Southwest System Integration Inc. © 2009 Proprietary and Confidential. Agenda • • • • • • • • • • Introduction The Problem Space The Evolution of Services The Evolution of System Integration SOA Principles SOA – a definition The Players - SOA Stacks Case Study The Truth – Hype Displaced The Future Southwest System Integration Inc. © 2009 Proprietary and Confidential. Introduction • Southwest System Integration. Inc. is a boutique consulting firm providing the following services: • – SOA Architecture and System Integration specializing in SWIFT and Healthcare – Software Project and Program Management – Sun Java CAPS Architecture and Implementation – SWIFT Integrator Architecture and Implementation – SDLC Implementation and Collaboration Software – Commercial Software Product Development and Management – Custom Software / Application Design and Development – Technology Evaluation and Assessment Notable Clients: – SWIFT - WorldBank – Sun Microsystems - BC Ministry of Health, Electronic Health Record – Geisinger Medical System – University of Medical and Dental of New Jersey Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Problem Space • The computerization of organizations has created “silo’s of information”, compartmentalized along business functional areas – All with their own interfaces, protocols, data models, data formats • The “increasingly-connected” world means that: – organizations need to interact with outside organizations to survive, e.g. JIT inventory, outsourcing functions like HR, trading partners – organizations need to provide services that are coordinated responses of many departments, i.e. “business process mash-ups” • When an order is placed, inventory needs to be checked, then debited, credit rating checked, ability to cross-sell checked – organizations need to partner with others to create service offerings – organizations need to re-act to new challenges and changes in strategic direction quicker than before • Lowering costs for delivering services and systems Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Problem Space – Cont. • In short : – – – – It is integrating in-house systems for greater value It is exposing services for customers and partners It is calling services of partners and vendors It is the need to create an “on-demand business” delivered via networks Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Evolution of Services • Shared Object Libraries & Dynamic Linked Libraries – first sharing of a “service” • Remote Procedure Calls (RPC) – functions available on host or over TCP/IP and first networked and distributed service, technology dependent • point to point TCP/IP server interfaces - technology and implementation independent • Transaction Monitors (e.g. Tuxedo) – distributed, highly-scalable and available services via messages and queues • CORBA ( ~ COM) – the first technology to be a “true distributed service”, technology and implementation independence, first to introduce an agnostic interface definition language (IDL) – RMI is a variant but technology dependent • SOAP & WSDL – distributed, technology and implementation agnostic, interface definition language (WSDL) Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Evolution of System Integration • point to point interfaces – typically TCP/IP – initially all were custom, later standards (communication and messages) developed like Health Level 7 (HL7) • hub and spoke message brokers / appliances – centralized server with store’n’forward, routing, translation (in a declarative language) – light weight connectors (clients), typically prebuilt, that support industry standards and common COTS applications • EAI (enterprise application integration) Suites (MOM) – distributed, federated architecture – pre-built adapters, message bus (some type of queuing system), transformation via scripting or interpreted language, repository of metadata and configurations – GUI IDE and monitoring – ability to support web services and Business Processes Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Evolution of System Integration • SOA/Composite Application Suite – State of the art, differs from traditional EAI suites in that: • queue is typically JMS (interface at least) • application server based • extensive Business process (BPM) support – design/IDE, execution, orchestration and monitoring • support for Business Process Execution Language (BPEL) • ability to create composite applications with GUIs from aggregating services • focus on web services and can act as a consumer and/or provider • service discovery mechanism or registry (e.g. UDDI) • Enterprise Service Bus (ESB) – SOA/Composite Application suites are “deemed” by some as too heavy and too expensive so lighter version created – Typically used to refer to a suite that supports the new Java Business Integration (JBI) standard – More abstraction and runtime dynamic-ism with service virtualization – Composed of binding components, message bus, service engines, message routers Southwest System Integration Inc. © 2009 Proprietary and Confidential. SOA Principles • Service orientation – Functionality is packaged as a set of interoperable services. • Service loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other. • Service contract – Services adhere to a communications agreement, as defined collectively by one or more service-description documents. • Service abstraction – Services hide logic and implementation. • Service reusability – Logic is divided into services with the intention of promoting reuse. • Service composability – Collections of services can be coordinated and assembled to form composite services. • Service autonomy – Services have control over the logic they encapsulate. • Service discoverability – Services are designed to be outwardly descriptive so that they can be found and assessed. Southwest System Integration Inc. © 2009 Proprietary and Confidential. SOA – a definition • The acronym is over-hyped and very “over-loaded” • Best attempt at a definition is Thomas Erl: “Service-oriented architecture represents an architectural model that aims to enhance the agility and cost-effectiveness of an enterprise while reducing the overall burden of IT on an organization. It accomplishes this through the positioning of services as the primary means through which solution logic is represented.” Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Players - SOA Stacks • • • • • • • Sun Microsystems – JEE, JCAPS, OpenESB IBM – Websphere Oracle – Fusion, BEA Microsoft – Biztalk Software AG – Webmethods Tibco – ActiveMatrix BusinessWorks OpenSource – OpenESB, ServiceMix, Mule, Petal, WSO2 (all ESB implementations) Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Players -SOA Stacks – Cont. • Advantage of Commercial Offerings: – More real-world proving / testing, i.e. more robust – Greater throughput – Much better productivity tools, e.g. GUI drag’n’drop, pre-built functionality – Greater depth and breath of tools esp monitoring – More standards support • Advantage of Open-Source Offerings: – Cost – Support for Emerging Standards – Lack of Vendor Lock-in Southwest System Integration Inc. © 2009 Proprietary and Confidential. Case Study – BC Health Information Access Layer Repositories SHR DAL LAB Drug DAL DAL Others DAL Registries RAL Orchestration Fabric Subscription Services Access Manager RAL RAL Identity Manager FED Independent User Audit Longitudinal Record Services Encryption Services Consent/ Disclosure Log PROV Location Domain Access Services Index Access Services RAL Provider EHR Index RAL Client Nomenclature Mapping Governance Execution Transaction Execution Governance Aspects Service Governance Identity Pools Service Facade External Entities POS POS IA TH EMR EHR Viewer Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Truth – Hype Displaced For SOA to truly succeed, business processes must be re-engineered to support it. Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Truth – Hype Displaced The 8 Fallacies of Distributed Computing: 1. The network is reliable. 2. Latency is zero. 3. Bandwidth is infinite. 4. The network is secure. 5. Topology doesn't change. 6. There is one administrator. 7. Transport cost is zero. 8. The network is homogeneous. #1-7 Peter Deutsch, Sun Microsystems (an original Sun "Fellows") 1994 #8 James Gosling, Sun Microsystems (Sun Fellow and the inventor of Java) 1997 Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Truth – Hype Displaced Continued • Xml is unruly – For example HL7 v3 messages, the basis of new federal healthcare network, has literally thousands of fields, many levels of nesting with optionality. To transform a basic lab result in v2 (~150 fields) to v3 resulted over 4000 lines of java code. • Web services are not high-throughput – Especially if doing runtime schema validation in SOAP call • The biggest of all hype – dynamic-ism & runtime config – Impractical and absolutely undesirable in real systems. Changes in any aspect of an “interface” or consumption of a service requires pre-notification, planning and above all testing – complete regression and user acceptance testing – You may not care that your mash-up of google earth does not display quite right because of a change but when it means transferring your pay into your bank account things change. Southwest System Integration Inc. © 2009 Proprietary and Confidential. The Future • Trends & Developments: – – – – – JBI WS-* standards Industry Standards Service Registries Cloud Computing and SOA • Issues: – Security, Security, Security – Service Governance (runtime) – Semantic Interoperability Southwest System Integration Inc. © 2009 Proprietary and Confidential.