A Software Development Platform for SOA
Peter Eeles
Executive IT Architect
Rational Brand Architect for UK, Ireland and South Africa
peter.eeles@uk.ibm.com
Agenda
Introduction
SOA Development Process
SOA Development Tools
Technical Direction
Summary
Software Development
SOA Provides a Unified Environment
Packaged Apps
Legacy
Systems
INTEGRATEDNew Development
INTEGRATED IN
TEGR ATED Automate
& Integrate Drive
Business Processes
Services
Agenda
Introduction
SOA Development Process
SOA Development Tools
Technical Direction
Summary
SOA Development in Context
A Software Development Platform for SOA
Software Development Platform Software Development Platform
Middleware Platform Middleware Platform
Workflow Engine Workflow Engine
Enterprise Application Server + Enterprise Service Bus Enterprise Application Server + Enterprise Service Bus Workflow Orchestration
Workflow Orchestration
Business Modeling Business Modeling
Service Service Service Service Service Service
System Modeling System Modeling
Coding Coding
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)
The RUP “Hump Chart”
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!
Applying RUP an Enterprise Level
Enterprise
Programme
Project
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.
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
RUP for SOA
UML 2.0 Profile for Service Specification
Agenda
Introduction
SOA Development Process
SOA Development Tools
Technical Direction
Summary
A Software Development Platform for SOA
Software Development Platform Software Development Platform
Middleware Platform Middleware Platform
Workflow Engine Workflow Engine
Enterprise Application Server + Enterprise Service Bus Enterprise Application Server + Enterprise Service Bus Workflow Orchestration
Workflow Orchestration
Business Modeling Business Modeling
Service Service Service Service Service Service
System Modeling System Modeling
Coding Coding
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 Rational Performance Tester
Agenda
Introduction
SOA Development Process
SOA Development Tools
Technical Direction
Summary
Eclipse – On the Desktop
Eclipse – Under the Covers
Eclipse Core Eclipse Core
GEF GEF JDT/CDT JDT/CDT Team Team Hyades Hyades
CM, Merge, Traceability CM, Merge, Traceability … … . .
Model Services (UML2 ext, other Meta
Model Services (UML2 ext, other Meta- - Models, Code Gen APIs, … Models, Code Gen APIs, …) )
EMF EMF
Common Service
Common Service (Reporting, etc(Reporting, etc…)…)
Language Tooling Language Tooling
(J2EE, Web Services, (J2EE, Web Services,
Deployment) Deployment)
Diagrams &
Diagrams &
Visualization Visualization
Content Content
(Pattern (Pattern Templates) Templates)
MDD Core MDD Core
(Code Generation, (Code Generation,
Pattern Engine) Pattern Engine)
J2EE, WS* UML2 Models J2EE, WS* UML2 Models
Open Source
Open Source IBM Value- IBM Value - Add Add
Team Unifying Platform (WebSphere Portal, WAS, DB2, Lotus Collab
Team Unifying Platform (WebSphere Portal, WAS, DB2, Lotus Collaboration) oration)
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 Specific Model (PSM)
Developer / Tester
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
Asset
Classification
Descriptors: Name/Value pairs Context
Domain, Development, Test, Deployment, and so on…
Usage
Usage Instructions & Activities Filling Variability Points
Related Assets
Association, Aggregation, Dependency, Parent
Solution
Artifacts
Requirements Models, Code, Tests Documents…
Asset Overview
Name Desc Version State Profile
Case Study: Volvo IT – MDA Framework
Design Model Domain Model
Implementation Model
Requirements
synchronize
Platform-specific Model Platform-independent Model
Model templates Patterns
Patterns transform extend
Patterns integrate validate
Code & Test
Business logic
RAS Repository
Service
Reusable asset (.ras file) Reusable asset
(.ras file) Reusable asset
(.ras file) Reusable asset
(.ras file)