Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • Be the first to comment

  • Be the first to like this


  1. 1. A Model-Driven Development Approach to Creating Service-Oriented Solutions Simon K. Johnston and Dr. Alan W. Brown IBM Rational Software 4th International Conference on Service Oriented Computing Chicago, December 7 th 2006
  2. 2. SOA Development <ul><li>Many organizations want to adopt SOA for new development as well as legacy transformation </li></ul><ul><li>But SOA has many new concerns, so how to ensure good design and implementation? </li></ul><ul><ul><li>Gartner and CBDi state poor design as major inhibitors to SOA success </li></ul></ul><ul><ul><li>Organizations need a way to capture and reuse knowledge and enable all developers </li></ul></ul><ul><ul><li>Tools and process need to enable repeatable service implementations </li></ul></ul><ul><li>We present MDD as a key approach to the development of SOA Solutions, MDD is typified by: </li></ul><ul><ul><li>UML Profiles that capture domain-specific models/views </li></ul></ul><ul><ul><li>Patterns that provide model, domain and technology specific automation for model construction </li></ul></ul><ul><ul><li>Transformations that allow for the automation of mapping between models, and between models and code </li></ul></ul>
  3. 3. UML Profile for Software Services <ul><li>What it is </li></ul><ul><ul><li>A way to model the key elements of an SOA style </li></ul></ul><ul><ul><li>A model that supports lifecycle activities such as identification, specification and implementation </li></ul></ul><ul><ul><li>A model that is abstract of the technology used to implement the described services </li></ul></ul><ul><ul><li>A practical, simple but effective vocabulary over UML 2.0 </li></ul></ul><ul><li>What it is not </li></ul><ul><ul><li>The model is not a 1:1 representation of WSDL </li></ul></ul><ul><ul><li>The model is not tightly bound to a given development process </li></ul></ul><ul><ul><ul><li>Though included in the Rational Unified Process </li></ul></ul></ul><ul><ul><li>The model is not an end-to-end redefinition of UML or an alternative metamodel </li></ul></ul>
  4. 4. SOA Elements – Overview Message Service Order Service Provider Policy Order Header Body Composition Order Service Purchaser Interaction Ordering p : Purchaser o : Order Service
  5. 5. Modeling Profile – Conceptual model Represents either logical or physical Software component that provides services, location information stored here Provides the connection between services. This is where the binding information is specified. Not just an interface, but contains the protocol and possibly policy details Connects “strict” Partitions
  6. 6. Modeling Profile – Usage Model Software Architect Developer Enterprise Architect Integration Specialist Data Architect Security Architect
  7. 7. Modeling Profile Details Italics Denote optional stereotype Denotes some message content that is attached Property Message Attachment The logical, or physical, grouping of one or more services Node Service Partition A connection between services, denotes transport Connector Service Channel The specification of operations and associated messages defining a service Class, Interface Service Specification The provider of one or more services Class Service Provider Provides type-safe connection between partitions Port Service Gateway Any consumer of a service Classifier Service Consumer The behavior of a set of cooperating services Collaboration Service Collaboration Denotes a specification/binding pairing Port Service Has property for “encoding” such as SOAP or RPC – this is by convention, no fixed value spaces Class Message Comments Metaclass Name
  8. 8. Step 1 – identify services Step 2 – specify services Step 3 – specify service providers Step 4 – describe service topology Step 5 – transform to realization
  9. 9. RUP for SOMA <ul><li>Tools and models are of little use without a process that puts them in some context </li></ul><ul><li>IBM Rational Unified Process has been extended over time with SOA content </li></ul><ul><ul><li>Including the service model described here </li></ul></ul><ul><ul><li>Focus is on Architecture, Analysis and Design </li></ul></ul><ul><ul><li>This month IBM published a merged RUP and SOMA (IBM Global Services SOA Design method) </li></ul></ul><ul><li>The process covers Identification, Specification and Realization phases including techniques, guidelines and artifact templates </li></ul>
  10. 10. RUP for SOMA
  11. 11. Role of the Service Model <ul><li>IBM’s own IT organization is using the RUP SOMA guidance, including service modeling </li></ul><ul><li>IBM Research are using the profile in a number of projects </li></ul><ul><li>IBM teams implementing industry frameworks and solutions are also using the profile </li></ul><ul><li>IBM has presented the profile to OMG for their consideration as a model for SOA design </li></ul><ul><li>The profile is included in our modeling products </li></ul><ul><li>A number of customers are now developing models using the profile </li></ul><ul><ul><li>Through direct interest in our published material </li></ul></ul><ul><ul><li>Through adoption of the RUP and SOA content </li></ul></ul><ul><ul><li>Through engagements with either Rational Services or Global Business Services </li></ul></ul><ul><li>The model has also been used as the basis for extended profiles in industry domains </li></ul><ul><li>The model is referenced in the CBDi metamodel for SOA </li></ul>
  12. 12. Generation of Web Services <ul><li>The paper describes two transformations; </li></ul><ul><ul><li>Model-to-model, transforming an analysis model into the service model </li></ul></ul><ul><ul><li>Model-to-code, generating web service artifacts from a service model </li></ul></ul><ul><li>Currently IBM products have the ability to generate both XML Schema and WSDL from such models using IBM Rational Software Architect </li></ul><ul><li>We have written articles on the generation capability, though the recently announced V7 product line enhances the existing capabilities </li></ul><ul><li>Current generation does not target WSDL 2.0, also product teams have a documented mapping to SCA </li></ul>
  13. 13. Research Directions <ul><li>Rational Tools and Methods are available for trial download, through Passport Advantage and the IBM Academic Initiative </li></ul><ul><li>We are interested in extending the SOA Profiles we already support in the areas of: </li></ul><ul><ul><li>Policy modeling (we have published some work on security) </li></ul></ul><ul><ul><li>Service patterns for both technology and industry specific domains </li></ul></ul><ul><ul><li>Additional transformation targets (other than BPEL, SCA, WSDL, XSD) </li></ul></ul><ul><li>Research can be in the context of collaboration with IBM Rational or IBM Research </li></ul>
  14. 14. References and Links <ul><li>UML 2.0 Profile for Software Services </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>UML Profile for Software Services, RSA Plug-In </li></ul><ul><ul><li> </li></ul></ul><ul><li>RUP for SOMA v2.4 </li></ul><ul><ul><li> </li></ul></ul><ul><li>Modeling Service-Oriented Solutions </li></ul><ul><ul><li> </li></ul></ul><ul><li>Realizing service-oriented solutions with the IBM Rational Software Development Platform </li></ul><ul><ul><li> </li></ul></ul><ul><li>Modeling Web Services, Part 1: XML Schema </li></ul><ul><ul><li> </li></ul></ul><ul><li>Modeling Web Services, Part 2: Modeling and generating WSDL </li></ul><ul><ul><li> </li></ul></ul>
  15. 15. Thanks <ul><li>Simon K. Johnston ( [email_address] ) </li></ul><ul><li>Dr. Alan W. Brown ( [email_address] ) </li></ul>