miércoles, 8 de noviembre de 2017

JDeveloper 12.2.1.2.0 - "Unable to package module" Fix


Una de las necesidades de hoy en día es migrar codigo de una versión de SOA a otra (ya sea por ejemplo, pasar de 11g a 12c.... o incluso dentro de una misma release en diferentes versiones de liberación, es decir, pasar de un codigo hecho en JDeveloper 12.1.3 a codigo 12.2.1.2.0). Muchas veces es cuestion de un par de clics y ya todo esta funcionando.

A pesar de ello, ultimamente ha frecuentado en la comunidad un error poco descriptivo y critico que impide a un desarrollador poder compilar una aplicación composite en un JAR para luego poder deployarlo en un ambiente SOA. Aca te mostramos como solucionarlo de raiz y algunos trucos para salir del paso.

viernes, 22 de septiembre de 2017

Introducción al Adaptador LDAP - SOA Suite 12c

En las empresas, los servidores LDAP se utilizan a menudo para almacenar credenciales y grupos de usuarios y compartirlos entre aplicaciones. Oracle SOA Suite 12c introduce un nuevo adaptador. El Adaptador LDAP (o LDAP Adapter) que permite una fácil integración con los servidores LDAP. En este articulo se mostrará una guia rápida y fácil en la instalación de un servidor LDAP y navegador (ApacheDS y Apache Directory Studio). También se describirá la configuración requerida para usar el LDAP Adapter y proveer un ejemplo a través de un proceso BPEL que permita la creación de nuevos usuarios en el servidor LDAP ApacheDS mediante llamadas a webservice.


jueves, 21 de septiembre de 2017

Referencias de WebServices y uso de Config Plan - BPEL 12c


Con SOA Suite 12c puedes utilizar adaptadores SOAP en tu aplicación (composite) y utilizar un Config Plan para cambiar los endpoints (referencias), de modo que pueda funcionar en otros entornos (como producción o test).

Esto es util ya que como regla general uno como desarrollador no puede modificar el contrato de un proveedor. Solo se nos permite crear un Wrapper y poner alli las modificaciones o hacer uso de un Config Plan que cambie aquellos datos que precisamos.

martes, 25 de julio de 2017

Suma y Resta con Fecha y Hora - BPEL 12c

    A menudo suele acudirse a la necesidad de sumar y restar periodos de tiempo (minutos, dias, semanas, etc.) sobre una fecha dada en un proceso BPEL. Lo que se debe tener en cuenta es que en SOA se aplican reglas especificas sobre las funciones que permiten realizar estas operaciones.

jueves, 22 de junio de 2017

FTP Adapter en SOA 12c - Dejar archivos en servidor


    Es una practica habitual hacer uso de un adaptador de este tipo. En la mayoria de proyectos y escenarios del mundo real es comun la necesidad de dejar un archivo (cualquiera sea) en una ruta especifica dentro de un servidor FTP.

En este articulo se pretende resolver varios de los conceptos para aprovechar y así tenerlos más claros para poder entender un poco la logica que hay detrás de todo esto.

Por ende, si eres uno de esos desarrolladores en busqueda de algo sencillo y practico... este articulo es para ti!.

martes, 13 de junio de 2017

Spring Adapter SOA 12c - Buenas Prácticas


     En este articulo se pretende compartir las buenas practicas que aplican al uso del Spring Adapter en SOA Suite 12c.

    Como ya se habló de los principales conceptos y elementos con los que se trabaja en un articulo anterior: https://soajp.blogspot.com/2017/04/spring-adapter-soa-12c-aprende-usarlo.html Solo se hará incapié en las buenas prácticas sobre aquellas cosas que hacen a la organización, nomenclatura, y sobre todo las que componen la funcionalidad en sí de este maravilloso adaptador.

miércoles, 24 de mayo de 2017

Como eliminar WS-Headers en BPEL 12c


    En Oracle SOA Suite 12c, el componente WS-Binding suele incluir alguno de los siguientes elementos de direccionamiento (llamados WS-Addressing) en el Header del Mensaje SOAP:

    • wsa:To
    • wsa:Action
    • wsa:MessageID
    • wsa:RelatesTo
    • wsa:ReplyTo

Aunque el mensaje SOAP generado por la SOA Suite es totalmente compatible con las especificaciones de un mensaje SOAP, existen implementaciones por parte de los proveedores de servicios que no entienden estos encabezados de direccionamiento (WS-Addressing) cuando se incluyen en el mensaje  de solicitud (request) para operaciones síncronas. Es por esto que la invocación a los web service falla.

jueves, 18 de mayo de 2017

Logear SOAP Envelope de los mensajes Request y Response en BPEL 12c


En este articulo se explicará como obtener y logear los mensajes SOAP intercambiados con un Web Service desde SOA BPEL 12c.

Por alguna razón, BPEL en sí no posee una actividad "Log" como en el caso de OSB. Por ende, debemos recurrir a otras estrategias a la hora de logear mensajes en composites SOA.

Adicionalmente, es importante remarcar que los atributos bpelx:inputHeaderVariable y bpelx:outputHeaderVariable de una actividad invoke/receive en un BPEL, permiten agregar o recuperar SOAP Headers personalizados a un mensaje SOAP intercambiado con un Web Service.

martes, 25 de abril de 2017

Spring Adapter SOA 12c - aprende a usarlo!


Hace unos días, se precisaba una funcionalidad de negocio para validar un número a través de un proceso particular usando Java. Se podria utilizar Java Embedding en el proceso BPEL, pero hay formas más elegantes de hacer esto, ya que no se desea contaminar la capa de orquestación con funcionalidad de negocio. Una forma más agradable y elegante, en mi opinión, es hacer uso del adaptador Spring. Al utilizar este componente, se puede exponer un Java Bean tan simple como se lo haría llamando a otro webservice. De esta manera la funcionalidad del negocio se puede empaquetar en un .JAR más bonito que se podria también probar por separado del resto del composite. Veamos cómo funciona todo esto:

jueves, 9 de marzo de 2017

Quartz Scheduler - Persistencia en Base de Datos Oracle y Opciones de Cluster


En el presente articulo se realizará una pequeña introducción a Quartz Scheduler para entender su funcionamiento, y luego se abordarán temas tales como la persistencia en Base de Datos Oracle como asi las respectivas configuraciones para un ambiente Clusterizado.

Para entrar en tema, una posible descripción de lo que es Quartz puede extraerse desde una rapida busqueda en Google: "Quartz Scheduler es un framework de scheduling open source que provee funcionalidad avanzada para la calendarización de tareas en Java. Entre estas están: Cualquier tarea escrita en Java que sea susceptible de ser agendada dentro del framework para ser ejecutada".