SlideShare a Scribd company logo
© 2014 IBM Corporation
Best practices for CICS SOA
Connectivity
Ezriel Gross
Circle Software
Matthew Webster
IBM
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change
or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a
commitment, promise, or legal obligation to deliver any material, code or
functionality. Information about potential future products may not be incorporated
into any contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
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 results
similar to those stated here.
2
Abstract
CICS provides a rich set of connectivity options for SOA integration
including CICS web services, JCA and CICS sockets. The best
choice will depend on your application architecture, existing
middleware environment and required transport protocols. Other
considerations include development languages, client server
coupling and whether requests are to be synchronous or
asynchronous. This session will outline the key SOA deployment
scenarios used by customers today and the best practice choice of
technology in each case. Also covered will be references to
supporting material including redbooks and articles.
This session will also cover recent enhancements to CICS web
services. Data mapping for SOAP and JSON now supports UTF-16
data types, as well as additional COBOL data clauses. Also CICS
web services definitions can now be managed through CICS
bundles and deployed as part of a cloud workload.
3
Outline
Preparing for SOA
SOA Connectivity Options
Enhancements in CICS TS 5.2 and CICS TG V9.1 open beta
4
Choice factors
Application interface
• Operations, input/output messages, message formats, message
exchange patterns and transport protocols
Client/server coupling
• Tightly or loosely coupled?
Synchronous or asynchronous invocation
• Request/reply or event-based?
Application development tools
• Depends on preference or what you already have
Security
• Does choice support your security requirements?
Transactional scope
• 2PC or not 2PC (that is not the only question!)
High availability and scalability
• Who doesn’t want high availability and scalability?
5
SOA Connectivity Options
1. Web services over SOAP
2. JCA – CICS TG or WOLA
3. CICS Web Support
4. Messaging
5. CICS sockets
6
Preparing for SOA
7
CICS essential design concepts
Pseudo-conversational programming
Communication area: COMMAREA, Channels & Containers
Program-to-program communication
8
Problems with raw data communication
Data must be accessed using its relative position
Modifications to fields require application changes
Addition of new fields affect all existing users
Data requires a separate document to describe fields
Data is not portable therefore platform dependent
9
Introduction to XML
Extensible Markup Language (XML), is owned by the World
Wide Web Consortium (W3C).
XML is an open standard protocol that provides a mechanism to
create and define a meta-language that can be used to structure
information.
XML is extensible in that there are no pre-defined tags, as in
HTML. Each set of users defines tags that have meaning to
them and their peers, such as within a business, across an
industry, or across multiple industries.
XML is used to create new Internet languages.
10
Two models of CICS SOA integration
CICS TS
Web
service
Client
CICS Program
Business
logic
B
Requester
connector
Web
services
end-point
Service Provider
D
Integration
logic
I
A
SOAP
CICS TS
Web
service
Client
CICS
Web
services
support
Integration
logic
Data
access
Business Function
DI
Business
logic
B
Requester (Service Provider)
SOAP
A
CICS Web Services
CICS Transaction Gateway
11
CICS Web Services
12
Exposing CICS application as Web service
Direct service call approach
Web Services Clients (examples):
• WebSphere BPEL process (Process Choreography)
• WebSphere Datapower
• .NET assembly
• WebSphere MQ client
• Another program in CICS (invoke Web service)
• Anything that can invoke a Web Service !
CICS TS
Web
service
Client
CICS
Web
services
support
Integration
logic
Data
access
Business Function
DI
Business
logic
B
Requester (Service Provider)
SOAP
A
CICS Web Services Considerations
Inbound and outbound
Loosely coupled
Synchronous
HTTP (and MQ)
CICS configuration required
Native & Java Pipelines
14
Standard architecture – Web services
With CICS TS V3.x a CICS application can be Web service provider or consumer
• HTTP or MQ transport
Development using CICS supplied utilities or Rational Developer for System z (RDz)
• Used to generate the data mapping
Runtime
• SOAP envelope removed by a message handler in the Web services pipeline
• COMMAREA or container built by “data mapper”
EXEC CICS INVOKE WEBSERVICE|SERVICE API for outbound support
Client
A
CICS Web support
WebSphere MQ Trigger Monitor
Pipeline
CICS or custom data mapping
CICS TS
SOAP
DB
Proxy
15
Web service resource interrelationships
16
CICS web services overview
Web services terms and concepts available in CICS TS
Web services architecture:
• Service provider
• Service requestor
• Service registry
WSDL
SOAP messages
Message handlers and pipelines
PIPELINE and WEBSERVICE resource definitions
17
Bottom up – Start with a language
structure and convert it into a form
usable as a CICS web service
Approach to web services development (1 of 2)
Top down – Start with a WSDL
document and convert it into a form
usable as a CICS web service.
Web service
requester
Web service
provider
CICS as provider CICS as requesterCICS
Bottom
up
Top
down
WSDL
Language
structures
Provider – means that
CICS is the host of the
web service which is
being invoked from
elsewhere.
Requester – means
that CICS is the user
of a web service
provided elsewhere
Approach to web services development (2 of 2)
Existing
business application
(COBOL, C, C++, PLI)
New service: WSDL
New business application
(COBOL, C, C++, PLI)
Existing service
description WSDL
Existing service
description WSDL
Existing
business application
(COBOL, C, C++, PLI)
Bottom-up Top-down Meet in the middle
Generate Generate Map
and
Generate
Rational Developer for System z
Web Services and XML development
• Offers the ability to create, view, edit and validate WSDL,
document-type definitions (DTD) and XML schemas, transforms
XML documents into text, HTML, or other XML document types.
• Integrates relational databases and XML.
• Generates COBOL adapters and CICS TS V3 WSBind and
COBOL artifacts for converting between Web Service Definition
Language.
The CICS service flow feature provides components that extend CICS
Transaction Server by providing adapters that exploit CICS interfaces
to invoke the CICS terminal-oriented transactions and COMMAREA
programs required by the web service generated from the service flow
project.
Client
SOAP/HTTP
WAS+CICS connector
CICS Web ServicesSOAP/HTTP
Security and Management for CICS Web services
DataPower
XI52
DataPower
XI52
CICS
CICSApplication
MQServer
CICS
Brdg
MQClient
COBOL/MQ
Client
SOAP/HTTP
DataPower provides Web service enablement
Using DataPower XI52
21
Summary: CICS Web Services
Web services in CICS builds on established CICS concepts and
technologies such as pseudo- conversational transactions and
program-to-program communication via COMMAREAs (or channels
and containers)
Web services introduce new concepts and technologies such as XML,
SOAP, and WSDL
Web services involve a combination of CICS resource definitions
(PIPELINE, WEBSERVICE, URIMAP)
CICS TS provides utilities for converting existing CICS applications
into web services
IBM provides other tools to help develop web services
22
CICS Transaction Gateway
23
Exposing CICS applications as Web service
Connector approach
CICS TS
Web
Service
Client
CICS Program
Business
logic
B
Other/Any
CICS
Transaction
Gateway
CICS TG
WebSphere
Application
Server Web
Service
Support
JEE Server
J
C
A
D
CICS Transaction Gateway JCA (J2EE Connector Architecture) Resource Adapter
• Different topologies and transports are supported
Development using Rational Application Developer (RAD)
• Used to generate J2C bean and records
Runtime
• ECI (External Call Interface) used for calling COMMAREA or container based programs
• J2C bean performs data conversion and formatting
•
CICS TG V7.2 supports direct .NET connectivity with ECI V2
CICS TG V8.0 provides Open Integration with any JEE Server compliant with J2EE V1.4 or higher
A
CICS TG Considerations
Inbound only
Tightly coupled
Synchronous
Private protocols
Little CICS configuration required
Java (SE & EE), C, .Net
25
J2EE Connector Architecture (JCA)
JEE Server
(e.g WebSphere Application Server)
Application
Component
(e.g EJB)
Resource Adapter
(e.g CICS ECI resource
adapter)
Enterprise Information
System (e.g CICS)
System Contracts
Container-Component
Contract
Common Client
Interface (CCI)
EIS Specific
Interface
ConnectionFactory cf =<JNDI lookup>
Connection connection =cf.getConnection();
Interaction interaction
=connection.createInteraction();
interaction.execute(<input and output data>);
interaction.close();
connection.close();
Resource adapters provided by CICS TG
 ECI (cicseci.rar)
 EPI (cicsepi.rar)
Connection
Management
Transaction
Management
Security
Management
26
CICS Transaction Gateway Topologies
Whitepaper: Integrating WebSphere Application Server and
CICS using the CICS Transaction Gateway
http://www.ibm.com/software/htp/cics/ctg/zos/
CICS
Network
HTML
WebSphere
Application Server
and CICS TG
on System z
WebSphere
Application Server
and CICS TG on a
distributed platform
WebSphere
Application Server
on a distributed
platform
CICS TG
z/OS
Topology 1
Topology 3
Topology 2
System z
Service
Consumer SOAP
27
CICS
S
Y
S
T
E
M
z
L
P
A
R
L
P
A
R
CICS
CICS
TG z/OS
L
P
A
R
L
P
A
R
CICS
CTG
CTG
WAS
WAS
WAS
CICSWAS
W
O
L
A
WOL
A
Network
JCA Topologies – CTG and WOLA
HTML
Service
Consumer
SOAP




28
MQ, HTTP, CICS sockets
29
CICS messaging support
Web
Service
Client
Other/Any
WebSphere
Application
Server Web
Service
Support
WAS
J
M
S
A
WebSphere MQ
Trigger Monitor
CICS MQ Bridge
CICS TS
DB
MQ Trigger Monitor
• Starts CICS program that reads the message queue
• Program can be MQ-aware or COMMAREA-based program
CICS MQ Bridge
• Transfers the message to the unchanged CICS business logic.
• Transfers the output message to the Reply_To_Queue
Inbound and outbound
Medium coupling
Asynchronous, with almost-synchronous capabilities
Assured delivery
HTTP / Atom / REST
Inbound and outbound
Medium coupling
Synchronous
Medium QoS
31
CICS Sockets
Inbound and outbound
Very tight coupling
Synchronous
Limited QoS
Use only when remote client/server only supports TCP/IP sockets
communication.
32
Enhancements in CICS TS 5.2 and
CICS TG V9.1 open beta
33
New in CICS TS V5.2
Easier Interaction with Mobile Devices & Gateways
• Integration of CICS TS Feature Pack for Mobile Extensions
JAX-WS and JAXB support in Liberty profile
COBOL Data mapping enhancements
• Arrays of characters are mapped as Strings
• OCCURS DEPENDING ON and OCCURS INDEXED BY
supported in COBOL
CICS Explorer and cloud support for web services
• WEBSERVICE definition
• PIPELINE configuration
34
Easier Interaction with Mobile Devices & Gateways
JSON RESTful web service scenarios
JSON request/response web service scenarios
• Web services assistant programs
• Linkable interface
– Equivalent to EXEC CICS XMLTRANSFORM allows application
programs to process JSON data
Support for Liberty profile JAX-RS and JSON features
35
New in CICS TG V9.1 open beta
Mobile support
• JSON web services
IPIC enhancements
• heartbeat exploitation
• connections managed independently of Gateway lifecycle
Security enhancements
• compliance with NIST SP800-131A
• SSL for .NET applications
36
37
CICS TG for z/OS V9.1 open beta - JSON Web
Services
Technology aligned with
z/OS Connect
Summary
Preparing for SOA
SOA Connectivity Options
Enhancements in CICS TS 5.2 and CICS TG V9.1 open beta
38
More Information
Redbook/Whitepaper Title Publication N° Last Update
Architecting Access to CICS within an SOA SG24-5466-06 March 2012
Options for Integrating CICS applications in an SOA
WSW11339-USEN-00 Sept 2007
Implementing CICS Web Services SG24-7657-00 Nov 2008
Application Development for CICS Web Services SG24-7126-00 May 2006
Securing Access to CICS Within an SOA SG24-5756-01 Dec 2006
Securing CICS Web Services SG24-7658-00 Dec 2008
WebSphere for z/OS to CICS and IMS Connectivity Performance REDP-3959-00 May 2006
CICS Web Services Performance SG24-7687-00 2009
Deploying CICS Web services to preserve IT investments in the Banking Industry WSW14002-USEN-00 Dec 2007
Integrating WebSphere Application Server and CICS using the CTG WSW14013-USEN-00 March 2008
CICS Transaction Gateway for z/OS V6.1 SG24-7161-00 May 2006
Developing Connector Applications for CICS SG24-7714-00 Arpil 2009
Increase the value of CICS applications with WebSphere MQ WSW14006-USEN-01 Feb 2008
WebSphere MQ for z/OS Highly Available System Design SupportPac MD17 Jan 2006
Questions?
We Value Your Feedback
Don’t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us – we use it to
continually improve the conference.
Use the Conference Mobile App or the online Agenda Builder to
quickly submit your survey
• Navigate to “Surveys” to see a view of surveys for sessions
you’ve attended
41
Legal Disclaimer
• © IBM Corporation 2014. All Rights Reserved.
• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained
in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are
subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing
contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and
conditions of the applicable license agreement governing the use of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or
capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to
future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you
will result in any specific sales, revenue growth or other results.
• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will
experience will vary depending upon many factors, including 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 results similar to those stated here.
• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs
and performance characteristics may vary by customer.
• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM
Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server).
Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your
presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in
your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International
Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:
Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.
• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:
UNIX is a registered trademark of The Open Group in the United States and other countries.
• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of
others.
• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta
Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration
purposes only.
42

More Related Content

PPTX
Lecture 16 - Web Services
phanleson
 
PDF
Understanding Web services
Fabricio Epaminondas
 
PPTX
InterConnect 2015 session 2825 cics_and_the_new soa
nick_garrod
 
PPT
Service Oriented Architecture
gulimran
 
PPT
Cics Integration Approaches
nag.g
 
PDF
Concepts and Derivatives of Web Services
IOSR Journals
 
PPTX
CICS Transaction Gateway V9.1 Overview
Robert Jones
 
Lecture 16 - Web Services
phanleson
 
Understanding Web services
Fabricio Epaminondas
 
InterConnect 2015 session 2825 cics_and_the_new soa
nick_garrod
 
Service Oriented Architecture
gulimran
 
Cics Integration Approaches
nag.g
 
Concepts and Derivatives of Web Services
IOSR Journals
 
CICS Transaction Gateway V9.1 Overview
Robert Jones
 

What's hot (20)

PPTX
Cloud computing by Luqman
Luqman Shareef
 
PPT
Building Enterprise Interoperability Applications Using Microsoft
webhostingguy
 
PPTX
Web services
Akshay Ballarpure
 
PPT
Web final
Jinalkakadiya
 
PPT
Cics Web 2.0 With Atom Feeds And Php
CICS ROADSHOW
 
ODP
S111 cics connectivity in devops
nick_garrod
 
PDF
Service Oriented Architecture & Beyond
Imesh Gunaratne
 
PPTX
Introduction to BizTalk Server 2010
Sandro Pereira
 
PPTX
SOA - From Webservices to APIs
Holger Reinhardt
 
PPTX
Biztalk Server 2010: Introdução
Comunidade NetPonto
 
PDF
Service-Oriented Architecture (SOA)
WSO2
 
PPTX
Service Oriented Architecture
Luqman Shareef
 
PPTX
Service oriented architecture
Amit Ranjan
 
PDF
Web services
Peter R. Egli
 
PDF
Secc tutorials development and deployment of rest web services in java_v2.0
Aravindharamanan S
 
DOCX
Web services
Diwakar Babu
 
PPTX
Cutting Cost with BizTalk Server
Sudhir Hasbe
 
PPT
Service Oriented Architecture
Prabhat gangwar
 
PPTX
Concept of SOA
Sylvain Witmeyer
 
PPT
Web services and SOA
Subin Sugunan
 
Cloud computing by Luqman
Luqman Shareef
 
Building Enterprise Interoperability Applications Using Microsoft
webhostingguy
 
Web services
Akshay Ballarpure
 
Web final
Jinalkakadiya
 
Cics Web 2.0 With Atom Feeds And Php
CICS ROADSHOW
 
S111 cics connectivity in devops
nick_garrod
 
Service Oriented Architecture & Beyond
Imesh Gunaratne
 
Introduction to BizTalk Server 2010
Sandro Pereira
 
SOA - From Webservices to APIs
Holger Reinhardt
 
Biztalk Server 2010: Introdução
Comunidade NetPonto
 
Service-Oriented Architecture (SOA)
WSO2
 
Service Oriented Architecture
Luqman Shareef
 
Service oriented architecture
Amit Ranjan
 
Web services
Peter R. Egli
 
Secc tutorials development and deployment of rest web services in java_v2.0
Aravindharamanan S
 
Web services
Diwakar Babu
 
Cutting Cost with BizTalk Server
Sudhir Hasbe
 
Service Oriented Architecture
Prabhat gangwar
 
Concept of SOA
Sylvain Witmeyer
 
Web services and SOA
Subin Sugunan
 
Ad

Viewers also liked (18)

PPTX
InterConnect session 2819 1_billion_smart Phones
nick_garrod
 
PPT
SHARE 2014, Pittsburgh Using policies to manage critical cics resources
nick_garrod
 
PDF
Hbcl4203
kuok kuoklin
 
PPTX
S104 twist and cloud
nick_garrod
 
PPT
Фантастические композиции С. Дали. К 110-летию испанского живописца Сальвад...
Biblioteka-22
 
PPTX
Facebook - The Social Network
geersb
 
PDF
Session 4708 - Omegamon for CICS customer experience at Garanti Technology
nick_garrod
 
PPT
SHARE 2014 Pittsburgh, Modernizing cics for cloud
nick_garrod
 
DOCX
看图写话
kuok kuoklin
 
PPT
IBM Impact session Ed addison nuts and bolts ws
nick_garrod
 
PDF
4236 What Skills Issue? From the perspective of a Generation z CICS customer
nick_garrod
 
PDF
Scala.js - yet another what..?
Artur Skowroński
 
ODP
SHARE 2014, Pittsburgh CICS Connectivity amd Networking
nick_garrod
 
ODP
SHARE 2014, Pittsburgh CICS and Liberty applications
nick_garrod
 
ODP
2829 liberty
nick_garrod
 
PPT
Naturales.
blancadiaz0101
 
PPTX
Tarea d4e ingles
SSSHHHARRRHHHA
 
PDF
Oumh1303 (1)
kuok kuoklin
 
InterConnect session 2819 1_billion_smart Phones
nick_garrod
 
SHARE 2014, Pittsburgh Using policies to manage critical cics resources
nick_garrod
 
Hbcl4203
kuok kuoklin
 
S104 twist and cloud
nick_garrod
 
Фантастические композиции С. Дали. К 110-летию испанского живописца Сальвад...
Biblioteka-22
 
Facebook - The Social Network
geersb
 
Session 4708 - Omegamon for CICS customer experience at Garanti Technology
nick_garrod
 
SHARE 2014 Pittsburgh, Modernizing cics for cloud
nick_garrod
 
看图写话
kuok kuoklin
 
IBM Impact session Ed addison nuts and bolts ws
nick_garrod
 
4236 What Skills Issue? From the perspective of a Generation z CICS customer
nick_garrod
 
Scala.js - yet another what..?
Artur Skowroński
 
SHARE 2014, Pittsburgh CICS Connectivity amd Networking
nick_garrod
 
SHARE 2014, Pittsburgh CICS and Liberty applications
nick_garrod
 
2829 liberty
nick_garrod
 
Naturales.
blancadiaz0101
 
Tarea d4e ingles
SSSHHHARRRHHHA
 
Oumh1303 (1)
kuok kuoklin
 
Ad

Similar to Impact 2014 Best practices for_cics_soa_co (20)

PPT
Cics Connectivity
CICS ROADSHOW
 
PPT
Cics Ts 4.1 Technical Overview
CICS ROADSHOW
 
PPTX
nptl cc video.pptx
MunmunSaha7
 
PDF
Week2 cloud computing week2
Ankit Gupta
 
PDF
Cpp In Soa
WSO2
 
PDF
ibm-zconnect-mule.pdf
LaLa788688
 
PPTX
SHARE 2015 SeattleShare cics ts 52 technical overview
nick_garrod
 
PDF
Powering the digital economy with CICS and z/OS connect - at the "z Systems...
DevOps for Enterprise Systems
 
PPT
Web services Tutorial /Websoles Strategic Digital Solutions
Ratnesh Pandey
 
PPT
Best Web services tutorial | Websoles Strategic Digital Solutions
Shubham Kumar Singh
 
PPT
Detailed information on webservice by websoles
NAVEEN KUMAR SHARMA
 
PPTX
Cs 1023 lec 14 webservice (week 4)
stanbridge
 
PPT
Websphere - overview and introduction
Vibrant Technologies & Computers
 
PPT
Ims soa tm and db solutions evgeni oct 2011
evgeni77
 
PDF
Understanding Web Services XML WSDL SOAP and UDDI 1st Edition Eric Newcomer
wilgensoljah54
 
ODP
S108 - 1 Billion Smartphones a year and counting – How is your CICS connected?
nick_garrod
 
PPT
Web Services Best Practices 072604.ppt
mercurial02
 
PPT
Web Services - Lectures and architecture.ppt
memonmukhtiar
 
PDF
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...
Nathaniel Palmer
 
Cics Connectivity
CICS ROADSHOW
 
Cics Ts 4.1 Technical Overview
CICS ROADSHOW
 
nptl cc video.pptx
MunmunSaha7
 
Week2 cloud computing week2
Ankit Gupta
 
Cpp In Soa
WSO2
 
ibm-zconnect-mule.pdf
LaLa788688
 
SHARE 2015 SeattleShare cics ts 52 technical overview
nick_garrod
 
Powering the digital economy with CICS and z/OS connect - at the "z Systems...
DevOps for Enterprise Systems
 
Web services Tutorial /Websoles Strategic Digital Solutions
Ratnesh Pandey
 
Best Web services tutorial | Websoles Strategic Digital Solutions
Shubham Kumar Singh
 
Detailed information on webservice by websoles
NAVEEN KUMAR SHARMA
 
Cs 1023 lec 14 webservice (week 4)
stanbridge
 
Websphere - overview and introduction
Vibrant Technologies & Computers
 
Ims soa tm and db solutions evgeni oct 2011
evgeni77
 
Understanding Web Services XML WSDL SOAP and UDDI 1st Edition Eric Newcomer
wilgensoljah54
 
S108 - 1 Billion Smartphones a year and counting – How is your CICS connected?
nick_garrod
 
Web Services Best Practices 072604.ppt
mercurial02
 
Web Services - Lectures and architecture.ppt
memonmukhtiar
 
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...
Nathaniel Palmer
 

More from nick_garrod (20)

PPTX
2844 inter connect cics policy (2844)
nick_garrod
 
PDF
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
nick_garrod
 
PDF
Enhanced cics cloud enablement and dev ops capabilities
nick_garrod
 
PDF
Api management customer
nick_garrod
 
PDF
Anz cics ts v5 technical update seminar intro (half day event)
nick_garrod
 
ODP
S110 gse - liberte egalite fraternite
nick_garrod
 
PPTX
S109 cics-java
nick_garrod
 
PPTX
S107 5 compelling reasons for using cics in the cloud
nick_garrod
 
PPTX
S106 using ibm urban code deploy to deliver your apps to cics
nick_garrod
 
PPT
S105 performance
nick_garrod
 
PPTX
S103 cics cloud and dev ops agility
nick_garrod
 
PPT
S102 cics the future is closer abridged
nick_garrod
 
PPTX
S101 cics what's in it for you
nick_garrod
 
PPT
Share seattle liberty
nick_garrod
 
PPT
Share seattle health_center
nick_garrod
 
PPT
SHARE Seattle 2015 Taming the Beast – Best Practices for zFS with CICS
nick_garrod
 
PPTX
Share seattle cics cloud
nick_garrod
 
PPTX
Share cics policy (2844)
nick_garrod
 
PPTX
Share multi versioning scenarios
nick_garrod
 
PPTX
16370 cics project opening and project update f
nick_garrod
 
2844 inter connect cics policy (2844)
nick_garrod
 
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
nick_garrod
 
Enhanced cics cloud enablement and dev ops capabilities
nick_garrod
 
Api management customer
nick_garrod
 
Anz cics ts v5 technical update seminar intro (half day event)
nick_garrod
 
S110 gse - liberte egalite fraternite
nick_garrod
 
S109 cics-java
nick_garrod
 
S107 5 compelling reasons for using cics in the cloud
nick_garrod
 
S106 using ibm urban code deploy to deliver your apps to cics
nick_garrod
 
S105 performance
nick_garrod
 
S103 cics cloud and dev ops agility
nick_garrod
 
S102 cics the future is closer abridged
nick_garrod
 
S101 cics what's in it for you
nick_garrod
 
Share seattle liberty
nick_garrod
 
Share seattle health_center
nick_garrod
 
SHARE Seattle 2015 Taming the Beast – Best Practices for zFS with CICS
nick_garrod
 
Share seattle cics cloud
nick_garrod
 
Share cics policy (2844)
nick_garrod
 
Share multi versioning scenarios
nick_garrod
 
16370 cics project opening and project update f
nick_garrod
 

Recently uploaded (20)

PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Doc9.....................................
SofiaCollazos
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
The Future of Artificial Intelligence (AI)
Mukul
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 

Impact 2014 Best practices for_cics_soa_co

  • 1. © 2014 IBM Corporation Best practices for CICS SOA Connectivity Ezriel Gross Circle Software Matthew Webster IBM
  • 2. Please Note IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including 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 results similar to those stated here. 2
  • 3. Abstract CICS provides a rich set of connectivity options for SOA integration including CICS web services, JCA and CICS sockets. The best choice will depend on your application architecture, existing middleware environment and required transport protocols. Other considerations include development languages, client server coupling and whether requests are to be synchronous or asynchronous. This session will outline the key SOA deployment scenarios used by customers today and the best practice choice of technology in each case. Also covered will be references to supporting material including redbooks and articles. This session will also cover recent enhancements to CICS web services. Data mapping for SOAP and JSON now supports UTF-16 data types, as well as additional COBOL data clauses. Also CICS web services definitions can now be managed through CICS bundles and deployed as part of a cloud workload. 3
  • 4. Outline Preparing for SOA SOA Connectivity Options Enhancements in CICS TS 5.2 and CICS TG V9.1 open beta 4
  • 5. Choice factors Application interface • Operations, input/output messages, message formats, message exchange patterns and transport protocols Client/server coupling • Tightly or loosely coupled? Synchronous or asynchronous invocation • Request/reply or event-based? Application development tools • Depends on preference or what you already have Security • Does choice support your security requirements? Transactional scope • 2PC or not 2PC (that is not the only question!) High availability and scalability • Who doesn’t want high availability and scalability? 5
  • 6. SOA Connectivity Options 1. Web services over SOAP 2. JCA – CICS TG or WOLA 3. CICS Web Support 4. Messaging 5. CICS sockets 6
  • 8. CICS essential design concepts Pseudo-conversational programming Communication area: COMMAREA, Channels & Containers Program-to-program communication 8
  • 9. Problems with raw data communication Data must be accessed using its relative position Modifications to fields require application changes Addition of new fields affect all existing users Data requires a separate document to describe fields Data is not portable therefore platform dependent 9
  • 10. Introduction to XML Extensible Markup Language (XML), is owned by the World Wide Web Consortium (W3C). XML is an open standard protocol that provides a mechanism to create and define a meta-language that can be used to structure information. XML is extensible in that there are no pre-defined tags, as in HTML. Each set of users defines tags that have meaning to them and their peers, such as within a business, across an industry, or across multiple industries. XML is used to create new Internet languages. 10
  • 11. Two models of CICS SOA integration CICS TS Web service Client CICS Program Business logic B Requester connector Web services end-point Service Provider D Integration logic I A SOAP CICS TS Web service Client CICS Web services support Integration logic Data access Business Function DI Business logic B Requester (Service Provider) SOAP A CICS Web Services CICS Transaction Gateway 11
  • 13. Exposing CICS application as Web service Direct service call approach Web Services Clients (examples): • WebSphere BPEL process (Process Choreography) • WebSphere Datapower • .NET assembly • WebSphere MQ client • Another program in CICS (invoke Web service) • Anything that can invoke a Web Service ! CICS TS Web service Client CICS Web services support Integration logic Data access Business Function DI Business logic B Requester (Service Provider) SOAP A
  • 14. CICS Web Services Considerations Inbound and outbound Loosely coupled Synchronous HTTP (and MQ) CICS configuration required Native & Java Pipelines 14
  • 15. Standard architecture – Web services With CICS TS V3.x a CICS application can be Web service provider or consumer • HTTP or MQ transport Development using CICS supplied utilities or Rational Developer for System z (RDz) • Used to generate the data mapping Runtime • SOAP envelope removed by a message handler in the Web services pipeline • COMMAREA or container built by “data mapper” EXEC CICS INVOKE WEBSERVICE|SERVICE API for outbound support Client A CICS Web support WebSphere MQ Trigger Monitor Pipeline CICS or custom data mapping CICS TS SOAP DB Proxy 15
  • 16. Web service resource interrelationships 16
  • 17. CICS web services overview Web services terms and concepts available in CICS TS Web services architecture: • Service provider • Service requestor • Service registry WSDL SOAP messages Message handlers and pipelines PIPELINE and WEBSERVICE resource definitions 17
  • 18. Bottom up – Start with a language structure and convert it into a form usable as a CICS web service Approach to web services development (1 of 2) Top down – Start with a WSDL document and convert it into a form usable as a CICS web service. Web service requester Web service provider CICS as provider CICS as requesterCICS Bottom up Top down WSDL Language structures Provider – means that CICS is the host of the web service which is being invoked from elsewhere. Requester – means that CICS is the user of a web service provided elsewhere
  • 19. Approach to web services development (2 of 2) Existing business application (COBOL, C, C++, PLI) New service: WSDL New business application (COBOL, C, C++, PLI) Existing service description WSDL Existing service description WSDL Existing business application (COBOL, C, C++, PLI) Bottom-up Top-down Meet in the middle Generate Generate Map and Generate
  • 20. Rational Developer for System z Web Services and XML development • Offers the ability to create, view, edit and validate WSDL, document-type definitions (DTD) and XML schemas, transforms XML documents into text, HTML, or other XML document types. • Integrates relational databases and XML. • Generates COBOL adapters and CICS TS V3 WSBind and COBOL artifacts for converting between Web Service Definition Language. The CICS service flow feature provides components that extend CICS Transaction Server by providing adapters that exploit CICS interfaces to invoke the CICS terminal-oriented transactions and COMMAREA programs required by the web service generated from the service flow project.
  • 21. Client SOAP/HTTP WAS+CICS connector CICS Web ServicesSOAP/HTTP Security and Management for CICS Web services DataPower XI52 DataPower XI52 CICS CICSApplication MQServer CICS Brdg MQClient COBOL/MQ Client SOAP/HTTP DataPower provides Web service enablement Using DataPower XI52 21
  • 22. Summary: CICS Web Services Web services in CICS builds on established CICS concepts and technologies such as pseudo- conversational transactions and program-to-program communication via COMMAREAs (or channels and containers) Web services introduce new concepts and technologies such as XML, SOAP, and WSDL Web services involve a combination of CICS resource definitions (PIPELINE, WEBSERVICE, URIMAP) CICS TS provides utilities for converting existing CICS applications into web services IBM provides other tools to help develop web services 22
  • 24. Exposing CICS applications as Web service Connector approach CICS TS Web Service Client CICS Program Business logic B Other/Any CICS Transaction Gateway CICS TG WebSphere Application Server Web Service Support JEE Server J C A D CICS Transaction Gateway JCA (J2EE Connector Architecture) Resource Adapter • Different topologies and transports are supported Development using Rational Application Developer (RAD) • Used to generate J2C bean and records Runtime • ECI (External Call Interface) used for calling COMMAREA or container based programs • J2C bean performs data conversion and formatting • CICS TG V7.2 supports direct .NET connectivity with ECI V2 CICS TG V8.0 provides Open Integration with any JEE Server compliant with J2EE V1.4 or higher A
  • 25. CICS TG Considerations Inbound only Tightly coupled Synchronous Private protocols Little CICS configuration required Java (SE & EE), C, .Net 25
  • 26. J2EE Connector Architecture (JCA) JEE Server (e.g WebSphere Application Server) Application Component (e.g EJB) Resource Adapter (e.g CICS ECI resource adapter) Enterprise Information System (e.g CICS) System Contracts Container-Component Contract Common Client Interface (CCI) EIS Specific Interface ConnectionFactory cf =<JNDI lookup> Connection connection =cf.getConnection(); Interaction interaction =connection.createInteraction(); interaction.execute(<input and output data>); interaction.close(); connection.close(); Resource adapters provided by CICS TG  ECI (cicseci.rar)  EPI (cicsepi.rar) Connection Management Transaction Management Security Management 26
  • 27. CICS Transaction Gateway Topologies Whitepaper: Integrating WebSphere Application Server and CICS using the CICS Transaction Gateway http://www.ibm.com/software/htp/cics/ctg/zos/ CICS Network HTML WebSphere Application Server and CICS TG on System z WebSphere Application Server and CICS TG on a distributed platform WebSphere Application Server on a distributed platform CICS TG z/OS Topology 1 Topology 3 Topology 2 System z Service Consumer SOAP 27
  • 29. MQ, HTTP, CICS sockets 29
  • 30. CICS messaging support Web Service Client Other/Any WebSphere Application Server Web Service Support WAS J M S A WebSphere MQ Trigger Monitor CICS MQ Bridge CICS TS DB MQ Trigger Monitor • Starts CICS program that reads the message queue • Program can be MQ-aware or COMMAREA-based program CICS MQ Bridge • Transfers the message to the unchanged CICS business logic. • Transfers the output message to the Reply_To_Queue Inbound and outbound Medium coupling Asynchronous, with almost-synchronous capabilities Assured delivery
  • 31. HTTP / Atom / REST Inbound and outbound Medium coupling Synchronous Medium QoS 31
  • 32. CICS Sockets Inbound and outbound Very tight coupling Synchronous Limited QoS Use only when remote client/server only supports TCP/IP sockets communication. 32
  • 33. Enhancements in CICS TS 5.2 and CICS TG V9.1 open beta 33
  • 34. New in CICS TS V5.2 Easier Interaction with Mobile Devices & Gateways • Integration of CICS TS Feature Pack for Mobile Extensions JAX-WS and JAXB support in Liberty profile COBOL Data mapping enhancements • Arrays of characters are mapped as Strings • OCCURS DEPENDING ON and OCCURS INDEXED BY supported in COBOL CICS Explorer and cloud support for web services • WEBSERVICE definition • PIPELINE configuration 34
  • 35. Easier Interaction with Mobile Devices & Gateways JSON RESTful web service scenarios JSON request/response web service scenarios • Web services assistant programs • Linkable interface – Equivalent to EXEC CICS XMLTRANSFORM allows application programs to process JSON data Support for Liberty profile JAX-RS and JSON features 35
  • 36. New in CICS TG V9.1 open beta Mobile support • JSON web services IPIC enhancements • heartbeat exploitation • connections managed independently of Gateway lifecycle Security enhancements • compliance with NIST SP800-131A • SSL for .NET applications 36
  • 37. 37 CICS TG for z/OS V9.1 open beta - JSON Web Services Technology aligned with z/OS Connect
  • 38. Summary Preparing for SOA SOA Connectivity Options Enhancements in CICS TS 5.2 and CICS TG V9.1 open beta 38
  • 39. More Information Redbook/Whitepaper Title Publication N° Last Update Architecting Access to CICS within an SOA SG24-5466-06 March 2012 Options for Integrating CICS applications in an SOA WSW11339-USEN-00 Sept 2007 Implementing CICS Web Services SG24-7657-00 Nov 2008 Application Development for CICS Web Services SG24-7126-00 May 2006 Securing Access to CICS Within an SOA SG24-5756-01 Dec 2006 Securing CICS Web Services SG24-7658-00 Dec 2008 WebSphere for z/OS to CICS and IMS Connectivity Performance REDP-3959-00 May 2006 CICS Web Services Performance SG24-7687-00 2009 Deploying CICS Web services to preserve IT investments in the Banking Industry WSW14002-USEN-00 Dec 2007 Integrating WebSphere Application Server and CICS using the CTG WSW14013-USEN-00 March 2008 CICS Transaction Gateway for z/OS V6.1 SG24-7161-00 May 2006 Developing Connector Applications for CICS SG24-7714-00 Arpil 2009 Increase the value of CICS applications with WebSphere MQ WSW14006-USEN-01 Feb 2008 WebSphere MQ for z/OS Highly Available System Design SupportPac MD17 Jan 2006
  • 41. We Value Your Feedback Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us – we use it to continually improve the conference. Use the Conference Mobile App or the online Agenda Builder to quickly submit your survey • Navigate to “Surveys” to see a view of surveys for sessions you’ve attended 41
  • 42. Legal Disclaimer • © IBM Corporation 2014. All Rights Reserved. • The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. • References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. • If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including 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 results similar to those stated here. • If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. • Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both. • If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. • If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. • If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. • If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. • If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: UNIX is a registered trademark of The Open Group in the United States and other countries. • If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. • If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only. 42

Editor's Notes

  • #7: I have grouped these options into two. First standard architectures and interfaces provide comprehensive options and support in CICS and tools. 1. SOAP (Simple Object Access Protocol) 2. JCA (J2EE Connector Architecture) 3. Java RMI (Remote Method Invocation) Second, standard transports are typically used for applications that require greater control of the protocol and as such use transport specific APIs and assume more responsibility for systems management and recovery. 4. JMS (Java Messaging Service) 5. HTTP (HyperText Transfer Protocol) 6. TCP/IP sockets The highlighted options are the ones that we focus on today.
  • #12: In this session we concentrate on the first approach which I refer to as the ‘connector approach’. The most commonly used connector is the CICS Transaction Gateway. In my next session, we will look more closely at the 2nd approach which is a direct Web service call to CICS. The choice of architectural approach is a key decision because it may affect the costs of developing e-business applications and their long term value. Business factors, such as the availability of skills, may be just as significant as technical factors influencing this decision. It’s important to recognize that there is no single right answer, just as there is no right programming language for all applications. Some technical factors to take into account include… Security Transactionality Performance and scalability This is an area in which the Design Centers can help you make decisions on what’s the best approach for you.
  • #16: The CICS Web services support enables CICS programs to be a SOAP Web service provider or service requester. Supports HTTP and MQ The definition of the SOAP service is defined in a WSDL (Web Services Definition Language) file. Typically tools are used to import the WSDL file and generate a proxy for the e-business client to use to construct and send the SOAP message. Concept of pipeline for processing SOAP message (see later) Adapter runs in CICS (SOAP/COMMAREA conversion) Normally generated Web services support is based on loose coupling Any Web service client i/f defined in WSDL Can change implementation without changing client (so long as messages/operations stay the same) If these change, open process for updating client, re-generate WSDL, recreate client proxy code But lacks the maturity and some of the QoS of JCA/CTG solution. But these are coming (see subsequent charts) Link: closer look at how it works
  • #22: The XI50z can be used in conjunction with CICS Web services to help secure the services and to offload expensive operations by processing the complex part of XML messages (such as an XML signature) at wirespeed. Note that this model works also with WebSphere based services, these then may connect to CICS using a connector such as the CICS Transaction Gateway. The XI50z can be used for Web service enablement. It can convert a SOAP message into a COBOL COMMAREA and send the binary format message to CICS over MQ. Both of these methods are being used by our customers today.
  • #23: RDz
  • #25: This slide is just a reminder that the Java architected way of accessing information from Java applications is using JCA, which for CICS means the CICS TG. Explain strengths of connector solution and using CIC STG. The CICS TG has been around for quite some time. Its roots go back to 1989, so the code is very stable and highly optimized. The CICS TG provides a method of accessing programs running under CICS from programs running outside CICS. These programs can be written in many different languages, and can be running on several different platforms. One of the most popular languages using the CICS TG to access programs running in CICS is Java. The Java architected way of accessing EISs (Enterprise Information Systems) is using a standard called the Java 2 Connector Architecture (commonly referred to as JCA or J2C). When using the JCA, you would normally have an Application Server such as WebSphere Application Server act as a Web Service provider and receive Web Services requests. The Application Server would then give the Web Services request to a program running the in the Application Server. The application program would take the information in the Web Service request and format the data for invocation of a CICS program via the CICS TG. When the data was return via the CICS TG, an application program would format the data into XML and the Application Server would return the response to the Web Service requester. Wizards are available in Rational Application Developer, WebSphere Integration Developer, and WebSphere Developer for zSeries to generate the objects that do any necessary conversion and data formatting before invoking the CICS program via the CICS TG. Additionally, these tools can also take the generated objects and expose them as Web Services. Due to this tool support, exposing a CICS program as a Web Service via the CICS TG requires little if any coding.
  • #27: Key points: Standard for connecting from J2EE world to EIS EIS provides resource adapter (in case of CICS, provided by CICS TG – ECI and EPI) Resource adapter expose common interface to applications (CCI) - comprised of two sets of classes, generic classes applicable to any EIS, and a set of classes specific to the EIS (in this case CICS specific classes). Main advantage of JCA, however, over other connectors are the system contracts A connection-management contract Provides a consistent application programming model for connection acquisition and enables a J2EE application server to pool connections to a back-end EIS. • A transaction-management contract Defines the scope of transactional integration between the J2EE application server and an EIS. • A security-management contract How security context is passed. Both container-managed sign-on and component-managed sign-on are supported. Link: Platform/topology choices
  • #28: The JCA system contracts are the key to the qualities of service provided by WebSphere Application Server and CICS ECI resource adapters. They provide the mechanisms by which the management of connections, security and transactions are performed. However, the qualities of service depend on the topology in use. The three topologies, shown in this chart, are: • Topology 1. WebSphere Application Server and the CICS TG are both deployed on a distributed platform. • Topology 2. WebSphere Application Server is deployed on a distributed platform and CICS TG is deployed on an IBM z/OS system. • Topology 3. Both WebSphere Application Server and CICS TG are deployed on an IBM System z platform. In this session we will focus on topologies 2 and 3 because these are the most common ones and they offer the best qualities of service.
  • #29: The JCA system contracts are the key to the qualities of service provided by WebSphere Application Server and CICS ECI resource adapters. They provide the mechanisms by which the management of connections, security and transactions are performed. However, the qualities of service depend on the topology in use. The three topologies, shown in this chart, are: • Topology 1. WebSphere Application Server and the CICS TG are both deployed on a distributed platform. • Topology 2. WebSphere Application Server is deployed on a distributed platform and CICS TG is deployed on an IBM z/OS system. • Topology 3. Both WebSphere Application Server and CICS TG are deployed on an IBM System z platform. Topology 4- WAS, CICS and db2 – all on same LPAR, bidirectional connectivity using WOLA
  • #31: This chart shows another implementation of the indirect approach. This time messaging is used rather than a synchronous connector. When using JMS to service-enable a CICS application, an application server acts as a Web Service provider and receives Web Services requests. The JEE application takes the information in the Web Service request and formats the data as a message (normally using the message type JMSBytesMessage) and sends it to a CICS program via a message queue. The WebSphere MQ trigger-monitor program supplied by CICS starts the CICS program that will read the queue. The CICS program may be an MQ-aware program, in which case it uses the MQ native APIs to receive the message, or it may be a normal COMMAREA-based program, in which case the CICS MQ bridge maps the incoming message to the expected COMMAREA. Using JMS in this way provides a choice between the pseudo-synchronous request-and-response style of CICS integration, or the fire-and-forget style, or a mixture of both. Don’t forget that JMS can also be used as a transport mechanism with the CICS Web services support. Linkage: So what are the key considerations and best practice for using with JMS?