CICS has supported Web Services for quite a while now such that it is now a popular CICS technology. This article provides links to some of the many sources of information you might find useful if you're interested to learn more about the family of technologies.
A little history
CICS TS V3.1 was the first release with integrated support for SOAP Web services back in 2004. Some readers may recall the earlier SOAP for CICS Feature (a technical preview from 2003) and the earlier still Soap for CICS SupportPac (also... [More]
In an earlier post , a CICS TS sample for an IBM API Management custom registry was announced. This article describes how to set up and run a service discovery application, which can be used to advertise web services (composed of WSDL and WSBind file pairs) to IBM API Management.
Table of Contents
2. Local Setup and Creation of WAR File
2.1. Installation of WebSphere Profile Developer Tools
2.2. Service Discovery Application Setup
As part of the IBM API Management V4.0 announcement support for custom registries was added. This post makes available an example WebSphere Liberty Web application which exposes a custom registry made up of an existing collection of CICS web services WSDL documents and bind files.
The code is provided as an IBM SupportPac CA0E and can be obtained here . This enables selected CICS web services to discovered through API Management and then exposed as managed APIs. The application will run in a CICS Liberty... [More]
At IBM InterConnect we recently announced support for using IBM MQ classes for JMS (MQ JMS for the rest of this article) inside a CICS OSGi JVM server (CICS). The aim of this article is to describe this support, and walk through writing and deploying a simple MQ JMS application for deployment in a CICS JVM server
1. What is the current support for interacting with IBM MQ in CICS using Java?
Currently if you want to interact with an IBM MQ (MQ) queue manager using Java in CICS then you have to use the IBM MQ classes for... [More]
CICS has long supported JNDI in JVM server environments. The recent announced support for IBM MQ classes for JMS (MQ JMS for the rest of this article) in CICS means that it is likely to be used more frequently. This short article describes JNDI and why you might want to use it.
JNDI stands for Java Naming and Directory Interface. It is a set of interfaces and classes that allow Java objects to be registered, and then later located, using a name, which is typically a string. It is often used in Java Enterprise Edition... [More]
The aim of this article is to show how you can use the CICS Liberty JVM server to expose an existing CICS program as a web service using the JAX-WS specification.
This article is intended for Java developers and system programmers that have little knowledge of the CICS Liberty JVM server. T he article will guide you through the following steps:
Set up of the CICS Liberty JVM server infrastructure,
Inter operation between Java programs in the CICS Liberty JVM server and existing programs
Different deployment... [More]
Starting an OSGi or Liberty JVM server in CICS can seem like a daunting task at first, however once you get started you'll wonder what you were ever worried about. Creating and starting your JVM server can be done in a few simple steps. This article will show you exactly how to set up both an OSGi JVM server and Liberty JVM server in CICS in a way that even the most Java-phobic reader will find easy.
To follow the steps in this article you should already have performed the following:
To support some earlier blog posts the sample code is now available on GitHub in repositories that are ready to be cloned and forked as required.
Restricting CICS TG client applications
Using JCA with the CICS TG in WebSphere Liberty Profile
This page will be updated as... [More]
This article describes a process which can be used to automate the phase-in of a Java application in a CICS bundle into a running CICS system. This process provides a similar lifecycle to the usage of the SET PROGRAM PHASEIN command used for traditional non-Java CICS programs, with the added benefits OSGi versioning brings to the application development lifecycle.
Whats in a bundle?
Java applications are deployed to CICS in a different manner than traditional COBOL or PL/I applications. Java classes are... [More]
It's a well documented fact that the earlier a bug is discovered the easier it is to fix. One of the challenges of writing applications to run in CICS is that you have to have a region available for running the applications in. If this is then shared with other developers you can run into issues as only one remote debugger can be attached to a JVM server at any one time.
A potential solution is to write automated unit tests that run inside the development environment, but before we can do that we need to be able to use the JCICS APIs... [More]
Do you have Java applications running in pooled JVM? Are you considering the upgrade to CICS TS V5? If so then this article should help to smooth the migration of those applications.
The introduction of JVM server in CIC TS V4.2 offers a number of advantages over the existing pooled JVM implementation. The multi-threaded industry standard environment allows a single JVM within a CICS region to host all Java workload previously handled by a pool as well as the opportunity to consolidate multiple application regions. The OSGi framework... [More]
Java in CICS used to be a strange place. When I started working on CICS Transaction Server V3.1, having previously worked on WebSphere Application Server, I was frustrated to find an unusual Java environment inside CICS. It had strange options for its configuration and the idea that each CICS task had its own JVM (yes, a whole one) was baffling, and it didn’t understand Java threads. That was 10 years ago, but everything is different now.
The CICS JVM is a first-class enterprise Java environment. It’s so... [More]
Using JCA with the CICS TG in WebSphere Liberty Profile
The April betas of the WebSphere Liberty Profile provide an optional feature which enables support for the Java Connector Architecture (JCA) part of the Java Enterprise Edition (JEE) specification. As this has been one of the primary methods for connecting to CICS with the CICS TG, it made sense for me to check not only that it works in Liberty, but also how to make use of the CICS TG resource adapters from applications in a remote mode topology.
Getting the beta
[7/Oct - article updated to refer to CICS TS V5.2 and some WASDev links updated]
CICS TS V5.2 includes the latest WebSphere Application Server Liberty Profile (WLP) V8.5.5 that provides features for the Java API for XML Web Services ( JAX-WS ) and the Java Architecture for XML Binding ( JAXB ). Together these technologies enable you to write SOAP web services in Java as part of a CICS application.
You may be thinking, why not use the CICS TS native web services stack as it is fast, efficient and... [More]
This article shows how the IBM Health Center can be easily installed into the CICS Explorer and used to create customized perspectives for monitoring CICS JVM servers. Together these two tools provide a powerful platform for profiling CICS Java applications, monitoring memory usage and garbage collection, and performing further diagnostic commands .
To follow the setup in this article you will require the following minimum software requirements:
CICS TS for z/OS V4.2 or later
IBM Java... [More]