Planning an upgrade from Communications Server for AIX, V6 to Communications Server for Data Center Deployment, V7

Technote (FAQ)


Question

What do I need to know when planning an upgrade from Communications Server for AIX, v6 to communications Server for Data Center Deployment, v7 on AIX?

Answer

Apart from the standard upgrade process, which I will go into below, the most important thing to be aware of is the removal of the back-level APIs.

In addition to the standard APIs, Communications Server for AIX, V6 also provided back-level APIs for compatibility with programs written for Communications Server for AIX, V4 and earlier. With Communications Server for Data Center Deployment, V7, those back-level compatibility APIs have been removed. Before you upgrade, you should identify which APIs your SNA applications are using. If they are using the back-level compatibility APIs, you may need to re-write or recompile your applications, depending on which of the back-level compatibility APIs it uses, to use the current APIs.

Identify which API an application uses

First, identify each application program that uses SNA for communication. Then identify the binary executable for that application. Finally, the ldd program will list the libraries that the binary was compiled to use.

For example, for my test program a.out::
ROOT@phobos# ldd a.out
a.out needs:
         /usr/lib/libc.a(shr.o)
         /usr/lib/libcpic.a(shr.o)
         /unix
         /usr/lib/libcrypt.a(shr.o)
         /usr/lib/libC.a(shr.o)
         /usr/lib/libC.a(ansi_32.o)
         /usr/lib/libC.a(ansicore_32.o)
         /usr/lib/libC.a(shrcore.o)
         /usr/lib/libC.a(shr3.o)
         /usr/lib/libC.a(shr2.o)
ROOT@phobos#
The presence of /usr/lib/libcpic.a or /usr/lib/libsna.a or /usr/lib/liblu0.a indicates that the program is using the back-level compatibility APIs.

For another example, for my other test program a2.out:
ROOT@phobos# ldd a2.out
a2.out needs:
         /usr/lib/libc.a(shr.o)
         /usr/lib/sna/libcpic.o
         /unix
         /usr/lib/libcrypt.a(shr.o)
         /usr/lib/sna/libsnau.o
         /usr/lib/sna/libappc.o
         /usr/lib/sna/libnof.o
         /usr/lib/libc.a(pse.o)
ROOT@phobos#
The presence of any library with the path /usr/lib/sna/ indicates that the program is using the current standard APIs.

Now what?
If your application program uses the current standard APIs, then you can proceed with the upgrade with no concern about your application continuing to function with SNA.

If your application uses the back-level compatibility APIs, then additional work is needed before you can upgrade. What you need to do depends on which of the back-level compatibility APIs your application uses.

If your application uses /usr/lib/liblu0.a then you must re-write the SNA parts of your program to use the current LUA API. Contact the application programmer or vendor to see if a newer version of the application is available that uses the LUA API. See the LUA Programmer's Guide in the CS/AIX Library (see Related Information, below).

If your application uses /usr/lib/libsna.a then you must re-write the SNA parts of your program to use the current APPC API or LUA API. Which API your program needs is determined by whether the application uses LU6.2 sessions (APPC) or LU 1, 2, or 3 sessions (LUA). Contact the application programmer or vendor to see if a newer version of the application is available that uses the APPC or LUA API. See the APPC Programmer's Guide or the LUA Programmer's Guide in the CS/AIX Library (see Related Information, below).

If your application uses /usr/lib/libcpic.a then you may be able to recompile the program using the current CPI-C API with no need to modify the program code. Contact the application programmer or vendor to see if a newer version of the application is available that uses the current CPI-C API instead of the back-level compatibility version. For detailed compiling instructions, see the CPI-C Programmer's Guide in the CS/AIX Library (see Related Information, below).

If it is not possible to recompile the CPI-C program, then there is an alternative that may work. After installing the Communications Server for Data Center Deployment, V7, then as root, run the following commands:

cp -p /usr/lib/sna/libcpic.o /usr/lib/shr.o
ar -q -v /usr/lib/libcpic.a /usr/lib/shr.o
rm -f /usr/lib/shr.o

This creates the /usr/lib/libcpic.a library from the current CPI-C library. Most programs using the back-level compatiblity CPI-C library will be able to use this library without any difference in behavior. There are some extended features in the back-level compatibility library that do not exist in the current library. These involve processing certain signals and access to the system errno for additional information on error returns. If your program does not use these extended features, then there is no significant difference. This alternative is fully supported and may be included automatically in a future maintenance update.


Upgrade
Once you are confident that your applications will function with Communications Server for Data Center Deployment, V7, you can now upgrade.

The first step is to backup your SNA configuration. The configuration should survive the upgrade process, but it is good to back it up just in case of problems. Make a backup copy of the following files in the /etc/sna directory:
sna_node.cfg
sna_domn.cfg
sna_tps (may not exist, depending on your configuration)
ibmcs.* (if you are using SSL with TN3270 Server or TN Redirector)

Next, you have two options for performing the upgrade:
1) Install Communications Server for Data Center Deployment over the existing Communications Server for AIX.
2) Uninstall the existing Communications Server for AIX (sna.* filesets), then install Communications Server for Data Center Deployment..

The difference between the two options is that option 1 leaves some old v6 sna filesets installed. This does no harm, and these leftover sna.* v6 filesets can be left alone or uninstalled at any time.

The install is done using the standard AIX installp tools. An AIX system administrator should perform this step.

Related information

CS/AIX Library

Cross reference information
Segment Product Component Platform Version Edition
Networking Communications Server for AIX All AIX 6.0, 6.1, 6.3, 6.3.1, 6.4, 6.4.0.1, 6.4.0.2, 6.4.0.3, 6.4.0.4, 7.0.0.0

Product Alias/Synonym

sna aix csaix cs/aix communications server comm server commserver

Rate this page:

(0 users)Average rating

Document information


More support for:

Communications Server for Data Center Deployment
All

Software version:

7.0.0.0

Operating system(s):

AIX

Reference #:

1649431

Modified date:

2013-09-17

Translate my page

Machine Translation

Content navigation