isCOBOL Evolve : SDK User's Guide : Utilities : ISUPDATER (Update Facility) : Setup of an update server for the isCOBOL SDK
Setup of an update server for the isCOBOL SDK
In this chapter we explain the good practice setup an update server that can be used by both the -update option of iscrun and the Automatic Client update to update their runtime component before starting.
Our update server will be able to serve different client platforms so we may take particular attention to the native items included in the isCOBOL SDK. Most of the isCOBOL Framework components are pure Java programs and therefore they’re cross-platform. However there are a couple of components that are (or include) native platform dependent items. These items are:
native libraries like iscobolc (bin\iscobolc.dll on Windows, /native/lib/libiscobolc.so on Linux/Unix and /native/lib/libiscobolc.jnilib on MacOSX),
SWT libraries for the web-browser implementation installed in the lib folder.
The suggested steps are:
1. Create a folder that will host the files for the update.
2. Within the folder just created, create the following sub folders and fill them as suggested:
Folder
What to put inside
lib
All the jars found in the isCOBOL lib folder except for swt-<platform>.<arch>.jar
You can take these libraries from any isCOBOL distribution as they’re cross-platform.
 
If your application calls programs on the client side via CALL CLIENT in a Thin Client environment, collect the classes of these programs in a jar library and add the library to this lib folder.
libWin32
swt-Windows.32.jar taken from the isCOBOL installation for Windows 32 bit
libWin64
swt-Windows.64.jar taken from the isCOBOL installation for Windows 64 bit
libLinux32
swt-Linux.32.i586.jar taken from the isCOBOL tar.gz for Linux 32 bit
libLinux64
swt-Linux.64.x86_64.jar taken from the isCOBOL tar.gz for Linux 64 bit
libMac64
swt-MacOSX.64.x86_64.jar taken from the isCOBOL tar.gz for Mac OSX 64 bit
nativeWin32
All the DLL files found in the bin directory of the isCOBOL installation for Windows 32 bit
nativeWin64
All the DLL files found in the bin directory of the isCOBOL installation for Windows 64 bit
nativeLinux32
All the so files found in the native/lib directory of the isCOBOL tar.gz for Linux 32 bit
nativeLinux64
All the so files found in the native/lib directory of the isCOBOL tar.gz for Linux 64 bit
nativeMac64
All the jnilib files found in the native/lib directory of the isCOBOL tar.gz for Mac OSX 64 bit
At the end you should have the following situation:
Folder
Content
lib
asm-7.2.jar
asm-commons-7.2.jar
asm-tree-7.2.jar
bcprov-jdk14-1.38.jar
charva.jar
commons-codec-1.13.jar
commons-collections4.4.4.ja
commons-compress-1.19.jar
commons-math3-3.6.1.jar
commons-logging-api.jar
commons-logging.jar
ctree-rtg.jar
DJNativeSwing-SWT.jar
DJNativeSwing.jar
image4j-0.7.2.jar
iscobol.jar
isprofiler.jar
isupdater.jar
itext-2.1.7v5.jar
jacoco-core-0.8.5.jar
javassist.jar
jcommon-1.0.23.jar
jcommon-xml-1.0.23.jar
jcalendar-1.3.3.jar
jcommon-1.0.23.jar
jcommon-xml-1.0.23.jar
jdom.jar
jfreechart-1.5.1.jar
jna.jar
jna-platform.jar
joe-1.3.jar
poi-4.1.2.jar
poi-ooxml-4.1.2.jar
poi-ooxml-schemas-4.1.2.jar
swt-Windows.##.jar
utility.jar
wow.jar
wowax.jar
xmlbeans-3.1.0.jar
 
 
... and optionally the jar library that hosts programs called via CALL CLIENT.
libWin32
swt-Windows.32.jar
libWin64
swt-Windows.64.jar
libLinux32
swt-Linux.32.i586.jar
libLinux64
swt-Linux.64.x86_64.jar
libMac64
swt-MacOSX.64.x86_64.jar
nativeWin32
ctree.dll
dyncall.dll
dyncall_n.dll
iscobolc.dll
iscobolc_n.dll
msvcm90.dll
msvcp90.dll
msvcr90.dll
Terminal.dll
nativeWin64
ctree.dll
dyncall.dll
dyncall_n.dll
iscobolc.dll
iscobolc_n.dll
msvcm90.dll
msvcp90.dll
msvcr90.dll
nativeLinux32
libctree.so
libdyncall.so
libdyncall_n.so
libiscobolc.so
libiscobolc_n.so
libTerminal.so
nativeLinux64
libctree.so
libdyncall.so
libdyncall_n.so
libiscobolc.so
libiscobolc_n.so
libTerminal.so
nativeMac64
libctree.jnilib
libiscobolc.jnilib
libiscobolc_n.jnilib
libTerminal.jnilib
3. Create a file named swupdater.properties in the same directory of the above folders and fill it as follows:
swupdater.version.iscobol=1011
swupdater.lib.iscobol=lib
swupdater.lib.win.32.iscobol=libWin32
swupdater.lib.win.64.iscobol=libWin64
swupdater.lib.linux.32.iscobol=libLinux32
swupdater.lib.linux.64.iscobol=libLinux64
swupdater.lib.mac.64.iscobol=libMac64
swupdater.version.iscobolNative=1011
swupdater.lib.win.32.iscobolNative=nativeWin32
swupdater.lib.win.64.iscobolNative=nativeWin64
swupdater.lib.linux.32.iscobolNative=nativeLinux32
swupdater.lib.linux.64.iscobolNative=nativeLinux64
swupdater.lib.mac.64.iscobolNative=nativeMac64
Note - the above snippet assumes that you’re providing items from isCOBOL 2020 R1 build 1011. If you’re providing another build of isCOBOL, replace 1011 with the correct build number.
The server configuration is ready, now you can start an isCOBOL Server with the -hs option as described in isCOBOL Server as an HTTP server. The isCOBOL server must point to the directory created at step 1; in order to achieve it, you can either start the isCOBOL Server from that directory or use the -hsroot option to point to that directory.
Alternatively, instead of using isCOBOL Server, you can install the directory created at step 1 into your favorite HTTP server (e.g. Apache or IIS).