IBM Software Group Presentation Template

advertisement
®
IBM Software Group
SOA –
Implementing Services and
Solutions
Dr. Donald F. Ferguson
IBM Fellow, SWG Chief Architect,
dff@us.ibm.com
busapest
23-Mar-16
© 2006 IBM Corporation
IBM Software Group
SOA -Implementing Services and Solutions
© 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!”
budapest 23-Mar-16
2
IBM Software Group
© 2006 IBM Corporation
SOA -Implementing Services and Solutions
Example: Complexity is Forcing Change
Mainframe
PC/NT apps
Unix apps
3rd Party Interface
AIS Reports
Depository
Banks
Vendor Setup
Budget
Analysis Tool
AIS Calendar
Vendor
Maintenance
Insertions
Orders
Due Dates
General
Maintenance
Broadcast
Filter
Stores & Mrkts
Process Servers
(Imaging)
Printer
Maintenance
NEW Soundscan
NPD Group
AIG Warranty Guard
Mesa Data
S20-Sales
Polling
Printer PO
I13- Auto
Replenishment
I06 - Customer
Order
S01 - Sales
Corrections
I17 Customer Perceived
In-Stock
UAR - Universal Account
Reconciliation
Sterling VAN
Mailbox (Value)
Roadshow
I15 Hand Scan
Apps
I06 Warehouse
Management
Print Costing
Invoice App
E13
E3 Interface
Fringe PO
Smart Plus
M03 - Millennium 3.0
Smart Plus
Launcher
S04 - Sales Posting
S07 - Cell
Phones
P16 - Tally Sheet
I03 Return to
Vendor
D01 Post Load
Billing
M02 - Millennium
S06 - Credit App
Equifax
Stock Options
I12 Entertainment
Software
P15 EES Employee
Change Notice
L02-Resource
Scheduling
(Campbell)
A04 - Cust
Refund Chks
Resumix
AAS
P01Employee
Masterfile
P09 - P17
Cyborg
Frick
Co
CTS
ACH
V02-Price
Marketing
Support
CTO2.Bestbuy.
com
V04-Sign
System
Prodigy
Banks - ACH and Pos to
Pay
I10 Cycle Physical
Inventory
I04 Home
Deliveries
U18 - CTO
I02 Transfers
B01 - Stock
Status
Spec Source
SKU Tracking
Intercept
E02-Employee
Purchase
S08 - Vertex
Sales
Tax
I11 Price
Testing
I09 Cycle Counts
Scorecard - HR
I01 PO
Receiving
V03- Mkt
Reactions
S03-Polling
K02
Customer Repair
Tracking
ASIS
I18
SKU Rep
Arthur Planning
I07 Purchase
Order
Ad Expense
G02 - General
Ledger
Store
Scorecard
Sign
System
Texlon 3.5
NARM
U16-Texlon
SKU Selection
Tool
I35 Early Warning
System
I55 SKU
Information
ELT
PowerSuite
SKU
Performance
L60 MDF
Coop
I05
Inventory Info
V01-Price Management
System
I35 - CEI
Rebate
Transfer
X92-X96
Host to AS400
Communication
Supplier
Compliance
S02 Layaways
NPD,
SoundScan
Spec
Source
P09
Bonus/HR
Washington,
RGIS,
Ntl Bus Systems
S11 - ISP
Tracking
POS
Plan Administrators
(401K, PCS, Life,
Unicare, Solomon
Smith Barney)
Store
Monitor
L01-Promo
Analysis
1
E01-EDI
P14 On-line New
Hire Entry
Cobra
S09 - Digital
Satellite
System
I14 Count Corrections
Store Budget
Reporting
Valley Media
B02 Merchandise
Analysis
CopyWriter's
Workspace
BMP - Bus
performance Mngt
EDI
Coordinator
Merch Mngr Approval
Batch Forcasting
Ad Measurement
AIMS Admin
AIMS
Journal Entry Tool Kit
A05 - AP
Cellular
Rollover
AIMS
Reporting
Ad
Launcher
S05 - House
Charges
Optika
PSP
C02 - Capital
Projects
Data Warehouse
(Interfaces to and from the
Data Warehouse are not
displayed on this diagram)
US Bank Recon
File
Connect 3
ICMS Credit
SiteSeer
In-Home
Repair
Warranty
Billing
System
OTHER APPS - PC
AP - Collections/Credit
TM - Credit Card DB
F06 - Fixed
Assets
Star Repair
Connect 3
PDF Transfe
Connect 3
Reports
Cash Over/
Short
Cash Receipts/Credit
Misc Accounting/Finance Apps - PC/NT
COBA
(Corp office Budget Assistant)
PCBS(Profit Center Budget System)
Merchandising Budget
INVENTORY CONTROL APPS - PC
Code Alarm
Debit Receivings
Devo Sales
Display Inventory
In Home
Junkouts
Merchandise Withdrawal
Promo Credits
RTV Accrual
Shrink
AP Research - Inv Cntrl
AP Research-Addl Rpts
Book to Perpetual Inventory
Close Out Reporting
Computer Intelligence Data
Count Corrections
Cross Ref for VCB Dnlds
Damage Write Off
Debit Receivings
DFI Vendor Database
Display Inventory Reconcile
Display Inventory Reporting
INVENTORY CONTROL APPS - PC
DPI/CPI
IC Batching
Inventory Adj/Count Correct
Inventory Control Reports
Inventory Levels
Inventory Roll
Merchandise Withdrawal
Open Receivings
PI Count Results
PI Time Results from Inv
Price Protection
Sales Flash Reporting
Shrink Reporting
SKU Gross Margin
SKU Shrink Level Detail
USM
VCB Downloads
ACCTS REC APPS - PC
990COR
Bad Debt
Beneficial Fees
Beneficial Reconcile
JEAXF
JEBFA
JEBKA
JEDVA
JESOA
JEVSA
JEVSF
NSF
TeleCredit Fees
Prepared by Michelle Mills
Actual Application Architecture for Consumer Electronics Company
budapest 23-Mar-16
3
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
A Sample Business Problem – HW PO/Supply
Chain
Manual Entry
Manufacturing
and Tracking
Warehouse
Customer
POs for
PCs, SAN, …
Assembly
Customer
System
Shipping
Warehouse/
Staging
budapest 23-Mar-16
4
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
What is …..?
Actually a set of
reusable operations
… a service?
… service orientation?
A repeatable
business task – e.g.,
check customer credit;
open new account
A way of integrating your
business as linked
services
and the outcomes that
they bring
… service oriented
architecture (SOA)?
… a composite
application?
An IT architectural
style that supports
service orientation
A set of related &
integrated services that
support a business
process built on an SOA
budapest 23-Mar-16
5
IBM Software Group
SOA -Implementing Services and Solutions
What’s this “Service Thing?”
Resource optimizations algs.
Message M1, M2,Simulation,
… … NIC, … …
Data faultMsg1
intensive, …
Op1, inMsg1, outMsg1,
WSDL
© 2006 IBM Corporation
“That’s my
simul.
package!”
Op2, inMsg2, outMsg2, faultMsg2
………
EJBs
IMS
ERP, CRM, …
CICS
“.NET. I like it.”
budapest 23-Mar-16
6
IBM Software Group
SOA -Implementing Services and Solutions
© 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”
budapest 23-Mar-16
7
IBM Software Group
SOA -Implementing Services and Solutions
© 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.
budapest 23-Mar-16
8
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Business Process and Performance Management:
Model – Assemble – Deploy – Manage/Monitor
Discover
Construct & Test
Compose
This
presentations
focus
Gather
requirements
Model & Simulate
Design
A “better napkin”
Financial transparency
Business/IT alignment
Process control
Charge back
Who saw what and did what for whom?
Covered
a little.
Integrate people
Integrate processes
Manage and integrate
information
A little.
Manage applications &
services
Manage identity &
compliance
Monitor business metrics
budapest 23-Mar-16
9
IBM Software Group
SOA -Implementing Services and Solutions
Modeling
© 2006 IBM Corporation
Business Objects
(Logical Data Model)
Process Model
Content/Docs
Process and Data
States
KPIs
Scores
Policy/Reqs
xxx MUST yyy
zzz CANNOT qqq
Messages
Organization
budapest 23-Mar-16
10
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Model

BPM is more than process
 Business Objects, Content Model (e.g.
scans)
 Business and object state
 Organization (people)
Model in “business user”
 Interaction
terms and concepts, not
 Policy
XSD or com.payroll.
Why Model?…
 Key Performance Indicators (KPIs)/  Slow, time consuming, … …
Observation, Events
 Real programmers “extreme” program
 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
……
Standards are more than runtime protocols
Well, everyone models
 White boards, PowerPoint, …
Design Time
 Napkins, crayons, … …
 What does company A’s tools give to B’s?
 How does the caller know invocation seqs?
Why model formally?
 What CA’s does the service support?
 Precise notation
 Programmers don’t guess
Portability
 Reliable hand-off (“structure," code here”)
 Flexible placement over disparate product
 Traceable and change management
choices
 Decouple BPM from infrastructure evolution
budapest 23-Mar-16
11
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Service Components
• Required Interfaces
• Events
• Policy Points
•……
ESB
Stub
Prolog
Types
JMS/MQ
HTTP
IIOP
……
“Resources”
Messages
Port Types
Operations
Bindings
Container
Impl.
“Abstract Process”
“Business State”
BPEL
ABO
CICS TP
JAVA
SQL
……
Policy
Control Descriptors
Deployment Descriptors
budapest 23-Mar-16
12
IBM Software Group
SOA -Implementing Services and Solutions
© 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.
Policy
Interface:
How to call
this component
Component
Java
Interface
WSDL
Port Type
Reference:
What this
components calls
Uniform
Representation of
Encapsulated
Implementation
Java
Interface
WSDL
Port Type
Business
Process
Business
State Machine
Business
Rule
Human
Task
Interface
Map
Selector
Java
SQL
XQuery
budapest 23-Mar-16
13
IBM Software Group
SOA -Implementing Services and Solutions
© 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.
Policy
Interface:
How to call
this component
Component
Java
Interface
WSDL
Port Type
Reference:
What this
components calls
Uniform
Representation of
Encapsulated
Implementation
Java
Interface
WSDL
Port Type
Business
Process
Business
State Machine
Business
Rule
Human
Task
Interface
Map
Selector
Java
SQL
XQuery
budapest 23-Mar-16
14
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Assembling Services – Modules and Subsystems
UDDI, Service Registry
Project, SCCS
ad hoc exchange,
……
May “drill into” a specific
component’s details
get Approved
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
budapest 23-Mar-16
15
IBM Software Group
© 2006 IBM Corporation
SOA -Implementing Services and Solutions
Services Oriented Architecture and Mediations
Credit Card Service
Commerce Service
Found a CC Service
Needs a CC
Service
Transform
Route
Augment
Side Effect
Policy Selection
Matching
But it’s not quite right. Darn
Mediation
budapest 23-Mar-16
16
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
SCA, SOA and Event Driven Architectures
---------------------------------------------------------------------
Wiring is a simple model
but
is limited
Implements
---------------------------------------------------------------------
---------------------------------------------------------------------
Transparent
Mediation
Emit Event
---------------------------------------------------------------------
Topics
Filter
Analyze
Rules
Subscription
Filter
---------------------------------------------------------------------
budapest 23-Mar-16
17
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Customizing Services – A “Design Pattern”
Bind using
• Date/Time
• Application Version
• Message Predicate
•… …
Required “Services”
document POVs
Simple rule templates
Java, JavaScript
Rule Engines
Decision Table
Decision Tree
……
Call
Prolog
Types
Mediate
Messages
Port Types
Operations
Just another “service”
Impl
Web Service Binding (Find)
Bindings
POV = Impl. Model for calling a service,
e.g. JAX RPC Stub, BPEL Invoke
Control Descriptors
Deployment Descriptors
budapest 23-Mar-16
18
IBM Software Group
SOA -Implementing Services and Solutions
© 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 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!”
budapest 23-Mar-16
19
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
The Role of the Container
Policy Declarations
Security Header
Reliable Messaging Header
Atomic Transaction Header
The Impl.
SOAP Message
double
This is fragile,
changes over time,
complex for business programmers,
error prone,
etc.
deposit(Message m) {
checkForDuplicate(m.seqNo);
registerForTransaction(m.context);
isCAValid(m);
checkSignature(m);
updatePerformanceInfo();
balance += m.amount;
// … …
updatePerformanceInfo();
}
budapest 23-Mar-16
20
IBM Software Group
© 2006 IBM Corporation
SOA -Implementing Services and Solutions
The Role of the Container
Security Header
Reliable Messaging Header
Atomic Transaction Header
SOAP Message
Wrapper
The Impl.
Before
After
Container
Check Certificate
Challenge
etc.
Security
Ack.
Retransmit
Reliability
Transactions
Container is a set of policy driven functions.
Interceptor pattern for business logic and “stubs.”
Before and After factoring of code.
budapest 23-Mar-16
21
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
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
 Bridge to existing skill sets.
budapest 23-Mar-16
22
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Services and Components
Composefor
and
customize
 There is a set of standards (emerging)
formally
without
seeing impl.
representing a service component’s
behavior
WSDL, XSD
BPEL, UML
WS-Policy
WS-ResourceFramework
Technology
or details.
 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
 Bridge to existing skill sets.
This “BPM” solution is a set of
documents enabling a “wiki
like” BPM evolution.
budapest 23-Mar-16
23
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
IBM End-to-End Architecture
B2B
Interactions
“Portal”
Service
Enterprise Service Bus:
Transform, Route, Notify, Augment, Side Effect
Workflow
Business Act.
EIS
Adapter
“Script”
POJO
SSB
Distinguished
Services
Information Mgmt
XML DB
budapest 23-Mar-16
24
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Information as a Service –
An Example of Going Beyond Process
Tools & Applications
Dashboards
Insightful
Relationships
Standards based: e.g.,
XQuery, JSR170, JDBC,
Web Services...
Data &
Content
Insight
In-line, Real-time
Master
Data
Information as a Service
Master Data, Entity
Analytics, Decision
Portals, Exec Dashboards,
Industry Data Models
Extracted or Real-Time
(Information Virtualization)
Heterogeneous Applications & Information
DB2
abc…
IBM
Content
Manager
xyz…
Oracle
budapest 23-Mar-16
and
more…
25
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Why Use Information Services in SOA?
Customer Exists?
Receive
Account
Info
Customer Exists?
Create Info
Receive
Account
Info
Create Info
Why use Information Server/Services?
 Efficiency
 Sophisticated clean/link/… … functions
 Simplifies process design
 Reuse in other processes, as well as
applications, portal, … …
budapest 23-Mar-16
26
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
Portal = Single User Experience
Application
Integration
Siebel
Sales Accounts
Opportunities
•Unified point of
access
•Single Sign On
•Role Based Access
Data
Integration
RDMS
Opportunity Sales
Teams (DB2)
•Security
•Portlet
Communication
•Themes and Page
Aggregation
PeopleSoft
HR Employee
Records
•User Profile
Services
•Framework for
integrating other
applications
budapest 23-Mar-16
27
IBM Software Group
SOA -Implementing Services and Solutions
© 2006 IBM Corporation
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
budapest 23-Mar-16
28
IBM Software Group
SOA -Implementing Services and Solutions
© 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 necessary
Components for assembly
Method guidance, design patterns, templates
Integration with people, information and events
 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,” … …
budapest 23-Mar-16
29
IBM Software Group
SOA -Implementing Services and Solutions
© 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
budapest 23-Mar-16
30
Download