5. Hype or Reality?
Loosely Coupled Register & Discover
Federation XML On Demand
The New EDI? Agile
QoS Flexible IT Web Services
Remember CORBA?
Standards Aligned So What? Wrap & Reuse
Layering
Transformation
SOA!? Autonomous
Messaging Cross-Platform Multi-Vendor
Reuse Vendor Neutral Stateless
Composability Interoperable Legacy
Location Transparency
Encapsulate
Integration Described Extensible
5
6. 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
6
7. Accidental Architecture?
Silo Oriented Architecture
Mature information systems grow
old disgracefully as successive
waves of hacking result in
accidental architectures which
resist the reflection of on-going
business process change.
- Anthony Lauder & Stuart Kent;
University of Kent. (2000)
Rigid
Complex
Expensive
Slow to Market
Monolithic
Hard to Integrate
7
9. The “Move” to Service Orientation
Accidental Layered
Rigid Extensible
Silo-Oriented Service-Oriented
9
10. Layering Principle
• Shared Network-based Layered Services
Access Layer
Process Layer
Service Layer
Resource Layer
10
11. Enterprise SOA Implementation
Access Auto Mutual
Manager Loans Bill Pay Stocks Funds
(Liberty) Composite
Applications
Services
Registry
(Regrep
UDDI)
Credit Card Mortgage
Reusable Services
Payment Trade
Credit Fraud Detection Access Interest Calc Balance Customer
Management Execution
Check Service Check Data Service Service
Service
Internet Increased
Agility
Partner Credit Data Back-End System Back-End System Customer Data
14. Benefits of SOA
Flexible IT
Faster to Market
Changeable Business Processes
Meet current/future market conditions
Simplified Business Integration
Seamless integration with customers and partners
Visible Business Process
Mutable, Extensible, Reusable
IT Governance and Compliance
14
15. Benefits of SOA (cont.)
Align IT and Business Units
Enterprise Application Integration
Composite Application via Business Process
Management
15
17. 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
17
18. 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 18
19. 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 19
20. 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 20
21. 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 21
22. 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 22
23. 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 23
24. 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 24
25. 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 25
26. SOA Principles
Field Order Accounts Submit Manage Another
Service Processing Management Change Exception One
Scheduling Order Orders
• Document-based
• Registered • Mostly
and asynchronous
discoverables • Conversational
• Reliable
Elemental
Check Check Check Check Create Business
Customer Status Credit Inventory Order Status Invoice Services
• Coarse-grained Data
• JBI-based services Repository
• WSDL-described
Custom AS400 Oracle SAP Red Prairie Another External
Marketing Sales CRM Finance Warehouse Business Trading
System System System System Mgmt. System Unit Partner 26
27. SOA Principles (cont.)
Field Order Accounts Submit Manage Another
Service Processing Management Change Exception One
Scheduling Order Orders
• Orchestrated • Secure
• Policy-driven
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 27
29. SOA Framework
Access Layer
Business Process
Services
Resources
29
30. The most important SOA concepts
• Services
• Self-describing interfaces with coarse granulation
• Exchange of messages
• Support for synchronous and asynchronous
communication
• Loose coupling
• Service registries
• Quality of service
• Composition of services into business processes 30
34. SOA Framework
User Interface Dashboard (KPI)
User Interface + Single Window (Portal)
Business Process Management (BPEL)
Build Re-usable Services (ESB)
External/Internal Systems
34
35. SOA Implementation
• Services Implementation
– Various Programming
– Web Services
– Non Web Services; Legacy via adaptors
– Data Services => JDBC
• Message Exchange => XML Schema
• Self-describing interface => WSDL
• Comunication of Services & Management => ESB
• Service Orchestration => BPEL, Human Workflow
• Presentation => Portal, Web Programing 35
39. Services Layer
Build Re-usable Services
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
39
40. 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
40
41. 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
41
42. 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.
42
43. ESB : Features
• Provides communication between services via
different protocols (Not only HTTP/SOAP)
• Message interception capabilities
• Routing capabilities
• Transformation capabilities
• Control over the deployment, usage and maintenance
of services
• Other important managements,
43
44. 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)
44
45. 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
Adapter Oracle
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)
45
46. 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
Adapter Oracle
SAP
FTP SMTP TCP/IP FTP FTP HTTP/SOAP Adapter JDBC
Adapter
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
46
47. 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
Adapter Oracle
SAP
FTP SMTP TCP/IP FTP FTP HTTP/SOAP Adapter JDBC
Adapter
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
47
48. 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)
48
49. OpenSource SOA
Goods
L/C P/RP/O Inland Vessel Billing Distribute Custom Order
Service Purchasing
Check Product Booking Booking service Docus Clearing service
Payment
GlassFishESB, JMS Message Queue, Identity Management
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
49
50. 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
50
52. What is it?
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.
52
53. 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
53
54. BPEL
• Business Process Execution Language
• Based on XML
• IBM, BEA and Microsoft developed the first version
in 2002
• BPEL 2.0 is latest version
54
56. BPEL Designer Tools
• IDE can be used to write BPEL or BPMN
• Examples:
– NetBeans 6.1/6.5
– Eclipse
– Oracle Jdeveloper 10g
– IBM WebSphere Studio
56
57. BPEL Server
• Provides a run time environment for executing BPEL
• Examples
– GlassFishESB (via BPEL SE)
– Oracle BPEL Process Manager
– Microosoft Biztalk
– Sun Java CAPS
– IBM WebSphere Business Integration Server
– Active BPEL Engine
– Apache Agila
57
58. 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
58
59. 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
59
60. Open Source SOA
NetBeans (BPEL Designer); GlassFishESB (BPEL Server)
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
60
61. User Interface and Single Window View
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
61
62. 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
62
63. OpenSource SOA
NetBeans (Visual JSF Prog), GlassFish, LifeRay Portal
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
63
64. 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
64
65. 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
65
66. OpenSource SOA
NetBeans (iReport, JasperReport)
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
66
67. Open Source SOA Framework
Performance Measurement (KPI) – Jasper Report / NetBeans
User Interface + Single Window – NetBeans (Visual JSF), GlassFish, LifeRay
Business Process Management (BPEL) NetBeans / BPEL SE (GlassFish)
Build Re-usable Services (ESB) – openESB (GlassFish)
External/Internal Systems
67
68. Other OpenSource SOA
• ESB
– JBoss ESB, Apache Service Mix 3.3
• BPEL DesignerTools, Servers
– Eclipse, Active BPEL Engine,JBoss jBPM
• Web Server
– Tomcat, JBoss
• Portal
– JBoss Portal, Apache JetSpeed
68
69. Disadvantages of Open Source SOA
Having spoken about the various open source alternatives to
implement SOA into an enterprise we must also gauge the
various risks and disadvantages associated with the Open
source approach. Here are a few of them:-
Most open source software applications are not reliable
No support exists for open source software
No guarantee of updates
Significant problems connected to intellectual property
69
71. Introducing 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 71
72. Resources
Some contents are borrowed from the presentation
slides of Sang Shin, Java™ Technology Evangelist,
Sun Microsystems, Inc.
Business Process Execution Language for Web
Services, Matjaz B. Juric
Java SOA Cookbook, Eben Hewitt
72