Instalación de Oracle SOA Suite 12c sobre Exalogic

Por Rolando Carrasco y Leonardo González
Publicado en Mayo 2015

Objetivo

El objetivo del presente artículo, es mostrar la instalación completa de la Oracle SOA Suite 12c, sobre Oracle Exalogic y Oracle Linux.

Esta guía no reemplaza la documentación oficial de Oracle que puede ser encontrada aquí: http://docs.oracle.com/cd/E18476_01/doc.220/e47690/preface.htm#SXEDG2456, pero sí dará una guía fácil de entender para poder instalar Oracle SOA Suite 12c sobre Exalogic

Igualmente el presente artículo está orientado al proceso de instalación de SOA Suite 12c, no al acondicionamiento de Exalogic. Es decir, las configuraciones a nivel de HW, redes, sistema operativo, no son parte de este documento.

Introducción

Oracle Exalogic es una plataforma completa de hardware y software. Toda la plataforma es integrada, probada, optimizada, entregada y soportada por Oracle. Está diseñada para proveer alto desempeño, confiabilidad, facilidad de uso y versatilidad. El presente artículo se centra en la instalación y configuración de la Oracle SOA Suite sobre Oracle Exalogic.

Tanto Leonardo como Rolando han trabajado con este stack de SOA por varios años. En el caso de Rolando, por más de 10 años, desde los inicios de BPEL PM con Collaxa.  Es de resaltar que la mezcla de Exalogic con Oracle SOA Suite, son una garantía de desempeño y estabilidad. De por sí, Oracle SOA Suite es uno de los componentes del stack de Oracle, de mayor uso. Es un componente en donde Oracle ha demostrado su compromiso en desarrollo e investigación. Así que la unión de este HW de alto desempeño, con un software (SOA Suite) tan robusto y estable, simplemente dan un resultado extraordinario para quien lo utiliza.

La instalación que se mostrará a continuación, es realizada sobre un clúster de dos nodos (Exalogic). En el nodo 1 se configurará la instancia del servidor de Administración y cinco servidores manejados. En el nodo 2 se configurarán otros cinco servidores manejados. De tal forma que tendremos cinco clústeres: SOA clúster, OSB clúster, UMS clúster, BAM clúster y ESS Clúster.

En el siguiente diagrama, podemos observar la arquitectura utilizada para la instalación de la Oracle SOA Suite 12c:

NOTA: En esta guía no se verán los pasos de instalación de Enterprise Scheduler Service. Pero la figura anterior tiene la intención de transmitir la diversidad de managed servers que puede contener un dominio de SOA Suite 12c.
En realidad, en términos de arquitectura, la SOA Suite 12c es equivalente a la 11g. A tomar en cuenta cambios, como:

  • Oracle BAM es el que sí podemos identificar como aquel que sufrió mayores cambios.  Tanto a nivel de UI, como su sustento tecnológico. Ahora soporta múltiples navegadores, esa basado en Oracle ADF, utiliza Oracle Coherence.
  • Oracle Unified Messaging Service. Este antes era parte de los managed servers (e.g. SOA), ahora vive en su propio managed server. Así que, si tus compuestos hacen uso del UMS en 11g, no dejes de instalarlo para 12c
  • Oracle Enterprise Scheduler Service. Este es un componente que muchos habíamos pedido en años pasados. Finalmente hay un componente que permite la calendarización de Servicios. No solo internos, sino externos (PLs, clases JAVA, Web Services).
  • Oracle Service bus todavía más integrado a la SOA-INFRA. En 11g, era notoria a división entre la SOA-INFRA y el Service Bus. Ahora los vemos todavía más integrados

Estos son solo algunas diferencias. La realidad es que este release de Oracle SOA Suite 12c, generó  muchas expectativas  y las cumplió. Podemos decir, incluso, que las sobrepasó.
El Enterprise Deployment que propone Oracle, muestra los diferentes elementos a considerar para una instalación en clúster:

Description: Description of Figure 3-1 follows

En esta guía no contemplaremos la instalación y configuración del Oracle Traffic Director (OTD) para SOA Suite. Esto lo puedes ver en la siguiente documentación:

http://docs.oracle.com/cd/E18476_01/doc.220/e47690/otd_config.htm#SXEDG2


Si has instalado Oracle SOA Suite 11g sobre Exalogic, encontrarás los pasos muy similares. En sí para Exalogic el camino para instalar es el mismo que en 11g, lo que cambian es la arquitectura de 12c, al contemplar servidores manejados separados para UMS y la introducción del ESS como nuevo componente.

Igualmente el caso de Oracle BAM, cambia un poco. Pues en 12c en realidad cuentas con un clúster real, ya que en 11g la aplicación de BAM se comporta como singleton.

Antes de proceder con la instalación, es necesario descargar todo el software correspondiente y validar los pre-requisitos de instalación.

Para lo anterior, Oracle cuenta con documentación específica de los requerimientos y especificaciones del sistema. Estos pre-requisitos se documentan en el sitio web de Oracle:

http://docs.oracle.com/cd/E23104_01/sysreqs1213/sysrs.htm


La URL para la descarga de software es la siguiente:

http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html


Antes de arrancar la instalación, se sugiere llenar el SOA Workbook provisto por Oracle (se puede descargar de la propia documentación) para que ahí se registren las rutas de instalación, puertos, IPS, nombres de máquinas, etc.

A continuación una imagen de cómo luce el Workbook:


Como se puede notar, el Workbook contiene varias secciones y pestañas:

  • Hardware-Host Computers
  • Network
  • Storage
  • Database connection details

Toda esta información puede ser obvia, pero regularmente las instalaciones arrancan con la información poco centralizada. Unas personas tienen la información de la red; otras de la base de datos; otras más del sistema operativo. Pero rara vez hay una persona que pueda contestar a las preguntar de varias capas. Es por eso que el workbook sirve para centralizar toda esta información.

Son datos simples, pero que servirán durante el proceso de instalación.

La sección de HW-host computers, luce de la siguiente manera:

La sección de redes:


Ahora miremos la del Storage y rutas de instalación:


Fácilmente podrás identificar los valores de los file systems locales, compartidos, puntos de montaje. No hay manera que la gente que va a ejecutar la instalación, se llegue a equivocar.
Una vez que se tenga toda esta información ubicada y registrada, entonces sí arranca la instalación.
El hecho de instalarse sobre Exalogic, no debe ser una tarea más compleja que hacerlo sobre HW tradicional. Al contrario, debe ser todavía más natural y simplificad. La realidad es que lo es, simplemente tiene algunos pasos adicionales, pero que están enfocados a hacer un mejor uso de la infraestructura de Exalogic, como lo es la red de infiniband. Más adelante se verá cómo quedan los canales de weblogic escuchando tant en la red interna (infinibando) como la externa.
A continuación mostraremos a detalle, cada paso a seguir para la instalación.

Instalación del JDK

Debes descargar la versión 1.7 del Java Development Kit. Esto lo puedes hacer desde aquí:

http://www.oracle.com/technetwork/es/java/javase/downloads/jdk7-downloads-1880260.html


Para la instalación del JDK, únicamente es necesario descomprimir el archivo ZIP donde se encuentra toda la estructura que necesitamos.
En nuestro caso, usamos el siguiente comando para descomprimir el JDK:

tar -xvf jdk1.7.0_71.tar.gz

Esto provocará que se descomprima de la siguiente manera:


Una vez hecho esto tendremos que crear el JDK_HOME y mover la carpeta descomprimida a ese directorio. Esta será la ruta final de nuestro JDK.



Finalmente, tenemos que agregar esta ruta (JDK_HOME) al bash_profile, para que el usuario de nuestra instalación utilice ésta versión del JDK. Para realizar lo anterior, debemos editar el archivo .bash_profile  y agregar al PATH la ruta del JDK.



Hasta este punto, lo único que nos resta, es realizar la comprobación de la versión del JDK. Esto para asegurar que la versión de JDK del usuario de instalación, es la que acabamos de descomprimir.

Instalación de Oracle WebLogic Server

El siguiente paso es instalar WebLogic.
Necesitamos el instalador (para nuestro caso particular es fmw_12.1.3.0.0_infrastructure.jar) y crear el ORACLE_HOME de nuestra instalación. El ORACLE_HOME es la ruta donde deseamos que se encuentren instalados los productos de Oracle SOA Suite 12c. Esta ruta debe ser creada.
A continuación, debemos ejecutar el siguiente comando para arrancar el instalador de Oracle WebLogic Server:
java -jar fmw_12.1.3.0.0_infrastructure.jar
El comando anterior, ocasionará que se arranque el Oracle Universal Installer, previa descompresión de los archivos necesarios, esto puede tardar algunos instantes.



Una vez arrancado el Oracle Universal Installer, se mostrará la pantalla de bienvenida del asistente de la instalación. A partir de aquí, iniciamos con la instalación de Oracle WebLogic Server.


El primer paso es proporcionar la ruta del inventario central de instalaciones de Oracle. Adicional, también tendremos que indicar el grupo del sistema operativo al que pertenece nuestro usuario de instalación.


Veremos una pantalla de bienvenida. Debemos dar un click en Next, para continuar.


En el paso 2 de la instalación, debemos establecer el ORACLE_HOME de nuestra instalación. Esto lo definimos algunos pasos atrás, por lo que debemos proporcionar la misma ruta del ORACLE_HOME que creamos previamente. A continuación, presionar Next.


El siguiente paso es seleccionar el tipo de instalación. El instalador nos ofrece dos tipos: Fusion Middleware Infrastructure o Fusion Middleware Infrastructure with Examples. Debemos elegir la opción deseada y dar un click en Next. Para nuestro caso particular hemos elegido Fusion Middleware Infrastructure.


El paso 4 incluye una verificación de los pre-requisitos. Debemos asegurarnos que el resultado de la validación es correcta. Presionar Next para continuar con la instalación.


El siguiente paso es para proporcionar una dirección de correo electrónico para que Oracle pueda informar acerca de problemas de seguridad. En este caso, no estamos interesados en recibir estos informes, por lo que omitiremos la dirección de correo electrónico.


Debido a lo anterior, recibiremos una advertencia que nos indica que no vamos a recibir actualizaciones. En la ventana de la advertencia, vamos a presionar Yes para confirmar que deseamos mantener nuestra decisión de no recibir los informes.


En el paso 6, se muestra un resumen de los productos a instalar, la ubicación de la instalación y los requerimientos de disco para este procedimiento. Revisar que el resumen es correcto y presionar Install para proceder con la instalación.


El penúltimo paso, es el progreso de la instalación. Aquí únicamente hace falta verificar que todo se instale correctamente. Una vez que se instalaron todos los componentes, se deberá presionar Next para pasar al resumen de los productos instalados.


Finalmente, verificamos el resumen de la instalación y presionamos Finish para concluir.

Hasta este punto, hemos terminado con la instalación de Oracle WebLogic Server. Si revisamos la ruta que colocamos como ORACLE_HOME, podremos ver los productos recientemente instalados.

Instalación de Oracle SOA Suite 12c

Al igual que la instalación de Oracle WebLogic Server, ejecutada en pasos anteriores, la instalación de Oracle SOA Suite 12c es a través de Oracle Universal Installer. Para poder abrir el asistente de instalación, debemos contar previamente con el instalador (fmw_12.1.3.0.0_soa.jar, en nuestro caso particular) y ejecutar el siguiente comando:

java –jar fmw_12.1.3.0.0_soa.jar

Esto, nuevamente ejecutará Oracle Universal Installer, y se iniciará la instalación de Oracle SOA Suite 12c.


El primer paso es proporcionar la ruta del inventario central de instalaciones de Oracle. Adicional, también tendremos que indicar el grupo del sistema operativo al que pertenece nuestro usuario de instalación.


Veremos una pantalla de bienvenida. Debemos dar un click en Next, para continuar.


En el paso 2 de la instalación, debemos establecer el ORACLE_HOME de nuestra instalación. A continuación, presionar Next.


El siguiente paso es seleccionar el tipo de instalación. El instalador nos ofrece dos tipos: SOA Suite y BPM. Debemos elegir la opción deseada y dar un click en Next. Para nuestro caso particular hemos elegido SOA Suite.


El paso 4 incluye una verificación de los pre-requisitos. Debemos asegurarnos que el resultado de la validación es correcta. Presionar Next para continuar con la instalación.


En el paso 5, se muestra un resumen de los productos a instalar, la ubicación de la instalación y los requerimientos de disco para este procedimiento. Revisar que el resumen es correcto y presionar Install para proceder con la instalación.


El penúltimo paso, es el progreso de la instalación. Aquí únicamente hace falta verificar que todo se instale correctamente. Una vez que se instalaron todos los componentes, se deberá presionar Next para pasar al resumen de los productos instalados.

Finalmente, verificamos el resumen de la instalación y presionamos Finish para concluir.


Instalación de Oracle Service Bus

Al igual que la instalación de Oracle SOA Suite 12c, ejecutada en pasos anteriores, la instalación de Oracle Service Bus es a través de Oracle Universal Installer. Para poder abrir el asistente de instalación, debemos contar previamente con el instalador (fmw:12.1.3.0.0_osb.jar, en nuestro caso particular) y ejecutar el siguiente comando:

java –jar fmw:12.1.3.0.0_osb.jar

Esto, nuevamente ejecutará Oracle Universal Installer, y se iniciará la instalación de Oracle Service Bus.


El primer paso es proporcionar la ruta del inventario central de instalaciones de Oracle. Adicional, también tendremos que indicar el grupo del sistema operativo al que pertenece nuestro usuario de instalación.


Veremos una pantalla de bienvenida. Debemos dar un click en Next, para continuar.


En el paso 2 de la instalación, debemos establecer el ORACLE_HOME de nuestra instalación. A continuación, presionar Next.


El siguiente paso es seleccionar el tipo de instalación. El instalador nos únicamente un tipo de instalación: Service Bus. Dar un click en Next.


El paso 4 incluye una verificación de los pre-requisitos. Debemos asegurarnos que el resultado de la validación es correcta. Presionar Next para continuar con la instalación.


En el paso 5, se muestra un resumen de los productos a instalar, la ubicación de la instalación y los requerimientos de disco para este procedimiento. Revisar que el resumen es correcto y presionar Install para proceder con la instalación.


El penúltimo paso, es el progreso de la instalación. Aquí únicamente hace falta verificar que todo se instale correctamente. Una vez que se instalaron todos los componentes, se deberá presionar Next para pasar al resumen de los productos instalados.


Finalmente, verificamos el resumen de la instalación y presionamos Finish para concluir.


Creación de Esquemas de Base de Datos para la Infraestructura

Para soportar los metadatos de la infraestructura SOA, es necesario crear una serie de esquemas que realizarán esa labor. Para esto, haremos uso de RCU (Repository Creation Utility). Esta utilería se encargará de crear todos los objetos necesarios dentro de la base de datos que almacenará los metadatos de la infraestructura.

Al ejecutar RCU, lo primero que vemos es una pantalla de bienvenida. Para continuar con la instalación debemos dar un click en Next.


El RCU nos ofrece un par de opciones: crear o eliminar un repositorio. Para nuestro caso específico, estamos creando por primera vez el repositorio, por lo que elegiremos la primera opción. Dar un click en Next.


En el segundo paso, se muestra una pantalla que solicita los datos de conexión a la base de datos. Es necesario proporcionar la siguiente información para que el RCU se pueda conectar a la base de datos y crear los objetos de la infraestructura. Los datos solicitados son los siguientes:

  • Database Type
  • Host Name
  • Port
  • Service Name
  • Username
  • Password
  • Role



Es importante contar en este punto, con los datos de un usuario con rol de SYSDBA. Típicamente se utiliza el usuario sys para ejecutar los siguientes pasos. Una vez que se proporcionaron los datos requeridos, se presiona Next para continuar.


El siguiente paso es verificar que se cumplan las validaciones de los pre-requisitos. Esto tarda algunos segundos y una vez que se termina la verificación debemos presionar OK.


La siguiente pantalla nos muestra los componentes de la infraestructura disponibles para instalar, así como los propietarios de los esquemas. Adicional, es necesario establecer un prefijo con el que se identificarán los esquemas creados. Los elementos que se deben seleccionar son:

  • AS Common Schemas
  • SOA Suite

Presionar Next.


A continuación, el instalador valida los pre-requisitos para la creación de los objetos en la base de datos. Para continuar con la instalación presionamos OK.


En el paso 4, es necesario establecer el password de los esquemas que van a ser creados en la base de datos. Es posible asignar un mismo password para todos los esquemas, o bien, un password para cada uno de ellos.

En nuestro caso particular vamos a utilizar el mismo password para todos los esquemas.


En el siguiente paso es posible establecer algunas variables personalizadas. Esto principalmente es para determinar el perfil de la base de datos. Para ambientes de desarrollo, el valor suficiente y recomendado es SMALL. En nuestro caso, como es un dominio de producción, utilizaremos el perfil LARGE. En Healthcare Integration dejaremos el valor por default: NO.


Este es un paso nuevo en la ejecución del RCU. En 11g esto no existe. Esto está orientado a las indexaciones y particiones que se generan en la estructura de base de datos para SOA Suite. En 11g, tenías que realizar tus propias indexaciones y particiones, en 12c desde la propia ejecución del RCU, empieza a realizar este trabajo por ti.


En el paso 6, estamos casi finalizando el asistente del RCU. Se muestra un resumen de los componentes, esquemas y tablespaces a crear en la base de datos de la infraestructura SOA. Para continuar presionamos Next.


El asistente de la instalación, nos va a mostrar una advertencia indicando que se van a crear los tablespaces correspondientes en la base de datos. Presionar OK.


En el último paso de la ejecución del RCU, se muestra una pantalla con el resumen de los componentes, esquemas y tablespaces que se van a crear. Finalmente damos un click en Create para que se generen todos estos objetos en la base de datos de la infraestructura SOA.


Verificamos que la creación de los objetos sea correcta. La última pantalla del asistente nos va a mostrar un resumen en el que podremos verificar los componentes creados y las rutas de los logs que se generan durante la ejecución.

Damos un click en Close para finalizar con la instalación.

Creación del dominio de Oracle SOA Suite 12c

Hasta este punto, únicamente hemos realizado la instalación del software de Oracle necesario para completar nuestro dominio de Oracle SOA Suite 12c. Ahora, procederemos a crear el dominio que contendrá tanto el servidor de Administración, como los servidores manejados de nuestra infraestructura SOA. En este punto también se va a crear el nodemanager que gestionará nuestros servidores y el clúster de coherence.

Para realizar lo anterior, es necesario ejecutar el comando config.sh que se encuentra debajo de MW_HOME/oracle_common/common/bin.

Una vez que ejecutamos el comando config.sh, aparecerá el asistente de configuración del dominio. Éste asistente, solicitará la ruta donde queremos que se creé el dominio. Proporcionar la ruta del dominio y presionar Next.


Para crear el dominio, el asistente ofrece múltiples plantillas. Debemos elegir las plantillas que necesitamos, de acuerdo al dominio que deseamos crear. Para nuestro caso particular hemos elegido las que se muestran a continuación:
  


Una vez que se han seleccionado las plantillas necesarias, debemos presionar Next para continuar con la instalación del dominio.
 


En el paso 3, el asistente solicitará la ruta donde queremos que se almacenen las aplicaciones. Debemos proporcionar la ruta deseada y presionar Next.


El paso siguiente, es proporcionar el usuario y contraseña de lo que se convertirá en la cuenta de administración de nuestro dominio. Una vez que proporcionamos esta información, presionar Next para continuar.


El paso 5, consiste en indicar el modo de nuestro dominio y el JDK que vamos a utilizar para su ejecución. El asistente nos ofrece dos opciones en cuanto al modo del dominio: Desarrollo y Producción. Para nuestro caso particular, hemos elegido Producción. Para la JDK, elegimos la que se encuentra en la ruta que descomprimimos en los primeros pasos.


Lo siguiente es indicarle al instalador, los datos del repositorio de metadatos de la infraestructura. Una vez que colocamos estos datos, es necesario dar un click en Get RCU Configuration. El asistente realizará una conexión de prueba a la base de datos para validar la conexión antes de que podamos continuar.

Si la validación de la conexión es correcta, el instalador habilitará el botón Next para continuar con la instalación. En caso contrario, se debe verificar la información proporcionada de la base de datos.

A continuación debemos establecer el tipo de datasources que queremos para nuestra infraestructura. El instalador nos ofrece tres opciones: Generic Datasource, Multi Datasource y GridLink Datasource. Para el caso particular de nuestro dominio, necesitamos GridLink Datasource.


Lo anterior nos lleva a la pantalla donde debemos proporcionar la información tanto del SCAN de la base de datos, como del ONS. También es posible modificar la información de los esquemas de la infraestructura. Una vez que hemos completado la información, damos un click en Next para continuar con la instalación.

En nuestro caso, hacemos uso del protocolo SDP (Sockets Direct Protocol) en vez de TCP/IP. Esto nos permitirá tener menor latencia en las comunicaciones que van sobre la red InfiniBand. Originalmente el uso del protocolo SDP estaba limitado únicamente a APIs internas de Oracle en JRockit (Java 1.6). Sin embargo, el soporte de SDP se ha incluido como una capacidad general en Java 1.7.

El uso del protocolo nativo de la red InfiniBand, SDP, evita el uso de la pila TCP/IP y la latencia que esto pudiera incluir. El uso de SDP entrega mejores tiempos de respuesta especialmente en los casos en que los payloads son considerablemente grandes.


El paso 10 nos permite indicar algunos detalles de configuración avanzada. Aquí vamos a indicar al instalador que necesitamos crear tres componentes: Admin Server, Node Manager y Managed Servers, Clusters y Coherence.

Para proceder con esta configuración presionamos Next.

La siguiente pantalla nos lleva a la configuración principal del Admin Server. Aquí vamos a proporcionar información de la dirección donde escucha, el puerto y el nombre del servidor. Si necesitamos que nuestro Admin Server escuche por un puerto seguro, debemos habilitar la opción SSL y capturar el valor del puerto seguro.

Es importante hacer notar que la dirección donde escucha el Admin Server es la dirección interna (la de Infiniband).


La siguiente pantalla solicitará la configuración del Node Manager. Es necesario proporcionar la ubicación y las credenciales (es posible mantener la ubicación por default o proporcionar una personalizada). Para esto, se crea un usuario y contraseña para Node Manager.


De acuerdo a nuestro diagrama de arquitectura inicial, sabemos que tendremos tres clústeres con dos servidores manejados en cada uno de ellos. En total, seis servidores manejados, distribuidos en dos máquinas físicas. Lo anterior se define en la siguiente pantalla del instalador.

Al finalizar de configurar los servidores manejados del dominio, es necesario presionar Next para continuar con la instalación.


Ahora es tiempo de configurar los clústeres y las direcciones de cada uno de ellos.

Al finalizar de configurar los clústeres, se debe presionar Next.

Regresando al diagrama de arquitectura inicial, debemos asociar cada uno de los servidores manejados a su clúster correspondiente. Para ello, el asistente nos da esta posibilidad en el paso 15 de la instalación.


Coherence ha tenido algunos cambios en el comportamiento de la red para correr mejor en Exalogic. Por ejemplo, ahora elige el dispositivo de red que tiene el MTU más alto para comunicarse con los miembros del clúster. Coherence no soporta el uso de TCMP sobre SDP, únicamente sobre TCP/IP.

En el paso 16, es necesario configurar el nombre y puerto del clúster de Coherence. Después de proporcionar la información, debemos presionar Next para continuar con la instalación.

En el puerto indicado es donde se levantará el clúster de Coherence, a este clúster es al que se irán uniendo cada uno de los miembros (servidores manejados).


A continuación, vamos a configurar las máquinas asociadas al dominio. De acuerdo a la arquitectura solicitada, serán dos máquinas las que debemos crear para el dominio. Para cada una de las máquinas, es necesario colocar la IP interna (del Infiniband) y el puerto por donde escucha Node Manager.

Al proporcionar esta información, presionar Next para continuar.


En el siguiente paso, el instalador nos permite asociar cada uno de los servidores a alguna de las máquinas creadas. Esto es necesario para que Node Manager pueda gestionar esos servidores asociados a una máquina. En nuestro caso particular, el Admin Server lo hemos dejado sin asociar a alguna máquina, puesto que será instalado en alta disponibilidad (disponible en cualquiera de las dos máquinas) por lo que no estará asociado a algún Node Manager en particular.


Finalmente, el asistente muestra un resumen del dominio que hemos configurado. Para proceder a crear el dominio es necesario presionar Create. En caso de que exista alguna modificación que necesitemos, es necesario regresar para reconfigurar el dominio.


Lo que nos resta, es verificar el progreso de la instalación y una vez que se completa la creación del dominio, presionar Next para ver el resumen.


En la última pantalla, el asistente de configuración del dominio nos indica la ruta donde se instaló y la URL de la consola de administración de WebLogic. Para finalizar la instalación, dar un click en Finish.


Admin Server en Alta Disponibilidad

El Admin Server no puede ser desplegado en una configuración activa-activa, debido a que es una aplicación singleton. Este servidor, en todos los casos de instalaciones default de Oracle, siempre se encontrará disponible en uno de los nodos. En el caso que estamos exponiendo en el presente artículo, se ha realizado la configuración del Admin Server en alta disponibilidad. Esto es debido a que si el nodo del Admin Server queda inactivo, entonces la consola de Administración de WebLogic, Enterprise Manager, Service Bus y demás aplicaciones que se encuentren ahí desplegadas, también quedarán inactivas e inaccesibles.

Para lograr la alta disponibilidad del Admin Server es necesario contar con una IP flotante (virtual) asignada inicialmente a la máquina principal (donde correrá normalmente el Admin Server). En caso de que la máquina principal no se encuentre disponible, es necesario asignar la misma IP flotante a la máquina secundaria (esto es un procedimiento manual), y levantar desde ahí el servidor de administración.
Antes de asignar la IP flotante al nodo secundario, es necesario asegurar que la máquina principal está realmente inactiva, de lo contrario encontraremos conflictos de red, debido a que estaríamos intentando asignar la misma IP a dos máquinas dentro de la misma red.

Para que lo anterior sea posible, es necesario instalar el Admin Server en un sistema de archivos compartido entre ambas máquinas. De tal forma que si una de ellas no se encuentra disponible, desde la otra sea accesible el Admin Server para poder ser levantado.

Sin embargo, los servidores manejados, deberán instalarse en un sistema de archivos local. Hasta el momento, el dominio se creó en el sistema de archivos compartido. Es en estas rutas donde se encontrará el dominio en el que está nuestro servidor de administración.

Sin embargo, no contamos hasta este punto con las rutas de los dominios de los servidores manejados.

No es necesario ejecutar nuevamente los pasos para crear el dominio en cada uno de los sistemas de archivos locales para generar la estructura correspondiente del dominio a los servidores manejados. En vez de esto, vamos a utilizar los comandos pack y unpack que nos ofrece Oracle para copiar el dominio del sistema de archivos compartidos, al sistema de archivos locales.

Pack y Unpack del dominio (creación de estructura para servidores manejados)

El comando a ejecutar para realizar el pack (o empaquetado) del dominio, es el siguiente:

./pack.sh –managed=true –domain=/u01/oracle/config/domains/soa_domain –template=soa1_domain.jar –template_name=soa_domain



El comando se encuentra debajo de WL_HOME/common/bin.


Una vez que hemos ejecutado el pack del dominio, debemos hacer unpack (o desempaquetado) en el sistema de archivos local, donde tendremos los servidores manejados.

Lo anterior va a generar exactamente el mismo dominio, pero ahora en el sistema de archivos local, donde se encontrará la instalación de los servidores manejados.

El comando que es necesario ejecutar para el unpack es el siguiente:

./unpack.sh –domain=/u01/oracle/config/mserver/domains/soa_domain –template=soa_domain.jar –overwrite_domain=true –app_dir=/u01/oracle/config/mserver/applications



El comando unpack, igualmente se encuentra en la ruta WL_HOME/common/bin.

Creación de Canales

Una vez creados los dominios, procedemos a levantar de manera habitual nuestros servidores, tanto de administración como manejados. Es necesario verificar que en los logs no existan errores y en dado caso de presentarse, corregir cualquier omisión en la configuración. En nuestro caso, levantamos el Admin Server, Node Manager (en cada una de las máquinas) y finalmente, desde la consola de WebLogic levantamos los servidores manejados.

Como ya comentamos en algunos párrafos anteriores, toda esta infraestructura de Oracle Exalogic, se encuentra dentro de una red de alta velocidad y performance, llamada Infiniband. Por lo que es necesario crear canales que me permitan tener acceso a esta red, desde una red externa.

Para poder tener acceso a la administración de cada uno de los servidores de nuestro dominio, es necesario crear estos canales. Los protocolos principales para los que se crean los canales son los siguientes:

  • HTTP
  • HTTPS
  • T3

Una vez que el servidor de administración se encuentra corriendo, podemos entrar a la consola de administración de WebLogic para crear los canales para cada uno de los servidores del dominio. La primera vez es necesario tener acceso a la Infiniband, para poder conectarnos a la consola de administración vía la IP interna, para así poder crear los canales.

La manera de hacerlo, es mediante el comando firefox desde nuestra consola. Así, esto nos abre un navegador en la máquina que se encuentra dentro de la Infiniband. Con esto, entramos a la consola de administración (con la IP interna) y creamos los canales.


Para cada servidor del dominio, en la pestaña de protocolos es necesario crear los canales de la siguiente forma:
Indicar el nombre del canal y protocolo. Presionar Next.


Proporcionar la dirección por donde va a escuchar el canal y el puerto.


Completar la creación del canal dando click en Finish.

El procedimiento anterior, debe seguirse para cada uno de los servidores del dominio y para los protocolos mencionados. Un ejemplo de la creación de los canales, sería el siguiente.

Admin Server

bam_server1


Parches

Para este tipo de instalación de Oracle SOA Suite 12c, se recomienda la instalación de los siguientes parches:

Patch 19707784: SOA Bundle Patch 12.1.3.0.1

Patch 20163149: DATAOBJECT ASSIGNMENT LOST AFTER DEHYDRATION


Verificación de instalación

Para poder verificar que los parches se han instalado correctamente, podemos utilizar el comando opatch proporcionado por Oracle.

Lo anterior, se hace de la siguiente manera:

./opatch lsinventory –all

Esto ocasiona como resultado, que se muestre en la línea de comandos el resumen de los parches instalados en el sistema.


Configuración de Persistant Stores

Es recomendable mantener los archivos de datos de los persistant stores en una ruta definida por el administrador del sistema. Típicamente Oracle recomienda que se encuentren dentro de un directorio llamado soa_cluster/nombre_dominio/jms.
Para realizar lo anterior, es necesario crear la ruta indicada y debajo de ella las siguientes carpetas:

  • BAM
  • BPM
  • OSB
  • SOA
  • UMS
  • WSEE

Dentro de cada uno de esos directorios, se almacenarán los archivos de datos de los persistant stores.


Una vez creadas las rutas donde se encontrarán los archivos de datos, hay que configurar dentro de la consola de WebLogic cada uno de los persistant stores para que apunten sus archivos de datos a las rutas correspondientes.

Para realizar lo anterior, vamos a navegar dentro de la consola de WebLogic hasta persistant stores. Esto nos mostrará la lista de todos los persistant stores del dominio.

Estos persistant stores, están asociados a un servidor manejado (target). Debemos apuntar cada uno de ellos a la carpeta correspondiente, de la lista que creamos anteriormente.


Para realizar esto, entramos al detalle de cada uno de los persistant stores y lo apuntamos a la carpeta creada, de acuerdo al servidor manejado al que esté asociado. El campo que debemos modificar es el Directory, como se muestra a continuación:

Lo anterior se realiza para cada uno de los persistant stores.


Configuración de TLOGS

De la misma forma que los persistant stores, es recomendable direccionar por cada servidor manejado, los tlogs hacia una ruta particular debajo del directorio soa_cluster que ya teníamos previamente creado.

Para esto, generamos otra carpeta llamada tlogs, debajo de soa_cluster. Ahí es donde vamos a apuntar los tlogs de cada uno de los servidores manejados.

La configuración se realiza navegando dentro de la consola de WebLogic. En cada uno de los servidores manejados, navegar de la siguiente manera:

Configuration > Services

Esto nos llevará a la siguiente pantalla:

Aquí es necesario colocar la ruta previamente generada en el sistema de archivos, en el campo Directory de la sección Default Store.
Lo anterior debe realizarse por cada  uno de los servidores manejados del dominio.


Rotación de Logs

Por default, Oracle WebLogic tiene configurada una rotación de logs que va de acuerdo al tamaño del archivo. Una buena práctica es rotar estos logs no por tamaño, sino por día. Considerando que la información que se escribe en los logs debe ser la mínima necesaria para poder rastrear y determinar algún tipo de problema, y a su vez monitorear el estado de salud de los servidores del dominio.

De ninguna manera debe escribirse en los logs información para debug de las aplicaciones desplegadas en los servidores. Estas aplicaciones deberán tener sus propios logs de aplicación.

Para llevar a cabo esta recomendación, es necesario configurar cada uno de los servidores del dominio.

En la pestaña Logging > General, es posible seleccionar el tipo de rotación de los logs. En nuestro caso particular, elegimos By Time (esto ocasionará que la rotación de los logs se realice cada cierto tiempo).

El intervalo de rotación será cada 24 horas y el número de archivos de log que se van a retener es 10.

Lo anterior se muestra en la siguiente pantalla.


Resumen y conclusiones

En el presente artículo se ha cubierto la instalación de Oracle SOA Suite sobre una infraestructura de Oracle Exalogic y Oracle Linux.

Se detalló paso a paso el procedimiento de la instalación y configuración del dominio, así como algunas recomendaciones como configuración de persistant stores, tlogs y rotación de logs.

Cubrimos también los pasos adicionales, y distintos a una instalación convencional, como la creación de canales para la administración de la infraestructura desde una red externa a la Infiniband (que es donde se encuentran los Exalogic).

El dominio instalado es bajo una arquitectura de alta disponibilidad: 4 clústeres, 2 servidores manejados por cada uno de ellos y 2 máquinas (compute nodes).

Se hizo uso de utilerías como pack y unpack para generar un solo dominio (Admin Server) y poder desempacarlo para los servidores manejados.

Para obtener mayor información y documentación de Oracle SOA Suite 12c, visitar el sitio web:
http://docs.oracle.com/middleware/1213/index.html

 


Tanto Leonardo González como Rolando Carrasco, trabajan para S&P Solutions, una empresa latinoamericana, enfocada a la implementación de Oracle Fusion Middleware, con la especialización de SOA, BPM, Identity Management, Webcenter, ADF, Cloud, Weblogic.
Ambos cuentan con la certificación de implementación de Oracle SOA Suite , otorgada por Oracle.
Leonardo tiene también las certificaciones de SOA, otorgadas por la SOA School.
Rolando tiene la certificación de Oracle IT Architecture SOA 2013 Essentials y es un Oracle ACE.
Ambos han trabajado en proyectos de SOA desde hace varios años, no solo en México, sino en diferentes países de Latinoamérica.

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.