1 / 21

SOA and MDA Hand-in-Glove or Square-Peg, Round-Hole?

SOA and MDA Hand-in-Glove or Square-Peg, Round-Hole?. David Piper Principal Consultant. Agenda. Service Oriented Architecture Focus Architecture, Requirements, Solutions, Services MDA Focus Purpose and Structure Capabilities Uniting SOA and MDA Architecture, Requirements, Solutions,

Download Presentation

SOA and MDA Hand-in-Glove or Square-Peg, Round-Hole?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SOA and MDAHand-in-Glove orSquare-Peg, Round-Hole? David Piper Principal Consultant

  2. Agenda • Service Oriented Architecture Focus • Architecture, Requirements, Solutions, Services • MDA Focus • Purpose and Structure • Capabilities • Uniting SOA and MDA • Architecture, • Requirements, • Solutions, • Services • Sample SOA-MDA Pattern SOA and MDA

  3. Business Technical Solution Solution Solution Solution Solution Service Service Service Service Service Service Project Project Project Data Service Catalogue SOA Focus – Model Stereotypes «Architecture» «Requirements» «Service» «Solution» SOA and MDA

  4. Business «Architecture» Technical «Architecture» Project «Requirements» Architectures and Requirements As-Is Process To-Be Process Global Constraints SOA and MDA

  5. Existing «Solution» New «Solution» Project «Requirements» Requirements and Solutions Delta Use Cases Requirements New Use Cases SOA and MDA

  6. Service Catalogue New «Solution» Solutions and Service Catalogue Re-used Services Existing «Solution» New Service Specs SOA and MDA

  7. «Service» «Service» «Service» Service Catalogue Service Catalogue and Services Implemented Services Service Specifications SOA and MDA

  8. Analyze Code Test Deploy MDA Focus – Abstraction Gap Complex business process Model – Code Gap Complex technology (.Net, J2EE etc..) SOA and MDA

  9. MDA Focus – Levels of Abstraction Computation Independent Model An expression of the business domain independent of the use of systems to support the processes. Platform Independent Model A design for the implementation of solutions to support the processes which is independent of the platform used for the implementation. Platform Specific Model A detailed design for the implementation of a solution which takes into account the details of the implementation platform and from which a high proportion of code can be generated. Implementation Code The code, specific to the implementation environment. SOA and MDA

  10. MDA Capability – Model Transformation • Pattern based transformations applied within and across levels of abstraction • True synchronization between levels of abstraction allowing related models to be maintained in-step CIM PIM PSM Code SOA and MDA

  11. Unifying SOA and MDA SOA and MDA

  12. MDA and… Architectural Models Data Technical Business Computation Independent Model Business Process Business Rules… Platform Independent Model Technical Requirements Technical Patterns Interface Definitions Process-ServiceDependency Corporate Data Model Platform Specific Model Base Classes Utilities Technical Services Physical Data Model Implementation Code Class Libraries Database Definition SOA and MDA

  13. MDA and… Requirements Models Project Computation Independent Model Business Process Business Rules… Use Cases Abstract Class Model… Interaction Model Platform Independent Model Platform Specific Model Implementation Code SOA and MDA

  14. MDA and… Solution Models New/Existing Computation Independent Model Use Cases Abstract Class Model PIM Service Interfaces Interaction Model… Platform Independent Model PSM Service Interfaces User Interface Class Model Interaction Model… Platform Specific Model Implementation Code User Interface Code Service Interface References SOA and MDA

  15. MDA and… Service Models New/Existing Computation Independent Model PIM Service Interface Abstract Class Model Interaction Model… Platform Independent Model PSM Service Interface Design Class Model Interaction Model… Platform Specific Model Implementation Code Service Code Dependee Service References SOA and MDA

  16. Unified Architecture - Completed SOA and MDA

  17. SOA and MDA – Transformations… • Extend the reach of MDA • Different transformations • Model stereotype specific • SOA specific transformations • Service Internal Architecture • Loose Coupling • Legacy Wrapping • Data Service Wrapping • … • Service Catalogue and MDA • Recognise levels of abstraction • Publish/Reuse as appropriate level SOA and MDA

  18. «interface» IAddress GetAddress( in addressSummary : ..AddressIdentifier, out addressDetail : ..AddressDetail ) GetPostCode( in addressDetail : ..AddressDetail, out addressSummary : ..AddressIdentifier ) e Loose Coupling Pattern – PIM • PIM Features tight coupling • Using explicitly defined types • Focus on ability to trace through the model • Review impact of changing requirements SOA and MDA

  19. e «schema» AddressDetail «interface» Street : string IAddress Area : string GetAddress( in addressSummary : string, out addressDetail : string ) City : string GetPostCode( in addressDetail : string, out addressSummary : string ) Country : string AddressIdentifier : AddressIdentifier 1 e e «schema» AddressIdentifier PropertyNumber : unsigned int 0..1 PropertyLetter : string PropertyName : string FlatNumber : unsigned int PostCode : PostCode e 1 «schema» PostCode AreaCode : string 0..1 SubAreaIndex : string WalkPrefix : unsigned int WalkCode : string Loose Coupling Pattern – PSM • <?xml version="1.0" encoding="utf-8" ?> • <xs:schema targetNamespace="http://selectbs.com/Addressee.xsd" • elementFormDefault="qualified“ • xmlns="http://selectbs.com/Addresee.xsd" • xmlns:xs="http://www.w3.org/2001/XMLSchema" > • <xs:element name="addressDetail"> • <xs:complexType> • <xs:sequence> • <xs:element ref="addressIdentifier" minOccurs="0" maxOccurs="1"/> • </xs:sequence> • <xs:attribute name="street" type="xs:string" use="required"/> • <xs:attribute name="area" type="xs:string" use="optional"/> • <xs:attribute name="city" type="xs:string" use="required"/> • <xs:attribute name="country" type="xs:string" use="required"/> • </xs:complexType> • </xs:element> • ... • </xs:schema> • PSM Features loose coupling • Use of XML Schema (perhaps SOAP…) • Runtime enforced typing SOA and MDA

  20. Conclusions • SOA and MDA • Different focus of attention • Model Stereotype (role) for SOA • Abstraction level for MDA • Combining the two approaches • Maintains separation of concerns for SOA • Maintains unbroken traceability for MDA • Opportunity to take advantage of both sets of benefits • Extended transformations to support • SOA and MDA • Patterns focused on stereotype and abstraction SOA and MDA

  21. Thank you… …For Listening. For more information about MDA, Select Solution for MDAand the industry leading service-oriented development process Select Perspective why not visit Select Business Solutions at booth 7? Alternatively visit our website: www.selectbs.com You can also contact the presenter: Email: david.piper@selectbs.com Skype: dbpiper Mobile: +44 7965 552231 SOA and MDA

More Related