TH e-GIF on SOA Using Open Enterprise Architecture
1. TH e-GIF on SOA
Using Open Enterprise
Architecture
Dr.Thanachart Numnonda
Business Development Director
Software LOB
Sun Microsystems (Thailand)
1
2. Agenda
• Why SOA for TH e-GIF?
• What is SOA?
• SOA Definition (Re-caps)
• SOA Implementation Framework
– Services (web services/ non web services)
– ESB
– Business Process
• SOA using GlassFish ESB
• Case Study
13. What is SOA?
Principles and practices for designing shared,
reusable, distributed services
SOA Attributes:
Separation of service interface from underlying
implementation (loose coupling)
Promotes service reuse through discoverable and self-
describing services
Services are course-grained, composable, and rely on
a standards based infrastructure
14. The “Move” to Service Orientation
Accidental Layered
Rigid Extensible
Silo-Oriented Service-Oriented
15. Layering Principle
• Shared Network-based Layered Services
Access Layer
Process Layer
Service Layer
Resource Layer
17. SOA Architecture Layers
• Resources
– Operational Resources; e.g. CRM, ERP, HR,
Databases
– Enterprise components; technologies e.g.
Java, .NET, CORBA, PHP
• Services
– Selected components which have been
developed as services
– Can implement various way; e.g. Web
Services
– Normally has well defined interface; e.g.
WSDL
18. SOA Architecture Layers
• Business Process
– Represent powerful orchestration of one or
more services that solve a business problem
– Business Process itself is a service of services
• Access
– Front or User Interface that calls business
process
– Web Programming, Desktop, Dashboard
– Can be implemented to run on various
devices
19. Enterprise SOA Implementation
Access Auto Mutual
Manager Loans Bill Pay Stocks Funds
(Liberty)
Composite
Applications
Services
Registry
(Regrep Credit Card Mortgage
UDDI)
Reusable Services
Payment Credit Fraud Access Interest Balance Customer Trade
Check Detection Calc Check Execution
Management Service Data Service
Service
Service
Internet Increased
Agility
Partner Credit Data Back-End System Back-End System Customer Data
22. The most important SOA concepts
• Services
• Composition of services into business processes
• Exchange of messages
• Support for synchronous and asynchronous
communication
• Loose coupling
• Service registries
• Quality of service
• Self-describing interfaces with coarse granulation
23. SOA Value Proposition
• Reducing integration expense
– Both development and maintenance cost by
isolating components and systems through
well-defined interfaces and proper
architecture layering.
• Increasing asset reuse
• Increasing business agility
– Simplified Business Integration
• Reducing business risk
– Both operational and compliance risk
24. SOA Value Proposition
• Faster time to market
• Align IT and Business Units
• Visible Business Process
26. The Root of the Problem
Multiple
Customer
Views
Dispersed,
unintegrated
data
Service Order Account
Scheduling Processing Management
Monolithic, Check Customer Status Check Customer Status Check Order Status
Independent Check Inventory Check Inventory
Applications Check Inventory
Check Credit Check Credit
Check Order Status
Data Marketing Sales CRM Finance Data External
Repositories Warehouse Partner
27. IT Silo
Field Order Accounts
Service Processing Management
Scheduling
Check Check Calculate
Customer Status Customer Status Shipping Charges
Determine Product Determine Product
Availability Availability Order Status Monolithic
Verify Verify Applications
Customer Credit Customer Credit
Order Status
Data
Repository
Custom AS400 Oracle SAP Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner
28. IT Silo
Field Order Accounts
Service Processing Management
Scheduling
Check Check Calculate
Customer Status Customer Status Shipping Charges
Determine Product Determine Product
Availability Availability Order Status Monolithic
Verify Verify Applications
Customer Credit Customer Credit
Order Status
Data
Repository
Custom AS400 Oracle SAP Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner
29. Reuse Services Via Re-composition
Field Order Accounts
Service Processing Management
Scheduling
Elemental
Check Check Check Check Create Business
Customer Status Credit Inventory Order Status Invoice Services
Data
Repository
Custom
Custom AS400
AS400 Oracle
Oracle SAP
SAP Red Prairie
Red Prairie Another
Another External
External
Marketing Sales
Sales CRM
CRM Finance
Finance Warehouse
Warehouse Business
Business Trading
Trading
System
System System
System System
System System
System Mgmt. System
Mgmt. System Unit
Unit Partner
Partner
30. Reuse Services Via Re-composition
(cont.)
Field Order Accounts
Service Processing Management
Scheduling
Check Composed
Customer Status
Inventory Business
Installation Scheduling Process Customer Order Bill Presentment/Payment
Processes
Elemental
Check Check Check Check Create Business
Customer Status Credit Inventory Order Status Invoice Services
Data
Repository
Custom AS400 Oracle SAP Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner
31. Reuse Services Via Re-composition
(cont.)
Field Order Accounts
Service Processing Management
Scheduling
Composed
Check Business
Customer Status
Order Status
Inventory
Credit
Installation Scheduling Process Customer Order Bill Presentment/Payment
Processes
Elemental
Check Check Check Check Create Business
Customer Status Credit Inventory Order Status Invoice Services
Data
Repository
Custom AS400 Oracle SAP Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner
32. Reuse Services Via Re-composition
(cont.)
Field Order Accounts
Service Processing Management
Scheduling
Create
Check
Composed
Order Status
Invoice Business
Installation Scheduling Process Customer Order Bill Presentment/Payment
Processes
Elemental
Check Check Check Check Create Business
Customer Status Credit Inventory Order Status Invoice Services
Data
Repository
Custom AS400 Oracle SAP Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner
33. Field Order Accounts
Service
Scheduling Processing Management Composite
Apps
Business Processes Are Composed Hierarchically
to Create Composite Applications
Elemental
Check Check Check Check Create Business
Customer Status Credit Inventory Order Status Invoice Services
Data
Repository
Custom AS400 Oracle SAP Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner
34. Field Order Accounts Submit Manage Another
Service Processing Management Change Exception One
Scheduling Order Orders
Shared Services – Composite Apps –
Increased Functionality
Elemental
Check Check Check Check Create Business
Customer Status Credit Inventory Order Status Invoice Services
Data
Repository
Custom AS400 Siebel Oracle Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner
36. SOA Framework
Access Layer
Business Process
Services
Resources
37. SOA Framework
User Interface Dashboard (KPI)
User Interface + Single Window (Portal)
Business Process Management (BPEL)
Build Re-usable Services (ESB)
External/Internal Systems
38. SOA Implementation
• Services Implementation
– Various Programming
– Web Services
– Non Web Services; Legacy via adaptors
– Data Services => JDBC
• Message Exchange => XML Schema (TH -eGIF)
• Self-describing interface => WSDL
• Communication of Services/Management => ESB
• Service Orchestration => BPEL
• Presentation => Portal, Web Programing
42. Services Layer
Build Re-usable Services
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
43. Services Layer (cont.)
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
44. Components of Business Service Layer
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Enterprise Service Bus (ESB)
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
45. Why ESB?
• In most enterprise, Web Services are not the only
middleware solution.
– Only SOAP is not adequate for services
connection
• Other middlewares products, messaging servers,
Java EE, ORBs, Databases etc..
– Other binding communication protocols may be
need; such as JDBC, JMS, Files, SMTP,MSMQ
• ESB acts as an intermediary layer of middleware
to communicates between services using various
protocols.
46. ESB
Enterprise
Service Bus (ESB) is the software
middleware
ESBacts as a mediator between different,
often incompatible protocols and middleware
products
ESB is the backbone of SOA
You can't buy SOA, but you can buy an ESB
48. Features of an ESB
• Web Services Support
– ESB offers an ability to invoke SOAP and WSDL based
Web Services
• Adapters
– Many ESB vendors will provide adapters to integrate
with different thrd-part applications, such as
PeopleSoft, SAP
– Used for applications which do not directly have
SOAP or XML interface
• Invocation
– ESB supports synchronous and asynchronous calls
to services and sometimes callbacks
49. Features of an ESB (Cont.)
• Mediation and protocol independence
– Variety of protocols can be reconciled for complex
route across a variety of platform
– Allows to connect with different protocols such as
HTTP, FTP, SMTP, JDBC
• Routing
– Allows us to route the messages to different services
based on their content, origin or other attributes
• Transformation
– Data represented as XML can be transformed using
XSLT or XQuery before they are delivered to services.
– Some ESB supports various XML, e.g. HL7, SWIFT
50. Business Service Layer–Protocols /Adapters
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Adapter Oracle
SAP
FTP SMTP TCP/IP FTP FTP HTTP / SOAP Adapter JDBC
Adapter
Customer Manufacturer Shipping Custom System2 System3
System1 Bank SAP Databases
Bank (Mail) Line (Web Services) (Legacy) (Legacy)
51. Business Service Layer – Data Format
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Proprietary Data Data Data Data
EDI SWIFT FIX XML Table CSV
Format Transformation Translation Enrichment Validation
Oracle
Adapter SAP
FTP SMTP TCP/IP FTP FTP HTTP/SOAP Adapter JDBC
Adapter
Customer Shipping Custom
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line (WebServices)
52. Business Service Layer – Data Delivery
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Queue Queue Topics Topics Topics Guaranteed Data Delivery
Proprietary Data Data Data Data
EDI SWIFT FIX XML Table CSV
Format Transformation Translation Enrichment Validation
Oracle
Adapter SAP
FTP SMTP TCP/IP FTP FTP HTTP/SOAP Adapter JDBC
Adapter
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
53. Business Service Layer – B2B Requirements
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Certificate Partner Message
Encryption Authorization Authentication
Management Management Tracking
Queue Queue Topics Topics Topics Guaranteed Data Delivery
Proprietary Data Data Data Data
EDI SWIFT FIX XML Table CSV
Format Transformation Translation Enrichment Validation
Oracle
Adapter SAP
FTP SMTP TCP/IP FTP FTP HTTP/SOAP Adapter JDBC
Adapter
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
54. Components of Business Service Layer
L/C P/RP/O Inland Vessel Billing Distribute Custom Goods Order
Purchasing
Check Product Booking Booking Service Docus Clearing Service Service
Certificate Partner Message
Encryption Authorization Authentication
Management Management Tracking
Queue Queue Topics Topics Topics Guaranteed Data Delivery
Proprietary Data Data Data Data
EDI Format SWIFT FIX XML Table CSV
Transformation Translation Enrichment Validation
Adapter Oracle
SAP
FTP SMTP TCP/IP FTP FTP HTTP/SOAP Adapter JDBC
Adapter
Customer Manufacturer Shipping Custom System2 System3
System1 Bank SAP Databases
Bank (Mail) Line (WebServices) (Legacy) (Legacy)
55. Addition of Future Systems
L/C Doc Future Future Future Future
Product Accounting Booking Billing
Check Retrieval Service Service Service Service
Customer Shipping Doc Future Future Future Future
Manufacturer System1 Bank
Bank Line Management System System System System
56. Business Processes Management
The concept of Business Process Management [BPM] has its roots in
Operation Transformation and enables flexible design deployment,
monitoring and tracking, process focus and efficiency.
57.
58. BPM Standards : WS4BPEL 2.0
Business Process Management (BPEL2.0)
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping Courier
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line Company
59. BPEL
• Business Process Execution Language
• Based on XML
• IBM, BEA and Microsoft developed the first
version in 2002
• BPEL 2.0 is latest version
63. Business Process Management
(cont.)
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping Courier
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line Company
64. Business Process Monitoring
Business Process Monitoring
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping Courier
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line Company
65. Access Layer
User Interface + Single Window View
Business Process Monitoring
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping Courier
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line Company
66. User Interface and Single Window
View (cont.)
Field Order Accounts Submit Manage Personalized
Service Processing Management Change Exception Service
Scheduling Order Orders
Business Process Monitoring
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping Courier
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line Company
67. Key Performance Indicators (KPI)
Performance Measurement (KPI)
Field Order Accounts Submit Manage Personalized
Service Processing Management Change Exception Service
Scheduling Order Orders
Business Process Monitoring
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping Courier
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line Company
68. Key Performance Indicators (KPI)
(cont.)
Field Order Accounts Submit Manage Personalized
Service Processing Management Change Exception Service
Scheduling Order Orders
Business Process Monitoring
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Customer Shipping Courier
Manufacturer System1 Bank System2 System3 SAP Databases
Bank Line Company
70. Open SOA Framework
User Interface
Business Process Management (BPEL)
Build Re-usable Services (ESB)
External/Internal Systems
71. Challenges with Legacy ESBs
Most are proprietary and closed source
> No transparency into vendor development
process
– Complex and risky upgrade process
> Complete control by vendor
– Vendor lock-in
– Customers/partners unable to influence platform
direction
> Can't easily incorporate external innovation
– Difficult for partner/customer to include value-added
differentiation
72. Sun GlassFish Portfolio
The Open Platform for Building Dynamic Web Applications
Enterprise Server Web Space Server
Application Portal for web site
Server with development and
Enterprise-scale collaborative
management work spaces
and monitoring,
including
support for SNMP
Web Stack GlassFish ESB
A complete A full SOA
LAMP stack web platform
Web Stack
73. A Need for Two Approaches
• Complex ESB
– Purpose:
• Highly complex requirements, A
feature overload sledgehammer
solution
– Target Usage: can be overkill
• Enterprise-wide infrastructure for a small
project
• Lightweight ESB
– Purpose
• For rapid deployment
The right tool
– Target Usage for the right
• Specific project, narrow initial focus job
74. “We Already Have an ESB”
• ...so why a new ESB?
– Need to react faster, lower risk
– High costs, risk, complexity, and lack of agility
• Strategy: For all new projects
– Federate with existing ESB
– Lower costs and risks and increase agility with lightweight ESB
Federation Business Process Adapte
Mgmt. rs
Existing
Proprietary
ESBs Enterprise Service Bus
3rd Party & Data XSLT
Custom Mash Process
Components up or
“Spaghetti”
connectivity
architecture
77. GlassFish ESB – A Lightweight ESB
Open source, standards based, pluggable ESB
with commercial support from Sun
• Platform Capability
– Rich tooling and dynamic language support with NetBeans IDE
– GlassFish Enterprise Server
– Java Business Integration (JBI) Runtime and Containers
– Centralized management and monitoring
• Integration Capability
– Message Server, Business Process Management
– Core Adapters & Service Engines: FTP, LDAP, database, HTTP, XSLT...
– Ensured Web Service interoperability (WSIT WS* Support)
– Data Mashup
• Low Cost Pricing Model
– Simple per server per year subscription model
– No upfront license cost, start low and pay as usage grows
78. Product Architecture
• Lightweight Java Business Integration Container
• Open source Installation Deployment Control Monitoring
Normalized Message
• Pluggable Router
– ...leverages the JBI BPEL XSLT Data Java EE
infrastructure Engine Engine Mashup Engine
• The Java “plug-in” FTP HTTP DB
standard for Binding Binding Binding
engine/adapters
Web
Services
79. Design-time: Develop, Debug & Deploy
• The NetBeans IDE
– Single, unified, modern, comprehensive design time tooling
– Open-source, Java-based, modular, fast & extensible
– Promotes productivity and rapid development lifecycle
– GUI editors for all purposes
• BPEL process modeling, XSLT, XSD, WSDL, CASA...
• Sophisticated Java editor
– Integrated Service Administration Plugins (JBI, Databases..)
– Design, compose, build and deploy
• Composite applications, web services, Java EE components
– Integrated debugger, help, samples, blueprints and patterns
– Plugins available for other Sun SWI software (e.g. Identity
Manager, Access Manager and Portal Server)
80. Open SOA Framework
User Interface NetBeans (Visual JSF), GlassFish
Business Process Management (BPEL) NetBeans / BPEL SE (GlassFish)
Build Re-usable Services (ESB) – openESB (GlassFish)
External/Internal Systems
81. Sun Open Source SOA Case Study
Nationwide Health Information Network - Connect
(NHIN-Connect)
Health Bank or
Personal Health Record (PHR)
Support Organization Community
Health Centers
CDC VA
Community #1
Common “Dial Tone” & “Chain of
Trust” SSA
CMS
FDA
Integrated
Delivery System
Community #2
The Internet
Standards, Specifications and Agreements
for Secure Connections
82. Sun Open Source SOA Case Study
Nationwide Health Information Network - Connect
(NHIN-Connect)
• Challenge
– Lacking ability to easily share
electronic health information
between multiple healthcare
entities
• Social Security, Military
Health,Veterans Admin...
• Solution
– Using Sun open source Open
The Gateway utilizes an
ESB, GlassFish... Enterprise Service Bus
– Secure exchange of (JBI/JSR208)
interoperable health
Developed as open source using
information open standards
Source: Office of the National Coordinator for IT
– ESB/SOA framework U.S. Dept. of Health & Human Services
April 2008
http://events.fcw.com/events/2008/ea/downloads/EA08_2-
4_Sankaran.pdf
84. 2003: The state of UK Healthcare IT
Stand-Alone Boxed applications and systems
GP Community Hospital Community A Social Care
Hospital Community B
Private Care
Pharmacy Community
Patient-centred services
Patient Safety NHS
Confidentiality/Security Nationalfor IT
Programme
Service Reliability Regional and
Management Information National
IT Services for the NHS
Clinical Data Sharing = £6billion
85. Today's evolving landscape
SOA
Patient Portal
Clinical
New
Pharmacist Telecare NHS Choices
Spine Maternity Composite
Portal Portals myhealthspace
Portal
Portal Applications
Theatres Transfer of Care New Care
Diabetes Care Pathways
Maternity Care and Service
Choose and Book Payment by
Process Results Orchestratio
Prescribing process
n
TODAY
National and
Prescriptions Picture Archiving & Management
Regional
Care Patient
Record Service Communications Appointments information Services
Existing
GP Community Social Care
Systems
Replacement
& Integration
Hospital B
Hospital A Private care
Pharmacy Community
86. Why EAI in Healthcare is here to stay
• SOA generates demand
for EAI service and data discovery
• NPfIT programme requires EAI for existing systems to
fulfil national and regional SOA services
• EAI firmly established as healthcare core IT skill since
1996
• Existing customers need to upgrade as older SeeBeyond
products are EOLed
> Healthcare integration standards (HL7
v2/v3, etc) still messaging based, see
example HL7 v3 schema :
87. Healthcare CIO awareness of SOA is
rising
• Nearly all UK hospitals have EAI platforms for:
– HL7 version 2 - ubiquitous
– HL7 version 3 – mainly around NHS Spine
• Desire for Healthcare SOA capability is strong:
– UK National Programme is forcing uptake of
national and regional services
– Cost pressures forcing NHS to develop shared
services
– Government agenda for NHS reform demand
greater agility from IT
– Increasing involvement of private sector care
• More press coverage of healthcare SOA
88. SOA for the worlds largest integration
project
$2.3B project
50+ million patients with life-long healthcare records
Linking with 250 hospitals
+
Name
NHS No.
600,000 providers (doctors, nurses, scientists) Address
Chest Infection
10,000 systems, 40,000 sites Newcastle
Newcastle Broken Leg
Back Pain
For the National Service Provider (NASP) “Spine” Emergency
• 2005 – 2 billion transactions per year
2010 - 6 billion transactions per year
Due to peak usage approximately 420 messages per second
(4–6x hourly average) Bristol
Response SLA – 0.2 seconds
Name
Available 99.9% (44 minutes per month downtime) NHS No.
Failover in 30 minutes Address
For the Local Service Providers (LSP’s) Chest infection
Broken Leg
• Each has a lot of local messages (10bn to 12bn per year) and shares Back Pain
some with the NASP Emergency
There are 5 LSP and therefore the total volumes of messages per
year is: 56 billion to 66 billion messages per year
89. Largest Healthcare Project in the World
UK - NHS
• One of largest databases in world (entire
NHS population of 55+ million)
• Potentially 500,000 users
• 600+ million prescriptions will be processed
per annum
• High levels of availability (99.9%)
• Very fast response times (less than 0.35
secs)
90. How the Spine works … In an emergency
● A Bristol resident visits
Newcastle + ?
Newcastle
● Taken ill - admitted to
local hospital
● A&E Consultant needs
patient’s medical history
● Searches Spine by name, Bristol
address, or NHS Number
Name
● An entry found in PDS NHS No.
(Personal Demographic Address
Service)
… more
91. How the Spine works … In an emergency
+
Name
NHS No.
● Clinical records then Address
Chest
Infection
retrieved from PSIS Newcastle Broken
Leg
(Personal Spine Back Pain
Information Service) Emergen
cy
● Immediately made
available to A&E
Consultant in Newcastle
● Bristol
Patient receives
treatment – Details
recorded locally Name
NHS No.
● AND transmitted back to Address
Spine for future Chest
reference infection
Broken Leg
Back Pain
… more Emergency
92. How the Spine works … In an emergency
● Patient goes back home
to Bristol +
Newcastle
● Discharge message
transmitted from hospital
to Spine
● Discharge summary
(details of diagnosis &
Bristol
treatment) is sent Discharge
automatically to G.P. in Summary
Name
Bristol for follow-up care NHS
No.
Emerge
ncy Discharge
● All communications in
real-time and virtually Chest
infection
immediate Broken Leg
Back Pain
Emergency
93. What does the NHS want?
Benefits
• Access to patient records transformed
• Fast and secure access nationally
• Link to full demographic information
• Portal access for clinicians
• Highly resilient transmission of eBookings and
ePrescribing
• eEnablement of the NHS in a secure and high integrity
environment