Un primer acercamiento a Oracle Enterprise Scheduler 12c

A partir de Oracle SOA Suite 12c, Oracle incorporó el Enterprise Scheduling. Esta funcionalidad existía para las Fusion Apps, pero era ya necesario que nativamente la SOA Suite tuviera algo similar. Pues es muy común que los clientes tengan algunas rutinas que quieran calendarizar.

El Enterprise Scheduler es una aplicación que vive en su propio Managed Server, tal como lo podemos ver en la siguiente imagen:

clip_image002

La aplicación se administra desde adentro del Enterprise Manager de tu dominio. Desde aquí generarás:

· Definiciones de trabajo

· Planificaciones

· Ejecuciones

Las definiciones de trabajo pueden ser de varios tipos. El Enterprise Scheduler no se limita nada mas a llamar Servicios de la propia infraestructura Oracle SOA, sino que puede calendarizar:

· Paquetes PL/SQL

· EJBS

· Servicios Web Externos

· Clases JAVA

Un ejemplo de cómo funciona este nuevo feature de la SOA Suite, es el siguiente:

Imaginemos que requieres que uno de tus servicios expuestos en tu Service BUS, se ejecute todos los días a determinada hora.

Lo primero que debes de hacer es ir al menú del ESS, y generar una Definición de Trabajo:

clip_image003

Una vez hecho esto, saldrá la página de configuración que aparece a continuación:

clip_image005

Te pedirá: Nombre, Descripción y Tipo de Trabajo.

En Tipo de Trabajo, tienes varias opciones, como lo puedes ver a continuación:

clip_image007

Vamos a escoger el de tipo SyncWebService, lo cual provocará que te salga el siguiente cuadro de diálogo, que te pedirá la URL del WSDL y el tipo. En tipo puede ser: OSB, SOA, ADFBC o bien otro tipo de WS. En este caso, escogemos Service Bus:

clip_image008

Ahora hará la introspección y leerá la definición del WSDL:

clip_image009

En el cuadro de carga útil, te generará un mensaje de prueba. Finalmente da click en ACEPTAR y la definición de tu trabajo se creará.

clip_image010

Al momento solo has generado la definición de tu trabajo. Falta que establezcas la planificación, es decir, cómo y cada cuándo quieres que se ejecute.

Para hacer esto, tienes que ir a la sección:

clip_image011

Te saldrá la siguiente página de configuración:

clip_image013

Aquí da click en CREAR y te saldrá la siguiente pantalla:

clip_image015

Te pide Nombre, Descripción, Frecuencia, Zona horario, Fecha de Inicio.

En Frecuencia hay varias opciones:

clip_image016

Por ejemplo, escoge que quieres planificar para que sea Diariamente:

clip_image017

Al hacerlo, automáticamente te pedirá cada cuántos días. Así como la fecha de Inicio y de Finalización. Con esto habrás creado la Planficiación.

Ahora solo te falta ejecutar tu Servicio Calendarizado.

El Servicio Calendarizado, toma como base a tu definición de trabajo, así como a la planificación.

Para hacerlo, ve a la siguiente sección del Menú:

clip_image018

Estando en esta sección, te saldrán las siguientes opciones:

clip_image020

Lo primero a identificar es que te pide la Definición del Trabajo (el primer paso de este post) y la Planificación (segundo paso).

Primero elige un nombre para tu Ejecución, posteriormente busca la definición de Trabajo y finalmente la Planificación:

clip_image021

Con esto tendrás ya a tu servicio definido, planificado y en ejecución:

clip_image022

Esta es solo una vista rápida de las capacidades del ESS. En realidad es muy grande, tiene muchas características, para mayor detalle ve la documentación oficial de Oracle:

https://docs.oracle.com/middleware/1213/ess/index.html