Service Oriented Architecture (SOA) [1/5] : Introduction to SOA

4,176 views
4,045 views

Published on

Presentation Series on SOA : September 2010

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,176
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
584
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide

Service Oriented Architecture (SOA) [1/5] : Introduction to SOA

  1. 1. Topic 1 Introduction to SOAAssoc.Prof.Dr. Thanachart Numnonda September 2010 www.imcinstitute.com
  2. 2. Agenda Evolution of Enterprise Application Framework What is SOA? SOA Framework 2
  3. 3. Evolution ofEnterprise Application Framework 3
  4. 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
  5. 5. Enterprise Architecture
  6. 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. 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. 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. 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
  10. 10. Enterprise Frameworks [IDC 2007] 10
  11. 11. What is SOA? 11
  12. 12. Evolution into Service Oriented Model• Both industries (Electric & Computing) ahave evolved into a service oriented model 12
  13. 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 & ReuseLayering Transformation SOA!? Autonomous Messaging Cross-Platform Multi-Vendor Reuse Vendor Neutral Stateless Composability Interoperable Legacy Location Transparency Encapsulate Integration Described Extensible 13
  14. 14. What is SOA?Principles and practices for designing shared, reusable, distributed servicesSOA 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. 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
  16. 16. Technical Challenges 16
  17. 17. The “Move” to Service Orientation Accidental Layered Rigid Extensible Silo-Oriented Service-Oriented 17
  18. 18. Layering Principle• Shared Network-based Layered Services Access Layer Process Layer Service Layer Resource Layer 18
  19. 19. SOA Architecture Layers Resource s 19
  20. 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. 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. 22. Enterprise SOA ImplementationAccess Auto MutualManager Loans Bill Pay Stocks Funds(Liberty) Composite ApplicatioServices nsRegistry(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
  23. 23. Monolithic Systems 23
  24. 24. Reuse Services via Re-composition 24
  25. 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. 26. SOA Value Proposition• Faster time to market• Align IT and Business Units• Visible Business Process 26
  27. 27. SOA Definition (Re-caps) 27
  28. 28. The Root of the ProblemMultipleCustomerViewsDispersed,unintegrateddata Service Order Account Scheduling Processing ManagementMonolithic, Check Customer Status Check Customer Status Check Order StatusIndependent Check Inventory Check InventoryApplications Check Inventory Check Credit Check Credit Check Order StatusData Marketing Sales CRM Finance Data ExternalRepositories Warehouse Partner 28
  29. 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 ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 29
  30. 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 ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 30
  31. 31. Reuse Services Via Re-composition Field Order Accounts Service Processing Management Scheduling Elemental Check Check Check Check Create BusinessCustomer Status Credit Inventory Order Status Invoice Services Data Repository Custom Custom AS400 AS400 Oracle Oracle SAP SAP Red Prairie Red Prairie Another Another External ExternalMarketingMarketing 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. 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 BusinessCustomer Status Credit Inventory Order Status Invoice Services Data Repository Custom AS400 Oracle SAP Red Prairie Another ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 32
  33. 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. 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 BusinessCustomer Status Credit Inventory Order Status Invoice Services Data Repository Custom AS400 Oracle SAP Red Prairie Another ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 34
  35. 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 BusinessCustomer Status Credit Inventory Order Status Invoice Services Data Repository Custom AS400 Oracle SAP Red Prairie Another ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 35
  36. 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 BusinessCustomer Status Credit Inventory Order Status Invoice Services Data Repository Custom AS400 Siebel Oracle Red Prairie Another ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 36
  37. 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 BusinessCustomer Status Credit Inventory Order Status Invoice Services • Coarse-grained Data •JBI-based services Repository • WSDL-described Custom AS400 Oracle SAP Red Prairie Another ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 37
  38. 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 BusinessCustomer Status Credit Inventory Order Status Invoice Services Data Repository Custom AS400 Oracle SAP Red Prairie Another ExternalMarketing Sales CRM Finance Warehouse Business Trading System System System System Mgmt. System Unit Partner 38
  39. 39. SOA Implementation Framework 39
  40. 40. SOA Framework Access Layer Business Process Services Resources 40
  41. 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. 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. 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
  44. 44. SOA Hardware Architecture 44
  45. 45. Key SOA Standards 45
  46. 46. Resources LayerExternal/Internal Systems 46
  47. 47. Resource Layers (cont.)‫‏‬Customer Shipping Manufacturer System1 Bank Custom System2 System3 SAP Databases Bank Line 47
  48. 48. Services Layer Build Re-usable ServicesCustomer Shipping Manufacturer System1 Bank Custom System2 System3 SAP Databases Bank Line 48
  49. 49. Services Layer (cont.)‫‏‬ L/C Distribute Custom Product Accounting Booking Billing Payment Order Purchasing Check Docus ClearingCustomer Shipping Manufacturer System1 Bank Custom System2 System3 SAP Databases Bank Line 49
  50. 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. 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. 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. 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 AdapterCustomer Manufacturer Shipping Custom System2 System3 System1 Bank SAP Databases Bank (Mail) Line (Web Services) (Legacy) (Legacy) 53
  54. 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 AdapterCustomer Shipping Custom Manufacturer System1 Bank System2 System3 SAP Databases Bank Line (WebServices) 54
  55. 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 AdapterCustomer Shipping Manufacturer System1 Bank Custom System2 System3 SAP Databases Bank Line 55
  56. 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 AdapterCustomer Shipping Manufacturer System1 Bank Custom System2 System3 SAP Databases Bank Line 56
  57. 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 AdapterCustomer Manufacturer Shipping Custom System2 System3 System1 Bank SAP Databases Bank (Mail) Line (WebServices) (Legacy) (Legacy) 57
  58. 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 ManagementCustomer Shipping Manufacturer System1 Bank Custom System2 System3 SAP Databases Bank Line 58
  59. 59. Addition of Future Systems L/C Doc Future Future Future Future Product Accounting Booking Billing Check Retrieval Service Service Service ServiceCustomer Shipping Doc Future Future Future Future Manufacturer System1 Bank Bank Line Management System System System System 59
  60. 60. ESB Products• GlassFish ESB (OpenESB)• Java CAPS ESB• IBM WebSphere• Oracle Fusion Middleware• Microsoft Biztalk• Apache Service Mix 60
  61. 61. ESB (Forrester Wave; 2009)
  62. 62. What is it? Business Processes ManagementThe 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. 63. BPM Standards : WS4BPEL 2.0 Business Process Management (BPEL2.0)‫‏‬ L/C Distribute Custom Product Accounting Booking Billing Payment Order Purchasing Check Docus ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 63
  64. 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
  65. 65. BPEL Editor 65
  66. 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. 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. 68. Business Process Management (cont.)‫‏‬ L/C Distribute Custom Product Accounting Booking Billing Payment Order Purchasing Check Docus ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 68
  69. 69. Business Process Monitoring Business Process Monitoring L/C Distribute Custom Product Accounting Booking Billing Payment Order Purchasing Check Docus ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 69
  70. 70. Open Source SOA NetBeans (BPEL Designer); GlassFishESB (BPEL Server) L/C Distribute Custom Product Accounting Booking Billing Payment Order Purchasing Check Docus ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 70
  71. 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 ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 71
  72. 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 ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 72
  73. 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 ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 73
  74. 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 ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 74
  75. 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. 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 ClearingCustomer Shipping Courier Manufacturer System1 Bank System2 System3 SAP Databases Bank Line Company 76
  77. 77. Open Source SOA Framework Performance Measurement (KPI) – Jasper Report / NetBeansUser 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. 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. 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. 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. 81. Thank you thananum@gmail.comwww.facebook.com/imcinstitute www.imcinstitute.com 81

×