Administración de Oracle SOA Suite 11g

Este es un tópico muy solicitado, que requiere perfiles muy particulares para llevarse a cabo.

Regularmente en un proyecto de implementación de Oracle SOA Suite, identificamos a varios roles:

  • Arquitecto SOA
  • Desarrollador de compuestos: BPEL, Mediator, Web Services, SDO, SCA, JCA, etc
  • Desarrollador de Service Bus
  • Desarrollador de BAM
  • En ocasiones incluimos a alguien que esté enfocado en su totalidad al Business Rules.

Pero regularmente se piensa que la infraestructura se administra sola, que una vez todo desplegado, el resto es que el Weblogic, la Base de datos se administren por cuenta. Este es un error muy grande, pues SOA Suite no es mas que una Aplicación que utiliza a Weblogic (o inclusive a Websphere), como application server, así como a la Base de datos (Oracle u otras) como repositorio de metadatos, de instancias en ejecución, de históricos, de artefactos, etc.

Es por eso que es bueno que se tomen en cuenta ciertos elementos al momento de utilizar la plataforma, y a su vez, concientizar a los encargados de administrar Weblogic y la Base de datos en la organización dónde se vaya a implementar la solución.

Este post es para resumir algunos puntos que encuentro básicos para la gestión de la plataforma:

Empecemos por Weblogic y la SOA INFRA.

¿Cómo saber si la infraestructura está activa?

• Existen varias forma de saber si la infraestructura de SOA está activa

• La mas simple, es entrar tanto al Weblogic Console como al Enterprise Manager

• Entrar al Enterprise Manager puede ser lo mas rápido y efectivo. Pues en una sola vista lo podrás saber

• Entrar al Weblogic Console es también una buena forma, pero hay que revisar mas cosas.

• Se puede monitorear la infraestructura de SOA en su totalidad, eso hace muy práctica la forma de uso de EM

Usando EM, en su homepage, veríamos lo siguiente:

image

Desde el Weblogic Console, miraríamos algo como lo siguiente:

image

Ambas imágenes nos servirían para al menos, saber que la Infraestructura está arriba y está activa. Podemos pensar que con esto, quien administre la plataforma, se sentirá tranquilo de que las cosas están bien.

Otra alternativa, es la siguiente:

• Entrar a http://maquina:puerto/soa-infra   el puerto es dónde la soa suite está ejecutándose (por ejemplo: 8001). Al entrar, verás lo siguiente:

image

•Te pedirá user y pwd para entrar, pero si sale el mensaje de aquí arriba y la lista de despliegues, podrás comprobar que la infra está arriba.

MONITOREO DE MEMORIA Y THREADS

Esto es algo muy relevante, pues ya en ejecución y en un ambiente muy transaccional, será muy importante el estar checando estos parámetros. Una forma fácil de hacerlo, es entrando al Weblogic Console:

image

También mirar esta pestaña:

image

La intención es que siempre veamos el Health en OK, así como un buen uso de memoria, como lo vemos en la imagen de la Pestaña de Performance.

Algunas sugerencias que puedo dar:

•Revisar el Enterprise Manager constantemente, y validar el estado de salud del Server

• Revisar el uso de Memoria y Threads de los Servers (sobre todo osb_server1 y 2, soa_server1 y 2, bam_server 1 y 2. Pues si algo se está poniendo crítico en cualquiera de estos, podemos tener problemas.

• No necesariamente si en el Weblogic aparece el soa_server1 ó soa_server2 en RUNNING, quiere decir que la SOA-INFA está corriendo. Hay que validar con el EM, o con la URL

• Otra forma es tener un Servicio de Estatus. Que se pueda consumir y también así compruebes que el Engine está activo.

PARA EL SERVICE BUS

image

Igualmente entrar al Weblogic Console del dominio en cuestión, servirá para saber el estado del managed server sobre el cual el OSB está ejecutándose.

UBICACION DE LOS LOGS

En un ambiente en dónde se esté usando SOA, OSR, OER y OSB se sugiere lo siguiente con respecto a los logs:

•Los logs están abajo del server manejado de Weblogic. En este sentido no hay diferencia con cualquier otro Weblogic que estén administrando

• También se pueden ver a través del EM. A continuación se mostrará un screen-shot. Pero por facilidad se recomienda usar línea de comando, pues el EM es muy lento en ese sentido.

• Se recomienda revisar el .out y el diagnostic. Esto en cualquier caso: BAM, OSB, SOA, OSR

• También se recomienda revisar el log del dominio. En este caso tenemos cuatro dominios: SOA, OSB, OSR y ER

• Los logs mas críticos serán el de OSB y SOA. Cuando BAM tenga carga y realmente se le de uso, ese será también un elemento crítico a monitorear

Así se puede entrar a los logs a través del EM:

image

PARAMETROS IMPORTANTES

image

Parámetros de la JVM que deben ser afinados, así como de los Datasources, Threads y de los EJBs particulares de BPEM. Así como parámetros de SOA-ENGINE. El JTA timeout estará por arriba de cualquier otro, siempre hay que establecerlo como el valor mas alto, siguiente la fórmula:

JTA>EJBs>SyncMaxWaitTime

(Esto ha sido desde siempre, inclusive desde el primero release de BPEL

DATASOURCES IMPORTANTES

EDNDataSource
EDNLocalTxDataSource
mds-owsm
mds-soa
OraSDPMDataSource
SOADataSource
SOALocalTxDataSource
wlsbjmsrpDataSource

Todos menos el último, son referentes a la SOA-INFRA. El último es del Service Bus.

Esta es solo una introducción a elementos importantes a adminstrar en una infraestructura de Weblogic para SOA Suite de Oracle. Faltan muchas mas cosas, sobre todo en Base de datos, que se deben contemplar.

Por lo pronto estos son elementos indispensables a tomar en cuenta.