...

2010-05-04 © 2007 IBM Corporation

by user

on
Category: Documents
11

views

Report

Comments

Transcript

2010-05-04 © 2007 IBM Corporation
Integrating CICS Applications in an SOA
Environment
Leigh Compton
CICS Technical Support
ATS - Dallas
2010-05-04
© 2007 IBM Corporation
Trademarks
Trademarks
The following are trademarks of the International Business Machines Corporation in the United States and/or other countries. For a complete list of IBM Trademarks, see
www.ibm.com/legal/copytrade.shtml: AS/400, CICS, DB2, e-business logo, ESCON, eServer, FICON, IBM, IBM Logo, iSeries, MVS, OS/390, pSeries, RS/6000, S/30, VM/ESA, VSE/ESA,
Websphere, xSeries, z/OS, zSeries, z/VM
The following are trademarks or registered trademarks of other companies
Lotus, Notes, and Domino are trademarks or registered trademarks of Lotus Development Corporation
Java and all Java-related trademarks and logos are trademarks of Sun Microsystems, Inc., in the United States and other countries
LINUX is a registered trademark of Linux Torvalds
UNIX is a registered trademark of The Open Group in the United States and other countries.
Microsoft, Windows and Windows NT are registered trademarks of Microsoft Corporation.
SET and Secure Electronic Transaction are trademarks owned by SET Secure Electronic Transaction LLC.
Intel is a registered trademark of Intel Corporation
* All other products may be trademarks or registered trademarks of their respective companies.
NOTES:
Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput that
any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the
workload processed. Therefore, no assurance can be given that an individual user will achieve throughput improvements equivalent to the performance ratios stated here.
IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply.
All customer examples cited or described in this presentation are presented as illustrations of the manner in which some customers have used IBM products and the results they may have
achieved. Actual environmental costs and performance characteristics will vary depending on individual customer configurations and conditions.
This publication was produced in the United States. IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject
to change without notice. Consult your local IBM business contact for information on the product or services available in your area.
All statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only.
Information about non-IBM products is obtained from the manufacturers of those products or their published announcements. IBM has not tested those products and cannot confirm the
performance, compatibility, or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
Prices subject to change without notice. Contact your IBM representative or Business Partner for the most current pricing in your geography.
References in this document to IBM products or services do not imply that IBM intends to make them available in every country.
Any proposed use of claims in this presentation outside of the United States must be reviewed by local IBM country counsel prior to such use.
The information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of
the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those
Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.
2
2010-05-04
© 2007 IBM Corporation
Abstract
This session addresses common architectural decisions you will have to
make as you move your CICS applications to a Service Oriented
Architecture. Areas discussed will include service granularity, where and
when to use the CICS Transaction Gateway, tight coupling versus loose
coupling, where to expose your services, and where to process XML.
Integration into the Enterprise Service Bus and integration with
WebSphere Application Server, along with availability, transactionality,
and security, are of prime importance. This session will include a
discussion of strategic CICS connectivity options, and when each of these
options is appropriate.
3
2010-05-04
© 2007 IBM Corporation
Agenda
CICS Strategic Interoperability Options
– Where and when to use
– Service Granularity
– Tight vs. Loose Coupling
– Where to expose your services
Agenda
– Where to process XML
– Security and Transactionality
Other SOA Enablers
4
2010-05-04
© 2007 IBM Corporation
CICS and Business
Pervasive
Devices
Over 35 years and $1 Trillion
invested in Applications ... IDC
Over $1 trillion processed/day
Over 30 billion transactions/day
Most people use CICS
5
Combining the reliability
and security of CICS software
with the flexibility of SOA
2010-05-04
© 2007 IBM Corporation
Integration
Complexity
Service
Multiple APIs
Service
Service
Service
Service
Service
Hidden Interfaces
Custom coded
connections
Mainframe apps - Blue
PC/NT apps - Green
Unix apps - Yellow
3rd party interface - Orange
Lines: Colors have no special meaning.
DRAFT
Vendor Setup
They are to help make the diagram easier to
read.
For More Information: See the database
containing information about each
application: Application V4.mdb
AIS Reports
Budget
Analysis Tool
Vendor
Maintenance
Insertions
Orders
AIS Calendar
Due Dates
General
Maintenance
Broadcast
Filter
Stores & Mrkts
Best Buy - Application Diagram V4
November 10, 1999
Process Servers
(Imaging)
NEW Soundscan
NPD Group
AIG Warranty Guard
Mesa Data
Printer
Maintenance
S20-Sales
Polling
Printer PO
Service
DRAFT
UAR - Universal Account
Reconcilliation
Sterling VAN
Mailbox (Value)
Roadshow
I17 Customer Perceived
In-Stock
I13- Auto
Replenishment
I06 - Customer
Order
S01 - Sales
Corrections
Service
Page 1 of 2
Depository
Banks
I15 Hand Scan
Apps
I06 Warehouse
Management
Print Costing
Invoice App
E13
E3 Interface
Fringe PO
Smart Plus
M03 - Millennuim 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
L02-Resource
Scheduling
(Campbell)
A04 - Cust
Refund Chks
E01-EDI
P14 On-line New
Hire Entry
Resumix
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
Spec Source
SKU Tracking
Intercept
E02-Employee
Purchase
S08 - Vertex
Sales
Tax
B01 - Stock
Status
I11 Price
Testing
I09 Cycle Counts
S02 Layaways
NPD,
SoundScan
Spec
Source
Scorecard - HR
S03-Polling
K02
Customer Repair
Tracking
ASIS
I18
SKU Rep
SKU Selection
Tool
Arthur Planning
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
I01 PO
Receiving
V03- Mkt
Reactions
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
AAS
P01Employee
Masterfile
P09 - P17
Cyborg
Cobra
S09 - Digital
Satellite
System
I12 Entertainment
Software
P15 EES Employee
Change Notice
I07 Purchase
Order
Ad Expense
G02 - General
Ledger
Store
Scorecard
Sign
System
Texlon 3.5
NARM
I14 Count Corrections
Store Budget
Reporting
Valley Media
U16-Texlon
B02 Merchandise
Analysis
CopyWriter's
Workspace
BMP - Bus
performance Mngt
EDI
Coordinator
Merch Mngr Approval
Batch Forcasting
Ad Measurement
AIMS Admin
Ad
Launcher
AIMS
Journal Entry Tool Kit
A05 - AP
Cellular
Rollover
AIMS
Reporting
S05 - House
Charges
Optika
PSP
C02 - Capital
Projects
Data Warehouse
(Interfaces to and from the
Data Warehouse are not
displayed on this diagram)
Connect 3
ICMS Credit
SiteSeer
In-Home
Repair
Warranty
Billing
System
OTHER AP PS - PC
AP - Collections/Credit
TM - Credit Card DB
US Bank Recon
File
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 Withdrawl
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 Reconcil
Display Inventory Reporting
INVENTORY CONTROL APPS - PC
DPI/CPI
IC Batching
Inventory Adj/Count Correct
Inventory Control Reports
Inventory Levels
Inventory Roll
Merchandise Withdrawl
Open Receivings
PI Count Results
PI Time Results from Inv
Price Protection
Sales Flash Reporting
Shrink Reporting
S KU Gross Margin
SKU Shrink Level Detail
USM
VCB Downloads
ACCTS REC APPS - P C
990COR
Bad Debt
Benefical Fees
Beneficial Reconcil
JEAXF
JEBFA
JEBKA
JEDVA
JE SOA
JEVSA
JEVSF
NSF
TeleCredit Fees
Prepared by Michelle Mills
RESULT Greater
Business Responsiveness
Actual application architecture for consumer electronics
company
6
2010-05-04
© 2007 IBM Corporation
SOA (Service Oriented Architecture)
Align with Business processes to respond faster to
Business needs
Composing new applications by combining Services
SOA Levels
Service Enablement
- Transform
existing applications to services
Service Integration –Align with
business, abstract integration layer, look
into ESB
Process Integration – Composite
applications with process choreography
and service aggregation
7
2010-05-04
© 2007 IBM Corporation
CICS: Designed for mixed transformation and workload styles
Key Benefits
Standards based integration
enables:
CICS TS
Web services
Programmatic integration with
minimal change to existing
applications
J2EE App Server
Web services
J2C
Browser
Servlet
EJB
High Qualities of Service (QoS)
Integration
logic
Business
logic
Data
access
Broader range of tooling options
WebSphere MQ
System managed business workflow
TCP/IP Sockets
Technology Characteristics
The scope of the application solution is limited by the capabilities of the
connector
This may not satisfy the business drivers
8
2010-05-04
© 2007 IBM Corporation
CICS Application Architecture
CICS TS
Transaction
3270
or
Client
HTML
Presentation
P
Integration
logic
Business
logic
Data
access
I
B
D
Best practice in CICS application design is to separate key elements of
the application, in particular:
– Presentation logic
eg. - 3270, HTML, XML
– Integration or aggregation logic
- Menu, router, tooling
– Business logic
- Reusable component
– Data access logic
- VSAM, DB2, IMS, …
Provides a framework for reuse and facilitates separation of concerns,
clear interfaces, ownership, and optimization
Allows callable business logic – parameters passed via COMMAREA
9
2010-05-04
© 2007 IBM Corporation
3270 Based Program Reuse
CICS TS
Transaction
3270 terminal
Client
P I/B
D
Link3270 Bridge
Some programs combine presentation, integration, and business logic
Service Flow Modeler (SFM) and Link3270 Bridge provide a callable,
COMMAREA interface to many BMS and terminal-oriented programs
– Information in the COMMAREA is passed to the BMS application
– Does not use VTAM or screen scraping
– No changes required to existing BMS application
10
2010-05-04
© 2007 IBM Corporation
Service Flow Modeler
Tool is part of WDz
Can graphically choreograph
3270 transactions and/or
COMMAREA based programs
into callable COMMAREA
programs
Can generate artifacts
necessary to expose the
choreography as a Web
Service in CICS
Extreme productivity
11
2010-05-04
© 2007 IBM Corporation
Connectivity to CICS
CICS TS
Transaction
3270 terminal
P
Client
A
I
B
D
A
Typical clients…
– Web service requester
– Java servlet or EJB running in a J2EE app
server
– C# application running in a Microsoft .NET
VM
– Web browser
– Messaging middleware
12
Transforming technologies…
– External connectors
A– Internal adapters (user written
or generated by tools)
– Standard IP-based protocol
2010-05-04
© 2007 IBM Corporation
Models for SOA Integration of CICS Applications
Service end-point in CICS
– Utilizing Web Services support in CICS
– SOAP over HTTP or SOAP over MQ/JMS
Service end-point in intermediary system
– Multiple choices for intermediary system
• WebSphere Application Server
• WebSphere Message Broker
• WebSphere Process Server
– Utilizing strategic connectors between front-end and CICS
13
2010-05-04
© 2007 IBM Corporation
The Two CICS Models of SOA Integration
Other/Any
CICS TS (Service Provider)
Business Function
Web
Service
Client
Other/Any
CICS
Web
Services
support
Integration
logic
Business
logic
Data
access
I
B
D
Intermediary
CICS TS
CICS Program
Web
Service
Client
14
Web
services
end-point
connector
A
Business
logic
B
2010-05-04
© 2007 IBM Corporation
Strategic Connectors
Standard architectures provide comprehensive development tools and
runtime support in CICS
1 Web services over SOAP (Simple Object Access Protocol)
2 J2C (J2EE Connector Architecture)
Standard transports are suitable for use by applications that require
greater control of the protocol and do not need the development tools or
qualities of service provided by the standard architectures. These
applications will assume more responsibility for systems management,
security, and recovery
3 HTTP (HyperText Transfer Protocol)
4 WebSphere MQ (MQ APIs or JMS - Java Messaging Service)
5 TCP/IP sockets
15
2010-05-04
© 2007 IBM Corporation
Connecting to CICS – CICS as the server/provider
CICS TS
A
1
WAS z/OS V7
Web services
J2C
2
I
Client
16
WOLA
3
HTTP
4
WMQ
5
Sockets
6
2010-05-04
B
D
© 2007 IBM Corporation
Connecting from CICS – CICS as client/requester
CICS TS
A
1
WAS z/OS v7
Web service
B
17
2
WOLA
3
HTTP
4
WMQ
5
Sockets
Service
2010-05-04
© 2007 IBM Corporation
Factors Influencing your Integration Choices
Business factors
– Agreed company standard or reference frameworks
– Preferred application development environment and tools
– Availability of skills
Technical factors
– Security
– Transactional scope
– Performance
– Reliability, availability and scalability (RAS)
– Application interface consumability
– Synchronous or asynchronous invocation
– Inbound and outbound capability
– Client/server coupling
– Data conversion
– State management
Applications today are typically delivered across several e-business clients
18
2010-05-04
© 2007 IBM Corporation
CICS Web Services Support
Other/Any
CICS TS (Service Provider)
Business Function
Web
Service
Client
Other/Any
CICS
Web
Services
support
Pipeline
Integration
logic
Business
logic
Data
access
I
B
D
Intermediary
CICS TS
CICS Program
Web
Service
Client
19
Web
services
end-point
SOAP/XML
Pipeline
Business
logic
B
2010-05-04
© 2007 IBM Corporation
Web Service Capability
Capabilities
–
–
–
–
Synchronous when over HTTP
Asynchronous when over WebSphere MQ
Inbound and outbound
Flexible configuration using enhanced
System Management
• Multiple protocol configurations per server
• Ease of use for header handlers
Security to zSeries
– Web services security (WS-Security)
– Transport level security
Interface
– Language structure (COBOL, C, C++, PL/I)
in a COMMAREA
– Web services body message (XML) in a
CONTAINER
– XML transformation performed on zSeries
Coupling
– Loose coupling and interoperability are
inherent in a service-oriented architecture
(SOA) and make it a natural choice for many
enterprise applications
• Basic Authentication and SSL when over HTTP Tools
• User ID and password when over WebSphere
– Tool enhancements (some CICS TS, some
MQ
Transactional scope
– Web services distributed transactions (WSAtomicTransaction)
– CICS local transaction
20
–
–
–
–
Rational Developer for System z)
Multiple anguage support (CICS TS)
Flexible COMMAREA mapping (RDz)
Batch converter generation
CICS TS Assistant will merge with Rational
Developer for zSeries
2010-05-04
© 2007 IBM Corporation
WAS=WebSphere Application Server
J2EE Connector Architecture via CICS TG
WAS
CICS TG
Servlet, JSP, J
2
EJB
C
Applet, Any
Java Pgm
J
2
C
CICS TS
CICS Program
CICS
Transaction
Gateway
Business
logic
B
Many Languages,
Many Platforms
Other/Any
WAS
CICS TG
CICS TS
CICS Program
Web
Service
Client
21
WebSphere
Application J
Server Web 2
C
Service
Support
CICS
Transaction
Gateway
Business
logic
B
2010-05-04
© 2007 IBM Corporation
CICS Transaction Gateway
Capabilities
–
–
–
–
Enabler for J2C (J2EE Connector Architecture)
Synchronous
Inbound
32K COMMAREA Limit prior to CICS TG 7.1 and
CICS TS 3.2
– CICS TG daemon runs on many platforms
– Highly optimized, very fast
Interface
–
–
–
–
–
J2C & Java (CICS TG daemon)
Other languages (direct to CICS)
COMMAREA-like interface
Containers supported in CICS TG 7.1
ASCII to EBCDIC performed on client or in
CICS (zSeries)
Coupling
Security to zSeries
– SSL to CICS TG daemon
– Userid and trusted relationship from CICS TG
daemon to CICS TS
– Medium coupling, programs on both sides
need to know data layout. Layout not
described via industry standard
Tools
Transactional scope
– 2-PC (XAResource) when CICS TG daemon on
z/OS
– 2-PC (last participant support with WAS V6)
– 1-PC when CICS TG daemon on a distributed
platform
22
– Can generate J2C capable object to use
the CICS TG from Rational Application
Developer (RAD), WebSphere Integration
Developer (WID) or Rational Developer for
System z (RDz)
2010-05-04
© 2007 IBM Corporation
WebSphere MQ
e-business client
WMQ
CICS TS
A
(JMS)
WebSphere MQ trigger monitor
WebSphere MQ
MQ API
Message adapter
Other/Any
WAS
B
WMQ
D
CICS TS
CICS Program
Web
Service
Client
23
WebSphere
Application J
Server Web M
Service
S
Support
A
Business
logic
B
2010-05-04
© 2007 IBM Corporation
WebSphere MQ
Capabilities
–
–
–
–
–
Asynchronous
Assured Delivery
Inbound and outbound
Flexible configuration
Large message sizes
Interface
–
–
–
–
JMS
MQ API
COMMAREA when used with DPL Bridge
Web Service
Coupling
Security to zSeries
– Userid / password as specified in the queue
definition
– SSL
– Medium coupling, Both sides need to know
message format
Tools
– WID can generate
Transactional scope
– Unit-of-work includes GET and PUT
24
2010-05-04
© 2007 IBM Corporation
HTTP (aka CICS Web Support)
CICS TS
Web
Browser
HTTP
Application
Other/Any
Business Function with Browser Interface
CICS
HTTP
Listener
support
Interface
logic
Business
logic
Data
access
I
B
D
WAS
CICS TS
CICS Program
Web
Service
Client
25
WebSphere
Application
Server Web
Service
Support
H
T
T
P
A
Business
logic
B
2010-05-04
© 2007 IBM Corporation
HTTP
Capabilities
–
–
–
–
–
–
Synchronous
Inbound and outbound
HTTP 1.0
Conditionally compliant with HTTP 1.1
Allows Interaction with Web browser
Uses z/OS conversion services
Interface
–
–
–
–
–
CICS WEB API
CICS DOCUMENT API
HTTP 1.0 and 1.1
Chunking, Pipelining
New URIMAP Definition
Coupling
Security to zSeries
– Basic Authentication
– SSL
– Medium coupling, both sides need to
know message layout. Layout not
documented with WSDL.
Tools
Transactional scope
– Local CICS Transaction
– Many tools to design Web pages,
graphics, CSS, JavaScript, etc. including
• Rational Application Developer
• WebSphere Integration Developer
• Rational Developer for System z
26
2010-05-04
© 2007 IBM Corporation
TCP/IP Sockets
e-business client
CICS TS
TCP/IP
A
CICS Sockets listener
Child server
Message adapter
Other/Any
B
WAS
D
CICS TS
CICS Program
Web
Service
Client
27
WebSphere
Application
Server Web
Service
Support
S
O
C
K
E
T
S
A
Business
logic
B
2010-05-04
© 2007 IBM Corporation
TCP/IP Sockets
Capabilities
–
–
–
–
Synchronous, possibly Asynchronous
Inbound and outbound
Flexible Programming model
Code your own listener and dispatcher
Interface
– CICS Sockets API (variant of Berkeley
Software Distribution 4.3 Sockets)
– Flexible – do anything you can program
– You handle conversion when required
Coupling
Security to zSeries
– Userid / password
– SSL
– Very tight coupling – low-level API required
on both sides, although various languages
can be used
Tools
Transactional scope
– Local CICS Transaction
28
– Some tools exist depending on chosen
language
• IDE coding assistance
• No tools to generate code
CICS Sockets provides a completely programmable solution where
other access options are not suitable
2010-05-04
© 2007 IBM Corporation
CICS Interoperability Summary
Standard architecture
Capabilities
Security to zSeries
Transactional scope
Interface
Coupling
1. Web Services
Synchronous (HTTP)
User ID + password
CONTAINER
Loose
Asynchronous
(WebSphere MQ)
SSL
Local CICS
transaction
Global transaction
COMMAREA
XML
Inbound and outbound
2. J2C
Inbound only
User ID + password
Local transaction
Synchronous and Async
Thread identity
Global transaction
COMMAREA
Medium
WebSphere MQ
API or
Medium
SSL
Standard transport
4. WebSphere MQ
Inbound and outbound
User ID + password
Asynchronous
SSL
CICS transaction
COMMAREA
Assured delivery
5. HTTP
6. TCP/IP sockets
Inbound and outbound
User ID + password
Synchronous
SSL
Inbound and outbound
User ID + password
CICS transaction
CICS WEB API
Medium
CICS transaction
CICS sockets API
Tight
Synchronous and Async
29
2010-05-04
© 2007 IBM Corporation
WebSphere Message Broker
z/OS or
distributed
Other/Any
CICS TS
CICS Program
Web Service
Client
Files
WebSphere MQ
Many, Many
WebSphere
Message
Broker
Web Service
CICS Adapter
Business
logic
WebSphere MQ
B
Accepts most any input format
Delivers most any output format
Provides transformation services
Provides choreography services
Visual development environment
30
2010-05-04
© 2007 IBM Corporation
WebSphere Process Server
Visual
Composition
Editor
Staff Support
CICS TS (Service Provider)
Business Function
CICS
Web
Services
support
Integration
logic
Business
logic
Data
access
I
B
D
Process Choreography
31
2010-05-04
© 2007 IBM Corporation
Summary
CICS Strategic Interoperability
Options
– Where and when to use
– Service Granularity
– Tight vs. Loose Coupling
– Where to expose your services
– Where to process XML
– Security and Transactionality
Other SOA Enablers
32
2010-05-04
© 2007 IBM Corporation
SG24-5466-05
33
2010-05-04
© 2007 IBM Corporation
SG24-5456-01
34
2010-05-04
© 2007 IBM Corporation
Fly UP