Title: A ModelDriven Development Approach to Creating ServiceOriented Solutions
1A 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
2SOA 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
3UML Profile for Software Services
- 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 11 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
4SOA Elements Overview
Message
Service
Order ServiceProvider
Policy
5Modeling 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.
6Modeling Profile Usage Model
Software Architect
EnterpriseArchitect
Developer
IntegrationSpecialist
Security Architect
Data Architect
7Modeling Profile Details
Italics Denote optional stereotype
8Step 1 identify services
Step 2 specify services
Step 3 specify service providers
Step 4 describe service topology
Step 5 transform to realization
9RUP 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
10RUP for SOMA
11Role of the Service Model
- IBMs 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
12Generation 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
13Research 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
14References 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/downloa
ds/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.h
tml - 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/
15Thanks
- Simon K. Johnston (skjohn_at_us.ibm.com)
- Dr. Alan W. Brown (awbrown_at_us.ibm.com)