150 likes | 299 Views
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. SOA Development.
E N D
A Model-Driven Development Approach to CreatingService-Oriented Solutions Simon K. Johnston and Dr. Alan W. Brown IBM Rational Software 4th International Conference on Service Oriented Computing Chicago, December 7th 2006
SOA Development • Many organizations want to adopt SOA for new development as well as legacy transformation • But SOA has many new concerns, so how to ensure good design and implementation? • Gartner and CBDi state poor design as major inhibitors to SOA success • Organizations need a way to capture and reuse knowledge and enable all developers • Tools and process need to enable repeatable service implementations • We present MDD as a key approach to the development of SOA Solutions, MDD is typified by: • UML Profiles that capture domain-specific models/views • Patterns that provide model, domain and technology specific automation for model construction • Transformations that allow for the automation of mapping between models, and between models and code
What it is A way to model the key elements of an SOA style A model that supports lifecycle activities such as identification, specification and implementation A model that is abstract of the technology used to implement the described services A practical, simple but effective vocabulary over UML 2.0 What it is not The model is not a 1:1 representation of WSDL The model is not tightly bound to a given development process Though included in the Rational Unified Process The model is not an end-to-end redefinition of UML or an alternative metamodel UML Profile for Software Services
Modeling Profile – Conceptual model Represents either logical or physical Software component that provides services, location information stored here Connects “strict” Partitions Not just an interface, but contains the protocol and possibly policy details Provides the connection between services. This is where the binding information is specified.
Modeling Profile – Usage Model Software Architect EnterpriseArchitect Developer Security Architect IntegrationSpecialist Data Architect
Modeling Profile Details Italics Denote optional stereotype
Step 1 – identify services Step 2 – specify services Step 3 – specify service providers Step 4 – describe service topology Step 5 – transform to realization
RUP for SOMA • Tools and models are of little use without a process that puts them in some context • IBM Rational Unified Process has been extended over time with SOA content • Including the service model described here • Focus is on Architecture, Analysis and Design • This month IBM published a merged RUP and SOMA (IBM Global Services SOA Design method) • The process covers Identification, Specification and Realization phases including techniques, guidelines and artifact templates
IBM’s own IT organization is using the RUP SOMA guidance, including service modeling IBM Research are using the profile in a number of projects IBM teams implementing industry frameworks and solutions are also using the profile IBM has presented the profile to OMG for their consideration as a model for SOA design The profile is included in our modeling products A number of customers are now developing models using the profile Through direct interest in our published material Through adoption of the RUP and SOA content Through engagements with either Rational Services or Global Business Services The model has also been used as the basis for extended profiles in industry domains The model is referenced in the CBDi metamodel for SOA Role of the Service Model
Generation of Web Services • The paper describes two transformations; • Model-to-model, transforming an analysis model into the service model • Model-to-code, generating web service artifacts from a service model • Currently IBM products have the ability to generate both XML Schema and WSDL from such models using IBM Rational Software Architect • We have written articles on the generation capability, though the recently announced V7 product line enhances the existing capabilities • Current generation does not target WSDL 2.0, also product teams have a documented mapping to SCA
Research Directions • Rational Tools and Methods are available for trial download, through Passport Advantage and the IBM Academic Initiative • We are interested in extending the SOA Profiles we already support in the areas of: • Policy modeling (we have published some work on security) • Service patterns for both technology and industry specific domains • Additional transformation targets (other than BPEL, SCA, WSDL, XSD) • Research can be in the context of collaboration with IBM Rational or IBM Research
References and Links • UML 2.0 Profile for Software Services • ftp://ftp.omg.org/pub/docs/soa/06-04-02.pdf • http://www.ibm.com/developerworks/rational/library/05/419_soa • UML Profile for Software Services, RSA Plug-In • http://www.ibm.com/developerworks/rational/library/05/510_svc • RUP for SOMA v2.4 • http://www.ibm.com/developerworks/rational/downloads/06/rmc_soma/ • Modeling Service-Oriented Solutions • http://www.ibm.com/developerworks/rational/library/jul05/johnston/index.html • Realizing service-oriented solutions with the IBM Rational Software Development Platform • http://www.research.ibm.com/journal/sj/444/brown.html • Modeling Web Services, Part 1: XML Schema • http://www.ibm.com/developerworks/rational/library/05/1129_johnston/ • Modeling Web Services, Part 2: Modeling and generating WSDL • http://www.ibm.com/developerworks/rational/library/06/0411_johnston/
Thanks • Simon K. Johnston (skjohn@us.ibm.com) • Dr. Alan W. Brown (awbrown@us.ibm.com)