• Stars
    star
    124
  • Rank 288,207 (Top 6 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Build scripts for Docker images (Dockerfiles) and Docker related utilities for WebSphere Liberty.

Build Status

WebSphere Application Server Liberty and Containers

Container images

  • Our recommended set uses Red Hat's Universal Base Image (UBI) as the Operating System and are re-built daily. They are available from IBM Container Registry (ICR) and Docker Hub. We strongly recommend using the images in ICR. Unlike Docker Hub, pulls from ICR are not rate limited.
  • Another set, using Ubuntu as the Operating System can be found on Docker Hub. These are re-built automatically anytime something changes in the layers below.

Building an application image

According to best practices for container images, you should create a new image (FROM icr.io/appcafe/websphere-liberty:) which adds a single application and the corresponding configuration. You should avoid configuring the container manually once it started, unless it is for debugging purposes, because such changes won't persist if you spawn a new container from the image.

Your application image template should follow a pattern similar to:

FROM icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi

# Default setting for the verbose option. Set it to true to debug the application container image build failures
ARG VERBOSE=false

# Add Liberty server configuration including all necessary features
COPY --chown=1001:0  server.xml /config/

# Modify feature repository (optional)
# A sample is in the 'Getting Required Features' section below
COPY --chown=1001:0 featureUtility.properties /opt/ibm/wlp/etc/

# This script will add the requested XML snippets to enable Liberty features and grow the image to be fit-for-purpose using featureUtility.
RUN features.sh

# Add interim fixes (optional)
COPY --chown=1001:0  interim-fixes /opt/ibm/fixes/

# Add application
COPY --chown=1001:0  Sample1.war /config/dropins/

# This script will add the requested server configurations, apply any interim fixes and populate caches to optimize runtime
RUN configure.sh

This will result in a container image that has your application and configuration pre-loaded, which means you can spawn new fully-configured containers at any time.

Getting Required Features

The kernel tag provides just the bare minimum server. You can grow it to include the features needed by your application by invoking features.sh. Liberty features are downloaded from Maven Central repository by default. But you can specify alternatives using /opt/ibm/wlp/etc/featureUtility.properties:

remoteRepo.url=https://my-remote-server/secure/maven2
remoteRepo.user=operator
remoteRepo.password={aes}KM8dhwcv892Ss1sawu9R+

Refer to Repository and proxy modifications for more information.

Optional Enterprise Functionality

This section describes the optional enterprise functionality that can be enabled via the Dockerfile during build time, by setting particular argument (ARG) or environment variable (ENV) and calling RUN configure.sh. Each of these options trigger the inclusion of specific configuration via XML snippets (except for VERBOSE), described below:

  • TLS (SSL is deprecated)
    • Description: Enable Transport Security in Liberty by adding the transportSecurity-1.0 feature (includes support for SSL).
    • XML Snippet Location: keystore.xml.
  • HZ_SESSION_CACHE
    • Description: Enable the persistence of HTTP sessions using JCache by adding the sessionCache-1.0 feature.
    • XML Snippet Location: hazelcast-sessioncache.xml
  • VERBOSE
    • Description: When set to true it outputs the commands and results to stdout from configure.sh. Otherwise, default setting is false and configure.sh is silenced.

Deprecated Enterprise Functionality

The following enterprise functionalities are now deprecated and will be removed in a future release. You should stop using them :

  • HTTP_ENDPOINT
  • MP_HEALTH_CHECK
  • MP_MONITORING
    • Description: Monitor the server runtime environment and application metrics by using Liberty features mpMetrics-1.1 (implements Microprofile Metrics) and monitor-1.0.
    • XML Snippet Location: mp-monitoring.xml
    • Note: With this option, /metrics endpoint is configured without authentication to support the environments that do not yet support scraping secured endpoints.
  • IIOP_ENDPOINT
  • JMS_ENDPOINT
  • OIDC
    • Description: Enable OpenIdConnect Client function by adding the openidConnectClient-1.0 feature.
    • XML Snippet Location: oidc.xml
  • OIDC_CONFIG
    • Description: Enable OpenIdConnect Client configuration to be read from environment variables.
    • XML Snippet Location: oidc-config.xml
    • Note: The following variables will be read: OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, OIDC_DISCOVERY_URL.

Security

Single Sign-On can be optionally configured by adding Liberty server variables in an xml file, by passing environment variables (less secure), or by passing Liberty server variables in through the Liberty operator. See SECURITY.md.

OpenJ9 Shared Class Cache (SCC)

OpenJ9's SCC allows the VM to store Java classes in an optimized form that can be loaded very quickly, JIT compiled code, and profiling data. Deploying an SCC file together with your application can significantly improve start-up time. The SCC can also be shared by multiple VMs, thereby reducing total memory consumption.

WebSphere Liberty container images contain an SCC and (by default) add your application's specific data to the SCC at image build time when your Dockerfile invokes RUN configure.sh.

Note that currently some content in the SCC is sensitive to heap geometry. If the server is started with options that cause heap geometry to significantly change from when the SCC was created that content will not be used and you may observe fluctuations in start-up performance. Specifying a smaller -Xmx value increases the chances of obtaining a heap geometry that's compatible with the AOT code.

This feature can be controlled via the following variables:

  • OPENJ9_SCC (environment variable)
    • Description: If "true", cache application-specific in an SCC and include it in the image. A new SCC will be created if needed, otherwise data will be added to the existing SCC.
    • Default: "true".
  • TRIM_SCC (environment variable)
    • Description: If "true", the application-specific SCC layer will be sized-down to accomodate only the data populated during image build process. To allow the application to add more data to the SCC at runtime, set this variable to "false", but also ensure the SCC is not marked read-only. This can be done by setting the OPENJ9_JAVA_OPTIONS environment variable in your application Dockerfile like so: ENV OPENJ9_JAVA_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,nonFatal -Dosgi.checkConfiguration=false". Note that OPENJ9_JAVA_OPTIONS is already defined in the base Liberty image dockerfile, but includes the readonly sub-option.
    • Default: "true".
  • SCC_SIZE (environment variable)
    • Description: The size of the application-specific SCC layer in the image. This value is only used if TRIM_SCC is set to "false".
    • Default: "80m".

Logging

It is important to be able to observe the logs emitted by WebSphere Liberty when it is running in a container. A best practice method would be to emit the logs in JSON and to then consume it with a logging stack of your choice.

Configure your WebSphere Liberty container image to emit JSON formatted logs to the console/standard-out with your selection of liberty logging events by providing the following environment variables to your WebSphere Liberty DockerFile.

For example:

//This example illustrates the use of all available logging sources.
ENV WLP_LOGGING_CONSOLE_FORMAT=JSON
ENV WLP_LOGGING_CONSOLE_LOGLEVEL=info
ENV WLP_LOGGING_CONSOLE_SOURCE=message,trace,accessLog,ffdc,audit

These environment variables can be set when running container as well. This can be achieved by using the run command's '-e' option to pass in an environment variable value.

docker run -d -p 80:9080 -p 443:9443 -e WLP_LOGGING_CONSOLE_FORMAT=JSON -e WLP_LOGGING_CONSOLE_LOGLEVEL=info -e WLP_LOGGING_CONSOLE_SOURCE=message,trace,accessLog,ffdc,audit websphere-liberty:latest

For more information regarding the configuration of WebSphere Liberty's logging capabilities see: https://www.ibm.com/support/knowledgecenter/en/SSD28V_liberty/com.ibm.websphere.wlp.core.doc/ae/rwlp_logging.html

Session Caching

The Liberty session caching feature builds on top of an existing technology called JCache (JSR 107), which provides an API for distributed in-memory caching. There are several providers of JCache implementations. The configuration for two such providers, Infinispan and Hazelcast, are outlined below.

  1. Infinispan - One JCache provider is the open source project Infinispan, which is the basis for Red Hat Data Grid. Enabling Infinispan session caching retrieves the Infinispan client libraries from the Infinispan JCACHE (JSR 107) Remote Implementation maven repository, and configures the necessary infinispan.client.hotrod.* properties and the Liberty server feature sessionCache-1.0 by including the XML snippet infinispan-client-sessioncache.xml.

    • Setup Infinispan Service - Configuring Liberty session caching with Infinispan depends on an Infinispan service being available in your Kubernetes environment. It is preferable to create your Infinispan service by utilizing the Infinispan Operator. The Infinispan Operator Tutorial provides a good example of getting started with Infinispan in OpenShift.

    • Install Client Jars and Set INFINISPAN_SERVICE_NAME - To enable Infinispan functionality in Liberty, the container image author can use the Dockerfile provided below. This Dockerfile assumes an Infinispan service name of example-infinispan, which is the default used in the Infinispan Operator Tutorial. To customize your Infinispan service see Creating Infinispan Clusters. The INFINISPAN_SERVICE_NAME environment variable must be set at build time as shown in the example Dockerfile, or overridden at image deploy time.

      • TIP - If your Infinispan deployment and Liberty deployment are in different namespaces/projects, you will need to set the INFINISPAN_HOST, INFINISPAN_PORT, INFINISPAN_USER, and INFINISPAN_PASS environment variables in addition to the INFINISPAN_SERVICE_NAME environment variable. This is due to the Liberty deployment not having the access to the Infinispan service environment variables it requires.
    ### Infinispan Session Caching ###
    FROM icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi AS infinispan-client
    
    # Install Infinispan client jars
    USER root
    RUN infinispan-client-setup.sh
    USER 1001
    
    FROM icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi AS open-liberty-infinispan
    
    # Copy Infinispan client jars to Open Liberty shared resources
    COPY --chown=1001:0 --from=infinispan-client /opt/ibm/wlp/usr/shared/resources/infinispan /opt/ibm/wlp/usr/shared/resources/infinispan
    
    # Instruct configure.sh to use Infinispan for session caching.
    # This should be set to the Infinispan service name.
    # TIP - Run the following oc/kubectl command with admin permissions to determine this value:
    #       oc get infinispan -o jsonpath={.items[0].metadata.name}
    ENV INFINISPAN_SERVICE_NAME=example-infinispan
    
    # Uncomment and set to override auto detected values.
    # These are normally not needed if running in a Kubernetes environment.
    # One such scenario would be when the Infinispan and Liberty deployments are in different namespaces/projects.
    #ENV INFINISPAN_HOST=
    #ENV INFINISPAN_PORT=
    #ENV INFINISPAN_USER=
    #ENV INFINISPAN_PASS=
    
    # This script will add the requested XML snippets and grow image to be fit-for-purpose
    RUN configure.sh
    • Mount Infinispan Secret - Finally, the Infinispan generated secret must be mounted as a volume under the mount point of /platform/bindings/infinispan/secret/ on Liberty containers. The default location, for versions latest and 20.0.0.6+, of /platform/bindings/infinispan/secret/ can to be overridden by setting the LIBERTY_INFINISPAN_SECRET_DIR environment variable. When using the Infinispan Operator, this secret is automatically generated as part of the Infinispan service with the name of <INFINISPAN_CLUSTER_NAME>-generated-secret. For the mounting of this secret to succeed, the Infinispan Operator and Liberty must share the same namespace. If they do not share the same namespace, the INFINISPAN_HOST, INFINISPAN_PORT, INFINISPAN_USER, and INFINISPAN_PASS environment variables can be used instead(see the dockerfile example above). For an example of mounting this secret, review the volumes and volumeMounts portions of the YAML below.
    ...
        spec:
          volumes:
          - name: infinispan-secret-volume
            secret:
              secretName: example-infinispan-generated-secret
          containers:
          - name: servera-container
            image: ol-runtime-infinispan-client:1.0.0
            ports:
            - containerPort: 9080
            volumeMounts:
            - name: infinispan-secret-volume
              readOnly: true
              mountPath: "/platform/bindings/infinispan/secret/"
    ...
    
  2. Hazelcast - Another JCache provider is Hazelcast In-Memory Data Grid. Enabling Hazelcast session caching retrieves the Hazelcast client libraries from the hazelcast/hazelcast container image, configures Hazelcast by copying a sample hazelcast.xml, and configures the Liberty server feature sessionCache-1.0 by including the XML snippet hazelcast-sessioncache.xml. By default, the Hazelcast Discovery Plugin for Kubernetes will auto-discover its peers within the same Kubernetes namespace. To enable this functionality, the container image author can include the following Dockerfile snippet, and choose from either client-server or embedded topology.

    ### Hazelcast Session Caching ###
    # Copy the Hazelcast libraries from the Hazelcast container image
    COPY --from=hazelcast/hazelcast --chown=1001:0 /opt/hazelcast/lib/*.jar /opt/ibm/wlp/usr/shared/resources/hazelcast/
    
    # Instruct configure.sh to copy the client topology hazelcast.xml
    ARG HZ_SESSION_CACHE=client
    
    # Default setting for the verbose option
    ARG VERBOSE=false
    
    # Instruct configure.sh to copy the embedded topology hazelcast.xml and set the required system property
    #ARG HZ_SESSION_CACHE=embedded
    #ENV JAVA_TOOL_OPTIONS="-Dhazelcast.jcache.provider.type=server ${JAVA_TOOL_OPTIONS}"
    
    ## This script will add the requested XML snippets and grow image to be fit-for-purpose
    RUN configure.sh

Applying interim fixes

This section describes the process to apply interim fixes via the Dockerfile during build time, by adding the interim fix JAR files to /opt/ibm/fixes directory and calling RUN configure.sh. Interim fixes recommended by IBM, such as to resolve security vulnerabilities, are also included in the same directory.

Ensure that all features needed by your applications, apart from the ones that will be automatically added for the enterprise functionalities you selected, are specified prior to calling RUN configure.sh, since interim fixes should only be applied once needed features are installed.

# Add interim fixes (optional)
COPY --chown=1001:0  interim-fixes /opt/ibm/fixes/

# Default setting for the verbose option
ARG VERBOSE=false

# This script will add the requested XML snippets, grow image to be fit-for-purpose and apply interim fixes
RUN configure.sh

Installing Liberty Features from local repository (19.0.0.8+)

This section describes very simple way to speed up feature installation during builds of your images

Locally hosting feature repository

The repository files can be downloaded from Fix Central.

To host feature repository on-premises one of the easiest solutions could be using nginx container image.

docker run --name repo-host -v /repo-host:/usr/share/nginx/html:ro -p 8080:80 -d nginx

You can mount and serve multiple zip files using a container volume mount, for example repo-host folder mounted from host to nginx container above.

You can place each zip archive in versioned folders, for example repo-host/${LIBERTY_VERSION}/repo.zip

You will need a hostname/IP and mapped port to generate FEATURE_REPO_URL, for example above port 8080 is used.

Using locally hosted feautre repository in Dockerfile

Using FEATURE_REPO_URL build argument it is possible to provide a link to a feature repo zip file containing all the features. You will also need to make sure to call RUN configure.sh in your Dockerfile

docker build --build-arg FEATURE_REPO_URL="http://wlprepos:8080/19.0.0.x/repo.zip"

You can also set it through Dockerfile

FROM icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi
ARG FEATURE_REPO_URL=http://wlprepos:8080/19.0.0.x/repo.zip
ARG VERBOSE=false
RUN configure.sh

Note: This feature requires a curl command to be in the container image. Some base images do not provide curl. You can add it before calling confiure.sh this way:

FROM icr.io/appcafe/websphere-liberty:kernel-java17-openj9-ubi
USER root
RUN apt-get update && apt-get install -y curl
USER 1001
ARG FEATURE_REPO_URL=http://wlprepos:8080/19.0.0.x/repo.zip
ARG VERBOSE=false
RUN configure.sh

Known Issues

For the list of known issues related to images, see the Known Issues section for Open Liberty.

Issues and Contributions

For issues relating specifically to the Dockerfiles and scripts, please use the GitHub issue tracker. For more general issue relating to IBM WebSphere Application Server Liberty you can get help through the WASdev community or, if you have production licenses for WebSphere Application Server, via the usual support channels. We welcome contributions following our guidelines.

License

The Dockerfiles and associated scripts found in this project are licensed under the Apache License 2.0.

More Repositories

1

ci.docker.websphere-traditional

Dockerfiles for WebSphere Application Server traditional
HTML
172
star
2

sample.voice.gateway

Lots of helpful samples to help jumpstart development with the IBM Voice Gateway.
JavaScript
62
star
3

sample.daytrader7

The DayTrader 7 benchmark sample, which is a Java EE 7 application built around the paradigm of an online stock trading system. #JavaEE7
Java
40
star
4

ci.docker.tutorials

Hands-on tutorials walking through using Websphere Application Server with Docker.
Dockerfile
26
star
5

standards.jsr352.jbatch

Home of 'jbatch', a compatible implementation of the Jakarta Batch specification (and the former Reference Implementation for the JSR 352, Batch Applications for the Java Platform specification).
Java
21
star
6

ci.docker.ibm-http-server

Dockerfiles for IBM HTTP Server
Shell
17
star
7

lib.rtcomm.clientjs

Rtcomm client Javascript libraries (includes WebRTC support)
JavaScript
15
star
8

lib.angular-rtcomm

The Rtcomm Angular module, which exposes a set of real-time communication features in the form of a service and a number of Angular directives and controllers.
JavaScript
14
star
9

ci.maven.tools

A collection of Maven archetypes and target POMs for developing Java EE and OSGi applications targeting WebSphere Liberty within the WDT Eclipse IDE.
Java
13
star
10

sample.rtcomm.mobile

A mobile sample application using lib.rtcomm.clientjs
JavaScript
12
star
11

tool.lars

The Liberty Asset Repository Service implements a repository for Liberty features that you can deploy locally
Java
12
star
12

sample.daytrader3

The DayTrader 3 benchmark sample, which is a Java EE 6 application built around the paradigm of an online stock trading system.
Java
10
star
13

tool.accelerate.core

No further updates will be made to this repository
Java
10
star
14

standards.jsr352.batch-spec

Home of the Java Batch standard (JSR 352, Batch Applications for the Java Platform) and its ongoing evolution. #JavaEE7
Shell
10
star
15

sample.plantsbywebsphere

Updated Plants By WebSphere showcase sample to run on WebSphere Liberty.
Java
9
star
16

websphere-liberty-operator

Deploy and manage containerized Liberty applications on Kubernetes. Documentation: https://ibm.biz/wlo-docs
Go
9
star
17

sample.logstash.collector

A sample project containing a Logstash configuration file, the index template, and the sample Kibana dashboard for exploiting the logstashCollector-1.0 feature in Liberty.
9
star
18

sample.DefaultApplication

This repo describes the modernization process for the tradtional WebSphere DefaultApplication.
HTML
8
star
19

sample.ejb

A sample that demonstrates injection of an EJB into a servlet and provides an application consisting of a servlet and stateless session bean.
Java
8
star
20

sample.opentracing.zipkintracer

Zipkin Opentracing tracer implementation for use with Liberty
Java
7
star
21

sample.pmi.prometheus.grafana

This repository contains a Docker compose file to quickly set up WebSphere Application Server traditional Performance Monitoring Infrastructure (PMI) metrics with Prometheus and Grafana.
Python
7
star
22

util.bash.completion

Bash auto completion scripts for Liberty profile server
6
star
23

sample.javaee7.jms

A couple of servlets use simplified API of JMS2.0 for performing Point to Point and Publish/Subscribe messaging. #JavaEE7
Java
6
star
24

sample.netflixoss.wlp

Sample to demonstrate using WebSphere Liberty Profile with Netflix OSS
Java
6
star
25

sample.jms.server

Liberty JMS server sample
Java
5
star
26

sample.javaee7.websocket

Sample Java EE 7 WebSocket application (available pre-deployed to WAS classic V9 beta hosted in bluemix.net) #JavaEE7
Java
5
star
27

sample.docker.mq

Sample for demonstrating using Docker Compose to configure a topology with WebSphere Liberty and IBM MQ
Java
5
star
28

sample.ejb2

EJB 2 remote example on WebSphere Liberty/Open Liberty with EJB JAR, EJB Client JAR, WAR, EAR and App Client.
Java
4
star
29

sample.javaee7.servlet.nonblocking

Demonstrates how to use non-blocking I/O by using new APIs added to ServletInputStream and ServletOutputStream. #JavaEE7
Java
4
star
30

sample.batch.bonuspayout

Demos the batch-1.0 and batchManagement-1.0 features of WebSphere Liberty. It uses the batchManager command-line utility to wrapper the REST-based remote dispatch and management interface. #JavaEE7
Java
4
star
31

websphere-liberty-s2i

Shell
4
star
32

sample.SpringBootMVC

Sample project demonstrating how to integrate a Basic Spring Boot MVC application with Liberty using Maven.
Shell
4
star
33

sample.jaxws.web

Java
3
star
34

azure.liberty.aro

Shell
3
star
35

sample.javaee7.jsonp

5 servlets that will parse and display JSON data using different implementations for getting the JSON code. #JavaEE7
Java
3
star
36

sample.jpa

A sample that contains a server definition which contains a very simple JPA application consisting of a single servlet and a JPA servlet.
Java
3
star
37

lib.batch.magicsauce

Provides two key capabilities to batch application developers adopting IBM's Java Batch platforms built on WebSphere Application Server. #JavaEE7
Java
3
star
38

sample.SpringBootWebsocket

Sample project demonstrating how to integrate a Spring Boot WebSocket application with Liberty using Maven.
Java
3
star
39

sample.wola

Samples showing the use of WebSphere Optimized Local Adaptors
3
star
40

sample.consulservicediscovery

A sample user feature which hooks Liberty annotation scanning to automatically discover and register all REST services with a Consul agent.
Java
3
star
41

sample.docker.db2

Samples for deploying a web application that talks to a DB2 database, using Docker-Compose across multiple Docker machines.
Shell
3
star
42

sample.Spring

Sample to demonstrate Spring and Spring MVC integration through a simple phonebook sample Web application deployed to Liberty.
Java
3
star
43

sample.javaee7.concurrency

Demonstrates how to use managed executors, managed scheduled executors, and context service to perform tasks in parallel in a simple application.
Java
3
star
44

sample.BYOJackson

Sample application and blog post describing how to package Jackson with your Liberty application.
Java
2
star
45

sample.microservicebuilder.helm.elk

Sample Helm chart for using ELK with Microservice Builder
2
star
46

azure.liberty.aks

Bicep
2
star
47

sample.oauth.store

Sample implementations of the WebSphere Liberty com.ibm.websphere.security.oauth20.store.OAuthStore API using a BELL and a user feature.
Java
2
star
48

sample.javaee7.el30

Shows how to use some of the new EL 3.0 (Expression Language) functions. #JavaEE7
Java
2
star
49

sample.servlet.jdbc

Basic servlet sample with a simple JDBC datasource definition. #JavaEE7
Java
2
star
50

sample.microprofile.meetingapp

An e-meeting redirection sample application written using MicroProfile and Liberty.
Java
2
star
51

ci.maven.parent

Stores parent poms used by builds in other repositories.
2
star
52

sample.logstash.websphere-traditional

Sample configuration files for ELK and filebeat for traditional WAS
2
star
53

azure.websphere-traditional.cluster

Bicep
2
star
54

sample.batch.sleepybatchlet

A simple sample batchlet for use with feature batch-1.0 on WebSphere Liberty. #JavaEE7
Java
2
star
55

sample.rxjava

Sample containing a WebSockets endpoint that uses the RxJava APIs.
Java
2
star
56

sample.rtcomm.healthcare

Demonstrates using the WASdev/lib.rtcomm.clientjs and WASdev/lib.angular-rtcomm projects to add real-time communications to a Healthcare website.
HTML
2
star
57

sample.dashboards

Sample dashboards for Liberty for logging and monitoring.
2
star
58

sample.docker.datacenter

Samples for deploying collectives, static topologies, and NGINX/Interlock topologies with Liberty on Docker Datacenter (Docker Swarm).
Shell
1
star
59

sample.angular-rtcomm

Demos some of the features of the angular-rtcomm framework.
JavaScript
1
star
60

azure.websphere-traditional.singleserver

Shell
1
star
61

azure.websphere-traditional.image

Shell
1
star
62

sample.abdera.jaxrs

Demonstrating JAXRS-2.0 integration with Apache Abdera. #JavaEE7
Java
1
star
63

lib.rtcomm.node-red

Rtcomm Node-RED nodes
JavaScript
1
star
64

sample.microservices.docs

1
star
65

standards.jsr352.tck

Home of the TCK for the Java Batch standard (JSR 352, Batch Applications for the Java Platform). #JavaEE7
Java
1
star
66

sample.metrics

A simple sample of how to add metrics to your Liberty apps and visualize them in Grafana.
Java
1
star
67

sample.rtcomm.sip.gateway

Sample application that uses JSR 289 and JSR 309 to connect a SIP soft phone and an Rtcomm WebRTC endpoint using a media server as a mediator and translator for the media.
Java
1
star
68

sample.async.jaxrs

This is a collection of samples that illustrate the async capabilities of JAX-RS 2.0 in Java EE7 that can be used to make your applications more responsive. #JavaEE7
Java
1
star
69

sample.wsadmin.websphere-traditional

Python
1
star
70

sample.rtcomm.helpdesk

This is a sample WebRTC helpdesk application that demonstrates how WebSphere can be used to build an application that supports the creation of real-time audio/video/chat sessions between a customer and an agent.
JavaScript
1
star