ibm rational software masterclass how to develop services...

26
© 2009 IBM Corporation IBM Rational Software Masterclass How to develop Services in-the-cloud using SoaML, week 2 Richard Bakker CTP January 11 th , 2011

Upload: lamdat

Post on 16-Oct-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

© 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

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