Formerly Data Access Technologies




 The Architecture of Services
    Workshop on eGovernment and the Web

            C...
Our perspective on Service Oriented
    Architecture (SOA)

      • SOA is:
           – An enterprise and business archit...
SOA Hype and Reality

      • This is easy – no planning required
           – Hype: “Just start exposing capabilities as ...
Spaghetti Enterprise Example



                                                                Builds an
           Offer...
Services Use Services




18/06/07           Copyright © 2007 Model Driven Solutions   Page 5
Anti-Agile Service Dependencies




             Changed or
            Discontinued




      Core problem – services “bo...
SOA Simplification

      •Services are limited to a single
      interaction between provider and
      consumer
        ...
Reality – Multiple services work together

                                 Asset Service Collaboration

                 ...
Services can be complex and long lived interactions
                       Bde - FSE                     Bde- Artillery


...
Trust and Validation

    Clear, Trusted and Validated Service Effects




                Service Contract




          ...
Message – Don’t forget the “A” in SOA!

      • A Service Oriented Architecture Should:
           – Treat the enterprise ...
Business Focus Using Model Driven Services
             Architecture
   MDA
                                        Busine...
Core of services architecture
      •    Services contract
            –   What is the service provided?
            –   U...
Automate from Architecture model to
    technology


                        Enterprise
Model Driven           Architectur...
Model Driven Solutions
      • Business Enablement
           –   Business Transformation
           –   Enterprise Agilit...
Backup Example




18/06/07         Copyright © 2007 Model Driven Solutions   Page 16
Example Call for Fire - MLRS
                       Bde - FSE                     Bde- Artillery




              Bn-FSE ...
Call for Fire - MLRS
                         Bde - FSE                       Bde- Artillery




              Bn-FSE     ...
Model Of CFF Thread




18/06/07         Copyright © 2007 Model Driven Solutions   Page 19
Model Information Flows




       Call For Fire
           Fire Ready
   Rounds Complete
            Fire Shot
          ...
Choreography – Understanding When




18/06/07          Copyright © 2007 Model Driven Solutions   Page 21
Generated Web Services Definition

<wsdl:portType name="CustomerOrderEstablishment.CustomerOrderEstablishment">
   <wsdl:o...
Example Transaction Message XML Document
   <CustomerOrderEstablishment>
        <customerOrderEstablishment>
            ...
Upcoming SlideShare
Loading in …5
×

Leveraging MDA for meet-in-the-middle SOA

330 views
282 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
330
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Leveraging MDA for meet-in-the-middle SOA

  1. 1. Formerly Data Access Technologies The Architecture of Services Workshop on eGovernment and the Web Cory Casanave cory-c (at) ModelDriven.com Full Paper http://modeldriven.com/whitepapers.shtml Copyright © 2007 Model Driven Solutions, Inc.
  2. 2. Our perspective on Service Oriented Architecture (SOA) • SOA is: – An enterprise and business architecture approach – a way to understand and integrate the enterprise in the context of its community and as a network of business services. “A SOA” at the business level is part of the enterprise architecture showing how this network of services delivers business value – A system of systems solution architecture – a way to understand and integrate enterprise systems internally and externally as a network of technology services. “A SOA” at the systems of systems level is the solutions architecture showing how this network of systems works together to delivers business value. – A system integration approach – a way to expose existing capabilities to integrate applications and create new composite solutions. 18/06/07 Copyright © 2007 Model Driven Solutions Page 2
  3. 3. SOA Hype and Reality • This is easy – no planning required – Hype: “Just start exposing capabilities as services – use these to make new services and “mash up” applications” – Reality: Service anarchy is a road to disaster – architect for longevity and loose coupling • Network of Services – Hype: Services are simple and stand-alone – Reality: Services can be complex and interdependent • Suitability, process and trust – Hype: Dynamically find and use services from across the internet – Reality: Mission critical use of services requires trusted and reliable services from known parties 18/06/07 Copyright © 2007 Model Driven Solutions Page 3
  4. 4. Spaghetti Enterprise Example Builds an Offers a Uses one Application Service Of the Using other Services services Offers a New service 18/06/07 Copyright © 2007 Model Driven Solutions Page 4
  5. 5. Services Use Services 18/06/07 Copyright © 2007 Model Driven Solutions Page 5
  6. 6. Anti-Agile Service Dependencies Changed or Discontinued Core problem – services “bottom up” – not architected or standard 18/06/07 Copyright © 2007 Model Driven Solutions Page 6
  7. 7. SOA Simplification •Services are limited to a single interaction between provider and consumer Consumer Service Provider •There is just a “request message” and a result 18/06/07 Copyright © 2007 Model Driven Solutions Page 7
  8. 8. Reality – Multiple services work together Asset Service Collaboration Asset Data Asset Asset Management Accounting Asset Asset Transfer Record Asset Disposal Asset Disposal GL Updates Revenue Receivables General Accounting Ledger The Asset service collaboration shows the service interactions supporting the management of asset records and the posting of general ledger as a result of asset transactions. 18/06/07 Copyright © 2007 Model Driven Solutions Page 8
  9. 9. Services can be complex and long lived interactions Bde - FSE Bde- Artillery Bn-FSE FA Bn - FSE Call For Fire Fire Ready Co-FIST MLRS Battery Rounds Complete Fire Shot Forward Observer Fire Splash MLRS Mission Fire Rpt End Of Mission Call for fire is a “protocol” 18/06/07 ofCopyright © 2007 Model Driven Solutions action and information Page 9 exchange between parties
  10. 10. Trust and Validation Clear, Trusted and Validated Service Effects Service Contract Under All Conditions 18/06/07 Copyright © 2007 Model Driven Solutions Page 10
  11. 11. Message – Don’t forget the “A” in SOA! • A Service Oriented Architecture Should: – Treat the enterprise as “service oriented” at the business level - people and organizations provide and use services – Define technology services to augment and enable business services – Define “service contracts” so all parties know what to expect – Abstract “enterprise services” from solution specific capabilities – Provide for reuse and longevity – Define how services collaborate to provide business value – Separate service contracts from implementing technologies – Provide an integrated view of processes, collaborations, information and services – without coupling these together 18/06/07 Copyright © 2007 Model Driven Solutions Page 11
  12. 12. Business Focus Using Model Driven Services Architecture MDA Business Concerns Terms Goals Computation Specific Independent Independent SOA Business Model Model BusinessMission(b-SOA) Services Refinement & Automation Roles, Collaborations & Interactions ProcessPolicy & Information Line-Of-Sight Customers Platform Logical Systems of Systems Model Model Technology Services (t-SOA), Collaborators Components Interfaces, Costs & Data Messages Platform Agility Model Technology Specification Web Services WSDL, BPEL, XML Schema 18/06/07 Copyright © 2007 Model Driven Solutions Page 12
  13. 13. Core of services architecture • Services contract – What is the service provided? – Under what terms and guarantees? – What are the interactions – information and assets exchanged? – What is the data? – How is the services choreographed? • Service Collaboration – Why do parties work together – what is the business goal? – What roles do they play in this collaboration? – What services does each party provide and use? • Process – Externally, what process or processes does the collaboration serve? – Internally, what activities take place to enact a service? – What resources are consumed or produced? • Information – What is the core information (ontology) of the domain – What information is exchanged to enact services – What information is retained and shared 18/06/07 Copyright © 2007 Model Driven Solutions Page 13
  14. 14. Automate from Architecture model to technology Enterprise Model Driven Architecture Architecture Model (CIM) Standards Enterprise Service Infrastructure Tools Components Mapping Produce & C Integrate Minimize and structure (E.G. J2EE-WS) manual implementation Framework & Infrastructure (E.G. -J2EE-WS) Mapping is tuned to the infrastructure PSM Technical 18/06/07 Copyright © 2007 Model Driven Solutions ArchitecturePage 14
  15. 15. Model Driven Solutions • Business Enablement – Business Transformation – Enterprise Agility ww – w. Enterprise Integration M – Service Implementation od el • Architecture Dr ive – Enterprise Architecture n. – Business Architecture co – m Service Oriented Architecture – Model Driven Architecture – Business Process Architecture • Open Source – www,ModelDriven.org – Open community for MDA, SOA and the Semantic web • Opportunity to solution – architected, fast, strategic 18/06/07 Copyright © 2007 Model Driven Solutions Page 15
  16. 16. Backup Example 18/06/07 Copyright © 2007 Model Driven Solutions Page 16
  17. 17. Example Call for Fire - MLRS Bde - FSE Bde- Artillery Bn-FSE FA Bn - FSE Call For Fire Fire Ready Co-FIST MLRS Battery Rounds Complete Fire Shot Forward Observer Fire Splash MLRS Mission Fire Rpt End Of Mission Call for fire is a “protocol” 18/06/07 ofCopyright © 2007 Model Driven Solutions action and information Page 17 exchange between parties
  18. 18. Call for Fire - MLRS Bde - FSE Bde- Artillery Bn-FSE FA Bn - FSE Co-FIST MLRS Battery Forward Observer MLRS 18/06/07 Copyright © 2007 Model Driven Solutions Page 18
  19. 19. Model Of CFF Thread 18/06/07 Copyright © 2007 Model Driven Solutions Page 19
  20. 20. Model Information Flows Call For Fire Fire Ready Rounds Complete Fire Shot Fire Splash Mission Fire Rpt End Of Mission 18/06/07 * Not technology details! Driven Solutions Copyright © 2007 Model Page 20
  21. 21. Choreography – Understanding When 18/06/07 Copyright © 2007 Model Driven Solutions Page 21
  22. 22. Generated Web Services Definition <wsdl:portType name="CustomerOrderEstablishment.CustomerOrderEstablishment"> <wsdl:operation name="CustomerOrderEstablishment"> <wsdl:input message="tns:CustomerOrderEstablishmentPanopticInheritanceCluster“ name="CustomerOrderEstablishment"> </wsdl:input> The primary port type has operations corresponding </wsdl:operation> to the request flows in the protocol. </wsdl:portType> <wsdl:portType name="CustomerOrderEstablishment.CustomerOrderEstablishmentCallback"> <wsdl:operation name="CustomerOrderEstablished"> <wsdl:input message="tns:CustomerOrderEstablishedPanopticInheritanceCluster“ name="CustomerOrderEstablished"> </wsdl:input> </wsdl:operation> <wsdl:operation name="CustomerOrderEstablishmentRejected"> <wsdl:input message="tns:CustomerOrderEstablishmentRejectedInheritance“ name="CustomerOrderEstablishmentRejected"> </wsdl:input> The callback port type has operations corresponding </wsdl:operation> to the response flows in the protocol. </wsdl:portType> 18/06/07 Copyright © 2007 Model Driven Solutions Page 22
  23. 23. Example Transaction Message XML Document <CustomerOrderEstablishment> <customerOrderEstablishment> <newOrder> <customerOrder> <customerOrderID> … </customerOrderID> <customerOrderAmount> … </customerOrderAmount> <orderingCustomer> <customer> <customerID> … </customerID> </customer> <party> <name> … </name> </party> </orderingCustomer> <controllingSalesInstrument> <salesInstrumentID> … </salesInstrumentID> </controllingSalesInstrument> … <lineItems> … </lineItems> </customerOrder> </newOrder> </customerOrderEstablishment> <businessDomainTransaction> <transactionID> … </transactionID> </businessDomainTransaction> </CustomerOrderEstablishment> 18/06/07 Copyright © 2007 Model Driven Solutions Page 23

×