Giter VIP home page Giter VIP logo

txseries-docker-container's Introduction

Supported tags and respective Dockerfile links

latest (Dockerfile) - Currently supporting TXSeries V9.2 Beta

Quick reference

TXSeries for Multiplatforms - Overview

TXSeries for Multiplatforms (TXSeries) is a mixed-language application server for COBOL and C applications. TXSeries offers a reliable, scalable, and highly available platform to develop, deploy, and host, mission-critical applications. Refer to MarketPlace for more information.

TXSeries V9.2 open beta delivers capabilities that enable deployment of applications on Container-as-a-service platforms using Docker technology for Cloud environments.

Images

This image contains TXSeries V9.2 Beta Docker image under the tag latest. See the section Usage for more details.

Usage

The TXSeries Docker image contains TXSeries image with or without the profile setup (default being profile setup enabled). With this image, you can run TXSeries regions, SFS servers, cicsteld process,etc.

You can specify whether pre-configured region setup is required or not using environment variables. By default, the TXSeries docker image starts a single TXSeries region and SFS server.

For any of the profiled or non-profiled setup, you can verify successful installation of TXSeries using Installation Verification Program (IVP). See the section Running the Installation Verification Program (IVP) for more details.

Default profile

You can run the TXSeries docker container with default profile. Following snippet shows usage of the command for default profile configuration.

docker run -p CICSTELD_TARGET_PORT:3270 \
           -p IPIC_LISTENER_TARGET_PORT:1435 \
           -p TXSERIES_ADMIN_CONSOLE_TARGET_PORT:9443 \
           -it -e LICENSE=accept ibmcom/txseries

For example,

docker run -p 3271:3270 -p 1436:1435 -p 9443:9443 \
           -it -e LICENSE=accept ibmcom/txseries

With the above command, the container will start the default TXSeries region TXREGION and SFS Server TXSFS. The docker image will have the following features provisioned:

  • IPIC port listening on 1436
  • cicsteld port listening on 3271
  • TXSeries CICS application program auto installation configured
  • Configured TXSeries Installation Verification Programs ( IVP )
  • TXSeries Administration Console listening on 9443 ( HTTPS ); https://Host_IP_Address:9443/txseries/admin

You can use TXSeries Administration Console to configure TXSeries region/SFS using user id txadmin and password txadmin.

Customizing the profile

You can customize your profile and create TXSeries docker image in the profiled setup. Following table lists the environment variables that can be used for customization.

Environment variable Description
REGION_NAME TXSeries region name; by default, TXREGION
SFS_NAME SFS Server name; by default, TXSFS
REGION_START_TYPE The start types of TXSeries region: cold or auto; by default, auto
SFS_START_TYPE The start types of SFS server: cold or auto; by default, auto
TXADMIN_PASSWORD Password of txadmin user; by default, txadmin
TELD_PORT Teld port; by default, 3270
LANG Locale setting for the region, by default en_US. Supported TXSeries locales

Following example shows how to create a profile with custom names for TXSeries region and SFS server.

docker run -p 3271:3270 -p 1436:1435 -p 9443:9443 \
           -it -e LICENSE=accept -e REGION_NAME=MYREGION \
           -e SFS_NAME=MYSFS ibmcom/txseries
           

Customization with additional configuration for TXSeries region and SFS

You can run the TXSeries docker image with profiled setup and with specific region/SFS server settings. If you want to customize default profiled region/sfs server to have additional configuration, you can do so through a shell script, say CONFIGURE.sh. This script will need to accept TXSeries region name and SFS server name as command line arguments in that order and you can write the custom commands inside this script using the command line arguments. Following is an example snippet of CONFIGURE.sh.

#To install fileset.sdt in SFS server from command line argument $2
 cicssdt -s /.:/cics/sfs/$2 -i fileset.sdt
#To add an File Definition (FD) entry FILEA in region with the name $1
 cicsadd -r $1 -c fd FILEA BaseName="testfile" IndexName="testidx"
 

Once this script is ready, copy it to docker image /work directory.

The below Dockerfile snippet shows an example of copying script to /work directory:

From ibmcom/txseries
COPY CONFIGURE.sh /work/setup.sh
RUN chmod +x /work/setup.sh

Working with compiled CICS applications

You can run the TXSeries docker image with profiled setup and with pre-existing compiled CICS applications. You can drop the compiled CICS applications inside drop-in folder, that is /work/autoinstall-dropin/ and the profiled TXSeries region will execute them through program auto installation feature.

The below Dockerfile snippet shows an example of copying compiled TXSeries applications and setup.sh to drop-ins directory

From ibmcom/txseries
COPY CONFIGURE.sh /work/setup.sh
RUN chmod +x /work/setup.sh
COPY <Compiled Applications> /work/autoinstall-dropin/

Setup without profile

You can run the TXSeries docker image without profile. You can run your own region and SFS Server inside docker container by setting the environment variable PROFILED=false while running the container.

You can do this in the following ways:

  • Run the docker run command as below:

    docker run --env LICENSE=accept --env PROFILED=false \
            --publish 9443:9443 --detach ibmcom/txseries
            

    The above command starts the container without creating any TXSeries region or SFS server. To create and configure SFS and TXSeries regions, use TXSeries administration console from a web browser by using following URL https://HOST_IP_ADDRESS:9443/txseries/admin

  • Another option to run CICS commands to create SFS servers and CICS regions is directly running the command from container process space. To run the commands you can use docker exec command , for example,

    docker exec --tty --interactive ${CONTAINER_ID} bash

    Using this technique, you can have full control over all aspects of the TXSeries installation and you can use CICS commands to create and configure TXSeries regions and SFS servers.

  • If you want to create, configure and start TXSeries regions and SFS servers while starting the docker container, then you can add the respective commands for TXSeries administration to a shell script file. Provide the execution permission to this script file before starting the docker container. For example, if you added the CICS commands to a script file named cics_command.sh under a directory /tmp , then you can start the txseries docker container by using the following docker run command. This would execute the commands specified in script file /tmp/cics_command.sh during TXSeries docker container startup.

    docker run \
        --env LICENSE=accept \
        --env PROFILED=false \
        --publish 9443:9443 \
         -v /tmp/cics_command.sh:/work/entryscript.sh \
        --detach \
         ibmcom/txseries
         

Running the Installation Verification Program

You can connect to TXSeries region using a 3270 terminal to run the Installation verification program (IVP). This IVP is an employee management application, using which employee details can be added, modified, browsed or deleted. This application uses SFS as file server for storing employee data in VSAM files.

From 3270 terminal you can connect to Host IP Address:CICSTELD_TARGET_PORT and execute MENU transaction. Following steps provide more details on using the IVP.

  • In the ENTER TRANSACTION field, type ADDS.
  • In the NUMBER field, type an employee number, say 111111.
  • Press Return. TXSeries displays the FILE ADD screen.
  • In the FILE ADD screen, type values into the fields as required. When you have finished typing values into the fields, press Return.
  • The IVP will store the user data in a VSAM file.
  • To browse the newly added record type BRWS in the ENTER TRANSACTION field.
  • Type the required employee number, say 111111, in the NUMBER field and press return.

With successful execution of the above IVP sample, you can confirm that the TXSeries docker image is correctly installed and configured.

Providing Persistence

You might want to persist the transaction logs to preserve them through server restarts. This is useful in server failure and restart scenarios. To achieve persistence, you must attach the volume to the containers. Follow the below steps:

  • To persist region data and sfs data, a volume should be attached to the container. Attach the volumes to /var/cics_regions, /var/cics_servers and /var/cics_clients as below:
docker run --name mycontainer -it \
                   -v region:/var/cics_regions \
                   -v sfs:/var/cics_servers \
                   -v client:/var/cics_clients \
                   -p 3270:3270 -p 1435:1435 \
                   -p 9443:9443  -e LICENSE=accept \
                   ibmcom/txseries
  • If container is started with profiled option and the container is restarted, then TXSeries region and SFS server will be auto started.

Note

When you create your own images from ibmcom/txseries, ensure not to use ENTRYPOINT command in Dockerfile.

License

  • Dockerfile and associated scripts in this project are licensed under Apache License 2.0.

  • View TXSeries V9.2 Open Beta license here. Accept the license using "-e LICENSE=accept" when you run the "docker run" command. Following is an example:

docker run -p 3270:3270 -p 1435:1435 -p 9443:9443 -it -e LICENSE=accept ibmcom/txseries

txseries-docker-container's People

Contributors

kishkulk avatar janakisundar avatar stevemart avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.