IBM Rational Software Masterclass How to develop Services in

IBM Rational Software Masterclass
How to develop Services in-the-cloud
using SoaML, week 2
Richard Bakker
CTP
January 11th, 2011
© 2009 IBM Corporation
IBM Software Group | Rational software
Schedule
•week 1: Tuesday January 4, 2011 (room S648), 9:00-12:45, (guest lecturer: Richard Bakker,
IBM)
Tooling, Teaming & Installation. Presentation and demonstration on Rational Software
Architect and the Rational Team Concert environment. Distribution & installation of the
tools. Home work: perform the supplied tutorial; read the developerWorks articles.
•week 2: Tuesday January 11, 2011 (room S648), 9:00-12:45, (guest lecturer: Richard
Bakker, IBM)
Modeling with RSA and the SoaML extension. Working session with the teams and scope
team project, select a development process to follow. Working session where students
start modeling their solution.
•week 3: Tuesday January 18, 2011 (room P656), 9:00-12:45, (guest lecturer: Richard
Bakker, IBM)
Transforming each team’s SoaML model into an implementation. Describe the
requirements the transformation puts on the input model, elaborate the generated
implementation into a working system. After this session, the students should start with
their models and RSA and transform this into an implementation, which they test and
improve for the next two weeks.
•week 4: Tuesday January 25, 2011 (room C648), 9:00-12:45, (guest lecturer: Ton van
Velzen, IBM)
Introduction to the engineering of a cloud-environment; which requirements are unique to
a cloud solution and which specific software was selected to make this cloud feasible.
The case described will be the cloud that the students are utilizing.
•week 5: Tuesday February 1, 2011 (room S640), 9:00-12:45 (IBM and VU)
© 2009 IBM Corporation
IBM Software Group | Rational software
Self-study materials week 1 – Questions?
 Rational Software Architect tutorials:
– Getting started: Modeling in the Eclipse workbench
– RSA Self-paced training
– Concurrently develop UML models and Java code using transformations
 Rational Team Concert tutorials:
– Gettings started with Rational Team Concert (from step 3 on)
– Exploring the Rational Team Concert JUnit example project
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML is…
 An Object Management Group emerging standard for describing
systems using service-oriented concepts
 Not yet finalized – expected to be up for vote at the OMG’s December
meeting
 Supported by many of the leading consulting and tool vending
organizations
– Adaptive, Ltd., Capgemini, EDS, Fujitsu, Fundacion European Software Institute, H-P,
IBM, MEGA International, Model Driven Solutions, Rhysome, and Softeam are the
submitters
– There also are 15 “supporters”
– IBM probably has contributed most heavily to the specification – thank you, Jim
Amsden – our representative to the SoaML specification committee
 Being adopted by the OMG’s UPDM committee as their standard for
services modeling
© 2009 IBM Corporation
IBM Software Group | Rational software
Sample SoaML noise
 I have been receiving customer inquiries for over a year – “Does RSA
support SoaML”?
– It’s nice that we can now say “yes”!
 SoaML site with statements of tool vendor support:
– http://www.omgwiki.org/SoaML/doku.php
– IBM leads the pack, naturally .
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML implementations
 SoaML is specified in two ways:
– UML profile
– SoaML metamodel
 We implement SoaML in Rational Software Architect as a UML-based
domain-specific language (DSL)
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML metamodel (1)
 The SoaML specification team has worked diligently to create as small a
metamodel as they could
 Wherever possible, metamodel elements have been defined to be able
to address multiple concepts
 Examples of the above:
– “Participant” is unifying concept for service provider component and service consumer
component
– ServicesArchitecture is a concept for describing both:
• Collaborations of participants to achieve a purpose, such as realize a business process
• Collaborations of service participants and non-service components to realize the
implementation of service operations
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML metamodel (2)
 Metamodel has been developed by committee, so there are some disunities and redundancies
– For example, meta-model supports both interface-centric and contract-centric styles of
service specification
– So, two ways to describe protocol contracts which govern how consumers and
providers of a given service must interact
• ServiceContract metamodel element – stereotyped UML Collaboration
 Main element used in contract-centric service specification
• OwnedBehavior of a ServiceInterface
 Subsidiary construct in interface-centric specification
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML metamodel (3)
 As of Beta 1 specification of April 1, 2009, with additions/changes from
Ballots 2 and 3
Removed; redundant with
ServicesArchitecture
Integration with OMG’s Business
Motivation Modeling profile
Behavioral Contracts
Added in Ballot 2 to support contract-centric
service specification – to be applied to
elements that are the types of ServiceContract
roles
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML metamodel (4)
 As of Beta 1 specification of April 1, 2009, with additions/changes from
Ballots 2 and 3
Changed to
“Request” in
Ballot 3
Changed to
“Service” in
Ballot 3
Services
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML metamodel (5)
 As of Beta 1 specification of April 1, 2009, with additions/changes from
Ballots 2 and 3
Service Data
Milestones
Capabilities
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML metamodel (6)
 As of Beta 1 specification of April 1, 2009, with additions/changes from
Ballots 2 and 3
Classification
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML metamodel (7)
 Rational Software Architect, SoaML profile supports the Beta 1
metamodel, plus the Consumer and Provider stereotypes from Ballot 2
 Rational SOMA 2.9’s content addresses the Services, Behavioral
Contracts, Service Data, and Capabilities portions of the Beta 1
metamodel
 Both RSA and Rational SOMA are interface-centric in their approach to
service specification.
– Because of this, Rational SOMA’s non-discussion of the Consumer and Provider stereotypes,
which are used in contract-centric service specification, is not critical
© 2009 IBM Corporation
IBM Software Group | Rational software
Key SoaML abstractions
 In our approach to service solution specification, the following SoaML
elements see heavy use
– Capability: used to represent candidate services
– Expose: documents which ServiceInterfaces expose which Capabilities
– ServiceInterface: central element for specifying service
– Participant: defines components that provision services
– ServicePoint: defines an interaction point by which a Participant offers a service
– RequestPoint: defines an interaction point by which a Participant requests a service
– ServiceContract: documents the protocol that generic providers and consumers must
use when interacting around a service
– ServicesArchitecture: documents the contract that governs how multiple Participants
work together by providing and using services expressed a service contracts
© 2009 IBM Corporation
IBM Software Group | Rational software
Sample Usage Patterns
 ServiceInterfaces exposing Capabilities
– See Example: Capability in Rational SOMA 2.9
 ServiceInterface specification
– See Example: ServiceInterface in Rational SOMA 2.9
 Participant specification
– See Example: Participant in Rational SOMA 2.9
 ServiceContract definition
– See Example: ServiceContract in Rational SOMA 2.9
 ServicesArchitecture description
– See Example: ServicesArchitecture in Rational SOMA 2.9
– See Concept: Service Composition and Choreography in Rational SOMA 2.9
 Most of the above examples are extracted from the Sample Service
Design model that is provided in RSA and in Rational SOMA 2.9
© 2009 IBM Corporation
IBM Software Group | Rational software
RSA 7.5.4 support for service solution design and development
jump start (1)
This list doesn’t include the development tools in RAD – only the MDD tools
that are unique to RSA
 SoaML profile
 Tooling to create SoaML model elements
– Diagram tooling – action bars and diagram palette
– Context menu tooling – in diagrams and in Project Explorer
– “Service” tab on Property View for model elements
 BPMN tooling
– To build business process models – inputs to service identification and specification
– Context menus to create service model elements from business process elements
 Service Design Model template
– Structured model to help users build well-organized service models using a welldescribed process
© 2009 IBM Corporation
IBM Software Group | Rational software
RSA 7.5.4 support for service solution design and development (2)
 Transforms
– Create service model content from other assets
• Java to service model
• Session bean to service model
• BPMN to service model
• Business process (WBM import) to service model
• XSD to UML – to support the service data model
© 2009 IBM Corporation
IBM Software Group | Rational software
RSA 7.5.4 support for service solution design and development (3)
 Transforms
– Create service artifacts from service model
• UML to XSD
• UML to WSDL (and XSD)
• UML to SOA
 XSD, WSDL, BPEL, SCDL components
 Content created in WID-consumable Eclipse projects
• UML to SCA
 XSD, WSDL
 SCA composites specifications
 Service-aware Java code for interfaces
 Java code for skeleton component implementations
 Content created in SCA Eclipse project consumable by RAD’s SCA tooling
© 2009 IBM Corporation
IBM Software Group | Rational software
RSA 7.5.4 BPMN2 Support
Process Diagram and Drawing Palette
Process Model Elements in Project Explorer
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML Element Creation Tooling
 Create service elements in many ways, including:
– Drawing palette (Class, Component, Free Form, Structure diagrams)
– Diagram action bar
– Context menus on model elements
• Elements in diagrams
• Elements in Project Explorer
 Including, create SoaML elements from BPMN2 elements
– New “Service” tab on Properties View
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML Element Creation Tooling Examples (1)
Service Palette
“Add Service Modeling”
Context Menu
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML Element Creation Tooling Examples (2)
Project Explorer
Context Menu
© 2009 IBM Corporation
IBM Software Group | Rational software
SoaML Design Model Template
 Significant aid for model creation and organization
Perspective
packages for crosscutting concerns
Pre-built package
structures
Building block library
Substantial built-in model
creation advice
Call-outs to detailed
advice on other free form
diagrams
© 2009 IBM Corporation
IBM Software Group | Rational software
Sample UML-to-SCA Output (1)
Service-aware
implementations for
interfaces
SCA component specs
(and skeleton
implementations,
depending upon modeling
details)
Supporting XSDs and
WSDLs
© 2009 IBM Corporation
IBM Software Group | Rational software
© 2009 IBM Corporation
IBM Software Group | Rational software
Learn more at:
IBM Rational software
Rational launch announcements
Rational Software Delivery
Platform
Jazz.net
Accelerate change & delivery
Deliver enduring quality
Enable enterprise modernization
Ensure Web security & compliance
Improve project success
Manage architecture
Manage evolving requirements
Small & midsized business
Targeted solutions
Rational trial downloads
developerWorks Rational
IBM Rational TV
IBM Business Partners
IBM Rational Case
Studies
© Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for inf ormational purposes only, and is provided AS IS w ithout w arranty of
any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherw ise related to, these materials. Nothing contained in these materials is intended to, nor
shall have the effect of, creating any w arranties or representations f rom IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use
of IBM softw are. References in these materials to IBM products, programs, or services do not imply that they w ill be available in all countries in w hich IBM operates. Product release dates and/or
capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other f actors, and are not intended to be a commitment to future product
or feature availability in any w ay. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business
Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
© 2009 IBM Corporation