Transoft AppIntegrate (Deployment) 4.01
Release Notice


Contents

Introduction

Welcome to revision 4.01 of Transoft AppIntegrate (Deployment).

The Transoft AppIntegrate (Deployment) - Installation & Licensing Guide can be found in the base directory of this CD-ROM, along with Microsoft's Word Viewer 97. Install Word Viewer 97.

Note that this release modifies the shared memory format from version 3.31. Please update language components as described in the Language Integration section.

New Features

Support for Test Data served from the broker

A new appserver.ini setting may be used to serve test data from the broker. If the setting:

Testmode=Y
is set, when a service is requested, the test data defined in the SDL will be returned if the inputs match. For more information on Test data, consult the Transoft Development Suite documentation.

iOS support through JSON

The Transoft Development Suite contains a new proxy type (OBJC) for generating Objective-C for use with iOS applications. The generated code uses HTTP requests to communicate with the Component Broker.

New HTTP Header for context handling

Previously an HTTP client would have to add the following headers for context handling:

Connection: Keep-Alive
SessionId: xyz123

Where the session Id is unique to a particular client. However, the Connection: header has a special meaning for HTTP clients, notably proxies where the proxy may not pass this onto the broker. This header has been supplimented by the X-TCF-Connection: Keep-Alive header in it's place. This is used by the iOS library, and is also of use with .NET HTTP client libraries.

Bugs Fixed

  • Shared memory key log messages are shown in the same hex format as ipcs
  • If the broker could not find a component binary, it could not be terminated in a timely manner. This has now been addressed

Language Integration

When using COBOL, the runtime will need to be linked with the AppIntegrate COBOL Application Bus Adapter library. How this is done depends on the platform and version of COBOL required.

Windows

The Windows runtimes make use of the cfacob.dll library. Make sure the TCF_PLATFORM=WIN32 environment variable is set.

  • For ACU COBOL, make sure the CODE_PREFIX environment variable contains C:\WINNT\System32 or wherever your Windows system files reside. Also, make sure that the dll-convention setting is 0 (this is the default)
  • For RM COBOL 7, you cannot use the standard CFACOB.DLL, as RM requires it's extensions to be in a different format. Instead, use the RMCOB7.DLL DLL by adding the option L=RMCOB7.DLL to the command line.

UNIX

When using COBOL under UNIX, the runtime system will need to be rebuilt or enhanced by linking in the COBOL Application Bus Adaptor library (cobcf.a), or by placing a shared object library (libcobcf.so or libcobcf.sl) version in the appropriate directory.

Using shared objects

To use shared objects under UNIX, the (ACU) runtime must call the library libcobcf.so or libcobcf.sl on HP/UX. MicroFocus COBOL must call cobcf.so/cobcf.sl - generated by mflinktca.sh in the cobol subdirectory of the AppIntegrate installation (see 'Re-linking the runtime')

Set the environment variable LD_LIBRARY_PATH to point to the lib directory of the AppIntegrate installation (LIBPATH on AIX, SHLIB_PATH on HP/UX).

When running under HP/UX, edit the ACU .cfg file to include the line:

    SHARED_LIBRARY_EXTENSION     .sl

It may also be necessary to force the following export to load a dependency:

    export LD_PRELOAD=/usr/lib/libsec.sl

When running under HP/UX, make sure to set the TCF_PLATFORM environment variable (it can be set in the language .ini file) to HPUX

On platforms that support more than one ABI (For example, systems that support 32 and 64-bit binaries, or SCO, which supports the OSR5 ABI and SVR5 ABIs), the shared library ABI must match that of the COBOL runtime binary. Use the file command to show the details of each.

  # ACU
  file /usr/tca/lib/libcobcf.so
  file $ACUDIR/../bin/runcbl

  # MF
  file $COBDIR/lib/cobcf.so
  file $COBDIR/bin/cobrun
Troubleshooting shared objects

The COBOL wrappers include the following section to load the shared object:

       tcf-init section.
       tcf-init-begin.
           display "TCF_PLATFORM" upon environment-name.
           accept w-tcf-platform-name from environment-value.
           evaluate w-tcf-platform-name
               when "WIN32"
                   Set w-tcf-dll to entry "CFACOB.DLL"
               when "HPUX"
                   CALL "cobcf.sl" ON EXCEPTION CONTINUE
               when other
                   CALL "cobcf.so" ON EXCEPTION CONTINUE
           end-evaluate.

           call "CFINIT" using w-tcf-init1 w-tcf-init2.

If there are problems loading shared libraries, remove the ON EXCEPTION CONTINUE clause to generate an error within the COBOL runtime.

Check dependencies required by libcobcf.so are satisfied - use the command ldd libcobcf.so to list dynamic dependencies. On HP/UX, you can investigate the paths used to locate libraries with the chatr command: chatr libcobcf.sl. It may also be useful to check the output of chatr against the COBOL runtime.

Some platforms have environment variables that may be set to debug dynamic linking. Set the variables in the LanguageIniFile:

  • Linux: set LD_DEBUG=files,symbols LD_DEBUG_OUTPUT=tcalink.out
  • Solaris: set LD_DEBUG=basic,files LD_DEBUG_OUTPUT=tcalink.out
  • HPUX: set _HP_DLDOPTS=-warnings -symtab_stat

Additional tracing may be obtained with a system tracing tool - for example truss (Solaris, AIX), strace (Linux) or tusc(HP/UX) - to diagnose system calls used to load shared libs.

Additional configuration options for ACU

The ACU .cfg file has a number of options for handling shared libraries. In particular, the DYNAMIC_FUNCTION_CALLS setting can be used to force calls to be looked up in a shared library (by default, ACU will attempt to load a matching COBOL program before looking up function calls):

  DYNAMIC_FUNCTION_CALLS         CF*

The SHARED_LIBRARY_LIST can be used to force the load of a shared library when the runtime starts:

  SHARED_LIBRARY_LIST            /usr/tca/lib/libcobcf.so

Re-linking the runtime

There is a UNIX shell script within the cobol subdirectory for each COBOL language type supported:

  • aculinktca.sh for ACUCOBOL.
  • mflinktca.sh for Micro Focus COBOL
  • rmlinktca.sh for Liant RM/COBOL

Run the relevant script, and follow any instructions provided.


Additional Notes

Users of the SCO UnixWare client-side library should note that the client timeout feature is not supported under UnixWare and possibly other platforms that use the same binary.


Release notes for previous revisions

Release notes for v4.00


 

Phone: 770-933-1965 (U.S.) or +44 (0) 1753 778000 (U.K.)
Copyright © Transoft Group Limited 2013. All rights reserved