fóliák
description
Transcript of fóliák
®
IBM Software Group
© 2006 IBM Corporationbusapest Apr 8, 2023
SOA – Implementing Services and Solutions
Dr. Donald F. Ferguson IBM Fellow, SWG Chief Architect, [email protected]
IBM Software Group SOA -- Implementing Services and Solutions
2budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Agenda Introduction
A sample business problem SOA and Web services Context and major trends
Business Process/Performance Management Summary, Discussion and Challenges,
and “A Grand Challenge!”
IBM Software Group SOA -- Implementing Services and Solutions
3budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
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
Mainframe
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 HomeJunkouts
Merchandise WithdrawalPromo 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
TrackingI35 Early Warning
System
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 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 SOA -- Implementing Services and Solutions
4budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
A Sample Business Problem – HW PO/Supply Chain
CustomerPOs for
PCs, SAN, …
CustomerPOs for
PCs, SAN, …
Manual Entryand TrackingManual Entryand Tracking
CustomerSystem
CustomerSystem
ShippingShipping
ManufacturingManufacturing
AssemblyAssembly
Warehouse/Staging
Warehouse/Staging
WarehouseWarehouse
IBM Software Group SOA -- Implementing Services and Solutions
5budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
… a service?
A repeatable business task – e.g., check customer credit;
open new account
What is …..?
… service orientation?
A way of integrating your business as linked
servicesand the outcomes that
they bring
… service oriented architecture (SOA)?
An IT architectural style that supports service orientation
… a composite application?
A set of related & integrated services that
support a business process built on an SOA
Actually a set ofreusable operations
Actually a set ofreusable operations
IBM Software Group SOA -- Implementing Services and Solutions
6budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
What’s this “Service Thing?”Message M1, M2, … …Op1, inMsg1, outMsg1, faultMsg1Op2, inMsg2, outMsg2, faultMsg2… … …
CICS
IMS
“.NET. I like it.”
WSDLWSDL
ERP, CRM, …ERP, CRM, …
“That’s mysimul.
package!”
“That’s mysimul.
package!”
EJBsEJBs
Resource optimizations algs.Simulation, NIC, … …
Data intensive, …
Resource optimizations algs.Simulation, NIC, … …
Data intensive, …
IBM Software Group SOA -- Implementing Services and Solutions
7budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
SOA and Web Services SOA is an architectural style following some principles
Input and output messages completely describe behavior No private signaling or shared data.
Coarse grain interactions, unlike OO. Self-describing, cataloged, well-defined messages etc.
SOA “resonates” because many customers have been doing it for years. SOA codifies a set of best practices for Message Driven Processing (MQ). SessionBeans and the Transfer Object Pattern CICS TP Systems … …
Web Services are a set of standards for SOA Enable interoperability between infrastructure (middleware), and
between different development tools. Eliminates the need to integrate the infrastructure before integrating
business logic to form new, composite applications. SOAP/HTTP WSDL, WS-Policy, specific policy assertions, BPEL4WS Like “Diplomatic French” or “Esperanto”
IBM Software Group SOA -- Implementing Services and Solutions
8budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
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 Service identification, factoring, etc
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.
IBM Software Group SOA -- Implementing Services and Solutions
9budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Business Process and Performance Management:Model – Assemble – Deploy – Manage/Monitor
Gather requirements
Model & SimulateDesignA “better napkin”
DiscoverConstruct & TestCompose Integrate people
Integrate processesManage and integrate information
Manage applications & services
Manage identity & compliance
Monitor business metrics
Financial transparencyBusiness/IT alignmentProcess controlCharge backWho saw what and did what for whom?
Thispresentations
focus
Thispresentations
focus
Covereda little.
Covereda little.
A little.A little.
IBM Software Group SOA -- Implementing Services and Solutions
10budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Modeling
Process ModelProcess Model
Business Objects(Logical Data Model)
Business Objects(Logical Data Model)
Process and DataStates
Process and DataStates
OrganizationOrganization
KPIsScoresKPIs
Scores
Content/DocsContent/Docs
MessagesMessages
xxx MUST yyyzzz CANNOT qqq
xxx MUST yyyzzz CANNOT qqq
Policy/ReqsPolicy/Reqs
IBM Software Group SOA -- Implementing Services and Solutions
11budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Model
BPM is more than process Business Objects, Content Model (e.g.
scans) Business and object state Organization (people) Interaction Policy Key Performance Indicators (KPIs)/
Observation, Events Business Vocabulary
Standards matter Runtime interoperability Federated tools Portability Monitoring and reporting Evolution, Substitutability
Currently a bit of a mess UML E-R WSDL, BPEL, … BPMN SBVR … …
Why Model? Slow, time consuming, … … Real programmers “extreme” program
Well, everyone models White boards, PowerPoint, … Napkins, crayons, … …
Why model formally? Precise notation Programmers don’t guess Reliable hand-off (“structure," code here”) Traceable and change management
Why Model? Slow, time consuming, … … Real programmers “extreme” program
Well, everyone models White boards, PowerPoint, … Napkins, crayons, … …
Why model formally? Precise notation Programmers don’t guess Reliable hand-off (“structure," code here”) Traceable and change management
Model in “business user”terms and concepts, notXSD or com.payroll. …
Model in “business user”terms and concepts, notXSD or com.payroll. …
Standards are more than runtime protocols
Design Time What does company A’s tools give to B’s? How does the caller know invocation seqs? What CA’s does the service support?
Portability Flexible placement over disparate product choices Decouple BPM from infrastructure evolution
Standards are more than runtime protocols
Design Time What does company A’s tools give to B’s? How does the caller know invocation seqs? What CA’s does the service support?
Portability Flexible placement over disparate product choices Decouple BPM from infrastructure evolution
IBM Software Group SOA -- Implementing Services and Solutions
12budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Service Components
Prolog
Types
Messages
Bindings
PolicyControl Descriptors
Deployment Descriptors
Operations
Port Types
JMS/MQHTTPIIOP… …
JMS/MQHTTPIIOP… …
Impl.
StubStub
• Required Interfaces• Events• Policy Points• … …
ESB
Container
“Resources”
“Abstract Process”“Business State”
BPELABO
CICS TPJAVASQL… …
BPELABO
CICS TPJAVASQL… …
IBM Software Group SOA -- Implementing Services and Solutions
13budapest Apr 8, 2023budapest Apr 8, 2023
© 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 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.
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 Selector
SelectorJava
Java SQLXQuery
SQLXQuery
PolicyPolicy
IBM Software Group SOA -- Implementing Services and Solutions
14budapest Apr 8, 2023budapest Apr 8, 2023
© 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 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.
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 Selector
SelectorJava
Java SQLXQuery
SQLXQuery
PolicyPolicy
IBM Software Group SOA -- Implementing Services and Solutions
15budapest Apr 8, 2023budapest Apr 8, 2023
© 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,… …
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 SOA -- Implementing Services and Solutions
16budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Services Oriented Architecture and Mediations
Commerce ServiceCommerce Service
Needs a CCService
Needs a CCService
But it’s not quite right. DarnBut it’s not quite right. Darn
Credit Card ServiceCredit Card Service
Found a CC ServiceFound a CC Service
MediationMediation
TransformRoute
AugmentSide Effect
Policy SelectionMatching
TransformRoute
AugmentSide Effect
Policy SelectionMatching
IBM Software Group SOA -- Implementing Services and Solutions
17budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
SCA, SOA and Event Driven Architectures
--------------- ------------ --------------------------- ------------ --------
--------------- ------------ --------------------------- ------------ --------
Wiring is a simple modelbut
is limited
Wiring is a simple modelbut
is limited
--------------- ------------ --------------------------- ------------ --------
--------------- ------------ --------------------------- ------------ -------- ---------------
------------ --------------------------- ------------ --------
--------------- ------------ --------------------------- ------------ --------
TransparentMediation
TransparentMediation
ImplementsImplements
--------------- ------------ --------------------------- ------------ --------
--------------- ------------ --------------------------- ------------ --------
Emit EventEmit Event
--------------- ------------ --------------------------- ------------ --------
--------------- ------------ --------------------------- ------------ --------
SubscriptionFilter
SubscriptionFilter
TopicsTopics
FilterAnalyzeRules
FilterAnalyzeRules
IBM Software Group SOA -- Implementing Services and Solutions
18budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Customizing Services – A “Design Pattern”
Control DescriptorsDeployment Descriptors
ImplImpl
Prolog
Types
Messages
Bindings
Operations
Port 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
POV = Impl. Model for calling a service,e.g. JAX RPC Stub, BPEL Invoke
Bind using• Date/Time• Application Version• Message Predicate•… …
Bind using• Date/Time• Application Version• Message Predicate•… …
Web Service Binding (Find)Web Service Binding (Find)
MediateMediate
CallCall
Just another “service”Just another “service”
IBM Software Group SOA -- Implementing Services and Solutions
19budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Some Perspective Haven’t we heard this before? OO, RPC, MDP, … …? There are some differences
XML 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
systems and DBs
Builds 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 SOA -- Implementing Services and Solutions
20budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
The Role of the Container
The Impl.The Impl.
Security HeaderReliable Messaging HeaderAtomic Transaction Header
Security HeaderReliable Messaging HeaderAtomic Transaction Header
SOAP MessageSOAP Message
double deposit(Message m) {checkForDuplicate(m.seqNo);registerForTransaction(m.context);isCAValid(m);checkSignature(m);updatePerformanceInfo();
balance += m.amount;
// … …updatePerformanceInfo();
}
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.
This is fragile,changes over time,
complex for business programmers,error prone,
etc.
Policy DeclarationsPolicy Declarations
IBM Software Group SOA -- Implementing Services and Solutions
21budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
The Role of the Container
The Impl.The Impl.
Security HeaderReliable Messaging HeaderAtomic Transaction Header
Security HeaderReliable Messaging HeaderAtomic Transaction Header
SOAP MessageSOAP Message
WrapperWrapper
ContainerContainer
BeforeBefore AfterAfter
SecuritySecurity
ReliabilityReliability
TransactionsTransactions
Ack.Retransmit
Ack.Retransmit
Check CertificateChallenge
etc.
Check CertificateChallenge
etc.
Container is a set of policy driven functions.Interceptor pattern for business logic and “stubs.”Before and After factoring of code.
Container is a set of policy driven functions.Interceptor pattern for business logic and “stubs.”Before and After factoring of code.
IBM Software Group SOA -- Implementing Services and Solutions
22budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Services and Components There is a set of standards (emerging) for formally
representing a service component’s behaviorWSDL, XSDBPEL, UMLWS-PolicyWS-ResourceFramework
There is an emerging, extensible set of service component kinds that provide a natural mapping for model elementsProcess, 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.
IBM Software Group SOA -- Implementing Services and Solutions
23budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Services and Components There is a set of standards (emerging) for formally
representing a service component’s behaviorWSDL, XSDBPEL, UMLWS-PolicyWS-ResourceFramework
There is an emerging, extensible set of service component kinds that provide a natural mapping for model elementsProcess, 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.
This “BPM” solution is a set of documents enabling a “wiki
like” BPM evolution.
Compose and customizewithout seeing impl.
Technologyor details.
Compose and customizewithout seeing impl.
Technologyor details.
IBM Software Group SOA -- Implementing Services and Solutions
24budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
IBM End-to-End Architecture
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 SOA -- Implementing Services and Solutions
25budapest Apr 8, 2023budapest Apr 8, 2023
© 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 SOA -- Implementing Services and Solutions
26budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Why Use Information Services in SOA?
ReceiveAccount
Info
ReceiveAccount
Info
Customer Exists?Customer Exists?
Create InfoCreate InfoReceiveAccount
Info
ReceiveAccount
Info
Customer Exists?Customer Exists?
Create InfoCreate Info
Why use Information Server/Services? Efficiency Sophisticated clean/link/… … functions Simplifies process design Reuse in other processes, as well as
applications, portal, … …
IBM Software Group SOA -- Implementing Services and Solutions
27budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Portal = Single User Experience
Siebel
RDMS
PeopleSoft
Sales AccountsOpportunities
Opportunity SalesTeams (DB2)
HR Employee Records
•Unified point of access
•Single Sign On
•Role Based Access
•Security
•Portlet Communication
•Themes and Page Aggregation
•User Profile Services
•Framework for integrating other applications
ApplicationIntegration
DataIntegration
IBM Software Group SOA -- Implementing Services and Solutions
28budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Business Process/Performance Manage/Monitor SOA infrastructure monitoring
Dynamic 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 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
IBM Software Group SOA -- Implementing Services and Solutions
29budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
Summary and Directions SOA and Web services offer tremendous promise Web services currently focuses on the externals,
which limits flexible construction of business processes and composite apps.
A complete architecture is necessaryComponents for assemblyMethod guidance, design patterns, templates Integration with people, information and events
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 SOA -- Implementing Services and Solutions
30budapest Apr 8, 2023budapest Apr 8, 2023
© 2006 IBM Corporation
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