® ibm software group © 2004 ibm corporation developing an soa with rup and uml 2.0 giles davies
TRANSCRIPT
®
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
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
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
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?
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
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
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
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
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
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
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
IBM Software Group | Rational software
13
Demo
IBM Software Group | Rational software
14
UML Profile for Software Services
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
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
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
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
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)
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
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
IBM Software Group | Rational software
22
Demo
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)
IBM Software Group | Rational software
24
Demo
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?
IBM Software Group | Rational software
26
Resources
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/
IBM Software Group | Rational software
28
Questions