dr. donald ferguson ibm fellow, swg chief architect chair, ibm software group architecture board
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 PresentationTRANSCRIPT
(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”