jueves, 26 de febrero de 2009

Registrar un web service en OSB

En este artículo hacemos un breve ejercicio para revisar la facilidad de registro de un servicio web en el Oracle Service Bus (aka ALSB).

Primero vamos a crear un servicio web sencillo a partir de una clase java, usando jdeveloper 10g.

Partimos de una clase sencilla con un método público que retorna la calificación de una ciudadano en una central de riesgo.

image

A partir de ella creamos un servicio web a través del wizard de Java Web Service. Ahora lo desplegamos y realizamos una prueba para verificar su respuesta exitosa.

image

El servicio nos responde sin problemas, ahora vamos a registrarlo en el bus.  Para ello vamos a entrar a la consola de administración, y nos dirigimos a la sección de Project Explorer.

Alí creamos un proyecto llamado BancoEjemplo, en el cual creamos algunas carpetas para organizar los contenidos: recursos donde estaremos registrando el wsdl del servicio, servicios donde estaremos guardando los business services del proyecto y proxy donde definiremos los proxy services.

 image

Para registrar el wsdl debemos iniciar una sesión, lo que nos permitirá deshacer cambios si cometemos algun error de configuración.  Luego iniciamos el wizard de creación de recurso escogiendo de la lista el tipo WSDL.

Con esto registrado en nuestra carpeta de recursos, vamos a la carpeta de servicios a crear el business service correspondiente. Allí seleccionamos del combo de tipo la opción Service->Business Service, diligenciamos el formulario y marcamos la opción de WSDL Web Service que nos permite explorar nuestros recursos WSDL registrados, seleccionamos nuestro wsdl y seguimos el wizard hasta su final.

image

Ahora vayamos a la carpeta Proxy para registrar un Proxy Service a partir del Business Service recién creado. image

Al crear el Proxy service podemos aprovechar las capacidades de procesamiento del mensaje, que provee el OSB, pare este ejemplo no incluiremos ninguna acción en el pipeline del proxy service. image

Ahora vamos a la consola de prueba del proxy service, y verificamos el estado del servicio.

image

Con esto terminamos de registrar en el bus un web service, mostrando con unos simples pasos cómo podemos brindarle flexibilidad a la infraestructura con base en un producto poderoso como OSB.

Saludos.

martes, 24 de febrero de 2009

Hacer un dashboard en BPM Studio

En esta oportunidad quisimos hacer un pequeño ejercicio para mostrar la facilidad que BPM Studio ofrece para construir tableros de control sobre datos del negocio, no sobre datos de cargas de trabajo o rendimiendo de los procesos.

Voy a crear un sencillo proceso de ejemplo de 1 tarea, en el cual vamos a dar una respuesta sobre una solicitud.

image

En el proceso vamos a manejar los datos ficticios de una solicitud de un producto Financiero, así que construimos el siguiente BPMObject:

image

Creamos unas listas estáticas para los campos producto y sexo.

Ahora creamos una variable de instancia en la que se registrarán los datos de la solicitud.

image

Y vamos a definir qué variables podremos usar para construir nuestro dashboard, para ello creamos algunas variables de Proyecto identificando si serán Dimensiones o Medidas (sí, como en un modelo de BI).

image

Construimos los screenflows para la actividad global de inicio del proceso y para la actividad intermedia. No debemos olvidar hacer el mapeo correspondiente para asignar el valor adecuado a nuestras variables de Proyecto, si no lo hacemos nuestro proceso funsionará sin problemas pero cuando queramos crear un dashboard o visualizar estos datos en la bandeja de entrada de las tareas en el workspace, no tendremos datos para mostrar.

Probemos el proceso:

Entramos como el cliente y sometemos una solicitud.

image

Entramos al workspace como el analista y revisamos los datos de la solicitud.

image

Creé un grupo de solicitudes de prueba para tener más datos a analizar. Ahora sí construyamos un dashboard. Para ello nos situamos sobre el módulo adecuado en el catálogo, y creamos un nuevo BAM Dashboard.

image

Ahora comenzamos a definir cada indicador, el primero nos mostrará el monto de las solicitudes clasificado por producto.

image

Como vamos a mostrar una medida (monto) de negocio que queremos sumarizar, vamos a elegir en el Data Type Activity Workload, y seleccionamos "All Activities", luego definimos qué dimensiones queremos mostrar y qué operación realizaremos sobre la medida al hacer roll up.

Podemos detallar tipo de gráfico, título, colores, bordes, etc.. entrando al tab adecuado.

Creamos un par de dashboards más para analizar el comportamiento de las solicitudes y terminamos nuestra creación, al finalizar el wizard se ha creado un objeto nuevo en el catálogo representando el dashboard.

Ahora debemos hacer disponible el dashboard al usuario analista, para ello arrastramos una caja de Global Interactive al lane del analista y editamos las propiedades del main task.

image

image

En las propiedades definimos que queremos visualizar un dashboard, seleccionamos verlo en una ventana nueva y el objeto BPM que representa el dashboard, con su presentación.

Ahora vamos a desplegarlo, no olvidemos entrar a las propiedades del motor (clic derecho sobre el proyecto y seleccionar "Engine Preferences"), en el tab BAM activamos la opción de habilitar BAM detallando los tiempos de expiración y frecuencia de actualización.

Subimos el motor y entramos al workspace con el rol de analista para ver los dashboards.

image

Con esto terminamos un pequeño ejemplo de cómo BPM nos facilita la creación de indicadores de negocio basado en datos manejados en los procesos de negocio.

Hasta la próxima.