IMS UDB (imsudb.jar)



IBM's hierarchical database management system with a Database Manager (IMS DB) and a Transaction Manager(IMS DC)

IMS UDB (imsudb.jar)

Postby stoked » Thu Mar 17, 2011 4:22 am

I seem to be missing a couple of jar files in our HFS directory. I am missing imsudb.jar and imsutm.jar, although I think I only need imsudb.jar.

This following is from “IMS Version 10 Universal Drivers and JDR Resource Adapter Type-2 Support Programming Guide.”

The JAR and RAR files that contain the new drivers are as follows:
• IMS Universal DL/I driver - imsudb.jar
• IMS Universal JDBC driver - imsudb.jar
• JDR resource adapter - imsutm.jar

The new HFS path for the JAR files is /usr/lpp/ims/ims10/imsjava/IBM/, with a DDNAME of SDFSJTY2.

When I look there is only:
• imsjavaBase.jar
• imsjavaTM.jar
• imsDAS.jar
• imsDBJCA.jar
• imsDBJCA.rar
• imsJDBC.jar
• imsXQuery.jar
and the SDFSJTY2 file is not there either in the IBM directory.

Does anyone know how the jar files I’m missing are installed? Failing that, can someone upload imsudb.jar as an attachment?
stoked
 
Posts: 11
Joined: Thu Mar 17, 2011 4:15 am
Location: Vancouver, BC
Has thanked: 0 time
Been thanked: 0 time

Re: IMS UDB (imsudb.jar)

Postby NicC » Thu Mar 17, 2011 10:56 am

How about the persons in your organisation that are responsible for installing the software? They should be made aware of the problem - if there is a problem - so that they can fix it and not repeat the error at a later date. As these seem to be updates maybe there are no updates for the installed version.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
NicC
Global moderator
 
Posts: 3025
Joined: Sun Jul 04, 2010 12:13 am
Location: Pushing up the daisies (almost)
Has thanked: 4 times
Been thanked: 136 times

Re: IMS UDB (imsudb.jar)

Postby stoked » Thu Mar 17, 2011 10:17 pm

I just checked the installation file and we definitely do not have the required dataset in our IMS V10R1. The lines 229-230 in our installation file below are germane. Line 229 references our dataset IMS.V10R1.ADFSJHFS, which is a PDS. If it had imsudb.jar in it I would expect to see a member named SDFSJTY2.

EDIT IMS.V10R1.CNTL(#150DDEF) - 01.05
Command ===>
000229 ADD DDDEF(SDFSJHFS)
000230 PATH('/usr/lpp/ims/imsjava10/IBM/')
000231 .
000232 ADD DDDEF(SDFSJTOL)
000233 PATH('/usr/lpp/ims/imsjava10/dlimodel/IBM/')
000234 .
000235 ADD DDDEF(SDFSJSAM)
000236 PATH('/usr/lpp/ims/imsjava10/samples/IBM/')
000237 .
000238 ADD DDDEF(SDFSJCIC)
000239 PATH('/usr/lpp/ims/imsjava10/cics/IBM/')
000240 .
000241 ADD DDDEF(SDFSJXQY)
000242 PATH('/usr/lpp/ims/imsjava10/IBM/')
000243 .
000244 ADD DDDEF(SDFSIC4J)
000245 PATH('/usr/lpp/ims/ico101/IBM/')
000246 .
000247 ENDUCL.


Directory of our IMS.V10R1.ADFSJHFS:

BROWSE IMS.V10R1.ADFSJHFS
Command ===>
Name Prompt Size
_________ DFSJDAS
_________ DFSJDBJA
_________ DFSJDBRA
_________ DFSJDEPR
_________ DFSJDLI
_________ DFSJJDBC
_________ DFSJRDMR
**End**


So I rephrase my earlier question, how does one acquire the dataset SDFSJTY2 that contains imsudb.jar? Is it not a standard feature of IMS 10?
stoked
 
Posts: 11
Joined: Thu Mar 17, 2011 4:15 am
Location: Vancouver, BC
Has thanked: 0 time
Been thanked: 0 time

Re: IMS UDB (imsudb.jar)

Postby MrH » Thu Mar 17, 2011 11:50 pm

SDFSJTY2 would be the SMP/E dddef of the HFS that contains the jar file you're looking for in the target zone, with a complementary ADFSJTY2 in the distribution zone. You'll notice how that naming standard matches what you're seeing above with the rest of the dddefs.

Based on the fact that the the Google keyword SDFSJTY2 is only found in the manual you originally referenced, I'm a bit suspicious about the reference. There's no such animal in the IMS v10 Infocenter. I suspect the module imsJDBC.jar will provide the functionality you require.

The only reason to use a Type 2 driver is to connect to a system on the same LPAR, like CICS, Websphere, or DB2. The IMS Infocenter has steps specifically relating to those connections, so I suggest you look there for more information.
MrH
 

Re: IMS UDB (imsudb.jar)

Postby stoked » Fri Mar 18, 2011 12:42 am

MrH wrote:SDFSJTY2 would be the SMP/E dddef of the HFS that contains the jar file you're looking for in the target zone, with a complementary ADFSJTY2 in the distribution zone. You'll notice how that naming standard matches what you're seeing above with the rest of the dddefs.

Based on the fact that the the Google keyword SDFSJTY2 is only found in the manual you originally referenced, I'm a bit suspicious about the reference. There's no such animal in the IMS v10 Infocenter. I suspect the module imsJDBC.jar will provide the functionality you require.

The only reason to use a Type 2 driver is to connect to a system on the same LPAR, like CICS, Websphere, or DB2. The IMS Infocenter has steps specifically relating to those connections, so I suggest you look there for more information.


Thanks MrH. You're quite possibly correct about imsJDBC.jar. It has a class com.ibm.connector2.ims.db.IMSJdbcDataSource, which might work. It's just that I can't find documentation on establishing a Type 4 connection using it without a JNDI reference, whereas I can find docs using com.ibm.ims.jdbc.IMSDataSource in imsudb.jar. I.e. I'm trying to write a standalone Java app running on a workstation to make a Type 4 connection to IMS.

I'm investigating using the Type 2 driver (running from USS or DB2) as well as the Type 4 driver (running from a workstation). The class IMSDataSource according to the prior mentioned manual and the follow documentation (see url) should support Type 2 and 4. http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.ims11.doc.jdbcjdoc/topics/com/ibm/ims/jdbc/IMSDataSource.html

So that's the reason why I'm looking for imsudb.jar.
stoked
 
Posts: 11
Joined: Thu Mar 17, 2011 4:15 am
Location: Vancouver, BC
Has thanked: 0 time
Been thanked: 0 time

Re: IMS UDB (imsudb.jar)

Postby stoked » Fri Mar 18, 2011 2:25 am

MrH wrote: I suspect the module imsJDBC.jar will provide the functionality you require.


I don't think IMSJdbcDataSource is intended for use outside of WebSphere. According to its documentation
A IMSJdbcDataSource provides a mechanism to create a Connection from an object stored in the JNDI namespace.


It also states
IMSJdbcDataSource can also be created directly in an application, rather than loading it from the name space.


When I tried running something like the suggested code segment I got the following error that references a WebSphere class:
     [java] Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/websphere/runtime/CustomService
     [java]    at java.lang.ClassLoader.defineClass1(Native Method)
     [java]    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
     [java]    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
     [java]    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
     [java]    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
     [java]    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
     [java]    at java.security.AccessController.doPrivileged(Native Method)
     [java]    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
     [java]    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
     [java]    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
     [java]    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
     [java]    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
     [java]    at com.ibm.connector2.ims.db.IMSJdbcManagedConnectionFactory.createManagedConnection(Unknown Source)
     [java]    at com.icbc.ibiemapps.ims.IMSJDBCSample.main(IMSJDBCSample.java:25)


The suggested code segment:
The following code snippet demonstrates how to create an IMS DataSource from an IMSJdbcManagedConnectionFactory and use it to create a Connection:


IMSJdbcManagedConnectionFactory mcf = new IMSJdbcManagedConnectionFactory();
mcf.setDatabaseViewName("MyDatabaseView");
mcf.setDRAName("IMS1");
DataSource dataSource = (DataSource)mcf.createConnectionFactory();
Connection connection = dataSource.getConnection();


So, this brings me back to the reason I'm trying to use IMSDataSource instead of IMSJdbcDataSource. It looks like IMSJdbcDataSource can't make a Type 4 connection.
stoked
 
Posts: 11
Joined: Thu Mar 17, 2011 4:15 am
Location: Vancouver, BC
Has thanked: 0 time
Been thanked: 0 time

Re: IMS UDB (imsudb.jar)

Postby MrH » Fri Mar 18, 2011 8:22 pm

I'm looking at the IMS v10 Administration Guide, under External Java Environment Connections, and I can't see a single reference to any runtime environment that isn't CICS, DB2, or Websphere. Based on that, I can only assume that these classes were designed specifically to work in those environments.

It looks like imsudb.jar was made available until IMS v11. If you look at the Migration Considerations for both versions, the java libs are very different.
v10: http://publib.boulder.ibm.com/infocente ... xf464e.htm
v11: http://publib.boulder.ibm.com/infocente ... eneral.htm

Is IMS Connect an option?
MrH
 

Re: IMS UDB (imsudb.jar)

Postby stoked » Fri Mar 18, 2011 8:39 pm

MrH wrote:It looks like imsudb.jar was made available until IMS v11.
Is IMS Connect an option?

I just found out from out IMS person that IMS Universal Database is available in an IMS 10 maintenance release which we haven't applied yet. So, I'm going to have to wait until we upgrade. No word yet on when that might be.

We use IMS Connect already but through a middleware product called webMethods. I've used that approach in the past but it's unwieldly for one-off type work.

I suspect I can't just acquire imsudb.jar and start using it. It looks like a port has to be defined on the host mainframe in order to establish a Type 4 connection to IMS. I'm guessing the port must be configured when IMS is upgraded.

Thanks for your help.
stoked
 
Posts: 11
Joined: Thu Mar 17, 2011 4:15 am
Location: Vancouver, BC
Has thanked: 0 time
Been thanked: 0 time


Return to IMS DB/DC