miércoles, 15 de octubre de 2014

Publicar Servicios Web en Ensemble

Cuando se despliega un servicio web en Ensemble, este servicio puede ser invocado a través del CSP Gateway (habilitando la propiedad "enable standard request" de manera que se dispone de URL) o a través del puerto directo del adaptador SOAP (no se dispone URL, solo servidor y puerto). 

Esta imagen representa la configuración expuesta en el párrafo anterior:



En la documentación se explica que el uso del adaptador EnsLib.SOAP.InboundAdapter no se recomienda para entornos productivos:
"The EnsLib.SOAP.InboundAdapter class is not meant for production use but can be helpful for debugging and demos"

Y siempre para implementar el servicio se debe seguir estas normas:

En concreto para evitar el uso del adaptador:
"The class should define the ADAPTER parameter as null (“")"

De esta forma siempre se está eligiendo la ruta “CSP”. Pero adicionalmente si se quiere utilizar el mecanismo CSP en entornos productivos, es recomendable instalar un nuevo servidor web (canal CSP Gateway) para manejar las peticiones por un puerto diferente del portal de administración (por ejemplo el 1981), esto soluciona la integración ya que las llamadas pasan por un canal CSP diferente al de administración del portal. 

Tal y como se explica aquí:

"Caché supplies a minimal web server that runs the Management Portal, sometimes called the  private web server . The private web server can also display the supplied CSP samples and run CSP pages. It cannot run robust CSP applications in a production environment. For that, you need to install a separate, full installation of a supported web server, such as Apache web server, Microsoft's IIS web server, or a Sun web server"

De esta manera la configuración sería la siguiente:


El canal que va al puerto 1980 sería el del adaptador SOAP y en producción no se utilizaría. Sin embargo si es para hacer pruebas se puede utilizar.

Por otro lado hay que tener en cuenta que si la aplicación web tiene establecido autenticación mediante password entonces las llamadas requieren utilizar la cabecera SOAP security. Si es para hacer pruebas basta con des-habilitar el mecanismo de autenticación de la aplicación CSP. Otra alternativa es crear una nueva aplicación CSP y dejar una con seguridad y otra con acceso no autenticado. Sin embargo para entornos de producción es más recomendable tener siempre un canal CSP diferente.