dr. donald ferguson ibm fellow, swg chief architect chair, ibm software group architecture board

23
(C) IBM Corporation – June 2005 IBM Software Group ® Model Driven Architecture (MDA) meets Service Oriented Architecture (SOA) – Without Making a Loud Bang Dr. Donald Ferguson IBM Fellow, SWG Chief Architect Chair, IBM Software Group Architecture Board OMG TC Meeting Keynote

Upload: cain-flores

Post on 30-Dec-2015

24 views

Category:

Documents


2 download

DESCRIPTION

Model Driven Architecture (MDA) meets Service Oriented Architecture (SOA) – Without Making a Loud Bang. Dr. Donald Ferguson IBM Fellow, SWG Chief Architect Chair, IBM Software Group Architecture Board OMG TC Meeting Keynote. ∞. Disclaimer Chief Architect and Timeframe. IBM Fellow. - PowerPoint PPT Presentation

TRANSCRIPT

(C) IBM Corporation – June 2005

IBM Software Group

®

Model Driven Architecture (MDA) meets Service Oriented Architecture (SOA) – Without Making a Loud Bang

Dr. Donald FergusonIBM Fellow, SWG Chief ArchitectChair, IBM Software Group Architecture Board

OMG TC Meeting Keynote

IBM Software Group

2© IBM Corporation June 2005

DisclaimerChief Architect and Timeframe

20052005 DeveloperDeveloper20052005 ArchitectArchitect

20062006 Lead ArchitectLead Architect

20072007 Chief ArchitectChief Architect

∞∞

NostradamusNostradamus

St. John – Book of RevelationSt. John – Book of Revelation

IBM FellowIBM Fellow

……

……

IBM Software Group

3© IBM Corporation June 2005

E01-EDI

Data Warehouse(Interfaces to and from theData Warehouse are not

displayed on this diagram)

G02 - GeneralLedger

A05 - AP

S01 - SalesCorrections

I01 POReceiving

I03 Return toVendor

I06 WarehouseManagement

Maininframe

PC/NT apps Unix apps

3rd Party Interface

S06 - Credit App

P15 EES EmployeeChange Notice

OTHER APPS - PCAP - Collections/Credit

TM - Credit Card DB

ACCTS REC APPS - PC990CORBad Debt

Beneficial FeesBeneficial Reconcile

JEAXFJEBFAJEBKAJEDVAJESOAJEVSAJEVSFNSF

TeleCredit Fees

INVENTORY CONTROL APPS - PCCode Alarm

Debit ReceivingsDevo Sales

Display InventoryIn Home

JunkoutsMerchandise Withdrawal

Promo CreditsRTV Accrual

ShrinkAP Research - Inv CntrlAP Research-Addl Rpts

Book to Perpetual InventoryClose Out Reporting

Computer Intelligence DataCount Corrections

Cross Ref for VCB DnldsDamage Write OffDebit Receivings

DFI Vendor DatabaseDisplay Inventory ReconcileDisplay Inventory Reporting

INVENTORY CONTROL APPS - PCDPI/CPI

IC BatchingInventory Adj/Count CorrectInventory Control Reports

Inventory LevelsInventory Roll

Merchandise WithdrawalOpen ReceivingsPI Count Results

PI Time Results from InvPrice Protection

Sales Flash ReportingShrink Reporting

SKU Gross MarginSKU Shrink Level Detail

USMVCB Downloads

Journal Entry Tool Kit

Scorecard - HR

L02-ResourceScheduling

P09 - P17Cyborg

M02 - Millennium

M03 - Millennium 3.0

Banks - ACH and Pos toPay

Cobra

B01 - StockStatus

S03-Polling

P14 On-line NewHire Entry

CTS

Plan Administrators(401K, PCS, Life,Unicare, Solomon

Smith Barney)

D01 Post LoadBilling

I04 HomeDeliveries

I02 -Transfers

Arthur Planning

I07 PurchaseOrder

I12 EntertainmentSoftware

I05Inventory Info

E13E3 Interface

S04 - Sales Posting

V01-Price ManagementSystem

I10 Cycle PhysicalInventory

I55 SKUInformation

K02Customer Repair

Tracking I35 Early WarningSystem

B02 MerchandiseAnalysis

I13- AutoReplenishment

U18 - CTO

Intercept

I09 Cycle Counts

E02-EmployeePurchase

Texlon 3.5

ACH

Stock Options

I17 Customer PerceivedIn-Stock

U16-Texlon

SiteSeer

C02 - CapitalProjects

F06 - FixedAssets

US Bank ReconFile

Star Repair

EDICoordinator

Mesa Data

NEW SoundscanNPD Group

AIG Warranty Guard

Resumix

Optika

Store BudgetReporting

P16 - Tally Sheet

Cash Receipts/Credit

S05 - HouseCharges

Ad Expense

L01-PromoAnalysis

V02-PriceMarketingSupport

BMP - Busperformance Mngt

StoreScorecard

I11 PriceTesting

Valley Media

P09Bonus/HR

I15 Hand ScanApps

Roadshow

POS

S08 - VertexSalesTax

A04 - CustRefund Chks

Equifax

ICMS Credit

CellularRollover

S09 - DigitalSatelliteSystem

NPD,SoundScan

Sterling VANMailbox (Value)

I18SKU Rep

X92-X96Host to AS400

Communication

S02 -Layaways

Washington,RGIS,

Ntl Bus Systems

V04-SignSystem

I14 Count CorrectionsNARM

P01-EmployeeMasterfile

I06 - CustomerOrder

FrickCo

UAR - Universal AccountReconciliation

DepositoryBanks

S07 - CellPhones

S11 - ISPTracking

AAS

Fringe PO

Cash Over/Short

L60 MDFCoop

SKU SelectionTool

SKUPerformance

SupplierCompliance

1

I35 - CEI

ASIS

Misc Accounting/Finance Apps - PC/NTCOBA (Corp office Budget Assistant)

PCBS(Profit Center Budget System)Merchandising Budget

AIMSMerch Mngr Approval

Batch ForecastingAd Measurement

AIMS Admin

AIMSReportingAd

Launcher

V03- MktReactions

SpecSource

CTO2

RebateTransfer

SignSystem

CopyWriter'sWorkspace

ELTPowerSuite

StoreMonitor

AIS Calendar

Stores & Mrkts

Due Dates

Smart Plus

InsertionsOrders

BudgetAnalysis Tool

Print CostingInvoice App

AIS Reports

BroadcastFilter

Smart PlusLauncher

GeneralMaintenance

Printer PO

PrinterMaintenance

VendorMaintenance

Vendor Setup

Connect 3

Connect 3Reports

Connect 3PDF Transfer

Spec SourceSKU Tracking

S20-SalesPolling

Prodigy

PSP

In-HomeRepair

WarrantyBillingSystem

Process Servers(Imaging)

Actual Application Architecture for Retail Company

Complexity is Forcing Change

IBM Software Group

4© IBM Corporation June 2005

Outsourced

Supplier

Case Study: Procure to Pay Process

Shared Service

Division

Customer

Standards (including open source) for interoperability

Self-defined, loosely coupled interfaces

Tools to visualize and integrate existing assets

Model Driven Architecture (MDA)

Service Oriented Architecture (SOA)

Business Innovation & Optimization

But … Technology Applied Correctly can Pave the Way for successful Business Innovation

|Printed on 2005-4-18 5© Copyright IBM Corporation 2005

What’s this “Service Thing?”Message M1, M2, … …Op1, inMsg1, outMsg1, faultMsg1Op2, inMsg2, outMsg2, faultMsg2… … …

“Those lying IMS swine. Those arestored procedures.”

“You whipper snapper, we Invented that in IMS in 1923.”

“.NET. I like it.”

WSDLWSDL

Nein! Das ist eine IDOCNein! Das ist eine IDOC

“That’s mysimul.

package!”

“That’s mysimul.

package!”

IBM Software Group

6© IBM Corporation June 2005

What is Service-Oriented Architecture (SOA) ?

SOA is different things to different people:

• a set of services that a business wants to expose to their customers and partners, or other portions of the organization

• an architectural style which requires a service provider, requestor and a service description

• a set of architectural principles, patterns and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composability

• a programming model complete with standards, tools and technologies such as Web Services

• A set of standards

BusinessExecutive,Consultant

Architect

Developer

IBM Software Group

7© IBM Corporation June 2005

SOA Defining Concepts Universal Connectivity: Integrates most diverse environments, bridging protocols, languages, platforms, APIs and messaging paradigms – providing scale and scope of integration required by today’s extended enterprise

Service Orientation:

Facilitates loose coupling between

software components

Incremental Integration: Start small and plug in

capability to enrich your implementation as needs

dictate

Open, standards-based: Open APIs and protocols support the interoperability and substitution of middleware from multiple vendors

Event Orientation: Decouples applications that publish business

events from subscribing applications

Flexibility: A variety of options for

persistence, reliability, security,

availability...Deploy where

required, manage centrally

IBM Software Group

8© IBM Corporation June 2005

What’s Different about Web Services?Haven’t we heard this before?

• Structured programming and modules?

• Message Passing/Driven Systems?

• Remote Procedure Calls?

• OO Languages?

• CORBA, Distributed Smalltalk

• J2EE

This time we really mean it. No kidding.

If you can’t take a joke, you shouldn’t be using distributed systems.

There are some differences• Microsoft supports this model

• XML is more language and implementation agnostic.

• WSDL, WS-Interop include RPC and Messaging from day one;One is not added to the other.

• XML and WSDL is more forgiving of change in messages and evolution of interfaces.

• Common model for “services/impls,” “data in DB,” “data in flight.”

IBM Software Group

9© IBM Corporation June 2005

“Web Services, A Nascent Component Model”

Prolog

Types

Messages

Bindings

PolicyControl Descriptors

Deployment Descriptors

Operations

Port Types

JMS/MQHTTPIIOP… …

JMS/MQHTTPIIOP… …

Impl.

StubStub

RequiredInterfaces

ESB

Container

“Resources”

“Abstract Process”

IBM Software Group

10© IBM Corporation June 2005

Simplifying Development

This is crazy. Programmers want to build a “part” that implements a “basic

building block” and then aggregate them together

Daddy,Mommy gave me thesedocuments to convert.

Daddy,Mommy gave me thesedocuments to convert.

What type of EJBdo you want to build?What type of EJBdo you want to build?

Um. I do not want to buildan EJB. You see, Mommy gave me these …Um. I do not want to buildan EJB. You see, Mommy gave me these …

Maybe you didn’t understand the question.Your choices are SLSB, SFSB,CMP Entity, BMP Entity, MDB

Maybe you didn’t understand the question.Your choices are SLSB, SFSB,CMP Entity, BMP Entity, MDB

You’re not very nice.You’re not very nice.

IBM Software Group

11© IBM Corporation June 2005

Component Model – Examples of Types/Tools;Enables MDD/MDA through Types and Patterns

IBM Software Group

12© IBM Corporation June 2005

End-to-End Model

Enterprise Service Bus: Transform, Route, Notify, Augment, Side Effect

“Portal” Service

WorkflowBusiness Act.

B2B Interactions

EIS Adapter

“Script”POJOSSB

DistinguishedServices

DistinguishedServices

Information MgmtXML DB

Information MgmtXML DB

IBM Software Group

13© IBM Corporation June 2005

Life Cycle of an On Demand Business “Solution”

Inte

grat

ion

Infr

astr

uctu

re M

anag

emen

t

Acquire & Map toInfrastructure

Monitor & React

Define Model

Implement Model

Conceive & Modify

Business Idea

Focus on what’s core and

differentiating

UML Profile Emerging Standards

CBE WSDM

UML EMF XMI Domain Models

BPEL4WS OMG Rules WSDL, WS-Policy RAS J2EE

Ser

vice

Orie

nted

Arc

hite

ctur

e

Ope

n S

tand

ards

End

-to-

End

Too

ls S

uppo

rt

Service TypesAnd

Patterns

IBM Software Group

14© IBM Corporation June 2005

Modeling, Recipes, Patterns, Templates

Others

Editors

Process Editor

Information Editor

Models

Organization Editor

Reporting & Analisis

Simulation

…..

Resource Editor

Observation Editor

Other Models

Simulation

Observation

Policy

Services

Resources

Org.

Process

Transform

ations

Legacy

WBI ArtifactsBPEL

WCDL (Wired)

Adapter

Mediator

WDOs

FDL

XDE

WMM

LDAP

Other tools

MQWFBuildtime

WB

I Foundation T

ools

Specialized ReportingBL to IT MapsChanges affecting models‘Navigation’ to IT

Ω(X) m/nTransformation Function

Initiated by:Transformation Engine (automatic)User Interaction (drag/drop)Manual Mapping

EMFModels

Transformation Steps…Apply Transformation Logic(drag to Schema editor, BO Editor

or BPEL Editor)Compute and persist mappingRegister notification listener to

map.

EMFModels

ExecutedMaps

End-to-end tool flow; Replace Word and PPT for collaboration betweenbusiness professionals, IT programmers and systems admins.

Pattern Solution

Pattern A

Pattern B Pattern

C

Pattern D

Describes how to knit many patterns together, as a

recipe, to solve larger-grained problems

Describes a solution to a recurring problem

Solution Descriptions

Pattern A

Industry Solution Template: RFID Checkout

Service A

Asset

Param

Asset

ParamBldg Block

DAsset

Param

Bldg Block C

Asset

Param

Asset

Param

Component B

Asset

Param

Industry Solution Template: Payment

MessagesService A

Asset

Param

Asset

ParamBldg Block

DAsset

Param

Bldg Block C

Asset

Param

Asset

Param

Component B

Asset

Param

Solution Extensions

Implement pattern solutions using templates, where assets/artifacts

have parameters

Solution Template

Service A

Asset

Param

Asset

ParamBldg Block

DAsset

Param

Bldg Block C

Asset

Param

Asset

Param

Component B

Asset

Param

Solution Implementations There are no new apps. Mature platforms have the “old guy.” Rich body of written best practices Move from “read the book” to a tool Support industry sols.

IBM Software Group

15© IBM Corporation June 2005

Process Advisor: Integrated, context-sensitive guidance

Relevant topics from RUP are presented in

Process Advisor based on currently selected

model element

RUP search integrated with eclipse search

Select a topic and detailed guidance

is presented

IBM Software Group

16© IBM Corporation June 2005

Three UMA-based Process Families – One Integrated Solution

DeployDeploy

BusinessBusiness

DevelopmentDevelopmentIT OperationsIT Operations

GovernGovern DevelopDevelop

DiscoverDiscover

ManageManage RUPITUP

Governance & Bus Mgmt

IBM Software Group

17

© IBM Corporation June 2005

IBM and OMG Standards Influence– Representative Samples

Long standing member since the earliest days of OMG• OMG Board of Directors, Architecture Board, Task Force Chairs

Led the specification and implementation of several key standards (* work in progress)

• Modeling – UML 1.x, UML 2.x and various profiles

• Metadata – MOF 1.x, MOF 2.x, XMI and various metamodels

• Software Reuse and Asset Management - RAS 2.0

• Data Warehousing – CWM 1.0

• Legacy Integration/Re-engineering – KDM*

• Business Modeling (BPDM*) and Business Rules (BSBR*, PRR*)

• Ontology (ODM*)

• Middleware Interoperability – CORBA IIOP (J2EE™)Domain Standards (LSID – Life Sciences…)Focus : Integration of Modeling and SOA Standards

IBM Products : Tools Integration & Metadata – Eclipse and EMF, Modeling RSA

IBM Software Group

18

© IBM Corporation June 2005

The IBM Software Development PlatformWhat’s new & enhanced: Simplified solutions

CustomerExtensionsCustomer

Extensions3rd PartyISV Tools3rd PartyISV Tools

Rational Software Architect

Rational Software Architect

Rational Web/App Developer

Rational Web/App Developer

Rational Functional & Manual

Tester

Rational Functional & Manual

Tester

Rational Performance

Tester

Rational Performance

Tester

Rational Team Unifying PlatformRational Team Unifying Platform

Tivoli Configuration

Manager

Tivoli Configuration

Manager

WebSphereBusiness

IntegrationModeler

& Monitor

Rational Software Modeler

WebSphereBusiness

IntegrationModeler

& Monitor

Rational Software Modeler

TivoliMonitoring

TivoliMonitoring

WebSphereTools

WebSphereTools

AnalystAnalyst ArchitectArchitect DeveloperDeveloper TesterTester Deployment Manager

Deployment Manager

Project ManagerProject Manager

ExecutiveExecutiveRational Portfolio ManagerRational Portfolio Manager

IBM Software Group

19

© IBM Corporation June 2005

Implementing Patterns

Patterns may be implemented as process guidance or may be codified within tooling

The solution described by a pattern may be implemented in a component, or across several components, or in a service. There are various codifications of patterns.

recognizes & documents

+

creates(later)

uses

customizes an asset

The codified pattern may be further customized by less skilled users.

• Configurable Component: parameterized software component implementing one or more patterns; may be published as a service

• RSA Transform, Pattern: implements a pattern through actions which modify model elements and other artifacts

• Template: contains sections marked for substitution with parameters supplied by the user

Guidance

RUP / GS Method

realized as

Configurable Component/Service/RSA Transform, Pattern/Template/ …

Automation

references

Pattern describes a solution to a recurring problem for a context

RSA – Rational Software Architect

IBM Software Group

20

© IBM Corporation June 2005

Rational Software Architect: Patterns

“Pattern-apply” experience is highly interactiveEvolution of previous generations of pattern

mechanism experiences“Pattern-authoring” experience provides

flexibility using Open APIGOF design pattern contentAdditional patterns provided via RAS repository

on developerWorks• Examples: SOA / Web Service design patterns, J2EE

patterns etc

• Pragmatic example of applying MDA Transformations

• Example : Enterprise Patterns on Developerworks

New patterns view providing outline and

description of the pattern

Pattern rendered as a collaboration to

support incremental application

Support “drag-and-drop” of pattern

parameters into the collaboration

Impact:• Leverage existing skills and assets• Basis for asset-based development practice

IBM Software Group

21

© IBM Corporation June 2005

Processbusiness tasks

Informationbusiness artifacts

Resourceresources and

roles

Organizationhierarchical structures

organizations, locations

User Interactionuser interfaces,

dashboards

Authorizationpermissions and

prohibitions

RulesBusiness rules

Observationevents, metrics, KPIs,

business situations

Simulationsimulator "overlays"

statistical distributions

Governancestrategic goals,

policies, capabilities

Servicesservice providers and

service interfaces

•Business Process Definition Metamodel (BPDM)•Web Services Business Process Execution Language (WSBPEL)•Business Process Modeling Notation (BPMN)•Business Rules (BSBR, PRR, BRM)

Business Modeling Landscape

IBM Software Group

22

© IBM Corporation June 2005

Summary

SOA and MDA are mutually reinforcing.

OMG compliments W3C and OASIS• W3C and OASIS focus on SOA interoperability

• WS-* protocols and formats• WSDL and WS-Policy for interface definition and tool interoperability

• OMG defines the “tool flows”• Modeling (UML)• Rules• Meta-models; Processes• Legacy Modernization• Domains/Verticals

Challenges• Domain/Vertical support in “SOA”• Need to improve the “mapping” between SOA and UML• Modeling IT infrastructure, Security, etc.• End-to-End Policy and Rules• Seamless hand-off from development tools to systems management products• Application development IT Management “meta-model and process”

(C) IBM Corporation – June 2005

IBM Software Group

®

Questions?