4. About Enterprise Applications
• Things that make up an enterprise application
– Presentation logic
– Business logic
– Data access logic (and data model)
– System services
• The evolution of enterprise application framework
reflects
– How flexibly you want to make changes
– Where the system services are coming from
6. Single Tier (Mainframe-based)
• Dumb terminals are directly connected to
mainframe
• Centralized model (as opposed distributed model)
• Presentation, business logic, and data access are
intertwined in one monolithic mainframe
application
7. Two-Tier
SQL
request Database
SQL
response
• Fat clients talking to back end database
– SQL queries sent, raw data returned
• Presentation,Business logic and Data Model
processing logic in client application
8. Three-Tier (Web Server)
HTML WEB SQL
request Server request Database
HTML SQL
response response
• Browser handles presentation logic
• Browser talks Web server via HTTP protocol
• Business logic and data model are handled by
“dynamic contents generation” technologies (PHP,
Servlet/JSP, ASP)
9. N-Tier with Application Servers
• App Server handles business logic & System services
• Load balance, Tracsaction, concurrency, etc are
automatically handle by App Server
• Two main technologies Java EE or .NET
12. Evolution into Service Oriented Model
• Both industries (Electric & Computing) ahave
evolved into a service oriented model
12
13. 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
13
14. 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
15. 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
15
20. 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
20
21. 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
21
22. Enterprise SOA Implementation
Access Auto Mutual
Manager Loans Bill Pay Stocks Funds
(Liberty) Composite
Applicatio
Services ns
Registry
(Regrep
UDDI)
Credit Card Mortgage
Reusable Services
Payment Credit Fraud Detection Access Interest Calc Balance Customer Trade
Management Check Service Check Data Service Execution
Service Service
Internet Increased
Agility
Partner Credit Data Back-End System Back-End System Customer Data
25. 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
25
26. SOA Value Proposition
• Faster time to market
• Align IT and Business Units
• Visible Business Process
26
28. 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
28
29. 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
30. 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
30
31. 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
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 31
32. 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
32
33. 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
33
34. 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
34
35. 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
35
36. 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
37. SOA Principles
Field Order Accounts Submit Manage Another
Service Processing Management Change Exception One
Scheduling Order Orders
• Document-based
• Registered and • Mostly
discoverables asynchronous
• 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
37
38. 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
38
40. SOA Framework
Access Layer
Business Process
Services
Resources
40
41. 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 41
42. SOA Framework
User Interface Dashboard (KPI)
User Interface + Single Window (Portal)
Business Process Management (BPEL)
Build Re-usable Services (ESB)
External/Internal Systems
42
43. 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 43
48. Services Layer
Build Re-usable Services
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
48
49. 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
49
50. Components of Business Service Layer
L/C Distribute Custom
Product Accounting Booking Billing Payment Order Purchasing
Check Docus Clearing
Enterprise Service Bus (ESB)
Enterprise Service Bus (ESB)
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
50
51. 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.
51
52. 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,
52
53. 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)
53
54. 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)
54
55. 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
55
56. 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
56
57. 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)
57
58. 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
GlassFishESB, JMS Message Queue, Identity Management
Customer Shipping
Manufacturer System1 Bank Custom System2 System3 SAP Databases
Bank Line
58
59. 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
59
60. ESB Products
• GlassFish ESB (OpenESB)
• Java CAPS ESB
• IBM WebSphere
• Oracle Fusion Middleware
• Microsoft Biztalk
• Apache Service Mix
60
62. 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.
62
63. 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
63
64. BPEL
• Business Process Execution Language
• Based on XML
• IBM, BEA and Microsoft developed the first
version in 2002
• BPEL 2.0 is latest version
64
66. 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
66
67. 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
67
68. 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
68
69. 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
69
70. 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
70
71. 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
71
72. 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
72
73. 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
73
74. 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
74
75. 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
75
76. 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
76
77. 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
77
78. 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
78
79. 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
79
80. 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
Service Oriented Architecture Field Guide for
Executives, Kyle Gabhart and Biphas Bhattacharaya
80
81. Thank you
thananum@gmail.com
www.facebook.com/imcinstitute
www.imcinstitute.com
81