A prospect is asking us to suggest an integration strategy to use host services on a CICS host.
Since we usually delegate this choice to a dedicated meeting with customer's CICS specialists we are a bit off balance here and need an advice.
As a rule of thumb I would usually suggest (CICS or not):
- expose WebServices if you don't need transactions
- expose MQ endpoints if you need transactions
however I don't really have specific CICS knowledge to argument.
I am specifically interested in conexperiences with:
- complexity of setup
- distributed transactions with MQ
- experiences with using Dell Boomi
Does anyone have suggestions or links to Boomi best practices for connecting to CICS hosts?
My other options are:
- build a native connector plugin using CICS Transaction Gateway. This however requires considerable amount of effort and native java development on the Boomi side, plus I'm not sure about the advantages. Plus this will work for calls from Boomi=>CICS but will not allow to listen for CICS=>Boomi calls.
- call a DB2 stored procedure, which in turn calls COBOL. We already did this with AS400 and know that has limitations in terms of overhead and performance, also the articles linked below suggest further limitations. This solution too has the limit of allowing Boomi=>CICS but not calls from CICS=>Boomi
the two most relevant questions here are:
but neither has links to Dell Boomi
I'd suggest the best starting point is the following IBM Redbook which has a wealth of information on how to connect into CICS and lays out the proven and popular connector solutions
CICS and SOA: Architecture and Integration Choices
Then to answer your specific issues/questions:
- MQ provides guaranteed delivery, but it does not provide a full end-to-end 2pc transaction
- WS-Atomic provides transactional support into CICS Web services, although the most popular way to add CICS calls into a global transaction is via JCA and XA with the CICS Transaction Gateway
- The CICS Transaction Gateway provides, Java, JCA, .NET and C connectors so should enable you to easily integrate with your client environment
- A simple solution for a Windows desktop could be to use the CICS Transaction Gateway desktop edition, or an MQ client
Phil Wakelin, CICS development, IBM Hursley, UK