A Model-Driven Development Approach to Creating Service-Oriented by rt3463df


									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 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
   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
UML Profile for Software Services
   What it is                             What it is not
       A way to model the key                 The model is not a 1:1
        elements of an SOA style                representation of WSDL
       A model that supports                  The model is not tightly
        lifecycle activities such as            bound to a given
        identification, specification           development process
        and implementation                          Though included in the
       A model that is abstract of                  Rational Unified
        the technology used to                       Process
        implement the described                The model is not an end-
        services                                to-end redefinition of
       A practical, simple but                 UML or an alternative
        effective vocabulary over               metamodel
        UML 2.0
                Modeling Profile – Conceptual
                model                       Represents either logical
                                                  or physical

                                            Software component that
                                               provides services,
       Connects “strict”                      location information
          Partitions                              stored here

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

Security                                Specialist

                Data Architect
                         Modeling Profile Details
                Name                    Metaclass                         Comments
    Message                          Class              Has property for “encoding” such as SOAP or RPC
                                                        – this is by convention, no fixed value spaces

    Message Attachment               Property           Denotes some message content that is attached

    Service                          Port               Denotes a specification/binding pairing

    Service Channel                  Connector          A connection between services, denotes
    Service                          Collaboration      The behavior of a set of cooperating services
    Service Consumer                 Classifier         Any consumer of a service

    Service Gateway                  Port               Provides type-safe connection between
    Service Partition                Node               The logical, or physical, grouping of one or more
    Service Provider                 Class              The provider of one or more services
    Service Specification            Class, Interface   The specification of operations and associated
                                                        messages defining a service

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
   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
Role of the Service Model
   IBM’s own IT organization       A number of customers
    is using the RUP SOMA            are now developing
    guidance, including              models using the profile
    service modeling                    Through direct interest in
   IBM Research are using               our published material
    the profile in a number of          Through adoption of the
    projects                             RUP and SOA content
   IBM teams implementing              Through engagements
    industry frameworks and              with either Rational
                                         Services or Global
    solutions are also using             Business Services
    the profile
                                    The model has also been
   IBM has presented the            used as the basis for
    profile to OMG for their         extended profiles in
    consideration as a model         industry domains
    for SOA design
                                    The model is referenced
   The profile is included in       in the CBDi metamodel
    our modeling products            for SOA
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
       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
       http://www.ibm.com/developerworks/rational/library/06/0411_johnston/
   Simon K. Johnston (skjohn@us.ibm.com)
   Dr. Alan W. Brown (awbrown@us.ibm.com)

To top