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