MDA for Web Services. Applying Model Driven Architecture to ...


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 14
  • 15
  • MDA for Web Services. Applying Model Driven Architecture to ...

    1. 1. MDA for Web Services Applying Model Driven Architecture to Web Services Document webserv/2002-04-05 EDOC-ECA
    2. 2. Problem Space <ul><li>Integration Nightmare </li></ul><ul><li>Infrastructure, Version & Vendor lock-in </li></ul><ul><li>Complex, divergent and manual development and deployment processes </li></ul>
    3. 3. Goals <ul><li>A scalable and robust enterprise architecture </li></ul><ul><li>Loosely coupled enterprise components </li></ul><ul><li>Enable rapid provisioning of business solutions </li></ul><ul><ul><li>Simple, reproducible processes supporting reuse </li></ul></ul><ul><li>Technology & vendor independence </li></ul><ul><li>Enable the integration and collaboration of multiple; </li></ul><ul><ul><li>Business units (internal and external) </li></ul></ul><ul><ul><li>Customers </li></ul></ul><ul><ul><li>Suppliers </li></ul></ul><ul><ul><li>Systems </li></ul></ul><ul><ul><li>Technologies </li></ul></ul>
    4. 4. Solution Triad Service Based Architecture Standards Tooling & Infrastructure Development Process Components Web Services Corba OMG ECA J2EE .NET Model Driven Development
    5. 5. The new center <ul><li>The strategic core of you systems must be the business itself </li></ul><ul><li>Only technology independent business focused models will survive the transience of technology and lock-in </li></ul><ul><li>These models can become part of your source code , driving enterprise applications </li></ul><ul><li>Enabler: Model Driven Architecture (MDA) with EDOC-ECA </li></ul>Extreme Modeling
    6. 6. Collaboration and Web Services Collaboration is the center of applying web services to core enterprise problems.
    7. 7. EDOC – Enterprise Collaboration Architecture Provides the standard UML “PIM” profile suitable for enterprise application of web services EDOC
    8. 8. What is the Enterprise Collaboration Architecture? <ul><li>ECA is a “profile of UML”, a way to use UML for a specific purpose - it is an OMG standard </li></ul><ul><ul><li>That purpose is modeling enterprise systems . </li></ul></ul><ul><li>You can also think of this as a “modeling framework” for enterprise computing </li></ul><ul><li>ECA is part of the “Model Driven Architecture” (MDA) initiative of the OMG </li></ul><ul><ul><li>Using precise modeling techniques as part of the development lifecycle to speed development and provide technology independence </li></ul></ul><ul><li>ECA has been adopted by the OMG as part of the EDOC RFP. </li></ul>
    9. 9. Using MDA for WSDL WSDL & Soap Mapping “ PIM” “ PSM” Business Focused ECA Model
    10. 10. Collaboration is Key <ul><li>Collaboration is a key differentiation and key cost center (Healthcare Example) </li></ul><ul><ul><li>Customer Collaboration </li></ul></ul><ul><ul><li>Claim processing </li></ul></ul><ul><ul><li>Disputes </li></ul></ul><ul><ul><li>Physician Collaboration </li></ul></ul><ul><ul><li>Payer Collaboration </li></ul></ul><ul><ul><li>Hospital Collaboration </li></ul></ul><ul><ul><li>Broker Collaboration </li></ul></ul><ul><ul><li>Government Collaboration </li></ul></ul><ul><ul><li>Employee Collaboration </li></ul></ul><ul><ul><li>Others... </li></ul></ul>The system integrates multiple collaborations
    11. 11. Automated Model Driven Architecture Profile (E.G. EDOC) Framework & Infrastructure (E.G. Web Services) Infrastructure Mapping (E.G. Web Services) Mapping is tuned to the infrastructure Tools Produce & Integrate Enterprise Components Business Focused Model (UML) Manual Coding Minimize and structure manual implementation
    12. 12. Loose Coupling <ul><li>Loose coupling is the ability for independent parts of systems to be built and evolve independently </li></ul><ul><li>Tightly coupled systems </li></ul><ul><ul><li>Prevent change (the next legacy system) </li></ul></ul><ul><ul><li>Cause lock-in </li></ul></ul><ul><ul><li>Become unmanageable </li></ul></ul><ul><ul><li>Prevent reuse </li></ul></ul><ul><li>Quality architecture is essential for loose coupling </li></ul>
    13. 13. Enterprise Components <ul><li>Enterprise Components must be independent </li></ul><ul><li>While being able to interoperate with each other </li></ul><ul><li>Making the information system a lattice of cooperating components </li></ul>Open Standards Open Standards Open Standards
    14. 14. Poor Monolithic Architecture Traditional data sources SQL DBMS & Client/Server Bad Thing All business rules, data rules, application logic, technology and user interface code are contained here The data goes here Monolithic Applications Monolithic Applications HTTP Web Browser Making a monolithic web application doesn’t help!
    15. 15. Enterprise Architecture HTTP Web Server Applications SQL DBMS, Client/Server & Legacy Applications Client Applications Business and data rules go here User interface and application logic go here The data goes here EAI Applications & B2B E-Commerce Web Browser Standard Middleware connects applications to components & components to components XML Corba EJB DCOM MQ Supply Chain Enterprise Components
    16. 16. Technology Independence What the infrastructure vendors would have you do Business Logic Component ebXml Business Logic Component .NET Business Logic Component RosetaNet Business Logic Component Ejb Adapters EJB Business Logic Component ebXml BizTalk Rosetanet Adapters CICS EJB MQ Corba
    17. 17. Typical Requirement Buyer Web Page HTML Seller Redundant Work! B2B Buyer Web Service Seller
    18. 18. Multi-tier implementation B2B Buyer Web Service Seller Could have multiple implementations using different technologies Could have multiple implementations using different technologies Buyer Web Page HTML Buyer Proxy
    19. 19. Multi-tier implementation Legacy Seller Applications Event Cloud B2B Buyer Web Service Seller Event Event Implementing seller using events Buyer Web Page HTML Buyer Proxy
    20. 20. Understanding Collaborations
    21. 21. The Connected Enterprise Content and Communication Police Dispatcher Role Aerial Photos Digital Map Census Data House Drawings Police Records
    22. 22. Multiple roles in a collaboration
    23. 23. Roles to Systems Implementation Net Hardware Operating System Framework, Middleware & Container Interaction Path Component in Role Interaction (With Information) Role Collaboration
    24. 24. The Internet Computing Model The technology model behind WSDL and ebXML and others
    25. 25. The Internet Computing Model <ul><li>Collaboration of independent entities </li></ul><ul><li>Document exchange over internet technologies </li></ul><ul><ul><li>Large grain interactions </li></ul></ul><ul><li>No shared infrastructure required * </li></ul><ul><li>Long lived business processes </li></ul><ul><li>Business transactions </li></ul>Business Party Business Party Portals
    26. 26. Requirements for the “ICM” <ul><li>Contract of Collaboration </li></ul><ul><ul><li>Shared business semantics </li></ul></ul><ul><ul><li>Meta-Model (EDOC-ECA) and representation (I.E. XMI, ebXML-BPSS) </li></ul></ul><ul><ul><li>Shared Repository for Contracts (MOF, UDDI, ebXML) </li></ul></ul><ul><li>Connectivity (middleware) which meets requirements of the contract </li></ul><ul><li>Implementation of each contract role providing connectivity (application server) </li></ul>Business Partner Business Partner Repository Contracts (Metadata) Contract of collaboration can be mapped to the format of various technologies. (ebXML, Soap, .NET) Instance Data
    27. 27. Two levels of interoperability Instance data and interoperability Metadata (contract) interoperability Business Partner Business Partner Bridge Each can be transformed Purchasing Model .NET ebXML BPSS ebXML Biztalk Normal Form Over Soap Over Soap
    28. 28. Drilling down – inside a role <ul><li>The open domain should make no assumptions about the “inside” of a role. </li></ul><ul><li>Inside one role you frequently find more collaborating “parts” of the enterprise - the same model may be used </li></ul><ul><li>Until you get to system inside a managed domain </li></ul><ul><ul><li>Shared resources (DBMS) </li></ul></ul><ul><ul><li>Common Management </li></ul></ul><ul><ul><li>Frequently a legacy system </li></ul></ul>Inner Role Legacy Inner Role Inner Role Domain Cust
    29. 29. Collaborative Business Semantics <ul><li>Defined: The processes, information and contracts of interaction between collaborators within a community </li></ul><ul><li>Collaborative business semantics are a valuable long-term asset </li></ul><ul><li>Captures information and process </li></ul><ul><li>Requires ownership and support </li></ul><ul><li>Do not put this valuable asset in a (transient - one size fits all) technology specific form </li></ul><ul><ul><li>Use technology independent models (MDA) </li></ul></ul><ul><ul><li>Map to the technology of the day (E.G. DTD) </li></ul></ul>
    30. 30. Generic web services <ul><li>Generic web services is any set of technologies that can implement the internet computing model. </li></ul><ul><li>WSDL, ebXML, .NET… </li></ul>
    31. 31. Standards for Global Internet Computing EDOC SOAP WSDL XML XML-Schema .NET BPML XLANG
    32. 32. XML Standards <ul><li>XML Schema & DTD </li></ul><ul><ul><li>Description and packaging of data </li></ul></ul><ul><li>WSDL </li></ul><ul><ul><li>Specification a services, operations and flows available via that service </li></ul></ul><ul><li>Soap </li></ul><ul><ul><li>Basic messaging and packaging </li></ul></ul><ul><ul><li>Extensions for Soap-RPC with WSDL </li></ul></ul><ul><ul><li>May be extended to support collaborative messaging </li></ul></ul>
    33. 33. ECA as the normal form EDOC-ECA Web Services (WSDL) ebXML (BPSS) J2EE (Java RMI) .NET MOM (MQ-Series) The standard way to model and tool for multiple technologies MDA Mappings English
    34. 34. EDOC Component Collaboration Architecture The model of collaborative work CCA
    35. 35. The Marketplace Example Mechanics Are Us Buyer Acme Industries Seller GetItThere Freight Shipper Order Conformation Ship Req Shipped Shipped Delivered Status Process Complete Physical Delivery
    36. 36. The Seller’s Detail Order Conformation Shipped Ship Req Shipped Delivered Order Processing Shipping Receivables Event
    37. 37. The Community Process <ul><li>Identify a “community process”, the roles and interactions in a collaboration </li></ul>Protocol
    38. 38. Protocols
    39. 39. Composition
    40. 40. ECA/WSDL mapping <ul><li>ECA works well as a modeling framework for WSDL </li></ul><ul><li>How major concepts could map </li></ul><ul><ul><li>WSDL Port <-> ECA Port </li></ul></ul><ul><ul><li>WSDL Operation <-> ECA Flow port (one way) or Operation (Two way) </li></ul></ul><ul><ul><li>WSDL Service <-> ECA Component </li></ul></ul><ul><ul><li>WSDL Port type <-> ECA Protocol </li></ul></ul><ul><ul><li>WSDL Message <-> ECA Document type </li></ul></ul>
    41. 41. WSDL/ECA Differences <ul><li>WSDL Adds </li></ul><ul><ul><li>Technology binding and endpoints </li></ul></ul><ul><li>ECA adds </li></ul><ul><ul><li>Choreography, nested conversations, two-way protocols, nested components. </li></ul></ul>
    42. 42. Next steps <ul><li>RFP Draft – “Web services for enterprise collaboration” </li></ul><ul><ul><li>Two way mapping between EDOC-ECA and WSDL/Soap </li></ul></ul><ul><ul><li>Draft available – discussion in “MARS” </li></ul></ul><ul><li>Roadmap items to make web services more viable as enterprise infrastructure </li></ul><ul><ul><li>Security and reliability </li></ul></ul>
    43. 43. Business Case <ul><li>· High level support for understanding and documenting collaborative business processes. </li></ul><ul><li>· Loose coupling between independent parties in a collaboration </li></ul><ul><li>· Tighter coupling in the software development life-cycle between design and implementation processes and artifacts. </li></ul><ul><li>· Consistency in the way WSDL is used to implement collaboration. </li></ul><ul><li>· A standard way to use UML for web services. </li></ul><ul><li>· Enhanced support for asynchronous interactions. </li></ul><ul><li>· Automation of the development process from design to implementation. </li></ul><ul><li>· A faster, more deterministic development processes. </li></ul><ul><li>· Ability to adapt to changing business requirements. </li></ul><ul><li>· Ability to adapt to multiple and changing infrastructure technologies. </li></ul><ul><li>· Full life-cycle tool support </li></ul>