Mostrando entradas con la etiqueta Oracle SOA. Mostrar todas las entradas

¿Cómo identificar mensajes duplicados en Servicios construidos en Oracle SOA SUITE 11g?

0

Un requerimiento normal en implementaciones que tienen que ver con la construcción y despliegue de Servicios, es la identificación de mensajes duplicados.
Por ejemplo:
Un Servicio que represente el ingreso de Contratos. Si el consumidor no tiene forma de evitar que una vez que ya se haya enviado la información al Servicio, no se vuelva a enviar (quizás porque el usuario dio click en el botón de enviar, varias veces, sin querer), se estarán duplicando las llamadas y quizás, lo cual sería lo mas crítico, duplicándolos en el sistema destino.
Leer Más ...


¿Cómo crear una expresión XPATH custom, para Oracle SOA SUITE 11g?

0

Esta es una aportación de un gran amigo, él es Andrés Ramírez (Perú). Gracias, mano, por tu gran aportación.


=====
Siendo que BPEL es un lenguaje basado 99% en XML, es muy común tener la necesidad de validar si el contenido de un XML en particular, se encuentra alineado al XSD (Schema) que lo define. Para esto Oracle provee una actividad llamada VALIDATE:
clip_image002

En este artículo se explora el uso de esta actividad y sus beneficios bajo su implementación en BPEL.

Leer Más ...


Identity Service en Oracle SOA Suite 11g

0

Desde la versión 10.3.1.x de Oracle SOA Suite (no recuerdo si desde antes) se tiene la capacidad de utilizar un Servicio Web llamado Identity Service.
Este es muy útil para consultas en el realm de seguridad que se esté utilizando en el Weblogic en cuestión. De manera que en tus procesos, servicios, bpel, bpm etc., lo puedas ocupar como el medio para autenticar a un Usuario, conseguir algún atributo que tenga en el Directorio (por ejemplo su buzón de email), y básicamente consultar información de Usuarios y Grupos.
Regularmente en el Desarrollo de un proyecto se generan Clases que hagan esta actividad, pero si estás usando SOA Suite, simplemente consume este Web Service:
https://maquina:puerto/integration/services/IdentityService/identity?WSDL

Leer Más ...


Webinar 26 de Mayo 2011. Oracle ADF + SOA Suite

0

Tal como hemos mencionado en entradas pasadas, el siguiente 26 de Mayo de 2011 a la 1PM de Miami (12PM de Cd. de México) estaremos presentando Miguel Delgadillo (Especialista en ADF) y un servidor , un Webinar enfocado a la integración entre Oracle ADF 11g y los componentes de Oracle SOA Suite 11g.
Esto como parte de una serie de Webinars que el ODTUG (Oracle Development Tools User Group) está calendarizando para la comunidad de habla hispana.

Leer Más ...


Integrando Oracle BPM Studio 10gR3 con Microsoft Office 2007

0

 

Introducción

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.

 

Pre-Requisitos

    • Oracle BPM Studio 10gR3
    • Microsoft Office 2007
    • .NET Framework (versiones 2.0 o 3.0 o 3.5)

Paso 1: Crear un proceso con Oracle BPM

En en menu Principal seleccionar File/New/BPM Project

clip_image002

En la ventana de New BPM Project ingresar el nombre del proyecto, en nuestro caso le llamaremos TestOffice y seleccionar el botón Next.

clip_image004


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

clip_image006

Como siguiente paso seleccionaremos el tab Advanced de la ventana de Engine Preference y hacemos seleccionamos el check del Start PAPI Web Services

clip_image008

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

clip_image010

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..

clip_image012

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..

clip_image014

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

clip_image016

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

clip_image018

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….

clip_image020

y ahi en la pagina que nos abre este link hacemos clik en download

clip_image021

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

clip_image023

Ahora seleccionamos el botón Chage Settings para configurar el BPM Server.

NOTA: Debe de estar ejecutándose el BPM Server o haber iniciado el Engine de BPM

clip_image025

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

clip_image027

Seleccionamos nuestro Proceso de Ejemplo TestOffice y nuevamente click en el botón Next

clip_image029

Y para finalizar hacemos click en el boton Accept

6. Prueba de Iniciar el proceso con Word/Excel

clip_image031

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.

clip_image027[1]

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.

AttachInformacion

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.

Confirmation

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.

clip_image037

Felicidades! Ya termino de instalar y configurar su ambiente para iniciar procesos de Oracle BPM basado en Office 2007



¿Cómo comenzar con ADF/JSF/SOA/WebCenter?

0

Los Cue Cards, son una serie de 26 tutoriales, los cuales están divididos por tecnologías y a diferencia de las guías del desarrollador y los Oracle-By-Example, estos tutoriales son cortos y muy enfocado en proporcionar aspectos básicos de la tecnología.  En JDeveloper se pueden acceder los tutoriales a través del  menú Help->Cue Cards

A partir del TP4 de JDeveloper estos tutoriales se publicaron también en OTN y están ubicados en el siguiente link: http://www.oracle.com/technology/products/jdev/11/cuecards/index.html

 

Esta es una excelente herramienta para todos aquellos que quieran comenzar a familiarizarse con las distintas herramientas de desarrollo en Oracle Fusion Middleware de manera rápida.


Oracle BPEL PM + Oracle Data Integrator

3

En muchos escenarios de integración se requiere pasar altos volúmenes de información de uno o varios repositorios hacia un destino que también puede ser múltiple.

Con herramientas de orquestación de procesos, y con los mismos ESBs puede llegar a ser ésto complicado, sobretodo cuando se tratan de volumenes que se van por arriba de los 10MB de información, y además cuando las transacciones son muy constantes.

Para dicho propósito podemos pensar que una buena opción es utilizar una herramienta de ETL tradicional, el único inconveniente es la dependencia alta sobre el uso de Bases de datos y el uso de servidores intermedios que hagan dicho trabajo.

Oracle ofrece una herramienta de nombre Oracle Data Integrator, que hace una modificación al esquema tradicional de ETL, pues en realidad realiza un ELT (Extract->Load and Transform). La gran diferencia es que la transformación de los datos se puede dar en el mismo destino, lo cual aumenta el peformance y más si pensamos que lo va a hacer de manera nativa con el propio lenguaje que tenga el repositorio destino.

En un ambiente Orientado a Servicios, es altamente probable que la extracción y carga de datos no sea únicamente en Bases de Datos, sino también en Aplicaciones. Esto nos lleva a la necesida de tener un producto que resuelva muy bien la conectivdad a repositorios Relacionales y Multidimensionales tradicionales, pero que también pueda interactuar con Servicios Web y Aplicaciones Empresariales.

Ahora, qué sucede si combinamos la tecnología, pensando en que un Arquitectura Orientada a Servicios tiene un sustento muy importante en el uso de un motor de orquestación de procesos. Si un proceso (pensemos en Oracle BPEL PM) que orquesta esta carga de datos, pero en realidad él no lo hace, él simplemente manda un mensaje al ETL para que se inicie; pero nos interesa saber en todo momento en qué paso se encuentra, pues si no podemos llegar a perder visibilidad de la transacción y gobernabilidad.

Bien, pues Oracle Data Integrator permite publicar Servicios Web y consumirlos. Así Oracle BPEL PM es el orquestador de servicios de integración de datos que publique Oracle Data Integrator (ODI).

De esta manera sabremos exactamente lo que sucede en la extracción de datos, su transformación y carga. Podemos monitorear los tiempos de ejecución, podemos así monitorear SLAs y publicar Tableros de Control en donde se de visiblidad sobre toda esta información. Y estando ésto siendo orquestado se puede correlacionar la información con cualquier otro paso de un proceso de Negocio.

Oracle Data Integrator puede ser descargado del sitio de Tecnología de Oracle (http://www.oracle.com/technology/products/oracle-data-integrator/index.html).

Es una herramienta basada en java que requiere únicamente de tener previamente instalada una BD (que bien pudiera ser Oracle XE si están en modo de pruebas).

Una vez instado el producto, recomendamos que le den una mirada al tutorial (http://www.oracle.com/technology/products/oracle-data-integrator/index.html) de inicalización. Esto les dará una buena idea de qué hace el producto.

La publicación de WS en Oracle Data Integrator es bastante simple, se requiere:

* OC4J - aquí se publicarán dichos servicios. Puedes utilizar el OC4J donde estés ejecutando Oracle BPEL PM
* AXIS 2.0 - tecnología de Apache que permite la publicación de Web Services (http://ws.apache.org/axis2/). Básicamente es publicar un WAR.
* Publicar el paqute de Oracle Data Integrator a través de la consola de Axis (éste lo encuentras en $OH\oracledi\tools\web_services\odi-public-ws.aar)

Para tener las instrucciones detalladas de dicha configuración, pueden consultar la guía de instalación que viene como parte de la instalación del producto.

Una vez instalado Axis2, y haciendo el deployment del paquete (odi-public-ws.aar) de ODI (Oracle Data Integrator), se tiene la posibilidad de revisar el WSDL en la siguiente ubicación:
http://rcarrasc-mx:8888/axis2/services/OdiInvoke?wsdl.

Supongamos que tenemos un proceso en Oracle BPEL PM, que en determinado momento requiere mover grandes volumenes de información entre 3 bases de datos. Oracle Data Integrator hará éste trabajo de mover la información entre éstos
repositorios. Lo primero que hará será consultar la información del repositorio A (Base de datos) y lo pasará al repositorio B (otra Base de datos), y por último pasará lo que tiene en B a un tercero llamado C.
Dado que son millones de registros, hacer uso de los adaptadores de BPEL PM tal vez no sea tan eficiente, pues al transformalo a un formato XML, provocará una gran volumen de datos manejados en memoria, y no será tan peformante.

En ODI, se conocen como escenarios, adentro de los cuales existen interfaces, las cuales son las que en realidad hacen el trabajo de mover los datos y transformarlos.

Supongamos el siguiente escenario de ODI y el flujo BPEL de las imágenes de abajo (haz click en cualquier imagen para que puedas verla en un tamaño más grande):








El flujo BPEL realiza primero una serie de asignaciones de valores que son los necesarios para iniciar el escenario en ODI, se debe crear un mensaje similar al siguiente:




Con estos valores se hace la invocación al Partnerlink (ODIScenario), que inicia la ejecución de ODI.

ODI lo primero que hace es recibir un valor (ID - en el mensaje XML tiene el valor 769) que es el que servirá para correlacionar la instancia con el flujo en BPEL PM. Después se ejecuta una interface que mueve y transforma datos de una BD A a una B, posteriormente envía un mensaje de vuelta al proceso de BPEL que lo inició para informarle que ya terminó la primera interface. BPEL lo recibe en la actividad que en la imagen aparece como receiveIntermediate.

ODI continua su ejecución ejecutando ahora la interface "InterfaceRolando3", y finalmente envia un mensaje al mismo proceso BPEL, el cual lo recibe en la actividad "receiveFinal".

La correlación, como se había comentado, se lleva acabo a través del valor del ID, así el escenario de ODI se puede comunicar con BPEL. En realidad hay un flujo BPEL intermedio que es el que recibe la invocación de ODI, y es el que comunica al proceso BPEL que inicia todo. ¿Esto por qué? Porque ODI en su versión actual no puede consumir procesos asíncronos.



De esta forma mostramos la integración entre ambos productos, y la gran capacidad que se logra al unir ambas tecnologías.


Post navigation