Successfully reported this slideshow.



Published on

  • Be the first to comment

  • Be the first to like this


  1. 1. Model Driven Architecture (MDA) meets Service Oriented Architecture (SOA) – Without Making a Loud Bang Dr. Donald Ferguson IBM Fellow, SWG Chief Architect Chair, IBM Software Group Architecture Board OMG TC Meeting Keynote
  2. 2. Disclaimer Chief Architect and Timeframe 2005 Developer 2005 Architect 2006 Lead Architect 2007 Chief Architect Nostradamus St. John – Book of Revelation IBM Fellow … … ∞
  3. 3. Complexity is Forcing Change Actual Application Architecture for Retail Company E01-EDI Data Warehouse (Interfaces to and from the Data Warehouse are not displayed on this diagram) G02 - General Ledger A05 - AP S01 - Sales Corrections I01 PO Receiving I03 Return to Vendor I06 Warehouse Management Maininframe PC/NT apps Unix apps 3rd Party Interface S06 - Credit App P15 EES Employee Change Notice OTHER APPS - PC AP - Collections/Credit TM - Credit Card DB ACCTS REC APPS - PC 990COR Bad Debt Beneficial Fees Beneficial Reconcile JEAXF JEBFA JEBKA JEDVA JESOA JEVSA JEVSF NSF TeleCredit Fees INVENTORY CONTROL APPS - PC Code Alarm Debit Receivings Devo Sales Display Inventory In Home Junkouts Merchandise Withdrawal Promo Credits RTV Accrual Shrink AP Research - Inv Cntrl AP Research-Addl Rpts Book to Perpetual Inventory Close Out Reporting Computer Intelligence Data Count Corrections Cross Ref for VCB Dnlds Damage Write Off Debit Receivings DFI Vendor Database Display Inventory Reconcile Display Inventory Reporting INVENTORY CONTROL APPS - PC DPI/CPI IC Batching Inventory Adj/Count Correct Inventory Control Reports Inventory Levels Inventory Roll Merchandise Withdrawal Open Receivings PI Count Results PI Time Results from Inv Price Protection Sales Flash Reporting Shrink Reporting SKU Gross Margin SKU Shrink Level Detail USM VCB Downloads Journal Entry Tool Kit Scorecard - HR L02-Resource Scheduling P09 - P17 Cyborg M02 - Millennium M03 - Millennium 3.0 Banks - ACH and Pos to Pay Cobra B01 - Stock Status S03-Polling P14 On-line New Hire Entry CTS Plan Administrators (401K, PCS, Life, Unicare, Solomon Smith Barney) D01 Post Load Billing I04 Home Deliveries I02 - Transfers Arthur Planning I07 Purchase Order I12 Entertainment Software I05 Inventory Info E13 E3 Interface S04 - Sales Posting V01-Price Management System I10 Cycle Physical Inventory I55 SKU Information K02 Customer Repair Tracking I35 Early Warning System B02 Merchandise Analysis I13- Auto Replenishment U18 - CTO Intercept I09 Cycle Counts E02-Employee Purchase Texlon 3.5 ACH Stock Options I17 Customer Perceived In-Stock U16-Texlon SiteSeer C02 - Capital Projects F06 - Fixed Assets US Bank Recon File Star Repair EDI Coordinator Mesa Data NEW Soundscan NPD Group AIG Warranty Guard Resumix Optika Store Budget Reporting P16 - Tally Sheet Cash Receipts/Credit S05 - House Charges Ad Expense L01-Promo Analysis V02-Price Marketing Support BMP - Bus performance Mngt Store Scorecard I11 Price Testing Valley Media P09 Bonus/HR I15 Hand Scan Apps Roadshow POS S08 - Vertex Sales Tax A04 - Cust Refund Chks Equifax ICMS Credit Cellular Rollover S09 - Digital Satellite System NPD, SoundScan Sterling VAN Mailbox (Value) I18 SKU Rep X92-X96 Host to AS400 Communication S02 - Layaways Washington, RGIS, Ntl Bus Systems V04-Sign System I14 Count Corrections NARM P01- Employee Masterfile I06 - Customer Order Frick Co UAR - Universal Account Reconciliation Depository Banks S07 - Cell Phones S11 - ISP Tracking AAS Fringe PO Cash Over/ Short L60 MDF Coop SKU Selection Tool SKU Performance Supplier Compliance 1 I35 - CEI ASIS Misc Accounting/Finance Apps - PC/NT COBA (Corp office Budget Assistant) PCBS(Profit Center Budget System) Merchandising Budget AIMS Merch Mngr Approval Batch Forecasting Ad Measurement AIMS Admin AIMS Reporting Ad Launcher V03- Mkt Reactions Spec Source CTO2 Rebate Transfer Sign System CopyWriter's Workspace ELT PowerSuite Store Monitor AIS Calendar Stores & Mrkts Due Dates Smart Plus Insertions Orders Budget Analysis Tool Print Costing Invoice App AIS Reports Broadcast Filter Smart Plus Launcher General Maintenance Printer PO Printer Maintenance Vendor Maintenance Vendor Setup Connect 3 Connect 3 Reports Connect 3 PDF Transfer Spec Source SKU Tracking S20-Sales Polling Prodigy PSP In-Home Repair Warranty Billing System Process Servers (Imaging)
  4. 4. <ul><li>Standards (including open source) for interoperability </li></ul><ul><li>Self-defined, loosely coupled interfaces </li></ul><ul><li>Tools to visualize and integrate existing assets </li></ul><ul><li>Model Driven Architecture (MDA) </li></ul><ul><li>Service Oriented Architecture (SOA) </li></ul><ul><li>Business Innovation & Optimization </li></ul>But … Technology Applied Correctly can Pave the Way for successful Business Innovation Outsourced Supplier Case Study: Procure to Pay Process Shared Service Division Customer
  5. 5. What’s this “Service Thing?” Message M1, M2, … … Op1, inMsg1, outMsg1, faultMsg1 Op2, inMsg2, outMsg2, faultMsg2 … … … “ Those lying IMS swine. Those are stored procedures.” “ You whipper snapper, we Invented that in IMS in 1923.” “ .NET. I like it.” WSDL Nein! Das ist eine IDOC “ That’s my simul. package!”
  6. 6. What is Service-Oriented Architecture (SOA) ? <ul><li>SOA is different things to different people : </li></ul><ul><ul><li>a set of services that a business wants to expose to their customers and partners, or other portions of the organization </li></ul></ul><ul><ul><li>an architectural style which requires a service provider, requestor and a service description </li></ul></ul><ul><ul><li>a set of architectural principles, patterns and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composability </li></ul></ul><ul><ul><li>a programming model complete with standards, tools and technologies such as Web Services </li></ul></ul><ul><ul><li>A set of standards </li></ul></ul>Business Executive, Consultant Architect Developer
  7. 7. SOA Defining Concepts Universal Connectivity: Integrates most diverse environments, bridging protocols, languages, platforms, APIs and messaging paradigms – providing scale and scope of integration required by today’s extended enterprise Service Orientation : Facilitates loose coupling between software components Incremental Integration : Start small and plug in capability to enrich your implementation as needs dictate Open, standards-based : Open APIs and protocols support the interoperability and substitution of middleware from multiple vendors Event Orientation: Decouples applications that publish business events from subscribing applications Flexibility: A variety of options for persistence, reliability, security, availability... Deploy where required, manage centrally
  8. 8. What’s Different about Web Services? <ul><li>Haven’t we heard this before? </li></ul><ul><ul><li>Structured programming and modules? </li></ul></ul><ul><ul><li>Message Passing/Driven Systems? </li></ul></ul><ul><ul><li>Remote Procedure Calls? </li></ul></ul><ul><ul><li>OO Languages? </li></ul></ul><ul><ul><li>CORBA, Distributed Smalltalk </li></ul></ul><ul><ul><li>J2EE </li></ul></ul><ul><li>This time we really mean it. No kidding. </li></ul><ul><li>If you can’t take a joke, you shouldn’t be using distributed systems. </li></ul><ul><li>There are some differences </li></ul><ul><ul><li>Microsoft supports this model </li></ul></ul><ul><ul><li>XML is more language and implementation agnostic. </li></ul></ul><ul><ul><li>WSDL, WS-Interop include RPC and Messaging from day one; One is not added to the other. </li></ul></ul><ul><ul><li>XML and WSDL is more forgiving of change in messages and evolution of interfaces. </li></ul></ul><ul><ul><li>Common model for “services/impls,” “data in DB,” “data in flight.” </li></ul></ul>
  9. 9. “Web Services, A Nascent Component Model” Prolog Types Messages Bindings Policy Control Descriptors Deployment Descriptors Operations Port Types JMS/MQ HTTP IIOP … … Impl. Stub Required Interfaces ESB Container “ Resources” “ Abstract Process”
  10. 10. Simplifying Development <ul><li>This is crazy. </li></ul><ul><li>Programmers want to build a “part” that implements a “basic building block” and then aggregate them together </li></ul>Daddy, Mommy gave me these documents to convert. What type of EJB do you want to build? Um. I do not want to build an EJB. You see, Mommy gave me these … Maybe you didn’t understand the question. Your choices are SLSB, SFSB, CMP Entity, BMP Entity, MDB You’re not very nice.
  11. 11. Component Model – Examples of Types/Tools; Enables MDD/MDA through Types and Patterns
  12. 12. End-to-End Model Enterprise Service Bus: Transform, Route, Notify, Augment, Side Effect “ Portal” Service Workflow Business Act. B2B Interactions EIS Adapter “ Script” POJO SSB Distinguished Services Information Mgmt XML DB
  13. 13. Life Cycle of an On Demand Business “Solution” Integration Infrastructure Management Acquire & Map to Infrastructure Monitor & React Define Model Implement Model Conceive & Modify Business Idea Focus on what’s core and differentiating <ul><li>UML Profile </li></ul><ul><li>Emerging Standards </li></ul><ul><li>CBE </li></ul><ul><li>WSDM </li></ul><ul><li>UML </li></ul><ul><li>EMF </li></ul><ul><li>XMI </li></ul><ul><li>Domain Models </li></ul><ul><li>BPEL4WS </li></ul><ul><li>OMG Rules </li></ul><ul><li>WSDL, WS-Policy </li></ul><ul><li>RAS </li></ul><ul><li>J2EE </li></ul>Service Oriented Architecture Open Standards End-to-End Tools Support Service Types And Patterns
  14. 14. Modeling, Recipes, Patterns, Templates End-to-end tool flow; Replace Word and PPT for collaboration between business professionals, IT programmers and systems admins. <ul><li>There are no new apps. </li></ul><ul><li>Mature platforms have the “old guy.” </li></ul><ul><li>Rich body of written best practices </li></ul><ul><li>Move from “read the book” to a tool </li></ul><ul><li>Support industry sols. </li></ul>Others Editors Process Editor Information Editor Models Organization Editor Reporting & Analisis Simulation … .. Resource Editor Observation Editor Other Models Simulation Observation Policy Services Resources Org. Process Transformations Legacy WBI Artifacts BPEL WCDL (Wired) Adapter Mediator WDOs FDL XDE WMM LDAP Other tools MQWF Buildtime WBI Foundation Tools Specialized Reporting BL to IT Maps Changes affecting models ‘ Navigation’ to IT Ω (X) m/n Transformation Function Initiated by: Transformation Engine (automatic) User Interaction (drag/drop) Manual Mapping EMF Models Transformation Steps… Apply Transformation Logic (drag to Schema editor, BO Editor or BPEL Editor) Compute and persist mapping Register notification listener to map. EMF Models Executed Maps Pattern Solution Pattern A Pattern B Pattern C Pattern D Describes how to knit many patterns together, as a recipe , to solve larger-grained problems Describes a solution to a recurring problem Solution Descriptions Pattern A Industry Solution Template: RFID Checkout Service A Asset Param Asset Param Bldg Block D Asset Param Bldg Block C Asset Param Asset Param Component B Asset Param Industry Solution Template: Payment Messages Service A Asset Param Asset Param Bldg Block D Asset Param Bldg Block C Asset Param Asset Param Component B Asset Param Solution Extensions Implement pattern solutions using templates, where assets/artifacts have parameters Solution Template Service A Asset Param Asset Param Bldg Block D Asset Param Bldg Block C Asset Param Asset Param Component B Asset Param Solution Implementations
  15. 15. Process Advisor: Integrated, context-sensitive guidance Relevant topics from RUP are presented in Process Advisor based on currently selected model element RUP search integrated with eclipse search Select a topic and detailed guidance is presented
  16. 16. Three UMA-based Process Families – One Integrated Solution Deploy Business Development IT Operations Govern Develop Discover Manage RUP ITUP Governance & Bus Mgmt
  17. 17. IBM and OMG Standards Influence– Representative Samples <ul><li>Long standing member since the earliest days of OMG </li></ul><ul><ul><li>OMG Board of Directors, Architecture Board, Task Force Chairs </li></ul></ul><ul><li>Led the specification and implementation of several key standards (* work in progress) </li></ul><ul><ul><li>Modeling – UML 1.x, UML 2.x and various profiles </li></ul></ul><ul><ul><li>Metadata – MOF 1.x, MOF 2.x, XMI and various metamodels </li></ul></ul><ul><ul><li>Software Reuse and Asset Management - RAS 2.0 </li></ul></ul><ul><ul><li>Data Warehousing – CWM 1.0 </li></ul></ul><ul><ul><li>Legacy Integration/Re-engineering – KDM* </li></ul></ul><ul><ul><li>Business Modeling (BPDM*) and Business Rules (BSBR*, PRR*) </li></ul></ul><ul><ul><li>Ontology (ODM*) </li></ul></ul><ul><ul><li>Middleware Interoperability – CORBA IIOP (J2EE™) </li></ul></ul><ul><li>Domain Standards (LSID – Life Sciences…) </li></ul><ul><li>Focus : Integration of Modeling and SOA Standards </li></ul>IBM Products : Tools Integration & Metadata – Eclipse and EMF, Modeling RSA
  18. 18. The IBM Software Development Platform What’s new & enhanced: Simplified solutions ECLIPSE Customer Extensions 3rd Party ISV Tools Rational Software Architect Rational Web/App Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team Unifying Platform Tivoli Configuration Manager WebSphere Business Integration Modeler & Monitor Rational Software Modeler Tivoli Monitoring WebSphere Tools Analyst Architect Developer Tester Deployment Manager Project Manager Executive Rational Portfolio Manager
  19. 19. Implementing Patterns <ul><li>Patterns may be implemented as process guidance or may be codified within tooling </li></ul>The solution described by a pattern may be implemented in a component, or across several components, or in a service. There are various codifications of patterns. <ul><li>Configurable Component : parameterized software component implementing one or more patterns; may be published as a service </li></ul><ul><li>RSA Transform, Pattern : implements a pattern through actions which modify model elements and other artifacts </li></ul><ul><li>Template : contains sections marked for substitution with parameters supplied by the user </li></ul>RSA – Rational Software Architect recognizes & documents + creates (later) uses customizes an asset The codified pattern may be further customized by less skilled users. Guidance RUP / GS Method realized as Configurable Component/ Service/ RSA Transform, Pattern/ Template/ … Automation references Pattern describes a solution to a recurring problem for a context
  20. 20. Rational Software Architect: Patterns <ul><li>“ Pattern-apply” experience is highly interactive </li></ul><ul><li>Evolution of previous generations of pattern mechanism experiences </li></ul><ul><li>“ Pattern-authoring” experience provides flexibility using Open API </li></ul><ul><li>GOF design pattern content </li></ul><ul><li>Additional patterns provided via RAS repository on developerWorks </li></ul><ul><ul><li>Examples: SOA / Web Service design patterns, J2EE patterns etc </li></ul></ul><ul><ul><li>Pragmatic example of applying MDA Transformations </li></ul></ul><ul><ul><li>Example : Enterprise Patterns on Developerworks </li></ul></ul>New patterns view providing outline and description of the pattern Pattern rendered as a collaboration to support incremental application Support “drag-and-drop” of pattern parameters into the collaboration <ul><li>Impact: </li></ul><ul><ul><li>Leverage existing skills and assets </li></ul></ul><ul><ul><li>Basis for asset-based development practice </li></ul></ul>
  21. 21. Business Modeling Landscape Process business tasks Information business artifacts Resource resources and roles Organization hierarchical structures organizations, locations User Interaction user interfaces, dashboards Authorization permissions and prohibitions Rules Business rules Observation events, metrics, KPIs, business situations Simulation simulator &quot;overlays&quot; statistical distributions Governance strategic goals, policies, capabilities Services service providers and service interfaces <ul><li>Business Process Definition Metamodel (BPDM) </li></ul><ul><li>Web Services Business Process Execution Language (WSBPEL) </li></ul><ul><li>Business Process Modeling Notation (BPMN) </li></ul><ul><li>Business Rules (BSBR, PRR, BRM) </li></ul>
  22. 22. Summary <ul><li>SOA and MDA are mutually reinforcing. </li></ul><ul><li>OMG compliments W3C and OASIS </li></ul><ul><ul><li>W3C and OASIS focus on SOA interoperability </li></ul></ul><ul><ul><ul><li>WS-* protocols and formats </li></ul></ul></ul><ul><ul><ul><li>WSDL and WS-Policy for interface definition and tool interoperability </li></ul></ul></ul><ul><ul><li>OMG defines the “tool flows” </li></ul></ul><ul><ul><ul><li>Modeling (UML) </li></ul></ul></ul><ul><ul><ul><li>Rules </li></ul></ul></ul><ul><ul><ul><li>Meta-models; Processes </li></ul></ul></ul><ul><ul><ul><li>Legacy Modernization </li></ul></ul></ul><ul><ul><ul><li>Domains/Verticals </li></ul></ul></ul><ul><li>Challenges </li></ul><ul><ul><li>Domain/Vertical support in “SOA” </li></ul></ul><ul><ul><li>Need to improve the “mapping” between SOA and UML </li></ul></ul><ul><ul><li>Modeling IT infrastructure, Security, etc. </li></ul></ul><ul><ul><li>End-to-End Policy and Rules </li></ul></ul><ul><ul><li>Seamless hand-off from development tools to systems management products </li></ul></ul><ul><ul><li>Application development  IT Management “meta-model and process” </li></ul></ul>
  23. 23. Questions?