®

IBM Software Group Enterprise – Business Process Management/ Business Performance Management: Architecture, Technology, Standards Donald F. Ferguson IBM Fellow, SWG Chief Architect, dff@us..com

bpm2006 17-Sep-06 © 2006 IBM Corporation IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Agenda ƒ Introduction  Disclaimer  A sample business problem  Context and major trends ƒ Business Process/Performance Management  Model, and why more than “process.”  Assemble and Customize; EDA and SOA  Deploy  Manage/Monitor ƒ Summary, Discussion and Challenges, and “A Grand Challenge!”

bpm2006 17-Sep-06 2 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Agenda ƒ Introduction  Disclaimer  A sample business problem  Context and major trends ƒ Business Process/Performance Management  Model, and why more than “process.”  Assemble and Customize; EDA and SOA  Deploy  Manage/Monitor ƒ Summary, Discussion and Challenges, and “A Grand Challenge!”

bpm2006 17-Sep-06 3 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards A Sample Business Problem – HW PO/Supply Chain Manual Entry Manufacturing and Tracking

Warehouse Customer POs for PCs, SAN, … Assembly

Customer System Warehouse/ Staging Shipping

bpm2006 17-Sep-06 4 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Example: Complexity is Forcing Change

Mainframe

PC/NT apps Depository Unix apps Vendor Setup Banks Vendor Process Servers I17 Customer Perceived Maintenance 3rd Party Interface Budget (Imaging) NEW Soundscan Sterling VAN UAR - Universal Account In-Stock NPD Group Analysis Tool Mesa Data Roadshow Mailbox (Value) Reconciliation Printer S20-Sales AIG Warranty Guard Maintenance Polling I13- Auto I15 Hand Scan I06 - Customer Replenishment Printer PO Apps Insertions S01 - Sales Order AIS Reports AIS Calendar Orders Corrections Due Dates Print Costing I06 Warehouse General Invoice App Management Stores & Mrkts Broadcast Maintenance E13 Filter E3 Interface Fringe PO Smart Plus Smart Plus M03 - Millennium 3.0 Launcher S04 - Sales Posting S07 - P16 - Tally Sheet Phones I03 Return to M02 - Millennium D01 Post Load Vendor S06 - Credit App Billing Equifax Stock Options P15 EES Employee I12 Entertainment S09 - Digital Satellite L02-Resource Change Notice Software A04 - Cust System Scheduling 1 L01-Promo Refund Chks E01-EDI (Campbell) Analysis P14 On-line New Hire Entry AAS V02-Price Resumix P01- Marketing Employee Washington, Support Masterfile RGIS, Ntl Bus Systems P09 - P17 Cobra Frick S11 - ISP Cyborg CTO2.Bestbuy. CTS Co I10 Cycle Physical Tracking com I04 Home Inventory ACH Deliveries V04-Sign Prodigy System U18 - CTO I02 - Banks - ACH and Pos to POS Transfers X92-X96 Pay Host to AS400 Plan Administrators Communication (401K, PCS, Life, Spec Source B01 - Stock Unicare, Solomon SKU Tracking Status I11 Price Smith Barney) I09 Cycle Counts S08 - Vertex Testing Supplier Intercept Sales NPD, S02 - Compliance E02-Employee Tax SoundScan Layaways Purchase Spec Source I01 PO Scorecard - HR Receiving SKU V03- Mkt Performance Reactions L60 MDF P09 S03-Polling V01-Price Management I05 Coop Bonus/HR SKU Selection System Inventory Info Tool

I35 - CEI K02 ASIS Customer Repair I35 Early Warning Arthur Planning Tracking I18 System Rebate SKU Rep Transfer I55 SKU I07 Purchase Information Store Order Ad Expense Monitor ELT PowerSuite G02 - General Ledger Store Scorecard Texlon 3.5 Sign System NARM I14 Count Corrections Store Budget Reporting Valley Media U16-Texlon B02 Merchandise CopyWriter's Analysis BMP - Bus Workspace performance Mngt EDI Coordinator

Merch Mngr Approval Batch Forcasting AIMS Journal Entry Tool Kit Ad Measurement A05 - AP AIMS Admin

Cellular INVENTORY CONTROL APPS - PC INVENTORY CONTROL APPS - PC ACCTS REC APPS - PC Rollover Code Alarm DPI/CPI 990COR AIMS OTHER APPS - PC Debit Receivings IC Batching Bad Debt Ad Reporting S05 - House AP - Collections/Credit Devo Sales Inventory Adj/Count Correct Beneficial Fees Launcher Charges TM - Credit Card DB Display Inventory Inventory Control Reports Beneficial Reconcile In Home Inventory Levels JEAXF Junkouts Inventory Roll JEBFA Optika US Bank Recon Merchandise Withdrawal Merchandise Withdrawal JEBKA PSP File Promo Credits Open Receivings JEDVA C02 - Capital RTV Accrual PI Count Results JESOA Projects Shrink PI Time Results from Inv JEVSA Connect 3 ICMS Credit AP Research - Inv Cntrl Price Protection JEVSF SiteSeer AP Research-Addl Rpts Sales Flash Reporting NSF In-Home Book to Perpetual Inventory Shrink Reporting TeleCredit Fees Data Warehouse Close Out Reporting SKU Gross Margin Repair Connect 3 (Interfaces to and from the Connect 3 Computer Intelligence Data SKU Shrink Level Detail PDF Transfe Reports Cash Receipts/Credit Count Corrections USM Data Warehouse are not F06 - Fixed Cross Ref for VCB Dnlds VCB Downloads displayed on this diagram) Warranty Assets Misc Accounting/Finance Apps - PC/NT Damage Write Off Billing COBA (Corp office Budget Assistant) Debit Receivings Star Repair Cash Over/ PCBS(Profit Center Budget System) DFI Vendor Database System Display Inventory Reconcile Short Prepared by Michelle Mills Merchandising Budget Display Inventory Reporting Actual Application Architecture for Consumer Electronics Company bpm2006 17-Sep-06 5 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Some Challenges and Trends ƒ Challenges 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 rules Information – ƒ Processes are a mix of “documents,” “people” and choreography. ƒ Rich information model – PO, Customer, … … Legacy integration Federated/decentralized control and goals ƒ Some trends SOA and Web services, obviously. Improved but fragmented formal modeling standards Coming together of IT processes and business processes (MUWS) Coherent models for EDA and {BPM, EAI} Domain standards Governance.

bpm2006 17-Sep-06 6 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Business Process and Performance Management: Model – Assemble – Deploy – Manage/Monitor ƒDiscover ƒIntegrate people ƒConstruct & Test ƒIntegrate processes ƒCompose ƒManage and integrate information

ƒGather requirements ƒModel & Simulate ƒDesign ƒA “better napkin”

ƒFinancial transparency ƒManage applications & ƒBusiness/IT alignment services ƒProcess control ƒManage identity & ƒCharge back compliance ƒWho saw what and did what for whom? ƒMonitor business metrics

bpm2006 17-Sep-06 7 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Agenda ƒ Introduction  Disclaimer  A sample business problem  Context and major trends ƒ Business Process/Performance Management  Model, and why more than “process.”  Assemble and Customize; EDA and SOA  Deploy  Manage/Monitor ƒ Summary, Discussion and Challenges, and “A Grand Challenge!”

bpm2006 17-Sep-06 8 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Model ƒ BPM is more than process  Business Objects, Content Model (e.g. scans)  Business and object state  Organization (people)  Interaction Model in “business user”  Policy terms and concepts, not  Key Performance Indicators (KPIs)/XSD or com.payroll.Why Model? … Observation, Events ƒ Slow, time consuming, … …  Business Vocabulary ƒ Real programmers “extreme” program ƒ Standards matter Standards are more than runtime protocols  Runtime interoperability Well, everyone models ƒ White boards, PowerPoint, …  Federated tools Design Time ƒ Napkins, crayons, … …  Portability ƒ What does company A’s tools give to B’s?  Monitoring and reporting ƒ How does the caller know invocation seqs? Why model formally?  Evolution, Substitutability ƒ What CA’s does the service support? ƒ Precise notation ƒ Currently a bit of a mess ƒ Programmers don’t guess Portability  UML ƒ Reliable hand-off (“structure," code here”) ƒ Flexible placement over disparate product  E-R ƒ Traceable and change management  WSDL, BPEL, … choices  BPMN ƒ Decouple BPM from infrastructure evolution  SBVR  …… bpm2006 17-Sep-06 9 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Information as a Service – An Example of Going Beyond Process

Tools & Applications Dashboards In-line, Real-time Insight

Insightful Relationships Master Data, Entity Analytics, Decision Standards based: e.g., Master Data & Data Portals, Exec Dashboards, XQuery, JSR170, JDBC, Content Industry Data Models Web Services... Information as a Service Extracted or Real-Time (Information Virtualization)

Heterogeneous Applications & Information

and IBM DB2 abc… Content xyz… Oracle more… Manager

bpm2006 17-Sep-06 10 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Why Use Information Services in SOA? Customer Exists? Customer Exists?

Create Info Create Info Receive Receive Account Account Info Info

Why use Information Server/Services? ƒ Efficiency ƒ Sophisticated clean/link/… … functions ƒ Simplifies process design ƒ Reuse in other processes, as well as applications, portal, … …

bpm2006 17-Sep-06 11 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Agenda ƒ Introduction  Disclaimer  A sample business problem  Context and major trends ƒ Business Process/Performance Management  Model, and why more than “process.”  Assemble and Customize; EDA and SOA  Deploy  Manage/Monitor ƒ Summary, Discussion and Challenges, and “A Grand Challenge!”

bpm2006 17-Sep-06 12 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Service Components ESB • Required Interfaces • Events • Policy Points Stub •…… Prolog

Types

Messages “Resources” JMS/MQ HTTP Port Types IIOP Container BPEL …… Operations ABO Impl. CICS TP Bindings JAVA “Abstract Process” SQL “Business State” …… Policy Control Descriptors Deployment Descriptors

bpm2006 17-Sep-06 13 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards 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 outside ƒ Components may be wired together and aggregated via flow ƒ Business Objects are the data flowing on wires between Components ƒ Enable type, role and skills specific tools. Policy

Interface: Interface: How to call How to call this component this component Reference: Reference: What this Component What this Java components calls Java components calls Interface Interface Uniform Representation of JavaJava WSDL Interface WSDL Encapsulated Interface Port Type Port Type Implementation

WSDLWSDL PortPort Type Type

Business Business Business Human Interface SQL Business Business Business Human Interface Selector Java SQL Process State Machine Rule Task Map Selector Java XQuery Process State Machine Rule Task Map XQuery

bpm2006 17-Sep-06 14 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards 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 outside ƒ Components may be wired together and aggregated via flow ƒ Business Objects are the data flowing on wires between Components Policy ƒ Enable type, role and skills specific tools.

Interface: Interface: How to call How to call this component this component Reference: Reference: What this Component What this Java components calls Java components calls Interface Interface Uniform Representation of JavaJava WSDL Interface WSDL Encapsulated Interface Port Type Port Type Implementation

WSDLWSDL PortPort Type Type

Business Business Business Human Interface SQL Business Business Business Human Interface Selector Java SQL Process State Machine Rule Task Map Selector Java XQuery Process State Machine Rule Task Map XQuery

bpm2006 17-Sep-06 15 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards A Simple Example and Some Concepts /* Something a DB dude Pragma This; Pragma That; recognizes */ SELECT Deployment Tools ticker,value, activity FROM StockQuotes WHERE Author Tools ticker == QuoteRequest.ticker INTO or quoteResponse.ticker quoteResponse.value, Text Editor quiteResponse.sharesTraded;

Deployment Package

public class QuoteRequest { Interface(s) String ticker; Data Svc. Date when; SDOs }

Public class quoteResponse { String ticker; float value; Generated Code float sharesTraded; } Interpreted Metadata

bpm2006 17-Sep-06 16 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Assembling Services – Modules and Subsystems UDDI, Service Registry Project, SCCS ad hoc exchange, ……

May “drill into” a specific get Approved

component’s details Approved/ Denied

Simple wiring metaphor and tools.

Unaware of “how” the component works.

If Approved then Send letter offering gold

If NOT Approved Send letter offering Credit counseling service

bpm2006 17-Sep-06 17 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Services Oriented Architecture and Mediations Credit Card Service Commerce Service Found a CC Service

Needs a CC Service

Transform But it’s not quite right. Darn Route Augment Side Effect Mediation Policy Selection Matching

bpm2006 17-Sep-06 18 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards SCA, SOA and Event Driven Architectures

------Wiring is a simple model ------but is limited Implements

------Transparent ------Mediation ------

Emit Event

------Topics ------Subscription ------Filter ------Filter ------Analyze ------Rules ------

bpm2006 17-Sep-06 19 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Customizing Services – A “Design Pattern” Bind using Required “Services” • Date/Time document POVs • Application Version Simple rule templates • Message Predicate Call •… … Java, JavaScript Rule Engines Prolog Decision Table Decision Tree Types Mediate …… Messages Just another “service” Port Types Operations Impl Web Service Binding (Find) Bindings POV = Impl. Model for calling a service, e.g. JAX RPC Stub, BPEL Invoke Control Descriptors Deployment Descriptors

bpm2006 17-Sep-06 20 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Services and Components ƒ There is a set of standards (emerging) for formally representing a service component’s behavior WSDL, XSD BPEL, UML WS-Policy WS-ResourceFramework ƒ There is an emerging, extensible set of service component kinds that provide a natural mapping for model elements Process, Business State Machine, Selector Eliminates the “miracle happens here” model High level, portable implementations emerging ƒ Support for very dynamic Structural composition Behavioral composition Configuration/customization This “BPM” solution is a set of ƒ Bridge to existing skill sets. documents enabling a “wiki like” BPM evolution.

bpm2006 17-Sep-06 21 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Some Perspective ƒ Haven’t we heard this before? OO, RPC, MDP, … …? This time we really mean it. Can’t you take a joke? ƒ There are some differences XML is language neutral; previous approaches implied a language model. WSDL and XML are more forgiving of changes Supports RPC and message/document approaches from beginning Common type model for applications/servers, message systems and DBs Builds on Internet protocols already deployed for “Web browsing.” Uniform model for events/pub-sub, message routing and RPC More focus on logical behavior – WSDL, Policy, etc. SOA component model derives from business modeling, making MDD simpler and eliminating “spooky transformations!”

bpm2006 17-Sep-06 22 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Agenda ƒ Introduction  Disclaimer  A sample business problem  Context and major trends ƒ Business Process/Performance Management  Model, and why more than “process.”  Assemble and Customize; EDA and SOA  Deploy  Manage/Monitor ƒ Summary, Discussion and Challenges, and “A Grand Challenge!”

bpm2006 17-Sep-06 23 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards 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?

Review & Deploy Close Change Open Categorize Assess Approve Change RFC RFC RFC Impacts Change Mgmt

Package the Test the Document Open other Release Need to have: change change Impacts RFCs Mgmt ƒ Logical Process implemented Apply Verify in executable workflows Patch Patch ƒ User Interfaces for process steps ƒ Adapters to Management Apps ƒ Documentation to customize steps Select Check Update Select Select Schedule Deploy Change Config Done? Servers Subset Change Patch Results Window (verify) DB Change

Query Check TPM Human review Join Policy and approval Results steps Query Manual Rollback DBs Patching Process Instance Task 3 Task 5

Task 1 Task 2 Task 6 Task 4

(Business) Process Engine Infrastructure Mgmt tools automate some process steps SOA Infrastructure

bpm2006 17-Sep-06 24 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Building IT Process Flows ƒ Model ƒ Assemble

ƒ Deploy

Human review and approval steps ƒ Provide portal Process Instance Task 3 Task 5 console and run Task 1 Task 2 Task 6 process using Task 4 Process Choreographer (WPC)

Infrastructure Mgmt tools automate process steps bpm2006 17-Sep-06 25 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards The Role of the Container Policy Declarations Security Header Reliable Messaging Header Atomic Transaction Header

The Impl. SOAP Message

double deposit(Message m) { checkForDuplicate(m.seqNo); registerForTransaction(m.context); This is fragile, isCAValid(m); changes over time, checkSignature(m); complex for business programmers, updatePerformanceInfo(); error prone, balance += m.amount; etc. // … … updatePerformanceInfo(); } bpm2006 17-Sep-06 26 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards The Role of the Container

Security Header Wrapper Reliable Messaging Header Atomic Transaction Header The Impl.

SOAP Message Before After Container Check Certificate Challenge Security etc. Ack. Reliability Retransmit Transactions

Container is a set of policy driven functions. Interceptor pattern for business logic and “stubs.” Before and After factoring of code.

bpm2006 17-Sep-06 27 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards 4 Principles Of Application Management Confidence A repeatable approach to sense and respond to performance problems within the composite application infrastructure.

Measure Trace Mediate Monitor & Adjust Response Time Transactions Services & Resources Enforce Policies

bpm2006 17-Sep-06 28 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards A Typical Management/Monitor Portal

TopologyTopology View:View: aggregateaggregate interactionsinteractions amongamong services.services. SequenceSequence Diagram:Diagram: ShowsShows exactexact sequencesequence ofof messagesmessages overover timetime

StatisticsStatistics View:View: AA tabletable viewview ofof thethe rawraw datadata collectedcollected byby thethe monitoringmonitoring agentagent atat eacheach interceptioninterception pointpoint

ContentContent View:View: ShowsShows contentcontent ofof aa SOAPSOAP messagemessage bpm2006 17-Sep-06 29 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Business Process/Performance Manage/Monitor

ƒ SOA infrastructure monitoring Dynamic and policy driven “Transparent” to application logic Sense – Respond – Act via MUWS ƒ Observation/Performance Modeling Observation points are part of modeling Define scorecard view of Key Performance Indicators ƒ SOA event infrastructure and event database ƒ Enables Dashboard, monitoring, management. Ability to intervene in deployed processes ƒ Set situational triggers and notifications ƒ Dynamically respond to these alerts Supporting continuous process improvement ƒ Monitor in-flight business processes ƒ Make process modifications based upon real-time data sent back to the Modeler for simulations

bpm2006 17-Sep-06 30 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Deploy, Manage and Monitor ƒ System and application management is a business process Complex, multi-step process with compensation for change management ƒ Patches, OS/middleware upgrades, application enhancements ƒ Automated steps, manual approval ƒ Compensation, recovery, retry Common Management (Information) Database Events, Sense/Respond, Monitor, Act, History, reports ƒ Using “standard” BPM technology Enables 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 analysis Think about “customer on-boarding.” ƒ Some updates to CRM, account system, etc. ƒ Also calls to security for UID, ACLs, … …

bpm2006 17-Sep-06 31 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Agenda ƒ Introduction  Disclaimer  A sample business problem  Context and major trends ƒ Business Process/Performance Management  Model, and why more than “process.”  Assemble and Customize; EDA and SOA  Deploy  Manage/Monitor ƒ Summary, Discussion and Challenges, and “A Grand Challenge!”

bpm2006 17-Sep-06 32 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Summary and Directions ƒ Business Process/Performance Modeling/Management Is a broad space with many “sub-models.” We are only beginning to ƒ Bring them into a coherent whole ƒ Without overwhelming business professionals and IT professionals We must drive standards and convergence. Standards are broader than runtime formats and protocols. ƒ Tool federation ƒ Flexible function placement ƒ Evolution ƒ There are many open areas Governance Web 2.0 Explosion of casual programmers in the workplace Modeling support for Recipes, Patterns and Templates Service/component identification, factoring, good “size,” … …

bpm2006 17-Sep-06 33 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards A Grand Challenge ƒ There is good and improving models for Process, Information and State, Events Components Use cases Component 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, dentistry We write specs with nascent “grammars,” e.g. MUST, CANNOT, RECOMMEND Documents 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

bpm2006 17-Sep-06 34 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards

bpm2006 17-Sep-06 35 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Some Clarification ƒ An Asset is, well an Asset. Can be anything Word document, Powerpoint Presentation We should be more Handy code that I keep lying around helpful than this Excel spreadsheet for costing a project …… ƒ A Pattern is a recurring solution for solving a problem Patterns 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) that Has associated metadata Comes 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 controls Which arcs to follow This is my terminology. Metadata flows through the graph as you follow the recipe Subsets, augments, modifies the constituentWe are patterns. trying to come to a ƒ A Solution Template is simple, common terminology. A complete solution, with install images Well-defined POVs for tailoring the elements and wizards

bpm2006 17-Sep-06 36 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Pattern Authoring in Architect

1. Create Plugin Project with 2. Create the skeleton of the pattern. 3. Add your custom code using the Patterns Templates Define parameters for the pattern and RSA Pattern Framework. It provides constraints on the parameters many extension points

4. Test pattern by launching 5. Export the pattern as a RAS asset. 6. Publish Asset to a RAS repository a new runtime workbench Classify your pattern to facilitate searching

bpm2006 17-Sep-06 37 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Example of applying a Pattern

1. Locate and Import the Asset 2. Select the Pattern from Pattern Explorer from a RAS repository 3. Specify Pattern Parameters

4. Run a Transformation to convert models into Artifacts (code, scripts, docs)

bpm2006 17-Sep-06 38 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards Some Principles ƒ Minimize concepts and rely on patterns Pub-sub is a SOA pattern Mediation is a style of service Business rules are a way to implement services … … ƒ There are very few new things Focus less on code reuse and more on pattern reuse There is no difference between pattern, code, developer tool Basic building blocks (e.g. SCA) enable flexible patterns ƒ Benefits Productivity Reduce risk, more predictable projects, technical community, … ƒ There are two tiers of programmer Architecture/Pattern/Template provider Template/Pattern user ƒ Instantiate ƒ Compose ƒ Configure ƒ Code for customization

bpm2006 17-Sep-06 39 IBM Software Group Enterprise BPM: © 2006 IBM Corporation Architecture, Technology, Standards To Do ƒ Governance ƒ ITSM ƒ Haven’t we heard this before? ƒ Web 2.0/ESRI ƒ Service Identification and Factoring ƒ Component Business Model and abstract models ƒ Everyone is a “casual programmer” ƒ Patterns

bpm2006 17-Sep-06 40