Title: BottomUp Methodology using Integration Patterns
1SOA-11 SOA Design Best Practices
- Bottom-Up Methodology using Integration Patterns
Matt Rothera
Director, Customer Centric Engineering
2Agenda
- The Organic Approach
- Qualification Criteria for the First ESB Project
- Patterns and Integration Scenarios
- Scoping a SOA Project Bottom-Up
3The Path to SOA
Do both Top-down and Bottom-up
Top Down
Your ESB Reality meets Nirvana
Bottom Up
4Parallel Tracks
Evolution over time is the key
5Agenda
- The Organic Approach
- Qualification Criteria for the First ESB Project
- Patterns and Integration Scenarios
- Scoping a SOA Project Bottom-Up
6Goals for your first SOA projects
Produce reusable events, data and services
- Business Qualification
- Prove incremental nature of SOA with immediate
ROI - Technical Qualification
- Expose the ESBs unique characteristics to solve
tough integration problems - Service and Event Reuse Potential
- Simplify follow-on projects by reusing services
and infrastructure
7Selection of Project Category
Pick projects from these categories, then
correlate
8Qualification Criteria for your first SOA Project
The need to integrate drives your first SOA
Project
- Agility
- Scale
- Distributed or Federated
- High Availability
- Through the Firewall
9Categories of Business Impacts
Line of Business
IT Related
- Automating a Process
- Improving Productivity for certain stakeholders
in the organization - Improving Quality or Consistency by reducing the
chance for human errors - Visibility to Information, allowing better
decisions
- Reduced Maintenance Costs
- Ability to staff new integration projects more
quickly - Ability to construct new integrations in
significantly less time - Ability to respond to changes in business
requirements more quickly
10New integration or replacement?
Your questions change depending on which
NEW
Replacement
- Automating a Process
- Improving Productivity
- Improving Quality or Consistency by reducing the
chance for human errors - Visibility to Information, allowing better
decisions
- Reduce Latency, Making processes more efficient
or reducing windows of error - Improve reliability, reducing exception
conditions that can cost the company money - Provide Real-Time access to information instead
of Batch
11Agenda
- The Organic Approach
- Qualification Criteria for the First ESB Project
- Patterns and Integration Scenarios
- Scoping a SOA Project Bottom-Up
12Whats an Integration Pattern?
- A proven method of capturing an experts
knowledge of an integration approach - A response to a specific, recurring problem that
occurs in the integration space - Fairly standard and well defined term in the
industry we will adopt the same approach and
use for the term - See Enterprise Integration Patterns.com
- Examples
- Splitter
- Aggregator
- Resequencer
- Claim Check
13Whats an Integration Scenario?
- What is an Integration Scenario?
- Consists of at least one Source System and one or
more Target Systems - Represents the flow of data in typically one
direction - Description of the connection methods
- What is Mediation?
- Integration logic that is required between the
source and target to smooth out the differences
between the data - Protocol
- Recovery
- Format
- Destination
- Sequence
- Discuss a scenario in terms of
- An On-Ramp
- Mediation Logic
- One or More Off-Ramps
14Sample Integration Patterns
On-Ramp
Off-Ramp
Mediation
Routing
Interaction Models
Interaction Models
- Pipes and Filters/Routing Slip
- Content Based Router
- Splitter
- Produce
- Fire and Forget
- Request-Reply
- Async Request-Reply
- Bulk Read
- Consume
- Event Driven Consumer
- Selective Consumer
- Polling Consumer
- Replier
- Bulk Load
Transformation
- Canonical Data Model
- Envelope Wrapper
- Content Enricher
System Interaction
System Interaction
- Adapter Emitter
- Bridges
- Messaging
- Application Server (SSB or Servlet)
Operate/Aggregate/Correlate
- Adapter Requestor/Sender
- Bridges
- Messaging
- Application Server (MDB)
- Cache
- Claim Check
- Process Manager
15Multiple on/off ramps to the bus
Connect in the most effective manner
Business Event
9
8
7
6
5
4
3
Technology Event
2
1
16Best Practice Canonical XML Message
Transform from Native Format to XML Canonical
NOTE Move from Native directly to Canonical
if Possible!
17On-Ramps and Off-Ramps for OpenEdge
- On-Ramp
- Use OpenEdge SonicMQ Adapter for Real-Time
Events from OpenEdge 9.1x or OpenEdge 10.x
Environments - File Drop for Others!
- Off-Ramp
- Use OpenEdge SonicMQ Adapter for 9.1x
- Use OpenEdge Adapter for Sonic ESB for 10.X
- Use Java Open Client/ESB Service for OE 9.1x or
10.X for Complex Interactions between ESB and OE
Environment
18Agenda
- The Organic Approach
- Qualification Criteria for the First ESB Project
- Patterns and Integration Scenarios
- Scoping a SOA Project Bottom-Up
19Four steps for scenario analysis
- Step 1 Define the Basic Patterns
- Step 2 Draw out the Details of Mediation
- Step 3 Correlate the Scenario to Other Scenarios
- Step 4 Extend the Scenario
20Global purchasing example
Manufacturer consolidates purchasing to reduce
costs
21Step 1 Define the Basic Patterns
Start with simple drawing
- Declare the basic on-ramps, off-ramps, and a
first pass flow of the use case - At this point, the flow of the use case will
probably look very basic - Steps 2, 3, and 4 will begin to flesh out the
scenario and draw out additional requirements for
mediation in the ESB. - Iterate over the use case and continually refine
it as you learn more.
On-ramp
Off-ramp
Flow
22Step 2. Draw out the Details of Mediation
Ask detailed questions about the data
- Are there syntactic differences in the data?
23Step 2. Draw out the Details of Mediation
- Are there syntactic differences in the data?
- Is the data presented in bulk, but must be
manipulated on an individual record basis? Or
Vice Versa?
24Step 2. Draw out the Details of Mediation
- Are there syntactic differences in the data?
- Is the data presented in bulk, but must be
manipulated on an individual record basis? Or
Vice Versa? - Are there semantic differences with the data?
25Step 2. Draw out the Details of Mediation
- Are there syntactic differences in the data?
- Is the data presented in bulk, but must be
manipulated on an individual record basis? Or
Vice Versa? - Are there semantic differences with the data?
- Are there pieces of data that are missing?
26Benefits of moving mediation into the ESB
Application with Mediation Logic
- ESB Supports 100s of protocols,and will evolve
with the latest WS-standards for
maximuminteroperability
Protocol
Recovery
- ESBS messaging foundation provides reliable
mechanisms for guaranteeddelivery available today
- ESBs configurable routingmechanism provides an
easy method of making routing changes
Destination
- Embed multiple format handlingand extend the
range of the informationby pushing it into the
bus
Format
Sequence
- Addition of new systems or changein routes does
not require a system or application change
Core BusinessLogic
27Add in real-time elements over time
Example
Reusable Components
Batch
Real-Time
28Step 3 Correlating the Scenarios
Look for 2nd order interactions
- The power of the ESB becomes evident when the
same services, events, and data are reused in
other contexts - Use these probing questions
- Are there other scenarios that could benefit from
services, events, or data? - Could other departments, organizations, or
partners benefit from any of the information? - Is this related to a master business process
that needs to be tracked and managed?
29Reuse of Events and Services
Can these be used elsewhere?
ProductCross ReferencingService
PurchaseOrderEvent
Consolidate Purchase OrderService
Product Lookup Service
30Reuse Comes in Many Forms
- Reuse of Deployed Business Events and Services
(Previous Slide) - Reuse of Integration Service Capabilities
- Reuse general purpose mediation services other
integration scenarios? CSV to XML Service - Reuse On Ramps and Off Ramps for other
Integration Scenarios? OE Adapter
31Look for the Master Business Process
Ask these probing questions
- What is the process?
- How is this integration related to an overall
business process? - What steps is this integration fulfilling in that
process? - Who are the stakeholders?
- Who in the organization is involved in the
specific steps in the process? - Can the stakeholders view, react, and fix?
- Measure how long a process is taking?
- Know when exceptions occur in that business
process?
32The Bigger Picture Procurement Process
Can this process be automated?
Purchase Order
ERP
PurchasingSystem
Why?
- Eliminate ManualTasks
- Reduce Latency of overall process
- Provide visibilityinto status of
overallprocess
InternalRequisition
Re-KeyOrder
External Requisition
33Step 4 Extend the Scenario
What about administration and control
- The purpose of this step is to demonstrate
additional value for an ESB enabled integration
and how easy it is to enable - Additional uses revolve around the following
topics - Audit Logging
- Business Activity Monitoring
34In Summary
- Evolve to a SOA using Top Down and Bottom-Up
approaches - Focus on Reuse of events and services
- Embrace change and Evolve through configuration
of mediation logic in the ESB
35Relevant Exchange Sessions
- SOA-1 Fundamentals of Service Oriented
Architecture - ARCH-5 Service Interfaces in Practice
- SOA-7 Designing Sonic ESB Services and Processes
for the ESB Developer
36Education / Documentation References
- http//www.enterpriseintegrationpatterns.com
- Sonic Icons
37Questions?
38Thank you foryour time
39(No Transcript)