posts

Oracle SOA Suite 12c sobre Docker

Posted on
devops oracle soa docker

Buenas noticias llegaron desde Oracle hace un par de semanas: Oracle WebLogic Server es ahora soportado en Docker!.

Esto es muy emocionante. Docker es una nueva tecnología que propone una nueva forma de virtualización a través de contenedores (OS, Configurations, Platform, Application) Para más información acerca de Docker

Bueno, WebLogic sobre Docker es genial, pero me he propuesto ir unos pasos más adelante y Dockerize los productos de SOA y BPM (como Guido Schmitz hizo con Oracle Stream Explorer)

He utilizado el repositorio de Oracle como base para crear una imagen con Oracle SOA Suite 12c instalado, y una configuración para utilizar esa imagen en la creación de otro contenedor con un dominio listo para ejecutar.

 Obtener el repositorio

Para probar esta entrada del blog, debe tener instalado Docker en su máquina.

El repositorio se encuentra ubicado en: http://github.com/jeqo/oracle-docker

Mi contribución está en la carpeta ‘OracleSOA’.

 Creación de la imagen con Oracle SOA Suite 12c

Primero se deben descargar los instaladores de Oracle SOA Suite 12c Quick Start, y colocarlos en la carpeta OracleSOA/dockerfiles/12.1.3. De la misma forma descargar Java Development Kit 7, y colocarlo en el mismo folder.

Abrir un terminal en el directorio OracleSOA, ir a dockerfiles, y ejecutar el script buildDockerImage.sh con el argumento -d que indica que es la versión de desarrollo:

sh buildDockerImage.sh -d

Esta ejecución crear una imagen llamada: oracle/soa:12.1.3-dev

 Dockerize un dominio con SOA Suite

Ahora que tenemos una imagen Docker con SOA instalado, podemos reutilizarla para crear dominios con WLST.

Existe un ejemplo de este procedimiento en OracleSOA/samples.

Para ejecutarlo, ir a OracleSOA/samples/12c-domain y correr el siguiente comando:

docker build -t mysoa .

Esto debe crear un imagen mysoa que contiene un Compact Domain instalado en: /u01/oracle/work/domains/soa-domain

Eso es todo! Para crear un contenedor desde la imagen, ejecutar:

docker run -i -t mysoa

 Siguientes pasos

  • BPM sobre Docker
  • Publicar imagenes en Docker Hub Registry
  • Dominios Extendidos sobre Docker: Usar una base de datos Oracle Database para instalar Oracle SOA/BPM Schemas
  • SOA/BPM Cluster sobre Docker containers