Oracle BPM Process Accelerators
0
Después de aplicar el FP sobre 11.1.1.5, puedes llegar a tener un comportamiento extraño en el BPM Workspace. El comportamiento es que simplemente no se despliega. Cuando entras a él , con cualquier usuario, la pantalla se quedará en blanco.
Si te está ocurriendo esto, y en los logs ves algo similar a:
<Jan 26, 2012 12:15:34 PM CST> <Notice> <Diagnostics> <BEA-320068> <Watch 'UncheckedException' with severity 'Notice' on server 'soa_server1' has triggered at Jan 26, 2012 12:15:34 PM CST. Notification details:
WatchRuleType: Log
WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'WL-101020') OR (MSGID = 'WL-101017') OR (MSGID = 'WL-000802') OR (MSGID = 'BEA-101020') OR (MSGID = 'BEA-101017') OR (MSGID = 'BEA-000802'))
WatchData: DATE = Jan 26, 2012 12:15:34 PM CST SERVER = soa_server1 MESSAGE = [ServletContext@542169502[app:OracleBPMWorkspace module:/bpm/workspace path:/bpm/workspace spec-version:2.5]] Root cause of ServletException.
javax.el.PropertyNotFoundException: The class 'oracle.bpel.worklistapp.tasklist.beans.view.TaskView' does not have the property 'homePageLeftAccordion'.
Al momento de estar haciendo una serie de despliegues de un desarrollo sobre 11.1.1.3, hacia una instancia nueva , pero con 11.1.1.5 (sin Feature Pack), nos dimos cuenta que salía este error:
[2011-04-25T11:35:38.373-04:00] [AdminServer] [ERROR] [] [oracle.soa.bpel.engine.deployment] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: e82486aab9c70e86:562ac068:12f8cb4657e:-8000-00000000000031cd,0] [APP: soa-infra] [[
java.lang.StackOverflowError
Sin mayor detalle, el error salía constantemente. Lo extraño es que el resto de Procesos que se habían ya desplegado sobre la nueva instancia, no habían dado ningún error.
Para los que quieren saber cuáles son las características que coniene el FP de 11.1.1.5 para Oracle BPM, lo pueden encontrar aquí:
http://soacommunity.wordpress.com/2011/10/12/new-version-of-bpm-suite-11-1-1-5-feature-pack-released/
Básicamente contiene:
Después de realizar una serie de pruebas de actualización de varios composites que incluyen BPEL, BPM, BAM y Mediator nos dimos cuenta de una falla al desplegar un Proyecto que incluya un Human Task en BPM.
Al desplegarlo , te arrojará el siguiente error:
[08:14:38 AM] Weblogic Server Exception: weblogic.application.ModuleException:
[08:14:38 AM] Caused by: java.lang.ClassNotFoundException: oracle.bpel.services.datacontrol.types.Number
[08:14:38 AM] See server logs or server console for more details.
[08:14:38 AM] weblogic.application.ModuleException:
[08:14:38 AM] #### Deployment incomplete. ####
[08:14:38 AM] Remote deployment failed (oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer)
Extrañamente no encuentra la clase Number, del paquete oracle.bpel.services.datacontrol.types . Esto quizás derivado a que las librerías hayan cambiado de versión en versión.
En Oracle BPEL PM es muy simple poder hacer un Proceso que tenga una llamada Intermedia, a través de la cual una Aplicación externa se pueda comunicar con él.
El pasado 15 de Enero se liberó el PS3 para Oracle SOA Suite. Si quieren saber cuáles son las nuevas características, entren aquí . Es un artículo escrito por Demed L’Her de Product Management. Desde mi perspectiva, las características mas relevantes son:
Este es un diagrama útil que he creado que les puede ayudar para explicar los conceptos de SOA y BPM.
Igualmente se puede hacer énfasis en las diferentes piezas de una arquitectura como esta:

Se sugiere hacer la descarga de SOA Suite 11g, pues es una pieza clave para la composición de Servicios. Esto es clave para una arquitectura SOA , pues en verdad te da la posibilidad de componer y gestionar servicios compuestos, no piezas aisladas.
Se sugiere también hacer la publicación del Fusion Order Demo 11g. La pueden encontrar aquí.
El propósito de este documento es demostrar a través de un ejemplo sencillo y práctico como poder integrar 2 poderosas herramientas Oracle BPM con Microsoft Office 2007 (Word, Excel, Powerpoint).
Muchas veces cuando nos toque diseñar e implementar procesos de negocios se requerirá que en el flujo de actividades se tengan que adjuntar documentos tales como Presentaciones, Notas, Documentos y hojas de cálculo pero también es posible que la ejecución de ciertos procesos sean iniciados por alguna de estas aplicaciones.
Paso 1: Crear un proceso con Oracle BPM
En en menu Principal seleccionar File/New/BPM Project
En la ventana de New BPM Project ingresar el nombre del proyecto, en nuestro caso le llamaremos TestOffice y seleccionar el botón Next.
Paso 2: Configurar el BPM Engine
Lo que haremos en este paso es habilitar los PAPI Web Services lo que nos permitirá comunicarnos con el Office Ribbon
Primero nos colocamos sobre el Nuevo proyecto que acabamos de crear y con el botón derecho del mouse aparecerá una ventana de opciones y de estas seleccionaremos Engine Preferences
Como siguiente paso seleccionaremos el tab Advanced de la ventana de Engine Preference y hacemos seleccionamos el check del Start PAPI Web Services
Después oprimimos el botón Ok para aceptar los cambios realizados.
Paso 3: Crear un Proceso Simple
Crearemos un proceso simple al cual llamaremos igual que a nuestro Proyecto TestOffice, aceptamos los datos por default y oprimimos el botón Ok
3.1 Crearemos un Role llamado TestRole
Para hacerlo en el project Navigator de nuestro Proceso en Organization / Roles y con el botón derecho del mouse seleccionamos New..
3.2 Crearemos un Participante : test
Para hacerlo en el project Navigator de nuestro Proceso en Organization / Participants y con el botón derecho del mouse seleccionamos New..
Los datos a completar serian los siguientes:
- First Name: test
- Last Name : test
- Display Name: test
- Role: TestRole
3.3 Agregar en el proceso TestOffice lo siguiente:
- Una actividad Interactive la cual le daremos el nombre de ActividadHumana
- Y una actividad Global – Global Creation que le daremos el nombre de Instancia
Al final debería de quedarnos un flujo similar a la siguiente imagen
Una vez terminado el flujo lo que debemos de hacer es iniciar el Engine del BPM eliminando las instancias de los Procesos y los archivos de Logs; luego iniciamos el Workspace y nos autenticamos con el participante test.
4. Instalar Add-inn para Microsoft Office 2007
4.1 Verificar la versión del Framework de .NET
Para verificar si se tiene instalado o no el framework de .net lo primero que debemos de hacer ir a Control Panel y hacer double click en Add o Remove Programs y en la lista de programas nos debería aparecer algo similar a esto
4.2 Descargar el add-in
Para descargar e instalar el add-inn nos vamos Oracle BPM Workspace y hacemos click donde dice Download BPM Add-in….
y ahi en la pagina que nos abre este link hacemos clik en download
Ejecutamos la instalación y seguimos las instrucciones del instalador.
5. Configurar Word/Excel para Integracion con BPM
Debemos abrir Excel o Word y en el menu principal seleccionamos el TAB que dice Business Process
Ahora seleccionamos el botón Chage Settings para configurar el BPM Server.
En User ingresamos el Participante que definimos en nuestro proceso de ejemplo y hacemos el Test Connection dándonos como resultado Successfully connected to server….
Después hacemos click en el botón Next
Seleccionamos nuestro Proceso de Ejemplo TestOffice y nuevamente click en el botón Next
Y para finalizar hacemos click en el boton Accept
6. Prueba de Iniciar el proceso con Word/Excel
Hacemos clik en el Submit to Business Process, e inicia un proceso y nos aparece una ventana para seleccionar el Proceso que deberia de recibir el documento.
Una vez que seleccionamos el proceso, hacemos click en el botón Next. Nos aparece una ventana donde podemos ingresar una descripción del documento que esta iniciando el proceso de BPM.
Hacemos click en el boton Accept y para concluir nos debería de aparecer una ventana de Confirmation, para confirmarnos que se inicio del proceso de forma exitosa en base a un documento Word/Excel.
Como último paso iremos a nuestro Workspace y nos autenticamos con el usuario test y deberíamos de tener al menos un proceso iniciado llamado TestOffice1 con un documento adjunto.
Felicidades! Ya termino de instalar y configurar su ambiente para iniciar procesos de Oracle BPM basado en Office 2007
Una colaboración de un compañero y gran amigo - Carlos Toso desde Costa Rica. El es un Senior Sales Consultant especialista en los temas de SOA y BPM.
En los últimos meses ha estado trabajando con un producto nuevo de Oracle llamado Oracle BPM y en este artículo se explica cómo integrarlo con Oracle BPEL PM.
El propósito de este documento es mostrar la facilidad y flexibilidad de integrar las 2 herramientas de Oracle para el diseno de flujos humanos utilizando Oracle BPM Studio y Oracle BPEL para la integracion con aplicaciones o flujos estructurados, ambas herramientas forman parte de la nueva suite de Oracle denominada Oracle BPM Suite.
PreRequisitos:
- Oracle Bea Products Download : http://www.oracle.com/technology/software/products/ias/bea_main.html?rssid=rss_otn_soft
- Oracle Products Download:
http://www.oracle.com/technology/software/index.html
Nota Importante:
Si se quiere replicar esta misma nota con versiones anteriores de JDeveloper 10.1.3.x, Oracle BPEL 10.1.3.x y Oracle Business Process Management Studio 6.0 MP4 se puede hacer sin mayor diferencia tan solo cambian algunas pantallas por la version de los productos
Crear un proyecto SOA Project
Y crear un ejemplo de un proceso muy sencillo utilizando Oracle BPEL, en este ejemplo utilice un Proceso Sincronico que invoca una consulta a la base de datos atraves de un parametro.
Paso 2
Una vez contruido el proceso en Oracle BPEL ejecutar el proyecto desde el archivo composite.xml
Ingresar a la consola de Enterprise Manager, por ejemplo: http://maquina:8988/SOAConsole, donde maquina es el nombre del server o de la maquina donde se instalo y se configuro SOA 11g en Jdeveloper.
Paso 4
Se debe de hacer una primera prueba o testing del proceso hecho en BPEL. Para hacerlo se selecciona el proceso y en el boton Actions seleccionar Test Service - Client
Cuando hacemos Testing sobre el proceso esto nos abre una pagina para definir los parametros de entrada al proceso y la definicion y ubicacion del Service Description
Paso 6
Hacemos un click sobre Service Description para poder capturar el WSDL del servicio del proceso BPEL
Ejemplo:
Abrimos un proyecto o creamos un nuevo proyecto de Oracle BPM Studio y en el proceso con el Rol de Developer creamos a nivel del Project Navigator en Catalog creamos un nuevo module al cual denominaremos OracleBPEL
Ahora a nivel del module OracleBPEL hacemos boton derecho y en la lista de valores seleccionamos Catalogue Component / Web Service
Paso 10
Deberia de aparecer una pantalla de Instropesting y haber completado el 100% de analisis del WSDL y de generarlo en tu BPM Studio.
Ahora verificamos en el Project Navigator bajo el Catalog / OracleBPEL / el cliente ClienteWSDL (el nombre del cliente puede variar dependiendo del nombre que se le dio en el paso 9) fue generado automaticamente
Ahora agregamos una actividad automatica en el flujo del proceso y la llamamos InvocacionBPEL y hacemos double click en esa actividad
Ahora debemos de arrastrar al editor de codigo lo siguiente: el Service, el Request y el Response, que en nuestro ejemplo serian
BPELProcess2Service, BpelProcess2ProcessRequest, BpelProcess2ProcessResponse y esto genera automaticamente el siguiente codigo
bpelProcess2Service = OracleBPEL.ClientWSDL.BPELProcess2Service()
Paso 14
El editor nos da un Warning donde nos solicita que las variables las debemos inicializar por tanto hacemos el siguiente cambio en el editor como a continuacion se describe
bpelProcess2Service as OracleBPEL.ClientWSDL.BPELProcess2Service = OracleBPEL.ClientWSDL.BPELProcess2Service()
bpelProcess2ProcessRequest as OracleBPEL.ClientWSDL.BpelProcess2ProcessRequest = OracleBPEL.ClientWSDL.BpelProcess2ProcessRequest()
bpelProcess2ProcessResponse as OracleBPEL.ClientWSDL.BpelProcess2ProcessResponse = OracleBPEL.ClientWSDL.BpelProcess2ProcessResponse()
Ahora escribimos a continuacion la variable que definimos bpelProcess2Service y le agregamos un punto al final para que nos muestre las opciones de los metodos y seleccionamos el que dice process y ENTER
Automaticamente nos crea un metodo para invocar al servicio de BPEL
process bpelProcess2Service
using payload = null
returning payloadOutput =
payloadOutput
Ahora le pasaremos un valor estatico al metodo que incorporamos en el paso anterios y para hacerlo escribimos la siguiente variable bpelProcess2ProcessRequest y le agregamos un punto al final para que nos muestre las opciones de los metodos y seleccionamos el que dice input y ENTER
A esta variable le asignamos un valor estatico por ejemplo :
bpelProcess2ProcessRequest.@input = "100"
process bpelProcess2Service
using payload = bpelProcess2ProcessRequest
returning bpelProcess2ProcessResponse =
payloadOutput
Dejando de esta manera el codigo en la actividad de invocacion de Oracle BPEL
Lo unico que nos hace falta para verificar el valor de respuesta del proceso de BPEL agregaremos al codigo la siguiente instruccion
Display bpelProcess2ProcessResponse.result
Con este ultimo paso el resultado del proceso de BPEL lo mostraremos en el LogViewer del Proceso BPM.
Listo!!! Ya tienen un ejemplo muy sencillo de como integrar tanto Oracle BPM Studio con Oracle BPEL.
Lo unico que hace falta es ejecutar el proceso de BPM Studio y tener el servicio de BPEL ejecutandose.
Conclusión:
A nivel de BPM (Business Process Management) que es una metodologia empresarial para la mejora de procesos hay muchos enfoques de abordar el modelaje de estos flujos por tanto se debe de contar diferentes alternativas de solucion y soporte a diferentes estandares que nos ayuden tanto en la flexibilidad como en la capacidad de integracion. Oracle BPM Suite incopora estandares tales como BPMN, XPDL, BPEL y el proposito final de esta nota tecnica es demostrar como en pocos pasos integramos ambas herramientas.
Links de interes:
http://www.oracle.com/technology/tech/soa/index.html (SOA)
http://www.oracle.com/technology/products/bpm/index.html (BPM)