- Find out about CICS and learn how it is relevant to you
- Learn when to choose Node.js with CICS
- Explore how to run a Node.js application in CICS
What is CICS?
CICS Transaction Server is a powerful mixed language application server on the IBM Z mainframe. For business-critical services, it provides online transaction management and connectivity. It can process incredibly high workloads in a scalable and secure environment, and in a way that is both performant and cost-efficient.
When should I choose CICS to host my Node.js application?
Many CICS customers expose their core business applications as RESTful APIs, for example using CICS web services or z/OS Connect Enterprise Edition. In some cases APIs need additional logic for example to combine several APIs, or to augment them with data from other sources.
Although Node.js applications can be hosted on many operating systems and cloud environments, it can be more efficient, secure, and have fewer moving parts in the overall solution when hosting them on z/OS together with the applications and data they consume.
Will I need to know what a transaction is?
No, CICS services such as the EXEC CICS commands, and transaction and security context are not available to Node.js applications. Instead, Node.js application can call CICS programs using either network services, or for improved response times they can use a locally optimized memory transport provided by the ibm-cics-api module.
Can I use all my existing Node.js development tools?
Yes, you can use your existing development and testing tools. The Node.js application needs to be included in a CICS bundle to be deployed into CICS. This can be done using the CICS Explorer which is an Eclipse-based tool to manage CICS bundles, systems and resources. Alternatively, you can perform this step using the Zowe CLI CICS deploy plug-in.
How do I run my Node.js application in CICS?
A Node.js application typically consists of a .js file that is the initial script, a package.json file that describes the modules the script requires, and other scripts, modules, and web site files.
- First create a CICS bundle using CICS Explorer V5.5.
- Copy in the Node.js application into a sub-directory of the CICS bundle.
- Select New > Node.js Application and the wizard will guide you through selecting the Node.js application start script and creating a profile. The profile is used to customize the installation location of Node.js in zFS, and environment variables required by your application, such as TCP/IP port and working directory for log files.
- Export the CICS bundle to zFS. If your application requires modules that are not already installed in zFS, use Node Package Manager (npm) that is provided with IBM SDK for Node.js – z/OS to install them either in a global location or within the CICS bundle.
- Finally, the CICS system programmer will need to define and install a BUNDLE resource in CICS. The Node.js application will be started.
Can I try this out without installing anything?
Yes – sign up at the page “Join our CICS early access program” and the beta team will provide a system you can access via your browser to try this out.