A few questions (and the answers) about CICS platforms and applications
ChrisHodgins 060000AX8A Visits (702)
Occasionally I get approached with a few probing questions about CICS applications and platforms. It seems prudent to share those answers in-case others have similar questions. I seem to have written a little more than I initially intended to for the questions below and I still have a few more questions and answers to share, so I'm sure there will be another blog post coming shortly.
[Many thanks to IBM's George Bogner (Technical Software Specialist supporting CICS) for allowing me to share his questions.]
Q: When a platform adopts existing system groups (CSYSGRP) can they still be used for scoping API requests for resources and for Workload Management (WLM) routing?
A: Absolutely. Platforms can adopt your existing infrastructure for this very reason. When a platform is installed, the CSYSGRP become region types in the platform but essentially they remain in place. The main difference is that they become a protected platform resource, so adding/removing regions or other system groups into the group is no longer possible. General changes to the CSYSGRP itself also can't be made. It is possible however to add your region type CSYSGRP into other non-platform system groups. This can be useful if you want to query all regions in your platform at once. Real-Time Analysis (RTA) and Business Application Services (BAS) can still use these region type CSYSGRP to scope their actions as well.
Q: Putting my AORs in a platform makes sense as I can deploy my application bundles in there. For a typical application though, is there any value in adding my TORs/WORs and FORs to region types in a platform?
A: There is a balance here around control, additional value and simplicity of topology. So let's start with simplicity as we all want our lives to be easier. If you put everything in the platform, you can then view all of your region types in the extremely shiny Cloud Explorer view in the CICS Explorer. This is also going to be useful if you start using your platform to deploy CICS bundles (platform services if you like) into your platform, as you'll be able to track the status of the bundles at the platform and region type level as well.
In terms of control, well a platform is essentially your contract with the system that it will provide a specific topology and bundled resources. While the platform is installed, it will do what it can to prevent the topology changing and will provide management for those bundles. So additional bundles can be added as well as enab
Now all that is nice but if you are looking for some real value, there are a few additional factors that can come into play here. The first is the ability to import resources in bundles that you have dependencies on. So what does that have to do with anything? Well a platforms enabled status is established from the bundles it has installed. When a bundle installed in this way becomes disabled, the platform enable status changes to reflect that it is no longer fully enabled. So if for example, your application uses a TCP/IP service (as of CICS TS V5.1) you could install a bundle in your platform with a TCP/IP service import to include it's status into the platform health. The same technique could also be used with files, DB2 connections, JVM servers and many others.
Next take a look at how work enters the system. In the CICS bundles deployed for your applications or platforms, you can create entry points to define operations for the application, whenever it runs a specific program. This allows you to tag specific flows through the CICSplex with your platform, application and operation information. Operations are high level operations like "cus
Finally, CICS policies can be defined into the CICS bundles destined for the platform or within an application binding for a specific application. Policies allow you define thresholds for task behaviour so you can defend against unwanted instability in a plat
That's all I have for the moment. More questions and answers coming soon...