With FP8 you can run IBM® App Connect Enterprise v11 on z/OS by running it in a z/OS Container Extensions instance.
What is IBM z/OS Container Extensions (zCX)?
IBM z/OS Container Extensions (zCX) is a new technology from IBM. It provides a way to run Linux capabilities on z/OS – there’s no need for separate zLinux LPARs as it runs as an address space in z/OS proper. zCX brings the flexibility and agility of docker containerisation to z/OS while z/OS brings benefits such as high-speed networking performance and resiliency around data replication and automation to docker containerisation, all while using existing z/OS operations staff and the existing z/OS environment.
Why run ACE in zCX?
Why would you choose to run your Integration Server in zCX? If you don’t already run your message flows on z/OS moving to zCX means the z/OS qualities of service such as scalability, availability, integrated disaster recovery, backup, WLM and security are available to your integration servers.
If you already run IIB on z/OS you could choose to move some message flows, e.g. MIPs heavy flows, from IIB to ACE on zCX to save money – workloads that run on zCX are zIIP eligible. Staying on z/OS means operational control is maintained within z/OS and the z/OS qualities of service are still available for your integration servers.
How to run ACE in zCX
First provision a zCX instance as described here. To run ACE on zCX you need to obtain the ACE Linux on zSeries package. Once provisioned, SSH onto your zCX instance and place the package in your current working directory or a subdirectory (while there’s no scp, sftp works on zCX). Place the bar file you wish to use in the integration server in a subdirectory too then copy and paste the following Dockerfile:
FROM s390x/ubuntu:18.04
# To use:
# docker build -t ace-zcx:11.0.0.8 --build-arg TAR_DIR=tars --build-arg TAR_FILE=11.0.0-ACE-LINUXZ64-FP0008.tar.gz --build-arg BAR_DIR=bars --build-arg BAR_FILE=AliEchoproject.generated.bar .
# Default to zLinux fp8 tar in the tar subdirectory
ARG TAR_DIR=tars
ARG TAR_FILE=11.0.0-ACE-LINUXZ64-FP0008.tar.gz
ARG BAR_DIR=bars
ARG BAR_FILE=AliEchoproject.generated.bar
# Prevent errors about having no terminal when using apt-get
ENV DEBIAN_FRONTEND noninteractive
# Copy appropriate tar into image
RUN mkdir -p /opt/ibm/ace-11 && echo ${TAR_DIR}/${TAR_FILE}
COPY ${TAR_DIR}/${TAR_FILE} /opt/ibm/${TAR_FILE}
# Install ACE v11.0.0.5 and accept the license
RUN tar -xzf /opt/ibm/${TAR_FILE} --absolute-names --exclude ace-11.\*/tools --strip-components 1 --directory /opt/ibm/ace-11
# Accept the license
RUN /opt/ibm/ace-11/ace make registry global accept license deferred
ARG LICENSE
# Configure the system and increase security
RUN echo "ACE_11:" > /etc/debian_chroot && \
sed -i 's/sha512/sha512 minlen=8/' /etc/pam.d/common-password && \
sed -i 's/PASS_MIN_DAYS\t0/PASS_MIN_DAYS\t1/' /etc/login.defs && \
sed -i 's/PASS_MAX_DAYS\t99999/PASS_MAX_DAYS\t90/' /etc/login.defs && \
echo ". /opt/ibm/ace-11/server/bin/mqsiprofile" >> /root/.bashrc
# Set BASH_ENV to source mqsiprofile when using docker exec bash -c
ENV BASH_ENV=/opt/ibm/ace-11/server/bin/mqsiprofile
# Create a user to run as, create the ace workdir, and chmod script files
RUN useradd --create-home --home-dir /home/aceuser --shell /bin/bash -G mqbrkrs,sudo aceuser && \
su - aceuser -c "export LICENSE=${LICENSE} && . /opt/ibm/ace-11/server/bin/mqsiprofile && mqsicreateworkdir /home/aceuser/ace-server" && \
echo ". /opt/ibm/ace-11/server/bin/mqsiprofile" >> /home/aceuser/.bashrc
USER aceuser
RUN bash -c "export LICENSE=${LICENSE}"
# Include the bar file in the image
COPY ${BAR_DIR}/${BAR_FILE} /tmp/${BAR_FILE}.bar
RUN bash -c "mqsibar -c -a /tmp/${BAR_FILE}.bar -w /home/aceuser/ace-server"
# Set entrypoint to run the server
ENTRYPOINT ["bash", "-c", "IntegrationServer -w /home/aceuser/ace-server"]
docker build -t ace-zcx:11.0.0.8 --build-arg TAR_DIR=tars --build-arg TAR_FILE=11.0.0-ACE-LINUXZ64-FP0008.tar.gz --build-arg BAR_DIR=bars --build-arg BAR_FILE=AliEchoproject.generated.bar -f name-of-Dockerfile .
docker run --name ace-server1 -p 7600:7600 -p 7800:7800 -p 7843:7843 -e LICENSE=accept ace-zcx:11.0.0.8
ACE in zCX
You can now run IBM App Connect Enterprise Version 11.0 as a server under IBM z/OS Container Extensions to benefit from z/OS qualities of service such as HA and scalability and to keep your integration logic with your data on z/OS.