Enterprise IT Architectures SOA Part 2

Size: px
Start display at page:

Download "Enterprise IT Architectures SOA Part 2"

Transcription

1 Dr. Hans-Peter Hoidn Worldwide SOA Team Member for CEEMEA (Central Eastern Europe, Middle East & Africa) Enterprise IT Architectures SOA Part 2

2 December 4, 2009 Presentations of the Groups Every group has 15 minutes Prepare with time keeping Sequence E A B C D F 2

3 Groups A Hofer Dominik Hämmerli Simon Abdülmecit Üstün Bay Lea Kobler Adrian D Körsgen Marc Wilding Clemens Signer Dorian Bourquin Thierry Dabkowski Krzysztof B Minke Jonas Kuzan André àporta Gian Reto Nicolas Cepeda Engeler David E Gegenbauer Silke Nakic Dario De Freitas Francisco Holm Stefan C Schöni Pascal Habr Jaro Odermatt Mark Schurgast Stefan Maurer Thomas F Küchler Michael Zenger Reto Z`Brun Matthias Keller Lukas 3

4 Our business networks are becoming broader and much more dynamic Agents & Producers Partners & Re-insurers Insurance Carrier Internal Employees Auto LOB Consumers Commercial LOB Consumers Home LOB DMV Financial Institutions Outsourced/ BPO Service Providers 3 rd Party Services 4

5 SOA Approach Illustrated Without SOA: Integration is done with hardwiring Applications have to be ripped and replaced With SOA: Integration is done loosely with modular services New services can be built flexibly by reusing assets 5

6 SOA Roadmap Illustrated over Time Flexibility 2 3 Build on the value of previous projects and reuse assets Achieve a simplified SOAenabled infrastructure 1 Pick a starter project and start rationalizing Start with disparate systems with complex integration 6 Time

7 Recap: Business View (Part EA) Process View (Business View of SOA) SOA Reference Architecture (IT View of SOA) Business View Enterprise Architecture Process View IT View Business Processes and Services SOA Reference Architecture 7

8 SOA Reference Architecture 8

9 SOA Reference Model Strategy and Planning Services Business-driven Enterprise Architecture and Standards Business Services and Events Supports the specification of enterprise business solutions through business architecture Development Services Integrated environment for design and creation of solution assets Interaction Services Enables collaboration between people, processes & information Partner Services Connect with trading partners Process Services Orchestrate and automate business processes Enterprise Service Bus Business Application Services Build on a robust, scaleable, and secure services environment Asset and Registry Services Infrastructure Services Optimizes throughput, availability and utilization Lifecycle Services Information Services Manages diverse data and content in a unified manner Access Services Facilitate interactions with existing information and application assets Management Services Manage and secure services, applications & resources 9

10 Interaction Services 10

11 Interaction Services in SOA Reference Architecture People are the drivers of the business they interact with reusable business services using the right information at the right time! Starting point for SOA - enabling people to interact with application and information services supporting business processes. Provided by Portals using Portlets or Widgets, relying on security for the managing user access Based on Web Servers, eventually using AJAX Web

12 Interaction Services: Exposing SOA End-Users Using Portal As the Front End of SOA Presentation Services Web Browser Rich Clients Mobile Client MS Office & Windows eforms Xforms 12

13 What is an Interaction Service? UI Portlets Portlets can be A Service Consumer (1) A Service Provider (3) Portlets can Initiate processes (1) Act as a Participant in a process (3) Communicate with each other Enterprise Service Bus Service A Service B Service C Service D WMQ SOAP/HTTP SOAP/JMS HTTPS 3 1 Request/Response Coarse Grained Request Fine Grained Request/Response Fine Grained Request/Response Coarse Grained 13 The Portal Framework Provides Service Aggregation

14 Interaction Services: Building User Interaction Services Developing and Deploying the New Account Application Building Role-Specific Portlets and Dashboards 14

15 Traditional Interaction: Interrupted interaction with request driven processing with static page refresh 15

16 AJAX Web Interaction: Continuous user interaction with event driven processing and dynamic content refresh Page Request Page Render 16

17 Information Services 17

18 Information Services in SOA Reference Architecture Delivering actionable information to people and processes Connect, enhance and deliver in-context information across diverse operating systems, applications and legacy systems through reusable services The Information Services enables consistent views and maintenance of data and content, providing a single view of the truth to people and processes 18

19 Information Services: Tight coupling causes inconsistent results Create Quote Process Flow Create Estimate Process Flow Trigger Trigger Access Transform Cleanse Legacy Application Data Warehouse Packaged Application Access Transform Cleanse Inconsistent view of the data Inconsistency in sources and how data is derived Inconsistent rules applied to data Multiple points of maintenance 19 No flexibility to change information sources and formats

20 Information Services as Solution Create Quote Process Flow Create Estimate Process Flow Trigger Trigger Access Transform Cleanse Legacy Application Information as a Service (Shared Metadata) Data Warehouse Packaged Application Consistent packaging of data Leverages understanding of metadata relationships Applies consistent rules to data Centralized control and maintenance Flexibility to add and change information sources and formats 20

21 Separation of Concerns exists Even Before SOA Separation of concerns is a well-known architecture principle for application design Interaction Services Easy to understand & manage for Development single application Services Information architecture is an integral Integrated part environment of enterprise architecture design and Information creation of services are more than solution assets data storage and retrieval Business Services Supports enterprise business process and goals through businesses functional service Process Services Enables Enables collaboration Orchestrate and Orchestrate and automate between people, people, processes & automate business processes processes information & informationwebsphere business Portal processes Enterprise Service Bus Information Services Process Services Workflow Manages diverse Manages data and Interaction Services Management diverse content data in a unified and content WebSphere in a manner unified Process manner Server Services Presentation Manage and secure services, applications & resources Business App Services Business Partner Services Business App App Services Services Access Services Build Build on on a robust, robust, Facilitate interactions with Connect with trading scaleable, and secure existing information and partners services environment application assets Apps & Info Assets Application Logic Infrastructure Services Optimizes throughput, availability and utilization Information Services Data 21

22 Separations of Concerns Focusing on Exposing Application Services Exposing application logic as services is straight-forward and enabled by tooling The integration of services focuses on mediation (brokering) and orchestration (workflow) of application logic Process Services Workflow Interaction Services Presentation Enterprise Service Bus As a result, data is tightly coupled with the corresponding application logic Business App Services Application Logic Information Services Data 22

23 Information Services: Several Patterns Account Open Process Account Open Process Account Open Process Account Open Process Store/Retrieve Application Lookup Customer Store/Update Customer Request Documentation XML Account Application Database 1 Account Data 2 Customer Master MDM 3 Account Documents 4 Information Service Enablement Integrated information services Master Data Management Content Management 23

24 Information Services: Pattern Transform Your Data Create Trusted Information from Disparate Sources As-Is Environment Data resides in disparate sources Manual & redundant integration of data by multiple consumers results in high costs and inconsistent/inaccurate data Slow response time due to large data volume and complex transformations Solution Characteristics Apply transformations on extracted source data; copy into consolidated target and expose consolidated data as services Invoke population from business process Results Multiple consumers can access trusted, accurate and integrated information through a service Data availability aligned with business process Data Population Server Analyze customer info Data Population Service Legacy Database SOA context apply / load transform Review historical data gather / extract account data traditional context Legacy Database Consolidated Data Access Service Data Warehouse Metadata 24

25 Information Services: Pattern Deliver Your Data Virtualized Through Services As-Is Environment Data resides in disparate sources Manual & redundant integration of data by multiple consumers results in high costs and inconsistent/inaccurate data Slow response time due to inefficient real-time access Federated Data Service Review current accounts (Reporting) Application Solution Characteristics On demand integration instead of redundant data Transparent & optimized access to distributed, heterogeneous sources Results Real-time access to distributed information, fast response time Scalable approach for adding more data sources SOA context Data Virtualization Through Data Federation Server Legacy Database account data traditional context Legacy Database Metadata 25

26 ESB (Enterprise Service Bus) 26

27 Connectivity ESB (Enterprise Service Bus) Service Virtualization ESB acts as an intermediary (proxy) between requestor and provider ESB provides service virtualization of Location and identity Interaction protocol Interface Interactions are decoupled, supporting separation of concerns 27

28 Connectivity: ESB is today s technology Lines of maintainable code Direct Connectivity (No middleware) Connectivity, mediation & custom adaptation logic Application Message Queuing / CORBA Connectivity logic Mediation & custom adaptation logic Application Enterprise Application Integration Connectivity and mediation logic Custom adaptation logic Application Enterprise Service Bus Connectivity, mediation & custom adaptation logic Application as a service All connectivity, mediation and custom logic buried within the application. Removes the connectivity logic from the application Removes the connectivity + mediation logic from the application Reduces application to its core business functions (i.e. a service) Reduced development and maintenance; increased flexibility and reuse 28

29 ESB (Enterprise Service Bus) An Enterprise Service Bus (ESB) is an architectural pattern defining a flexible connectivity infrastructure for integrating applications and services. The architecture pattern is a guiding principle to enable the integration and federation of multiple service bus instantiations. An ESB performs: Routing messages between services Converting transport protocols between requestor and service managing multiple protocols Transforming message content between requestor and service Handling business events from disparate sources 29

30 ESB Pattern in Action Retail Scenario Enterprise Business Functions Adapter Adapter Adapter App Server SWO POS JMS ESB Message Queuing Store i ESB Mediations (routing) SWO SOAP/HTTP, Other SWO App Server POS Terminals Services POS SOAP/HTTP 30

31 Connectivity: Standard SCA (Service Component Architecture) for Common Invocation IBM, along with BEA, Oracle, SAP, IONA, Siebel and Sybase have announced the new specifications for SCA Interface: How to call this component Component Uniform Representation of encapsulated Implementation Reference: What this components calls Encapsulate components for reuse All components (e.g., services, rules, human interactions) are represented consistently and invoked identically 31

32 Connectivity: Standard SCA (Service Component Architecture) Component Assembly Business Rule: Get Customer Status doorder Process: Order Human Task: Approve Order Interface Map Convert to DB2 Adapter for Relational DB DB2 32

33 Connectivity: SCA (Service Component Architecture) Example Part 1 Modules: Encapsulate and Reuse Functionality Libraries: Share common definitions Customer Status Business Rule: Get Customer Status Module: Customer Status Get Customer Status doorder Process: Order Approve Order Approve Order Human Task: Approve Order Module: Approve Order Manually Module: Process Order Store Order BO:Order IF: StoreOrder Library: OrderLib Store Order Interface Map Convert to DB2 Module: Update Order Database Adapter for Relational DB DB2 33

34 Connectivity: SCA (Service Component Architecture) Example Part 2 Store Order in SAP instead of DB2 No effect on common objects or consumers doorder Process: Order Get Customer Status Approve Order Customer Status Business Rule: Get Customer Status Module: Customer Status Approve Order Human Task: Approve Order Module: Approve Order Manually Module: Process Order Store Order BO:Order IF: StoreOrder Library: OrderLib Store Order Interface Map Convert to SAP Module: Update Order SAP Adapter for SAP 34

35 Expanded View of the Enterprise Service Bus Interaction, Interaction, Process, Process, Information, Information, Partner, Partner, Business Business App, App, Access Access Services Services Business Logic Enterprise Service Bus Interaction Patterns Message Flows Flows Mediation Patterns Message Models Models Transport Protocols Security Management IT Management Services Registry 35

36 Case: Multi-protocol Exchange Intermediary decoupling heterogeneous consumers and suppliers Tooling Domain of interest - Intranet Exchange WebSphere (WAS/Portal) SOAP/JMS SOAP/JMS WebSphere provider.net Client SOAP/HTTP SOAP/HTTP.NET provider Some Client XML/HTTP ESB XML/HTTP Some provider XML/MQ COBOL Copybook/MQ XML/MQ Client CICS Text/MQ Text/MQ Client 36

37 Example JK Enterprise a virtual company with an Open Account Process Consumers Sales Application Central Office Sales Application Regional Office Open Account Business Process Composition; choreography; business state machines Account Activation Account Verification Determine Applicant Eligibility Address Verification Services atomic and composite Account Inquiry indirect exposure AR Setup indirect exposure Account Activation Account Setup direct exposure Create Account Determine Eligibility create from scratch Address Verification third-party reuse Service Components EJB Message Flow SCA EJB Operational Systems (Applications & Data) Customer (CICS 2.x) Billing (CICS 3.1) GL (SAP) 37

38 Example A: Multiple Channel Access to Backend Service Integration Developer Review Export and Import Review Export and Import Build mediation flows Build mediation flows Deploy Service Module Deploy Service Module ESB Account System Java Client Appl High Value Accounts J2EE Appl SOAP/ HTTP XML/ JMS Service Export (ACT) Service Export (HVA) Service Component Eligibility Mediation Transform Request/Response Business Transform Objects Log Message Infos Request/Response Determine Eligibility Service Module Service Import HQ Eligibility SOAP/ HTTP Applicant Eligibility Service J2EE Appl 38

39 Example B: Create SAP Service Websphere Integration Developer (WID) Test Client Enterprise Service Discovery Deploy Deploy Adapter Adapter Discover Discover Enterprise Enterprise Service Service Generate Generate BAPI BAPI Business Business Objects Objects Deploy/Test Deploy/Test Service Service Import Import ESB Service Import SAP Outbound Business Objects WebSphere SAP Adapter RFC/ BAPI SAP Create New Customer Record Create Account Service Module 39

40 BPM (Business Process Management) 40

41 Where We Are Heading Start Division Case Study: Procure to Pay Process 41

42 Where We Are Heading Goal Customer Division Shared Service Supplier Outsourced Case Study: Procure to Pay Process 42

43 Separation of Concerns: Example Open Account Process The SOA Reference Architecture in Action Business Dashboard Open Account Development Services Business Services and Events Business-driven Enterprise Architecture and Standards Interaction Services Process Services Information Services Enables collaboration between Portal people, processes & information Orchestrate and automate business processes Manages diverse data Federated in a unified manner Query IT Service Management Integrated environment Approval for design and creation of solution assets Partner Services Business App Services Access Services Build on a robust, CICS Facilitates interactions DB Connect Community with trading scaleable, EJBs and secure Access with existing Siebelinformation Access Manager partners Facilitates communication ESB between services services environment Apps & Info Assets and application Adapter DB assets Access Manage and secure services, applications & resources Infrastructure Services Optimizes throughput, availability and performance IT Management Console 43

44 Process Services: Managing Your Business Processes Process Assembling Clean hand-off from IT with Business Models, Metrics Constructs for dynamic and adaptive business processes based on an integration platform Business Process Modeling Process Server Service 2Service Service Service Service Service Service Generate Decline Service Service Service Service WebSphere ESB Feedback for continuous improvement Real time management of business processes 44 Business Process Monitor

45 Discover, University Interact, Zurich Optimize Enterprise IT Architectures Business Process Management is a team sport Process Owner Business Users Business Leader How can I work smarter supported by flexible and dynamic processes modeled for the new way people buy, live & work? Business Analyst IT Architect IT Leader 45 IT Developer

46 Key Roles in BPM Business Leader Responsible for Overall Business Performance, Compliance, and Governance IT Leader A Business Leader responsible for delivering technology solutions that enable the business Business Professional Manage business performance and decides on strategic and tactical needs for a specific area of responsibility IT Analyst Interprets business analyst inputs/requirements in the context of IT capabilities, works with team on IT-based Business Process improvement Business Analyst Interprets business professional and business leader requests and documents them into process models IT Architect Defines basic operational imperatives in the provision of IT services with a focus on resiliency, reuse, and adaptability Process Analyst Specialized business analyst that concentrates on the simulation & analysis of processes in their business environments and their interactions IT Developer Follow s IT Architectural principles to create building blocks for the construction of applications 46

47 BPM Lifecycle Support Search, Consume, And Submit Modeler Assets (e.g. process model) Search, Consume, And Submit Assets (e.g. BPEL implementation) Impact Analysis, Reviews and Governance IT Architect IT Developer IT Leader Assets Administer BPM Repository & Taxonomy Federated Search And Publish Services Deploy to production: Publish Service Interface IT Architect 47

48 Modeling a Business Process Tasks, Flows, Organization, Standard is BPMN (Business Process Modeling Notation) 48

49 Process Services: Business Process Assemble and Deploy for Execution Assemble a Business Process Model Import the Process Model Modeling Graphical Notation for BPEL (Business Process Execution Language) Assembling Apply the building-block approach Integrate services provided by service components Role: Integration Developer 49

50 What is BPEL (Business Process Execution Language) Use the specification of a Business process Assemble the process and (web) services As Web Services Orchestrating Web services WSDL Port Type & Operation 50

51 Common Invocation Model Java Application Human Task BPEL Business Process Business State Machine Business Rules If Approved then Send letter offering gold If NOT Approved Send letter offering Credit counseling service 51 51

52 WS-BPEL Business Process: Microflows and Macroflows Could be human tasks or B2B Interactions Microflows One Transaction Macroflows Multiple Transactions And compensation transactions 52

53 BPEL Business Process: Compensation (1) (2) (3) (4) 53

54 Logical Architecture for Business Activity Monitoring 2 Process Server (or other CBE sources) Send events CEI 3 Events sent to Monitor Server 5 Generated business situation events Assembly & Monitor Development Toolkit Deploy Monitoring Model Monitor Server 1 4 Monitoring Model executes Modeler (Optional) 9 10 Monitoring statistics imported to Modeler Monitor Business using Dashboards Monitor 6 Replicate database Monitor Dashboard Server 7 Business situation events (from 2 & 5) Action Manager 8 Take action Datamart 54

55 Monitoring Example: Drill to Instances Improved identification of the source of business problems through dynamic drill down from aggregate data to individual instances contributing to the problem KPIs to Instances 55

56 Experience Monitor through your iphone 56

57 Software Engineering for SOA 57

58 Enablement of Business Integration Business and IT are no longer separate tracks Choreography of services The sequencing, selection, and execution of operations 58

59 BDD Overview (including Legacy Applications) Legacy application WSDL IT Service Specification IT Interface Specification IT Services (reusable functional components) BA Requirements Non- Interruptible New Application Receive Invoke Invoke Reply Reply Invoke Fault IT BA IT Choreography (business rules and processes) BA Business Process Model and Story Board BA Use Cases 59

60 Areas for Business Driven Development Rational RequisitePro Rational Portfolio Manager WebSphere Business Modeler WebSphere Integration Developer Executive Business Analyst Integration Developer Project Manager Rational Software Architect Rational Functional & Performance Tester Runtime WebSphere Process Server WebSphere Portal WebSphere Business Monitor Tester Architect Java Developer Portal Developer 60

61 Big Picture of BDD for SOA Rational RequisitePro Rational Portfolio Manager CIO Project Manager Understand Risk, Project Costs, and ROI Identify and Manage Projects and Resources WebSphere Business Modeler Create, Simulate & Analyze As-Is Business Model Business Analyst Create & Manage System Requirements Create, Simulate, Analyze and Optimize To-Be Business Model UML Create Observation Model with KPIs & export to Monitor Create Financial Reports & ROI Estimates Test BPEL WSDL Choreograph services using BPEL, WSDL, etc. Rational Functional & Performance Tester Tester WebSphere Integration Developer Configure Human Task Manager (including Ad-Hoc) & Client Run-time Statistics Business Measures WSDL EAR Runtime WebSphere Process Server WebSphere Portal WebSphere Business Monitor Integration Developer Assemble Solution (BPEL, Human Task Manager, Business Rules, etc) Trace Requirements & Create System Use Case Realizations Architect Rational Software Architect Model & Implement Services (i.e. Web Services) and Application Java Developer If required develop Portlets Portal Developer WSDL EAR DBA Deploy/Run Monitor Business Operations Analyst 61

62 SOA Solution Design Recap Methodology 62

63 Where does the Architecture Overview Diagram fit? Requirements Use cases NFRs System context Existing IT and so on Architecture overview diagram in the middle! IT Solution Component model Operational model 63

64 Example Input As-Is Architectural Overview Diagram 64

65 Completed AOD 65

66 Where does the Operational Model fit? Requirements Use cases NFRs System context Existing IT and so on Architecture overview diagram Component model the logic! Operational model IT Solution 66

67 SOA Solution Layer Perspective Start Among the missing artifacts from this diagram, the Service Components (service realization) Also missing are To-Be supporting operational systems 67

68 SOA Solution Layer Perspective possible Solution 68

69 Where does the Operational Model fit? Requirements Use cases NFRs System context Existing IT and so on Architecture overview diagram Component model Operational model runtime! IT Solution 69

70 70