smart soa in action - ibm · smart soa in action soa connectivity with ... misc accounting/finance...
TRANSCRIPT
IBM Software Group
© 2009 IBM Corporation
Smart SOA in ActionSOA Connectivity withEnterprise Service Bus
Simon ChanSOA [email protected]
IBM Software Group
© 2009 IBM Corporation2
A programming model complete with standards, tools, methods and technologies such as Web services
A model of the business and related key performance indicators
Roles
An architectural style which requires a service provider, requestor and a service description. It addresses characteristics such as loose coupling, reuse and simple and composite implementations.
Implementation
Architecture
Business
Service Oriented Architecture Different Things to Different People
OperationsA set of agreements and contracts among service requestors and service providers that specify the quality of service.
IBM IT Service Management
IT Process ManagementIT ProcessManagement Products
IT Service Management Platform
Best Practices
IT OperationalManagement Products
IBM IT Service Management
IT Process ManagementIT ProcessManagement Products
IT Service Management Platform
Best Practices
IT OperationalManagement Products
IBM Software Group
© 2009 IBM Corporation3
The promised benefits of SOA
Business process vitality
New value through reuse of assets
Improved connectivity
Closer alignment of IT to business
Business Flexibility
IBM Software Group
© 2009 IBM Corporation4
Application topology for a company
DFK
Data Warehouse
GeneralLedger
AP
SalesCorrections
POReceiving
Return toVendor
WarehouseManagement
Credit App
EmployeeChange Notice
OTHER APPS - PC
ACCTS REC APPS - PCINVENTORY CONTROL APPS - PC INVENTORY CONTROL APPS - PC
Journal Entry Tool Kit
Scorecard
ResourceScheduling
P09 - P17Cyb.
Mill.
Millennuim 3.0
Banks - ACH and Pos toPay
Cobra
StockStatus
Polling
On-line NewHire Entry
CTS
Plan Administrators(401K, PCS, Life)
Post LoadBilling
HomeDeliveries
-Transfers
Planning
PurchaseOrder
SolutionSoftware
Inventory Info
Interface
Sales Posting
Price ManagementSystem
Cycle PhysicalInventory
SKUInformation
Customer RepairTracking I35 Early Warning
System
MerchandiseAnalysis
AutoReplenishment
CTO
InterceptCounts
EmployeePurchase
Tex A
ACH
Stock Options
Customer PerceivedIn-Stock
Tx
SS
CapitalProjects
FixedAssets
ReconFile
Repair
EDICoordinator
Mesa Data NEW Soundscan
Resumix
Op.
Store BudgetReporting
Tally Sheet
Cash Receipts/Credit
HouseCharges
Ad Expense
-PromoAnalysis
PriceMarketingSupport
BMP - Busperformance Mngt
StoreScorecard
PriceTesting
Media
Bonus/HR
Hand ScanApps
Shows
POS
SalesTax
A04 - CustRefund Chks
Equifax
Credit
CellularRollover
SatelliteSystem
Scanning
VAN
SKU Rep
Host to AS400Communication
Layaways
Bus Systems
V04-SignSystem
Count CorrectionsN.
P01-EmployeeMasterfile
CustomerOrder
ABCCo
Universal AccountReconcilliation
DepositoryBanks
CellPhones
- ISPTracking
AAS
PO
Cash Over/Short
Coop SKU SelectionTool
SKUPerformance
SupplierCompliance
1
DRKABBX
Misc Accounting/Finance Apps - PC/NT
AIMSMngr Approval
Batch ForcastingAd Measurement
AIMSReportingAd
Launcher
MktReactions
SpecSource
website
RebateTransfer
SignSystem
WriterWorkspace
PowerSuiteStore
Monitor
Calendar
Stores & Mrkts
Due Dates
Smart Plus
InsertionsOrders
BudgetAnalysis Tool
Print CostingInvoice App
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)
Problems Arising from Connectivity
Ever increasing application maintenance costs.“In 2004, 73% of I.T. budgets were spent on maintenance and 27% on new investments.
In 2005, survey respondents expect to spend 76% on maintenance, leaving just 24% for new investments.”
Forrester Research*
IBM Software Group
© 2009 IBM Corporation5
Core Elements of a Service-based Design• Service Components
– A technology- and language-independent representation of a service which can be composed with other services
• Service Data
– A technology- and language-independent representation of a data entity that can be passed between services
• Service Bus
– A technology- and protocol-independent representation of the interconnection
SAPAdapter
OracleAdapter
DBAccess
DBAccess
Portlets Query
CommunityManager
IBM Software Group
© 2009 IBM Corporation7
Flexibility
Point-to-Point connection between applicationsSimple, basic connectivity
Messaging Backbone
EAI connects applications via a centralized hub Easier to manage larger number of connections
Enterprise Application Integration (EAI)
Integration and choreography of services through an Enterprise Service Bus Flexible connections with well defined, standards-based interfaces
Service Orientated Integration
SOA – The next stage of integration
IBM Software Group
© 2009 IBM Corporation8
Choreograph components into business processes
Outsourced
Supplier
Shared Services
Division(s)
Customer
IBM Software Group
© 2009 IBM Corporation9
Outsourced
Supplier
Shared Services
Division(s)
Customer
Add a Flexible Integration Layer - ESB
Enterprise Service Bus
Service Registry &Repository
Adapters Web ServicesGateway
Mediations
SOA ManagementData Power
Tivoli®
IBM Software Group
© 2009 IBM Corporation10
SOA Reference Architecture – Enable SOAModel of the Logical Architecture
Business Innovation & Optimization ServicesProvide for better decision-making with real-time business information
Dev
elop
men
tSe
rvic
es
Integrated environment
for design and creation of solution
assets
Interaction Services
Enables collaboration between people,
processes & information
Process Services
Orchestrate and automate business
processes
Information Services
Manages diverse data and content in a
unified manner
ESB Enable interEnable inter--connectivity between servicesconnectivity between services
Partner Services
Connect with trading partners
Business App ServicesBuild on a robust,
scaleable, and secure services environment A
pps
&
Info
Ass
etsAccess Services
Facilitate interactions with existing information and application assets
IT S
ervi
ceM
anag
emen
t
Manage and secure services,
applications &
resources
Infrastructure ServicesOptimizes throughput,
availability and performance
IBM Software Group
© 2009 IBM Corporation11
What Problems Do We Need To Solve?
How to move information around…
A messaging component
A B C X Y Z
……
IBM Software Group
© 2009 IBM Corporation12
Why is this a Challenge?“Computers are really dumb. You have to tell them everything.”
• How do you…?– Move data across different systems, platforms, and
devices when the HW, SW configurations and programming models are different?
– Overcome network failures?– Deliver information when the target application is not
online or is busy?– Ensure transmission integrity and recovery?– Handle lost or/duplicate data?– Ensure a secure connection?– Ensure multi-step transactions either happen completely
or not at all?– Apply qualities of service based on different
requirements? e.g., assured delivery, fast delivery?– Manage a session (request/response)?– Efficiently distribute events? – Scale to handle volumes?– Deal with data in unlike formats?– Determine which data to send where?– Audit who send what, where and when?
2. Build your own middleware
You either:
1. Program it all into your applications
3. Buy middleware to do it for you
“Computers are really dumb. They do exactly what you tell them to.”
IBM Software Group
© 2009 IBM Corporation13
What is an Enterprise Service Bus (ESB)?A flexible connectivity infrastructure for integrating applications as services………which reduces the number, size, and complexity of interfaces.An ESB:
Color = Data type
Shape = Protocol
CONVERTS between different transport protocols used by the participants
VIRTUALIZES the location and identity of participants
TRANSFORMS message formats between participants
APPLIES appropriate qualities of service for the given interaction
DISTRIBUTES business event information to/from disparate sources.
IBM Software Group
© 2009 IBM Corporation14
The ESB allows you to focus on your core business
TravelReservation
Process
FlightAvailability
Service
Enterprise Service Bus
NEW CheckTravelerService
Book HotelService
HotelAvailability
ServiceBook CarService
NEW FlightAvailability
Service
OLD FlightAvailability
Service
Book FlightService
Check CreditService
Change services with minimal impact to existing services
Add new services faster
The integration logic stays “in the bus”
IBM Software Group
© 2009 IBM Corporation15
Basic ESB Pattern
Human Tasks
Existing Application
External Service
New Business Logic
Business Rules
Process Coordination
Interact
QoSMediate
IBM Software Group
© 2009 IBM Corporation16
Common Data Model: Business Objects
• Business Objects represent structured application data
• Consistent logical representation, independent of data source or wire format
• Based upon SDO standard
• Multiple data bindings can be supported
Business object definition
(SDO/XML schema)
IBM Software Group
© 2009 IBM Corporation17
Mediation Module
• Mediation service applications are assembled and deployed as one or more mediation modules. A mediation module can have the following parts: – Exports that expose the mediation module to service requesters
– A mediation flow component
– Imports that identify service providers and their interfaces
– Java components that implement custom mediation primitives invoked by the mediation flow component
IBM Software Group
© 2009 IBM Corporation19
Transforming Content …
• BO Mapper …– Visual transformation
mapping
• Custom Mediation …– Invokes Java code to
perform transformation logic
• XSL Transform …– Invokes an XSLT Style Sheet to
perform transformation logic
IBM Software Group
© 2009 IBM Corporation25
Typical Integration Developer Task Flow
Identify service endpointsto be integrated
Create basic connectivitybetween endpoints
Implement mediation functionto allow communication
Test and debug mediationfunction
Deploy results to theruntime
IBM Software Group
© 2009 IBM Corporation26
Identify Service Endpoints to be integrated
• Concept– The mediation module defines a mediation component and the
endpoints it mediates in the form of imports and exports• Task
– Define mediation module and component– Define imports for service providers– Define exports for service requestersService requester Service providers
Mediation component
IBM Software Group
© 2009 IBM Corporation27
Typical Integration Developer Task Flow
Identify service endpointsto be integrated
Create basic connectivitybetween endpoints
Implement mediation functionto allow communication
Test and debug mediationfunction
Deploy results to theruntime
IBM Software Group
© 2009 IBM Corporation28
Available Service Endpoints: binding types for servicesWebSphere Adapters (e.g. CICS, IMS, SAP...)
Web services (SOAP/HTTP, SOAP/JMS)
JMS (including WebSphere MQ and WebSphere Business Integration (WBI) Adapters)
EJB
HTTP
Native (SCA or MQ)
Java invocation
IBM Software Group
© 2009 IBM Corporation29
Typical Integration Developer Task Flow
Identify service endpointsto be integrated
Assert basic connectivitybetween endpoints
Implement mediation functionto allow communication
Test and debug mediationfunction
Deploy results to theruntime
IBM Software Group
© 2009 IBM Corporation30
• Mediation Flows allow you to process (mediate) the messages that are passed between services
• A Mediation Flow Component contains Mediation Flows:– a Request Flow, to mediate the message received as input– a Response Flow*, to mediate the returning messages (combined if more than one)
• Typical mediations are:– transform the message format– conditionally route the message to one or more targets– add data to the message
target operation
Mediation Flows
Request Flow
source operation
input node
source operation
Response Flow
target operation
input response
node
message message
message message
mediation primitive
mediation primitive
callout node
callout response
node
* Only if the operation is a Request/Response operation
IBM Software Group
© 2009 IBM Corporation31
Mediation Flows
Input
Callout
Requ
est :
getQ
uote
Resp
onse
: getQ
uote
Oper
ation
Con
necti
ons
Callout Response
Input Response
defaultkeyNotFound
fail
IBM Software Group
© 2009 IBM Corporation32
Typical Integration Developer Task Flow
Identify service endpointsto be integrated
Assert basic connectivitybetween endpoints
Implement mediation functionto allow communication
Test and debug mediationfunction
Deploy results to theruntime
IBM Software Group
© 2009 IBM Corporation33
IntegrationDeveloper
Deploy to WebSphere Process Server or WebSphere Enterprise Service Bus Test Server
Debug mediation flows using an in-place visual debugger
Breakpoints can be added, stepped into, through, or over areas of interest while inspecting the values of the messages
Debugger is integrated with Java process, Java and XSLT debuggers in WebSphere Integration Developer.
Use the visual debugging tools to validate a message flow
Validates the flow using the Integrated Test Environment
IBM Software Group
© 2009 IBM Corporation35
Typical Integration Developer Task Flow
Identify service endpointsto be integrated
Assert basic connectivitybetween endpoints
Implement mediation functionto allow communication
Test and debug mediationfunction
Deploy results to theruntime
IBM Software Group
© 2009 IBM Corporation36
Reference Materials
• IBM Redbooks™ @ http://www.redbooks.ibm.com/– SG247212 – Getting Started with WESB v6.0
– SG247413 – Production Topologies for WebSphere Process Server and WESB V6
– SG247369 – Patterns: SOA Design Using WMB and WESB
– SG247406 – Connecting Enterprise Applications to WESB
• WebSphere ESB @ ibm.com– http://www-
306.ibm.com/software/info1/websphere/index.jsp?tab=integration/esb