Professional Documents
Culture Documents
Duane Rumsey SOA Architect Summit Application Architecture
Duane Rumsey SOA Architect Summit Application Architecture
Application Architecture:
Reusing Existing
Applications in SOA-Based
Business Processes
Duane Rumsey
Executive IT Architect
IBM Software Group
Enterprise Architecture
Business IT
How do you develop SOA How do you reuse applications
Architecture Architecture with a business focus? in the context of SOA?
Processes Applications
Information
People
Information Asset Discovery
Technology
Application Reuse
Transition Plan Business Components
EA Governance
SOA Design How do you leverage
Business Process information in an SOA?
Business Operating Environment and
IT Infrastructure Management Information as a Service
Master Data Management
IT Solutions
Summary
CICS createAccount
Existing IMS
Applications
& Data conflictCheck
System i
Client
Internet Firewall
Business
Internet Firewall
Load Balancer
Web J2EE
J2EE Data
Server getCustomerAddress
Cache
Pervasive
Devices Data Storage Area
DNS Server Network
Web
Server
Application
Server adjustInternalRating
UI Data
initializeAccount
Client .Net Business Partners
and External
Services
verifyCreditRating
Creating services
Use best practices (defined as patterns) to create services from
existing assets
Use tools and standards to service enable an asset
Use externally provide services to support commodity tasks
Fill in gaps by creating new services
Summary
IT Service
Specification
IT
Services
Interface (reusable
functional
Specification
components)
Business Requirements
New
Non-
Interruptible
Invoke
Reply
Fault
IT Application
Business Process
Examine assets (existing custom,
packaged applications, and industry
models, etc.) to determine what can be
leveraged to realize service functionality
Understand the business functions Coarse
Grained Map
supported by each application
Record attributes of existing applications
Business Functions
in terms of technologies used,
architectural styles, and so on
Identify applications that perform
common services
Existing Applications
Channel B2B
Service Consumer
Consumers
Business Intelligence
Composition; choreography;
business state machines
Governance
?
Services
atomic and composite
Service Provider
Service Components
Packaged Custom OO
Application
Operational Systems Application Application
Asset Analysis
Deep interactive analysis
Find and manage business rules
Create components from existing code
Analyze code for SOA reuse
Info-
UDDI
based
Development Registries Registries
Services
Asset Other
Version Development External
Control Management Reg / Rep
Change and
Configuration
Management
Service Management
Operational Efficiency & Resilience
Configuration Data Discovery
Managing change
existing application
WebSphere
distributed +
CICS TG
Services Gateway
.NET client Web Services Provider
.NET
SOAP / HTTP(s)
Web Services client
<consumer> SOAP / HTTP SOAP / JMS
Queue Reply
Summary
Benefits:
– Shorter deployment cycle … compared to indirect access
– The service interface is defined by the asset
• No analysis required to determine the interface
– No knowledge of other runtimes (Java, Message Broker, etc.) is necessary
– Fewer platforms/moving parts
Issues:
– Consumers become coupled to the asset environment
• Difficult to substitute the asset for an alternate
– Requires the asset runtime environment have support for service
invocation
– Asset capability needs to match the service requirements
– Places an XML processing burden on the asset runtime
• Systems that are often paid for on a “MIPS consumed” model
EJBs
DB2
EJBs
Indirect Pattern…
A service component serves as a front-end providing
indirect access to the target asset
Sub Pattern: Adapter, Gateway
– Proxy based access to asset
– Generally used to map standards based interface to asset based interface
JCA Adapter
For Siebel
JCA Adapter
For SAP
Information Management System
Business
O Logic Business
IMS T Business Logic
Connect M Logic
IMS Connector A
For Java
Host Access
Transformation
Services
CICS Transaction Server
Business
Logic
Business
Logic
Business
Logic
System z
System i
Service Flow
CICS
Transaction
Gateway
Output
CICS CICS
Commarea CICS
CICS Terminal
Application Terminal
Commarea Interaction
Interaction
Application
CICS
CICS
Commarea
Terminal
CICS Application
Interaction
Application
Transaction management
– Handling rollback and compensation
Identity management
– Mapping to the security requirements of the asset
Summary
L
Aspect oriented connectivity Failover
– Monitoring, logging and access to the
services registry
– Security and management policy Fl
Service virtualization
– Route messages dynamically based on Transform Ro
Indirect
Compositions Tx
– Complex event processing, e.g. Sc … …
handling failover Tx
Gather Tx
Summary
Info Assets
Partner Services Business App Services Access Services
Apps &
Build on a robust, Facilitate interactions with
Connect with trading
scaleable, and secure existing information and
partners
services environment application assets
WebSphere Message
Broker
WebSphere Service
Registry & Repository WebSphere Application
Server
Summary
There is significant value in reusing existing assets
– Faster time to value
– Cheaper to re-use than to re-write
– Existing assets are tried and trusted
Turkish
Hindi
Traditional Chinese
Russian Spanish
Portuguese
English
Arabic
German
Italian
French
Simplified Chinese
Romanian
Korean
Japanese