IBM Rational Software Masterclass How to develop Services...
Transcript of IBM Rational Software Masterclass How to develop Services...
© 2009 IBM Corporation
IBM Rational Software Masterclass
How to develop Services in-the-cloud using SoaML, week 2
Richard BakkerCTPJanuary 11th, 2011
IBM Software Group | Rational software
© 2009 IBM Corporation
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)
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
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 .
IBM Software Group | Rational software
© 2009 IBM Corporation
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)
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML metamodel (2)
Metamodel has been developed by committee, so there are some dis-unities 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
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML metamodel (3)
As of Beta 1 specification of April 1, 2009, with additions/changes from Ballots 2 and 3
Integration with OMG’s Business Motivation Modeling profile
Behavioral Contracts
Removed; redundant with ServicesArchitecture
Added in Ballot 2 to support contract-centric service specification – to be applied to elements that are the types of ServiceContract roles
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML metamodel (4)
As of Beta 1 specification of April 1, 2009, with additions/changes from Ballots 2 and 3
Services
Changed to “Request” in Ballot 3
Changed to “Service” in Ballot 3
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML metamodel (5)
As of Beta 1 specification of April 1, 2009, with additions/changes from Ballots 2 and 3
Service Data Milestones
Capabilities
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML metamodel (6)
As of Beta 1 specification of April 1, 2009, with additions/changes from Ballots 2 and 3
Classification
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
RSA 7.5.4 support for service solution design and development jump start (1)
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 well-
described process
This list doesn’t include the development tools in RAD – only the MDD tools that are unique to RSA
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
RSA 7.5.4 BPMN2 Support
Process Model Elements in Project Explorer
Process Diagram and Drawing Palette
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML Element Creation Tooling Examples (1)
Service Palette
“Add Service Modeling” Context Menu
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML Element Creation Tooling Examples (2)
Project Explorer Context Menu
IBM Software Group | Rational software
© 2009 IBM Corporation
SoaML Design Model Template
Significant aid for model creation and organization
Pre-built package structuresPerspective
packages for cross-cutting concerns
Building block library
Substantial built-in model creation advice
Call-outs to detailed advice on other free form diagrams
IBM Software Group | Rational software
© 2009 IBM Corporation
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
IBM Software Group | Rational software
© 2009 IBM Corporation
© Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational 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 factors, 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.
Learn more at:IBM Rational softwareRational launch announcementsRational Software Delivery Platform
Jazz.net Accelerate change & deliveryDeliver enduring quality
Targeted solutionsRational trial downloadsdeveloperWorks RationalIBM Rational TVIBM Business PartnersIBM Rational Case Studies
Enable enterprise modernizationEnsure Web security & complianceImprove project successManage architectureManage evolving requirementsSmall & midsized business