®
© 2004 IBM Corporation
A Software Development Platform for SOA
Peter Eeles
Executive IT ArchitectRational Brand Architect for UK, Ireland and South Africa
IBM Software Group
2
Agenda
� Introduction
� SOA Development Process
� SOA Development Tools
� Technical Direction
� Summary
IBM Software Group
3
SoftwareDevelopment
SOA Provides a Unified Environment
Packaged Apps
LegacySystems INTEGRATED
New Development
INTEGRATED INTEGRATED
Automate& Integrate Drive
Business Processes
Services
IBM Software Group
4
Agenda
� Introduction
� SOA Development Process
� SOA Development Tools
� Technical Direction
� Summary
IBM Software Group
5
SOA Development in Context
IBM Software Group
6
A Software Development Platform for SOA
Software Development PlatformSoftware Development Platform
Middleware PlatformMiddleware Platform
Workflow EngineWorkflow Engine
Enterprise Application Server + Enterprise Service BusEnterprise Application Server + Enterprise Service Bus
Workflow OrchestrationWorkflow Orchestration
Business ModelingBusiness Modeling
ServiceServiceServiceServiceServiceService
System ModelingSystem Modeling
CodingCoding
IBM Software Group
7
Process Offerings
� Commercially-available products
�Rational Unified Process
�RUP plugins available today
� RUP for SOA
� RUP for WebSphere Business Modeler
� RUP for Asset-Based Development
� RUP for Systems Engineering
� IBM Global Services (IGS) offerings
�Component Business Modeling
�Service-Oriented Modeling and Architecture (SOMA)
IBM Software Group
8
The RUP “Hump Chart”
IBM Software Group
9
Applying RUP an Enterprise Level
� Enterprise architecting
�Defining an architecture that underpins a number of systems
� Strategic reuse
�Developing reusable assets that are used within a number of systems
� Systems engineering
�Developing a system that contains elements of hardware, software, workers and data
� Enterprise Application Integration
�Developing a solution that includes the integration of a number of legacy systems
� Packaged application development
�Developing a solution that includes the configuration of a packaged application, such as an
ERP or CRM solution
� Outsourced development
�Defining an architecture that lends itself to the outsourced development of its constituent
parts, whilst ensuring the quality and integrity of these parts
� And … SOA!
IBM Software Group
10
Applying RUP an Enterprise Level
Enterprise
Programme
Project
IBM Software Group
11
Programme / Project Governance
� Programme concerns
�Alignment of projects within the programme
� Alignment of project management artifacts
�Programme / project vision
�Programme / project plans (schedules, budgets, signoff points, funding, releases)
� Alignment of project management processes
�Scope (requirements) management
�Change management
�Test management
�Risk and issues management
�Quality management
�Measurement / metrics gathering
�Programme / project management reviews
�Configuration management
�etc.
IBM Software Group
12
Architectural Governance
� Architectural concerns
�Alignment of subsystems within the overall “enterprise” architecture
� Alignment of architectural artifacts
�Requirements model
�Design model
� Implementation model
�Data model
�Software architecture
�Standards and guidelines
� Infrastructure definition
� Alignment of architectural processes
� Identification / refinement of interfaces
� Identification / refinement of architectural components
� Identification / refinement of architectural component properties (cost, performance)
�Architecture reviews
�… and alignment of the software development process in general
IBM Software Group
13
RUP for SOA
IBM Software Group
14
UML 2.0 Profile for Service Specification
IBM Software Group
15
Agenda
� Introduction
� SOA Development Process
� SOA Development Tools
� Technical Direction
� Summary
IBM Software Group
16
A Software Development Platform for SOA
Software Development PlatformSoftware Development Platform
Middleware PlatformMiddleware Platform
Workflow EngineWorkflow Engine
Enterprise Application Server + Enterprise Service BusEnterprise Application Server + Enterprise Service Bus
Workflow OrchestrationWorkflow Orchestration
Business ModelingBusiness Modeling
ServiceServiceServiceServiceServiceService
System ModelingSystem Modeling
CodingCoding
RequisitePro
Rational
Software
Architect
WebSphere
Integration Developer
WebSphere
Business Modeler
Rational
Functional Tester
Test Manager
WebSphere
Application Server
WebSphere Process Server
ClearQuest
ClearCase
Rational Unified
Process
Component
Business Modeling
WebSphere
Enterprise
Service Bus
Rational
Performance Tester
IBM Software Group
17
Agenda
� Introduction
� SOA Development Process
� SOA Development Tools
� Technical Direction
� Summary
IBM Software Group
18
Eclipse – On the Desktop
IBM Software Group
19
Eclipse – Under the Covers
Eclipse CoreEclipse Core
GEFGEF JDT/CDTJDT/CDT Team Team
HyadesHyades
CM, Merge, TraceabilityCM, Merge, Traceability……..
Model Services (UML2 ext, other MetaModel Services (UML2 ext, other Meta--Models, Code Gen APIs, Models, Code Gen APIs, ……))
EMFEMF
Common Service Common Service (Reporting, etc(Reporting, etc……))
Language Tooling Language Tooling (J2EE, Web Services, (J2EE, Web Services,
Deployment)Deployment)
Diagrams & Diagrams &
VisualizationVisualization
ContentContent(Pattern (Pattern
Templates)Templates)
MDD CoreMDD Core(Code Generation, (Code Generation,
Pattern Engine)Pattern Engine)
J2EE, WS* UML2 ModelsJ2EE, WS* UML2 Models
Open SourceOpen Source IBM ValueIBM Value--AddAdd
Team Unifying Platform (WebSphere Portal, WAS, DB2, Lotus CollabTeam Unifying Platform (WebSphere Portal, WAS, DB2, Lotus Collaboration)oration)
IBM Software Group
20
Model-Driven Architecture (MDA)
Code
CIM >> PIM
Transformation
PIM >> PSM
Transformation
PSM >> Code
Transformation
Computation Independent Model(CIM)
Business Analyst
Platform Independent Model(PIM)
Architect / Designer
Platform SpecificModel(PSM)
Developer / Tester
IBM Software Group
21
Reusable Asset Specification (RAS)
� Reusable Asset Specification (RAS)
�Describes the structure and nature of assets
� Each asset is described in terms of
– Classification
– Solution
– Usage
– Related Assets
�The packaging of assets
�An interface to a RAS Repository Service
AssetClassification
Descriptors: Name/Value pairs
ContextDomain, Development, Test,
Deployment, and so on…
UsageUsage Instructions & ActivitiesFilling Variability Points
Related AssetsAssociation, Aggregation,
Dependency, Parent
Solution
Artifacts
Requirements
Models, Code, Tests
…Documents
Asset Overview
Name Desc Version State Profile
IBM Software Group
22
Case Study: Volvo IT – MDA Framework
Design Model
Domain Model
Implementation Model
Requirements
synchronize
Platform-specific Model
Platform-independent ModelModel
templates
Patterns
Patternstransform
extend
Patternsintegrate
validate
Code & TestBusiness
logic
RAS
Repository
Service
Reusable asset
(.ras file)
Reusable asset
(.ras file)
Reusable asset
(.ras file)
Reusable asset
(.ras file)
IBM Software Group
23
Example: Service Integration Framework
� A combination of tools and services assets hosted in
RSA
�CBM and process decomposition
�WebSphere Business Modeler integration
�RSA / RSM Architecture Description Standard (ADS) Profile
�RSA / RSM profiles for scenario based solutions
�RUP SOA plug-in
�RSA/ RSM profiles for product and product assemblies
�Patterns library
�RAS based asset storage and retrieval via a portal
�RPM based project instantiation from scenario templates
�Deployment and systems management of solution topologies
�Tivoli deployment and monitoring
IBM Software Group
24