Upload
aron-ellis
View
214
Download
1
Embed Size (px)
Citation preview
Southwest System Integration Inc. © 2009 Proprietary and Confidential.
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 meta-data 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
External Entities
Identity Pools
Registries
SHR
Client
DrugLAB
Independent User
Consent/Disclosure
Location
Provider
DAL DALDAL
RA
LR
AL
RA
LR
AL
RA
L
FEDIdentity
ManagerAccess
Manager
PR
OV
EHR Viewer
POS IAPOS EMR
Service Facade
Orchestration Fabric
Service Governance GovernanceAspects
GovernanceExecution
TransactionExecution
Log
Audit
SubscriptionServices
EncryptionServices
EHRIndex
DomainAccess
ServicesIndex
AccessServices
Longitudinal Record Services
NomenclatureMapping
TH
Others
DAL
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.