softwareag/apama-builder
Prior to executing the Docker Pull Command, downloading, using or installing the accompanying software product, please ensure to read and accept the terms applying to this offering:
LIMITED USE LICENSE AGREEMENT FOR DOCKER IMAGES FROM SOFTWARE AG (ALTERNATE LINK: https://documentation.softwareag.com/legal/docker/Limited_Use_License_for_Docker.txt)
Software AG produces several different variations of the Apama product as Docker images, depending on your use case. Please consult this table for the various images and their uses:
Image | Use |
---|---|
softwareag/apama-correlator | Image for the correlator including support for Java and Python. Doesn't contain connectivity to other Software AG products. |
softwareag/apama-correlator-minimal | Smallest image for the correlator, aimed at pure-Apama use cases. Doesn't contain Java or Python support, or connectivity to other Software AG products. |
softwareag/apama-correlator-suite | Image for the correlator containing support for Java, Python, and connectivity to the rest of the Software AG product suite and JMS. |
softwareag/apama-cumulocity-jre | Base image for custom Cumulocity IoT microservices, containing the correlator and connectivity to Cumulocity IoT. |
softwareag/apama-builder | Project build and test tools for deploying and testing projects to be used with the "apama-correlator" and "apama-minimal" images in a multi-stage Docker build. |
softwareag/apama-builder-suite | Project build and test tools (including Apache Ant) for deploying and testing projects, to be used with the "apama-correlator-suite" image in a multi-stage Docker build. |
softwareag/apama-cumulocity-builder | Project build and test tools for deploying and testing projects to be used with the "apama-cumulocity-jre" image in a multi-stage Docker build. |
The Apama Streaming Analytics platform enables organizations to exploit real-time insights from data in motion. It provides a competitive edge to agile organizations that want to act on these insights before they lose their value. The platform enables you to make informed decisions quickly and at scale by integrating real-time analytics and decisioning into your organizations transaction executing systems.
Apama Streaming Analytics is the most technically complete and business-ready platform that offers:
This is the "apama-builder" image to be used in conjunction with the companion "apama-correlator" image.
The following image tags are available via Docker Hub. Listed you will find the latest fix release for each currently supported line for which we supply pre-built Docker images for this product. There is also a two-digit tag for each release which will be updated each time a new fix is released to Docker Hub. Using the two-digit tag is recommended since new fixes will automatically be applied when you rebuild your image. You can explicitly use a specific fix revision, which will remain available as a tag throughout the lifetime of the product, but it is then your responsibility to keep the software up-to-date with fixes as they are released.
Image | Release Type | Base Image | Comments |
---|---|---|---|
softwareag/apama-builder:10.15.5.3-ubi9 | Standard | RedHat 9 | Libraries for connectivity with other Software AG products have been removed from "apama-builder" as of Apama 10.15. If your application or project requires these you will need to use the new "apama-builder-suite" image. |
softwareag/apama-builder:10.15-ubi9 | Standard | RedHat 9 | Libraries for connectivity with other Software AG products have been removed from "apama-builder" as of Apama 10.15. If your application or project requires these you will need to use the new "apama-builder-suite" image. |
softwareag/apama-builder:10.15.5.3 | Standard | RedHat 8 | Libraries for connectivity with other Software AG products have been removed from "apama-builder" as of Apama 10.15. If your application or project requires these you will need to use the new "apama-builder-suite" image. |
softwareag/apama-builder:10.15 | Standard | RedHat 8 | Libraries for connectivity with other Software AG products have been removed from "apama-builder" as of Apama 10.15. If your application or project requires these you will need to use the new "apama-builder-suite" image. |
softwareag/apama-builder:10.11 | Standard | RedHat 8 | |
softwareag/apama-builder:10.11.4.0 | Standard | RedHat 8 | |
softwareag/apama-builder:10.7 | Standard | RedHat 8 | |
softwareag/apama-builder:10.7.3.0 | Standard | RedHat 8 | |
softwareag/apama-builder:10.5 | Standard | RedHat 7 | |
softwareag/apama-builder:10.5.4.13 | Standard | RedHat 7 | |
softwareag/apama-builder:10.3 | Standard | Centos 7 | |
softwareag/apama-builder:10.3.1.23 | Standard | Centos 7 |
Software AG produces Apama images in related pairs. This is a builder image and is intended to be used as the first part of a multi-stage Docker build in a CI/CD pipeline. The companion "apama-correlator" or "apama-correlator-minimal" images are a smaller subset and are used as the runtime for a streaming analytics deployment.
More information about using Docker with Apama can be found in the online documentation on either the Software AG web site, or the Apama Community web site under the following topic area: Apama Documentation | Deploying and Managing Apama Applications | Deploying Apama Applications with Docker | Building Apama projects during the Docker build
In particular, since 10.3 it is much easier to now export Apama projects from the Software AG Designer IDE that will use this "apama-builder" image to create a new deployable version of a project that will add your assets on top of the other "apama-correlator" base image.
From 10.7 we use the Red Hat UBI 8 minimal image as a base, consequently if you need to install packages into a container using our image you must use microdnf instead of yum.
Application | Description |
---|---|
correlator | Core Apama application. |
engine_ tools | Runtime tools for managing an Apama correlator. |
engine_deploy | Converts a project into configuration directory that can be used to start the correlator using --config. |
engine_package | Create a correlator deployment package. |
apama_project | Manipulate Apama project files. |
PySys | Python framework for automating tests (https://www.apamacommunity.com/how-to-test-apama-applications/). |
Java development | JDK for use with the correlator (Java 8 for releases up to 10.7. Java 11 for releases 10.11 or later). |
Python runtime | Python runtime for use with the correlator. |
If a C++ compiler is required it can be installed as part of the image build steps but is not included automatically.
The builder image does not contain all of the Software AG integration plug-ins. For those you will need the softwareag/apama-builder-suite image.
For more details see the documentation section below.
To create an Apama image which contains a pre-deployed application, include your application in the image and use the --config argument to start the correlator.
If you create your aplication in designer you can right click the project, select Apama
followed by Add Docker Support
to create a Dockerfile that will invoke the builder image.
Otherwise, create a multi-stage Docker file with the following form where app
is the directory of your project:
ARG APAMA_VERSION=10.15
ARG APAMA_BUILDER=softwareag/apama-builder:${APAMA_VERSION}
ARG APAMA_IMAGE=softwareag/apama-correlator:${APAMA_VERSION}
# Use the build environment
FROM ${APAMA_BUILDER} as builder
COPY app ${APAMA_WORK}/app
RUN engine_deploy --outputDeployDir ${APAMA_WORK}/app_deployed ${APAMA_WORK}/app
#Extra commands for the build or testing should come before the final image creation
#RUN javac -sourcepath src -d build\classes HelloWorld.java
#RUN PySys run testDirectory
FROM ${APAMA_IMAGE}
COPY --from=builder ${APAMA_WORK}/app_deployed ${APAMA_WORK}/app_deployed
CMD ["correlator", "--config", "app_deployed"]
The contents of app
would be created either through Software AG Designer or manually. The builder image provides a self contained way to use the engine_deploy
tool to create a correlator deployment directory, and build an image in a single step. engine_deploy
and configuration file formats are described in the documentation (see the Documentation section below).
The application can then be built and started with:
#this example is using the 10.15 images as an example, replace
#arguments with the version or images you require
docker build \
--build-arg APAMA_VERSION=10.15 \
--file path_to_docker_file \
--tag application_image \
.
docker run -d application_image
By default this will create an image using this "apama-builder" image and the related "apama-correlator" image as the buildtime/runtime base images. If you want to use a different builder or runtime image then you'll need to override the APAMA_BUILDER
and APAMA_IMAGE
variables to docker build
.
Sample applications can be found on the Apama community website (see the Documentation section below).
The full Apama documentation is available from the community website: https://www.apamacommunity.com/docs/
On the community website you can also find forum discussions and blog posts about using Apama along with tutorials (https://www.apamacommunity.com/#tutorials) and code samples (https://www.apamacommunity.com/downloads/).
For customers with a commercial license support is available via Empower as normal. For community users use the forums on https://www.apamacommunity.com/community-forums/
Without a commercial license, Apama applies some restrictions to the size and features of your application.
See https://techcommunity.softwareag.com/en_en/products/iot---analytics/apama.html#apama-faqs for information about the differences between the Community Edition and commercial version of Apama.
From 10.7 this product references the official RedHat UBI 8 image as its base image. Software AG is not responsible for the contents of this base image.
From 10.5 this product references the official RedHat UBI 7 image as its base image. Software AG is not responsible for the contents of this base image.
Older images still available reference the official centos image as its base image instead. Software AG is not responsible for the contents of this base image.
With this Agreement, Software AG grants you - free of charge - a non-exclusive, non-transferable license to use and copy the Product and accompanying documentation on the number of computers, workstations or on terminals within a network as specified in the respective Product documentation (please refer to the respective section in the Release Notes relating to use restrictions) for your internal production use and for a time period defined below (see section License Validity). You must use the Product solely as described in its accompanying documentation. In no event may the Product be used to develop an integrated solution that requires for the Product to be integrated into your or any third party intellectual property in order to create a combined product that is provided to third parties. You may not pass on or distribute copies of the Product to any third party. You have the right to make one copy of the Product solely for archival and backup purposes. You may not decompile, disassemble, modify, decrypt, extract or otherwise reverse engineer, or make further copies of the Product or parts thereof. This Agreement is proof of your entering into this Agreement and you must retain it. This Agreement does not grant you the right to sublicense, transfer, rent, assign or lease the Product, in whole or in part.
The Software may contain or include software applications for which the Software AG itself had to acquire a license to use from a third party ("Third Party Applications"). These Third Party Applications may be subject to additional license terms ("Third Party Terms"), which are identified below or made available under the web address http://softwareag.com/licenses. The third party shall be entitled - only in relation to the respective third-party software - to exercise the rights of Software AG under this Agreement as a third party beneficiary directly against the licensee. Your use of the Third Party Applications will demonstrate your agreement to be bound by the Third Party Terms. Your use of Java SE Platform Products is expressly subject to the terms and conditions set forth here: http://www.oracle.com/technetwork/java/javase/terms/license/index.html. You may not use or distribute these third party applications or its APIs on a stand-alone basis without the Product nor attempt to alter or modify it. Software AG’s Product may reference dependencies on other Third Party Applications (e.g. database or operating system base layers) which are not part of the Product shipment and packaging and which are not linked to Software AG’s product in any way but which may be downloaded on execution of the Product package by Licensee. These Third Party Applications come with their own license terms and Software AG does not take liability of any kind for such dependencies. SOFTWARE AG MAKES NO WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, WITH REGARD TO ANY THIRD PARTY APPLICATIONS. ALL THIRD PARTY APPLICATIONS ARE PROVIDED "AS-IS," WITHOUT WARRANTIES OF ANY KIND. IN NO EVENT WILL SOFTWARE AG BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, PUNITIVE, EXEMPLARY, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE THIRD PARTY APPLICATIONS, EVEN IF SOFTWARE AG HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR LOSSES. Your sole remedies with regard to the Third Party Applications will be as set forth in the relevant Third Party Terms, if any.
This Agreement grants you a license for an indefinite period of time, subject to termination, as provided in this Agreement. The license will however limit your use of the Product to certain features, platforms or restrictions in capacity or other limitations incorporated by default, or - if applicable - by definition in the respective Product documentation. You accept these limitations and will in no event bypass these, whether by reverse engineering or other means.
Except with respect to the Third Party Applications, Software AG or its affiliates and licensors are the sole owners of the intellectual property rights or industrial rights in and to the Product and accompanying user documentation or have the respective distribution rights. References made in or on the Product to the copyright or to other intellectual property or industrial property rights must not be altered, deleted or obliterated in any manner. Except for the limited license granted in this Agreement, Software AG, its affiliates, and licensors reserve all other right, title, and interest in the Product. The name Software AG and all Software AG product names are either trademarks registered trademarks of Software AG and/or Software AG USA Inc. and/or its subsidiaries and/or its affiliates and/or their licensors. Other company and product names mentioned herein may be trademarks of their respective owners. No right, title or interest in any trademark or trade names of Software AG or its subsidiaries or its licensors is granted hereunder. Copyright (c) 2023 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors. You may provide suggestions, comments or other feedback (collectively, “Feedback”) to Software AG with respect to the Product. Feedback is entirely voluntary and Software AG is not required to hold it in confidence. Software AG may use Feedback for any purpose without obligation of any kind. To the extent a license is required under your intellectual property rights to make use of the Feedback, you grant Software AG an irrevocable, non-exclusive, perpetual, royalty-free license to use the Feedback in connection with Software AG’s business, including the enhancement of the Products.
The Product is confidential and proprietary information of Software AG and its licensors, and may not be disclosed to third parties. You shall use such information only for the purpose of exercising the Limited Use License Agreement to the Product and shall disclose confidential and proprietary information only to your employees who require such information for the purpose stated above. You agree to take adequate steps to protect the Product from unauthorized disclosure or use.
The Product is provided "as is" without any warranty whatsoever. TO THE MAXIMUM EXTENT PERMITTED BY LAW, SOFTWARE AG AND ITS AFFILIATES AND LICENSORS DISCLAIM ALL WARRANTIES WITH RESPECT TO THE PRODUCT, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, TITLE, MERCHANTABILITY, QUITE ENJOYMENT, QUALITY OF INFORMATION, AND FITNESS FOR A PARTICULAR PURPOSE. SOFTWARE AG AND ITS AFFILIATES AND LICENSORS DO NOT WARRANT THAT THE PRODUCT WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE PRODUCT WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE PRODUCT WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY SOFWARE AG OR ANY OF ITS PERSONNEL OR AGENTS WILL CREATE ANY WARRANTIES OR IN ANY WAY INCREASE THE SCOPE OF SOFTWARE AG’S OBLIGATIONS UNDER THIS AGREEMENT. You assume full responsibility for the selection of the Product to achieve your intended results and for the installation, use and results obtained from the Product. Any kind of support for the Software AG Product is explicitly excluded.
This Limited Use License Agreement does not grant you any right to, license for or interest in any improvements, modifications, enhancements or updates to the Product and documentation or other support services. Such services are typically available under a Commercial License Agreement only. Any such arrangements shall be the subject of a separate written agreement.
TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT WILL SOFTWARE AG OR ITS AFFILIATES OR LICENSORS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR INDIRECT DAMAGES, WHICH SHALL INCLUDE, WITHOUT LIMITATION, DAMAGES FOR PERSONAL INJURY, LOST PROFITS, LOST DATA AND BUSINESS INTERRUPTION, ARISING OUT OF THE USE OR INABILITY TO USE THE PRODUCT OR ANY SUPPORT SERVICES OR OTHER SERVICES, EVEN IF SOFTWARE AG HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ANY CASE, THE ENTIRE AGGREGATE LIABILITY OF SOFTWARE AG AND ITS AFFILAITES AND LICENSORS UNDER THIS AGREEMENT FOR ALL DAMAGES, LOSSES, AND CAUSES OF ACTION (WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE) WILL BE LIMITED TO FEES PAID BY YOU, IF ANY, DURING THE THREE (3) MONTHS IMMEDIATELY PRECEEDING THE FIRST EVENT GIVING RISE TO LIABILITY. THE LIMITATIONS OF LIABILITY AND DISCLAIMERS OF WARRANTIES PROVIDED IN THIS AGREEMENT FORM AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE PARTIES AND SHALL CONTINUE TO APPLY EVEN IF ANY REMEDY HEREUNDER FAILS OF ITS ESSENTIAL PURPOSE.
This Limited Use License Agreement will terminate immediately without notice from Software AG if you fail to comply with any provision of this Limited License Agreement. Software AG reserves the right to terminate this agreement immediately for good cause, whereby good cause is understood as any breach of this agreement. In addition, Software AG may terminate this Agreement on written or electronic notice to you in the event the Product becomes the subject of an infringement claim or if it no longer has sufficient rights to license the Product. Upon termination, the license granted in this Agreement will automatically terminate and you must immediately discontinue the use of the Product and destroy the Product and all copies of the Product in physical, electronic or other form. Upon request of Software AG licensee will certify in written that use is discontinued and all copies of the Product are destroyed. The following provisions will survive any termination or expiration of this Agreement: Intellectual Property, Confidentiality, Limitation of Liability, Export and Miscellaneous.
You may not download or otherwise export or re-export any underlying software, technology or other information from the Products except as stated explicitly in this notice or the Commercial License Agreement and in full compliance with all applicable national and international laws and regulations. You agree to indemnify and hold harmless and defend Software AG against any and all liability arising from or relating to your breach of these export control undertakings. Software AG reserves the right not to honor any affected parts of this notice, or the Commercial License Agreement, in case any national or international export regulations or foreign trade legislation, or any target country / customer / usage restrictions implied by embargos or other sanctions prohibit the provision of export controlled goods (Dual-Use items) and services to be granted to you under either this notice or the Commercial License Agreement. (...)
docker pull softwareag/apama-builder