® ibm software group © 2004 ibm corporation developing an soa with rup and uml 2.0 giles davies

29
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

Upload: jean-perry

Post on 20-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

®

IBM Software Group

© 2004 IBM Corporation

Developing an SOA with RUP and UML 2.0

Giles Davies

Page 2: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

2

Agenda

What is SOA? (Very quickly!)

What are the challenges in modelling an SOA?

Solution: Goals

Solution: RUP for SOA

Demo

Solution: UML Profile for Software Services

Demo

Example IBM Software Development Platform SOA Toolset

Review

Page 3: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

3

… a service?

A repeatable business task – e.g., check customer credit;

open new account

What is …..?

… service orientation?

A way of integrating your business as linked

servicesand the outcomes that

they bring

… service oriented architecture (SOA)?

An IT architectural style that supports service orientation

… a composite application?

A set of related & integrated services that

support a business process built on an SOA

Page 4: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

4

Why is this different to similar claims in the past?

Broadly adopted Web services ensure well-defined interfaces.

Before, proprietary standards limited interoperability

Standards

Business and IT are united behind SOA (63% of projects today are driven by LOB)*

Before, communication channels & ‘vocabulary’ not in place

Organizational Commitment

SOA services focus on business-level activities & interactions

Before, focus was on narrow, technical sub-tasks

Degree of Focus

SOA services are linked dynamically and flexibly

Before, service interactions were hard-coded and dependent on the application

Connections

SOA services can be extensively re-used to leverage existing IT assets

Before, any reuse was within silo’ed applications

Level of Reuse

*Source: Cutter Benchmark Survey

Page 5: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

5

What are the challenges in modelling an SOA

SOA is being increasingly adopted, but: How do you model a SOA?

What level of abstraction is suitable?

What modelling techniques should be used?

Are traditional OOAD techniques suitable?

Which tools should can/should be used?

Page 6: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

6

Solution: Goals Provide new method and model support for SOA

Consistency

Guidance

Model at a level of abstraction above implementation technologies Higher level than the various Web Services specifications

SOA concepts to be first-class elements

Model to be extensible

Provide deliverables: RUP for SOA plug-in

Model support Documented

Available within toolset

Page 7: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

7

Solution: RUP for SOA

A published and supported plug-in for RUP

Adds additional: Workflow details,

Activities,

Concepts,

Guidelines

Page 8: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

8

Key New Activities

Identify Services Performed by the Software Architect within the Analysis & Design and Refine

the Architecture workflows.

Output is the Service Model

Defines candidate services

Service Design Performed by the Designer within the Analysis & Design and Design

Services workflows.

Refines the Service Model

New viewpoints: Message, Service and Collaboration

Page 9: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

9

Key new concept: Service Portfolio

An application is a configuration of services

Meets business requirements

Projects no longer bound the development cycle

Discovery Draw from portfolio during

elaboration

Publishing: Contribute to portfolio

during construction

Page 10: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

10

Key new concept: Service Partitioning

Use UML 2 Composite Structure notation for partitions Remove the physical limitations of packages - ownership

Provide logical groupings of services

Permits services to contribute to multiple partitions

Page 11: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

11

Key new concept: Service Composition & Choreography

Service Choreography: Composite service based

applications

Service collaboration

BPEL

“Orchestration”

Services as Composite Structures May be recursively composed of

other services

Specifying Service Behaviour Guidance

Page 12: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

12

Key new concept: Message Design

Messages are more suitable than parameters in an SOA: Services are intended to have large

granularity

Services are loosely coupled

Services are often asynchronous

Provides an overview of: Message exchange patterns

Relationship between messages and domain models

Granularity

Performance

Page 13: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

13

Demo

Page 14: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

14

UML Profile for Software Services

Page 15: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

15

UML Profile for Software Service Stereotypes

UML 2.0 Meta class Stereotypes

Class Message, Service Partition, Service Provider

Classifier Service Consumer

Collaboration Service Collaboration

Connector Service Channel

Interface Service Specification

Port Service, Service Gateway

Property Message Attachment

Page 16: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

16

<<Service Provider>>

Extends Class

Provides one or more services

Has no attributes or operations

Contains <<Service>> elements

Property location specifies end-point location

e.g. http://services.abc.com

Page 17: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

17

<<Service>>

Extends Port

End-point for service interaction

Definition of interactions is part of <<Service Specification>>

Property for binding type

e.g. SOAP-HTTP, SOAP-JMS

Page 18: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

18

<<Service Specification>>

Extends Interface

<<Service Specification>> defines interactions that the <<Service>> provides

Provides one or more operations

May be more than one <<Service Specification>> for a <<Service>>

All operations are public (mandatory)

Each operation may consume no more than one <<Message>>

Each operation may produce no more than one message

Page 19: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

19

<<Message>>

Extends class

A container for actual data which has meaning to the service and the consumer

Has no operations

Property for encoding form (e.g.: SOAP-literal, SOAP-rpc, ASN.1)

Page 20: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

20

<<Service Partition>>

Extends class

Represents either a logical boundary

Tiers

Functionality Or a physical boundary

Geographical locations May have associated qualities and constraints

Has no attributes or operations

Contains either <<Service>> elements or nested <<Service Partition>> elements

Page 21: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

21

UML Profile for Software Services

Not just documentation

The profile is available to download

There is a plugin for IBM Rational Software Architect/Modeler that includes a Service Design Model template

Page 22: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

22

Demo

Page 23: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

23

IBM WebSphereIntegrationDeveloper

Using IBM Rational & WebSphere tools together in SOA

IBM RationalRequisite Pro

IBM WebSphere Business Modeler

Service PortfolioRAS

Repository

Requirementsand Use Cases

ExistingServices

BusinessProcess“As Is”“To Be”

IBM RationalSoftwareArchitect

IBM RationalApplicationDeveloper

IBM WebSphereProcess Server

IBM WebSpherePortal Server

UML

BPEL(model)

RAS

UML

UDDIServer

BPELToolkit

ComponentToolkits

ComponentToolkits

Service Design

Static and Dynamic Models

Use Cases

BPEL(deployable)

WSDL

.WAR

Publish and Reuse Components

IBM Rational ClearCase (Configuration Management) IBM Rational ClearQuest (Change Management)

BuildForge (Continuous Integration)

Page 24: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

24

Demo

Page 25: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

25

Review

Challenges: How do you model a SOA?

What level of abstraction is suitable?

What modelling techniques should be used?

Are traditional OOAD techniques suitable?

Which tools should can/should be used?

Page 26: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

26

Resources

Page 27: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

27

Resources

Modeling service-oriented solutions http://www-128.ibm.com/developerworks/rational/library/jul05/johnston/

UML 2.0 Profile for Software Services http://www-128.ibm.com/developerworks/rational/library/05/419_soa/

UML Profile for Software Services, RSA Plug-In http://www-128.ibm.com/developerworks/rational/library/05/510_svc/

RUP Plug-In for SOA V1.0 http://www-128.ibm.com/developerworks/rational/library/05/510_soaplug/

Page 28: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

28

Questions

Page 29: ® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies

IBM Software Group | Rational software

29

Giles Davies [email protected]

Thank You