Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Enable atomic transaction support for web services in CICS

An initial approach

Oliver R. Fenton (fentono@uk.ibm.com), CICS Test Software Engineer, EMC
Oliver Fenton worked in the CICS Test Department in Hursley Park, UK during the development of CICS Transaction Server Version 3.1 where he worked primarily on the web services feature, focusing especially on Atomic Transactions. He has experience with web services in CICS, .NET, and WebSphere Application Server and has recently moved to a new role servicing Java technology in the Java Technology Center at Hursley Park.

Summary:  Learn about web services in IBM CICS Transaction Server for Z/OS Version 3.1 and how you can enable atomic transactions to provide commit and recovery functionality between applications across programming languages and platforms.

Date:  29 Nov 2005
Level:  Intermediate PDF:  A4 and Letter (74 KB | 19 pages)Get Adobe® Reader®

Activity:  3980 views
Comments:  

Next steps

You have seen the basic scenario using CICS as a requester and provider to show the effects of turning WS-AT on and to see message flows between the client and the endpoint. A more realistic, business-oriented application could call multiple web services, update more complex resources, and interact with non-CICS web services gateways.

A more complex scenario

The example you have run through in this tutorial is a simple one; you are only calling a single web service from a simple application program. This web service updates a recoverable TSQ and can roll back if necessary. More realistically, the recoverable resource would be more complex, such as a VSAM file or DB2® UDB database record.

Using WS-AT does not affect the way in which individual CICS applications can perform transactionally except to provide the additional, cross-system functionality we require. All in-application calls made to DB2 UDB, writing to VSAM files, or any other recoverable task can be dealt with in conjunction with atomic web services by the CICS recovery manager. All tasks must complete successfully for the changes to be committed as expected.

You can also use multiple atomic web service calls from within a single transaction. The requesting application will successfully call several web services and coordinate them all to completion. Similarly the providing application can successfully call several web services and act as both a participant for its requester and coordinator as a requester for it's invoked web services.


WebSphere enablement

You can use the WSDL document from your web service to create a WebSphere Application Server (Application Server) skeleton web service, which you can use to interact with CICS. IBM Rational® Application Developer can import WSDL files and convert them into a web services provider or requester. Atomic transactions support is available and can be implemented for this process. These transactions can then be exported to Application Server (Version 6.02 minimum). The details of how this is done is beyond the scope of this tutorial, however once enabled and running, your CICS set-up need not change to call the WebSphere provider.

Simply change the endpoint URI from your requester application (ACCR URI http://.../accsrv) to call a new endpoint. The WSDL document and specifications define the contents of the message flows, meaning they are standardized and will work independently of the software used to create the application code.

Direct Application Server's web services requester at your CICS endpoint (http://[host]:[port]/accsrv) passing the parameters defined in the WSDL (operation SET or GET with a value). Once enabled, web services atomic transaction coordination works between Application Server and CICS, with message flow and ordering being identical to what you have seen.

6 of 9 | Previous | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services
ArticleID=137167
TutorialTitle=Enable atomic transaction support for web services in CICS
publish-date=11292005
author1-email=fentono@uk.ibm.com
author1-email-cc=webserv@us.ibm.com

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.