Discussion created by ca.portal.admin on Nov 5, 2009
Latest reply on Nov 6, 2009 by ca.portal.admin
Has anyone attempted to get a JVM running under IDMS-DC? Have you been
successfull? I know that there is a version that runs under CICS 2.3.
Bob Wiklund
Tiburon Technologies
623 594-6022
IDMS 3rd-party providers forum



We haven't done it but are reasonably certain that something can be cobbled
together but it won't be easy to make it production ready. The ROI would
have to be pretty compelling to go down that path.

The bigger question is why?

I know you already know this but mention it for completeness. Unless CA
delivers a DC version of the Java Runtime, do not try to run it as, or from,
a DC task.

With that said you should be able to start a separate TCB in the DC region
as long as it is running something you can normally run in a MVS region,
including the execution of Java routines. To do that you'll need to
implement a POST and WAIT protocol, using a DC ECB between your DC task and
the TCB. This way your DC task can return control to IDMS DC until the
service, now running in its own TCB, completes work and posts the ECB.
Given that, it should work.

Another approach would be to load the JMV in another region and execute
Program Calls to use the JVM in the other region. Again, don't make that PC
directly from a DC task. It's bad for the same reasons we don't open files,
etc from a DC task. You would still need to use an ECB to coordinate with
an interface routine that would make the PC from its own TCB. This has the
same issues as above but is a little more manageable because you keep all
the JVM crud (the word I would use in mixed company) out of the DC region.

Both of the above approaches leave much to be desired. First, if you aren't
careful you may just find yourself writing your own DC like service. That
seems silly. In addition, making it robust for production, with good
performance characteristics as well as manageable, will be real challenge
and the place where you will spend A LOT time.

Other options would depend on what other software is available. If
WebSphere for z/OS is available, there are ways to make a Program Call to a
Web Service. Or if you have CICS you can do the same to invoke a CICS task
cross memory. Either of these approaches would be much more manageable than
the raw approaches above. There are other products that might be used but I
don't want to get into trouble here listing them.

Last and not least if the Java routines are doing database activity
elsewhere, it would be a good idea to enlist both transactions in the
resource manager.

Call me if you would like to brainstorm. You know how to reach us.


Tom Hebert
ObjEx. Inc.
Office: +1 908 813 2866
Mobile: +1 973 479 2374