®
IBM Software Group
© 2006 IBM Corporationbpm2006 17-Sep-06
Enterprise –Business Process Management/Business Performance Management:Architecture, Technology, Standards
Donald F. Ferguson IBM Fellow, SWG Chief Architect, [email protected]
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
2bpm2006 17-Sep-06
© 2006 IBM Corporation
AgendaIntroduction
DisclaimerA sample business problemContext and major trends
Business Process/Performance ManagementModel, and why more than “process.”Assemble and Customize; EDA and SOADeployManage/Monitor
Summary, Discussion and Challenges,and “A Grand Challenge!”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
3bpm2006 17-Sep-06
© 2006 IBM Corporation
AgendaIntroduction
DisclaimerA sample business problemContext and major trends
Business Process/Performance ManagementModel, and why more than “process.”Assemble and Customize; EDA and SOADeployManage/Monitor
Summary, Discussion and Challenges,and “A Grand Challenge!”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
4bpm2006 17-Sep-06
© 2006 IBM Corporation
A Sample Business Problem – HW PO/Supply Chain
CustomerPOs for
PCs, SAN, …
Manual Entryand Tracking
CustomerSystem
Shipping
Manufacturing
Assembly
Warehouse/Staging
Warehouse
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
5bpm2006 17-Sep-06
© 2006 IBM Corporation
E01-EDI
Data Warehouse(Interfaces to and from the
Data Warehouse are notdisplayed on this diagram)
G02 - GeneralLedger
A05 - AP
S01 - SalesCorrections
I01 POReceiving
I03 Return toVendor
I06 WarehouseManagement
MainframePC/NT apps Unix apps3rd 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(Campbell)
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, SolomonSmith 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 Selection
Tool
SKUPerformance
SupplierCompliance
1
I35 - CEIASIS
Misc Accounting/Finance Apps - PC/NTCOBA (Corp office Budget Assistant)
PCBS(Profit Center Budget System)Merchandising Budget
AIMSMerch Mngr Approval
Batch ForcastingAd Measurement
AIMS Admin
AIMSReportingAd
Launcher
V03- MktReactions
SpecSource
CTO2.Bestbuy.com
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 Transfe
Spec SourceSKU Tracking
S20-SalesPolling
Prodigy
PSP
In-HomeRepair
WarrantyBillingSystem
Process Servers(Imaging)
Prepared by Michelle Mills
Example: Complexity is Forcing Change
Actual Application Architecture for Consumer Electronics Company
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
6bpm2006 17-Sep-06
© 2006 IBM Corporation
Some Challenges and TrendsChallenges
Seams between “people activities,” “information integrated” and “automated SOA activities”Choice may change in a solution over time
Reusable solution templates with customization/configuration.Policy and rulesInformation –
Processes are a mix of “documents,” “people” and choreography.Rich information model – PO, Customer, … …
Legacy integrationFederated/decentralized control and goals
Some trendsSOA and Web services, obviously.Improved but fragmented formal modeling standardsComing together of IT processes and business processes (MUWS)Coherent models for EDA and {BPM, EAI}Domain standardsGovernance.
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
7bpm2006 17-Sep-06
© 2006 IBM Corporation
Business Process and Performance Management:Model – Assemble – Deploy – Manage/Monitor
Gather requirementsModel & SimulateDesignA “better napkin”
DiscoverConstruct & TestCompose
Integrate peopleIntegrate processesManage and integrate information
Manage applications & servicesManage identity & complianceMonitor business metrics
Financial transparencyBusiness/IT alignmentProcess controlCharge backWho saw what and did what for whom?
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
8bpm2006 17-Sep-06
© 2006 IBM Corporation
AgendaIntroduction
DisclaimerA sample business problemContext and major trends
Business Process/Performance ManagementModel, and why more than “process.”Assemble and Customize; EDA and SOADeployManage/Monitor
Summary, Discussion and Challenges,and “A Grand Challenge!”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
9bpm2006 17-Sep-06
© 2006 IBM Corporation
ModelBPM is more than process
Business Objects, Content Model (e.g. scans)Business and object stateOrganization (people)InteractionPolicyKey Performance Indicators (KPIs)/Observation, EventsBusiness Vocabulary
Standards matterRuntime interoperabilityFederated toolsPortabilityMonitoring and reportingEvolution, Substitutability
Currently a bit of a messUMLE-RWSDL, BPEL, …BPMNSBVR… …
Why Model?Slow, time consuming, … …Real programmers “extreme” program
Well, everyone modelsWhite boards, PowerPoint, …Napkins, crayons, … …
Why model formally?Precise notationProgrammers don’t guessReliable hand-off (“structure," code here”)Traceable and change management
Model in “business user”terms and concepts, notXSD or com.payroll. …
Standards are more than runtime protocols
Design TimeWhat does company A’s tools give to B’s?How does the caller know invocation seqs?What CA’s does the service support?
PortabilityFlexible placement over disparate productchoicesDecouple BPM from infrastructure evolution
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
10bpm2006 17-Sep-06
© 2006 IBM Corporation
and more…abc…DB2
IBM ContentManager
Oraclexyz…
Heterogeneous Applications & Information
InsightIn-line, Real-timeDashboardsTools & Applications
Information as a Service(Information Virtualization)
Data & Content
MasterData
InsightfulRelationships Master Data, Entity
Analytics, Decision Portals, Exec Dashboards,Industry Data Models
Extracted or Real-Time
Standards based: e.g., XQuery, JSR170, JDBC,
Web Services...
Information as a Service –An Example of Going Beyond Process
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
11bpm2006 17-Sep-06
© 2006 IBM Corporation
Why Use Information Services in SOA?
ReceiveAccount
Info
Customer Exists?
Create InfoReceiveAccount
Info
Customer Exists?
Create Info
Why use Information Server/Services?EfficiencySophisticated clean/link/… … functionsSimplifies process designReuse in other processes, as well asapplications, portal, … …
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
12bpm2006 17-Sep-06
© 2006 IBM Corporation
AgendaIntroduction
DisclaimerA sample business problemContext and major trends
Business Process/Performance ManagementModel, and why more than “process.”Assemble and Customize; EDA and SOADeployManage/Monitor
Summary, Discussion and Challenges,and “A Grand Challenge!”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
13bpm2006 17-Sep-06
© 2006 IBM Corporation
Service Components
Prolog
Types
Messages
Bindings
PolicyControl Descriptors
Deployment Descriptors
OperationsPort Types
JMS/MQHTTPIIOP… …
Impl.
Stub
• Required Interfaces• Events• Policy Points• … …
ESB
Container
“Resources”
“Abstract Process”“Business State”
BPELABO
CICS TPJAVASQL… …
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
14bpm2006 17-Sep-06
© 2006 IBM Corporation
Service Components “Web services describes the outsides. How do you implement a service?
How do you compose services?”Encapsulate Components for Reuse; All look the same from outsideComponents may be wired together and aggregated via flowBusiness Objects are the data flowing on wires between ComponentsEnable type, role and skills specific tools.
Interface:How to call
this component
Interface:How to call
this component
Reference:What this
components calls
Reference:What this
components callsJava
Interface
JavaInterface
WSDLPort Type
WSDLPort Type
JavaInterface
JavaInterface
WSDLPort Type
WSDLPort Type
Component
UniformRepresentation of
EncapsulatedImplementation
BusinessProcess
BusinessProcess Business
State Machine
BusinessState Machine Business
Rule
BusinessRule Human
Task
HumanTask Interface
Map
InterfaceMap SelectorSelector JavaJava SQL
XQuery
SQLXQuery
Policy
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
15bpm2006 17-Sep-06
© 2006 IBM Corporation
Service Components “Web services describes the outsides. How do you implement a service? How do you
compose services?”Encapsulate Components for Reuse; All look the same from outsideComponents may be wired together and aggregated via flowBusiness Objects are the data flowing on wires between ComponentsEnable type, role and skills specific tools.
Interface:How to call
this component
Interface:How to call
this component
Reference:What this
components calls
Reference:What this
components callsJava
Interface
JavaInterface
WSDLPort Type
WSDLPort Type
JavaInterface
JavaInterface
WSDLPort Type
WSDLPort Type
Component
UniformRepresentation of
EncapsulatedImplementation
BusinessProcess
BusinessProcess Business
State Machine
BusinessState Machine Business
Rule
BusinessRule Human
Task
HumanTask Interface
Map
InterfaceMap SelectorSelector JavaJava SQL
XQuery
SQLXQuery
Policy
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
16bpm2006 17-Sep-06
© 2006 IBM Corporation
A Simple Example and Some Concepts
public class QuoteRequest {String ticker;Date when;
}
Public class quoteResponse {String ticker;float value;float sharesTraded;
}
/* Pragma This;Pragma That;*/SELECT
ticker,value, activityFROM
StockQuotesWHERE
ticker == QuoteRequest.tickerINTO
quoteResponse.tickerquoteResponse.value,quiteResponse.sharesTraded;
Deployment Tools
SDOs
Something a DB duderecognizes
Interface(s)
Generated CodeInterpreted Metadata
Data Svc.
Deployment Package
Author Toolsor
Text Editor
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
17bpm2006 17-Sep-06
© 2006 IBM Corporation
Assembling Services – Modules and Subsystems
get Approved
Approved/Denied
If Approved thenSend letter offering gold
If NOT ApprovedSend letter offering Credit counseling service
UDDI, Service RegistryProject, SCCS
ad hoc exchange,… …
Simple wiring metaphor and tools.
Unaware of “how” the component works.
May “drill into” a specificcomponent’s details
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
18bpm2006 17-Sep-06
© 2006 IBM Corporation
Services Oriented Architecture and MediationsCommerce Service
Needs a CCService
But it’s not quite right. Darn
Credit Card Service
Found a CC Service
Mediation
TransformRoute
AugmentSide Effect
Policy SelectionMatching
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
19bpm2006 17-Sep-06
© 2006 IBM Corporation
SCA, SOA and Event Driven Architectures
--------------------------------------------------------------------------Wiring is a simple model
butis limited
-------------------------------------------------------------------------- --------------------------------------------------------------------------
TransparentMediation
Implements
--------------------------------------------------------------------------
Emit Event
--------------------------------------------------------------------------
SubscriptionFilter
Topics
FilterAnalyzeRules
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
20bpm2006 17-Sep-06
© 2006 IBM Corporation
Customizing Services – A “Design Pattern”
Control DescriptorsDeployment Descriptors
Impl
Prolog
Types
Messages
Bindings
OperationsPort Types
Required “Services”document POVs
Simple rule templatesJava, JavaScript
Rule EnginesDecision TableDecision Tree
… …
POV = Impl. Model for calling a service,e.g. JAX RPC Stub, BPEL Invoke
Bind using• Date/Time• Application Version• Message Predicate•… …
Web Service Binding (Find)
Mediate
Call
Just another “service”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
21bpm2006 17-Sep-06
© 2006 IBM Corporation
Services and ComponentsThere is a set of standards (emerging) for formally representing a service component’s behavior
WSDL, XSDBPEL, UMLWS-PolicyWS-ResourceFramework
There is an emerging, extensible set of service component kinds that provide a natural mapping for model elements
Process, Business State Machine, SelectorEliminates the “miracle happens here” modelHigh level, portable implementations emerging
Support for very dynamicStructural compositionBehavioral compositionConfiguration/customization
Bridge to existing skill sets.This “BPM” solution is a set of
documents enabling a “wiki like” BPM evolution.
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
22bpm2006 17-Sep-06
© 2006 IBM Corporation
Some PerspectiveHaven’t we heard this before? OO, RPC, MDP, … …?
This time we really mean it.Can’t you take a joke?
There are some differencesXML is language neutral; previous approaches implied a language model.WSDL and XML are more forgiving of changesSupports RPC and message/document approaches from beginningCommon type model for applications/servers, message systemsand DBsBuilds on Internet protocols already deployed for “Web browsing.”Uniform model for events/pub-sub, message routing and RPCMore focus on logical behavior – WSDL, Policy, etc.SOA component model derives from business modeling, making MDD simpler and eliminating “spooky transformations!”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
23bpm2006 17-Sep-06
© 2006 IBM Corporation
AgendaIntroduction
DisclaimerA sample business problemContext and major trends
Business Process/Performance ManagementModel, and why more than “process.”Assemble and Customize; EDA and SOADeployManage/Monitor
Summary, Discussion and Challenges,and “A Grand Challenge!”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
24bpm2006 17-Sep-06
© 2006 IBM Corporation
A Patch Management – Implementing the Process
Questions:How best to implement the process and make it operational?What tools should be used for sequencing work between people?What tools for automating particular activities in the process?
Release Mgmt
Test the change
ApplyPatch
VerifyPatch
DocumentImpacts
Open other RFCs
Package the change
Change Mgmt
Open RFC
CategorizeRFC
Assess Impacts
Review &ApproveChange
CloseRFC
DeployChange
SelectServers
QueryTPM
QueryDBs
JoinResults
SelectSubset
SelectChange Window
ScheduleChange
DeployPatch
CheckResults(verify)Change
UpdateConfig
DB
Rollback ManualPatching
Done?
CheckPolicy
(Business) Process Engine
Need to have:Logical Process implemented
in executable workflows User Interfaces for process stepsAdapters to Management AppsDocumentation to customize steps
Task 2
Task 4
Task 3
Task 1 Task 6
Task 5Process Instance
Infrastructure Mgmt tools automate some process steps
Human review and approval
steps
Task 2
Task 4
Task 3
Task 1 Task 6
Task 5Process Instance
Infrastructure Mgmt tools automate some process steps
Human review and approval
steps
SOA Infrastructure
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
25bpm2006 17-Sep-06
© 2006 IBM Corporation
Building IT Process FlowsModel Assemble
Deploy
Provide portal console and run process using
Process Choreographer
(WPC)
Task 2
Task 4
Task 3
Task 1 Task 6
Task 5Process Instance
Infrastructure Mgmt tools automate process steps
Human review and
approval steps
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
26bpm2006 17-Sep-06
© 2006 IBM Corporation
The Role of the Container
The Impl.
Security HeaderReliable Messaging HeaderAtomic Transaction Header
SOAP Message
double deposit(Message m) {checkForDuplicate(m.seqNo);registerForTransaction(m.context);isCAValid(m);checkSignature(m);updatePerformanceInfo();
balance += m.amount;
// … …updatePerformanceInfo();
}
This is fragile,changes over time,
complex for business programmers,error prone,
etc.
Policy Declarations
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
27bpm2006 17-Sep-06
© 2006 IBM Corporation
The Role of the Container
The Impl.
Security HeaderReliable Messaging HeaderAtomic Transaction Header
SOAP Message
Wrapper
Container
Before After
Security
Reliability
Transactions
Ack.Retransmit
Check CertificateChallenge
etc.
Container is a set of policy driven functions.Interceptor pattern for business logic and “stubs.”Before and After factoring of code.
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
28bpm2006 17-Sep-06
© 2006 IBM Corporation
4 Principles Of Application Management ConfidenceA repeatable approach to sense and respond to performance problems within the composite application infrastructure.
Measure Response Time
TraceTransactions
MediateServices &
Enforce Policies
Monitor & Adjust Resources
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
29bpm2006 17-Sep-06
© 2006 IBM Corporation
A Typical Management/Monitor Portal
Topology View:aggregate interactions among services.
Topology View:aggregate interactions among services.
Sequence Diagram:Shows exact sequence of messages over time
Sequence Diagram:Shows exact sequence of messages over time
Statistics View:A table view of the raw data collected by the monitoring agent at each interception point
Statistics View:A table view of the raw data collected by the monitoring agent at each interception point
Content View:Shows content of a
SOAP message
Content View:Shows content of a
SOAP message
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
30bpm2006 17-Sep-06
© 2006 IBM Corporation
Business Process/Performance Manage/Monitor
SOA infrastructure monitoringDynamic and policy driven“Transparent” to application logicSense – Respond – Act via MUWS
Observation/Performance ModelingObservation points are part of modelingDefine scorecard view of Key Performance Indicators
SOA event infrastructure and event databaseEnables
Dashboard, monitoring, management.Ability to intervene in deployed processes
Set situational triggers and notificationsDynamically respond to these alerts
Supporting continuous process improvementMonitor in-flight business processesMake process modifications based upon real-time data sent back to the Modeler for simulations
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
31bpm2006 17-Sep-06
© 2006 IBM Corporation
Deploy, Manage and MonitorSystem and application management is a business process
Complex, multi-step process with compensation for change managementPatches, OS/middleware upgrades, application enhancementsAutomated steps, manual approvalCompensation, recovery, retry
Common Management (Information) DatabaseEvents, Sense/Respond, Monitor, Act, History, reports
Using “standard” BPM technologyEnables existing skills (e.g. no arcane SM language and APIs)First class tool support
The line between systems/application management and BPM is an illusion
Why are PO submissions failing? IT error or process design?Impact analysisThink about “customer on-boarding.”
Some updates to CRM, account system, etc.Also calls to security for UID, ACLs, … …
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
32bpm2006 17-Sep-06
© 2006 IBM Corporation
AgendaIntroduction
DisclaimerA sample business problemContext and major trends
Business Process/Performance ManagementModel, and why more than “process.”Assemble and Customize; EDA and SOADeployManage/Monitor
Summary, Discussion and Challenges,and “A Grand Challenge!”
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
33bpm2006 17-Sep-06
© 2006 IBM Corporation
Summary and DirectionsBusiness Process/Performance Modeling/Management
Is a broad space with many “sub-models.”We are only beginning to
Bring them into a coherent wholeWithout overwhelming business professionals and IT professionals
We must drive standards and convergence. Standards are broader than runtime formats and protocols.
Tool federationFlexible function placementEvolution
There are many open areasGovernanceWeb 2.0Explosion of casual programmers in the workplaceModeling support for Recipes, Patterns and TemplatesService/component identification, factoring, good “size,” … …
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
34bpm2006 17-Sep-06
© 2006 IBM Corporation
A Grand ChallengeThere is good and improving models for Process, Information and State,
EventsComponentsUse casesComponent collaboration… …
Policy is where we are the most “broken”Examples
“All POs over $10,000 must be approved by regional sales manager.”“An employee cannot close a customer complaint that he created or marked complete.”“Business class is authorized for flight more than 8 hours or overnight.”
We typically write these down in text.Programmers read the text and write code.
Can we do better?Many domains have nascent business vocabularies, e.g. law, dentistryWe write specs with nascent “grammars,” e.g. MUST, CANNOT, RECOMMENDDocuments are often simple combinations of policy
Nested lists (Decision Trees)Tables/Forms (Decision Tables)Hyperlinks (Decision Flows)
Can we improve hand-offs and traceability for rules and codes through structured language, business vocabularies
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
35bpm2006 17-Sep-06
© 2006 IBM Corporation
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
36bpm2006 17-Sep-06
© 2006 IBM Corporation
Some ClarificationAn Asset is, well an Asset. Can be anything
Word document, Powerpoint PresentationHandy code that I keep lying aroundExcel spreadsheet for costing a project… …
A Pattern is a recurring solution for solving a problemPatterns for eBusiness (http://www-106.ibm.com/developerworks/patterns/)Enterprise Integration Patterns (http://www.eaipatterns.com/)J2EE Patterns (http://corej2eepatterns.com/index.htm)… …Read the book and start typing!
A Template is a Pattern (or sub-pattern) thatHas associated metadataComes with a design time control (Wizard)Uses code generation or “data driven behavior” to convert to an instance.
A Recipe is an directed graph of Templates, with composite controlsWhich arcs to followMetadata flows through the graph as you follow the recipeSubsets, augments, modifies the constituent patterns.
A Solution Template isA complete solution, with install imagesWell-defined POVs for tailoring the elements and wizards
We should be morehelpful than this
This is my terminology.We are trying to come to a
simple, common terminology.
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
37bpm2006 17-Sep-06
© 2006 IBM Corporation
Pattern Authoring in Rational Software Architect1. Create Plugin Project with Patterns Templates
2. Create the skeleton of the pattern. Define parameters for the pattern and constraints on the parameters
3. Add your custom code using the RSA Pattern Framework. It provides many extension points
6. Publish Asset to a RAS repository5. Export the pattern as a RAS asset. Classify your pattern to facilitate searching
4. Test pattern by launching a new runtime workbench
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
38bpm2006 17-Sep-06
© 2006 IBM Corporation
Example of applying a Pattern1. Locate and Import the Asset from a RAS repository 2. Select the Pattern from Pattern Explorer
4. Run a Transformation to convert models into Artifacts (code, scripts, docs)
3. Specify Pattern Parameters
IBM Software Group Enterprise BPM: Architecture, Technology, Standards
39bpm2006 17-Sep-06
© 2006 IBM Corporation
Some PrinciplesMinimize concepts and rely on patterns
Pub-sub is a SOA patternMediation is a style of serviceBusiness rules are a way to implement services … …
There are very few new thingsFocus less on code reuse and more on pattern reuseThere is no difference between pattern, code, developer toolBasic building blocks (e.g. SCA) enable flexible patterns
BenefitsProductivityReduce risk, more predictable projects, technical community, …
There are two tiers of programmerArchitecture/Pattern/Template providerTemplate/Pattern user
InstantiateComposeConfigure
Code for customization