Friday, April 1, 2016

Compartir archivos XSD y WSDL entre servicios

Compartir archivos XSD y WSDL entre Aplicaciones SOA

Oracle SOA Suite proporciona un mecanismo fácil y rápido para compartir archivos entre nuestras aplicaciones compuestas, facilitando y promoviendo la reutilización de archivos XSD, WSDL, DVM, Fault Policy, entre otros. Para esto, aprovechamos el marco de trabajo que define Oracle Metada Services (MDS), funcionando como un Repositorio para el almacenamiento de archivos que pueden ser compartidos entre diferentes capaz de aplicación, incluyendo ADF, WebCenter y Oracle Fusion Apps.


Por defecto, ya con la instalación de Oracle SOA Suite disponemos de un repositorio MDS, ubicado dentro de la misma Base de Datos que mantiene los Metadatos del producto.


Utilizando esta estrategia es posible aplicar rápidamente un Modelo de Datos Canónico a lo largo de nuestros servicios, evitando la re-escritura de estructuras de datos y siendo útil para mantener la consistencia de datos entre los servicios.


Carga de archivos compartidos

Tenemos diferentes formas de cargar nuestros archivos a compartir en nuestro MDS, una de mis favoritas consiste en generar un proyecto en JDeveloper e incluirlo en un Perfil de Despliegue tipo SOA Bundle. En nuestro proyecto podemos generar una estructura de directorios para colocar de forma organizada nuestros artefactos (XSD, WSDL, etc).


Para más información sobre la configuración de nuestro SOA Bundle consulta el siguiente enlace: http://www.recursivetrainings.com/how-to-deploy-the-oracle-soa-artifacts-to-mds-through-jdeveloper


Consumo de archivos compartidos

Una vez realizado el despliegue de nuestros artefactos en nuestro MDS podemos hacer uso de ellos desde cualquier aplicación SOA que diseñemos en JDeveloper, este compuesto debe desplegarse en el mismo dominio WebLogic que mantiene nuestro MDS. A continuación un ejemplo para Oracle SOA Suite 12c.






Procedimiento para conexión a MDS


1. Seleccionar Nueva conexión SOA-MDS



2. Seleccionar tipo de conexión DB Based MDS y crear conexión a la base de datos con el esquema que mantiene los metadatos (objetos) MDS.



3. Seleccionar la nueva conexión y establecer la partición MDS en soa-infra



4. Probar la configuración y confirmar el estatus Success.





Transferir artefactos a Repositorio de Diseño
Es necesario transferir los archivos que se mantienen en nuestro MDS y que deseamos utilizar en nuestros compuestos, esta transferencia se realiza a un repositorio MDS basado en archivos. Por defecto, JDeveloper define un repositorio de este tipo con el nombre SOA_DesignTimeRepository.


Realizamos la transferencia de la siguiente manera:
1. Seleccionamos nuestra conexión MDS basada en BD y elegimos la opción Transferir



2. Seleccionamos los archivos a tranferir, ya sean XSD, WSDL, entre otros, o el repositorio completo.



3. Confirmamos transferencia correcta.



4. Refrescamos nuestra conexión SOA_DesignTimeRepository para ver los archivos transferidos.




Invocación de archivos compartidos
Ahora podemos utilizar nuestros XSD o contratos WSDL cargados en nuesto MDS.


Seleccionamos la opción SOA-MDS para buscar nuestros archivos compartidos:





Después de seleccionarlo el código se refiere a este como oramds:/apps/SOA, dependiendo de la estructura de directorios generada.










No comments:

Post a Comment