Cuando una aplicación llama a un servicio, por ejemplo un peticionario de servicio Web envía un mensaje SOAP o una aplicación CICS utiliza el mandato de API INVOKE SERVICE, CICS utiliza interconexiones para procesar la petición.
CICS procesa los servicios basados en XML en interconexiones de peticionario de servicio y proveedor de servicio. Cada tipo de interconexión tiene un manejador de transporte que puede enviar peticiones por la red. Una aplicación de CICS puede ser un peticionario de servicio Web o un proveedor de servicio Web para un cliente externo y utilizar los protocolos HTTP, HTTPS, JMS o WMQ para enviar y recibir peticiones.
Cuando ambos servicios Web son aplicaciones CICS, el peticionario de servicio puede utilizar el mandato INVOKE SERVICE y un URI que empiece por cics:// para optimizar el proceso de la interconexión. Las transformaciones de datos para convertir los datos binarios en XML se llevan a cabo como de costumbre, la interconexión se ejecuta por los manejadores de mensajes, y el manejador de transporte de la interconexión se enlaza a otro programa o inicia una interconexión dependiendo de qué tipo de URI se especifique.
Por ejemplo, puede utilizar el URI cics://SERVICE/service?targetServiceUri=targetServiceUri para ejecutar la petición a través de una interconexión de proveedor sin la actividad adicional que supone utilizar la red. CICS utiliza los valores de service y targetServiceUri para resolver la petición utilizando un URIMAP.
Este URI puede ser de utilidad cuando las aplicaciones de peticionario y proveedor están escritas en lenguajes distintos, o utilizan niveles de correlación distintos, y esperan datos binarios distintos.
CICS procesa las llamadas a servicios basados en canal utilizando un EXEC CICS LINK PROGRAM para pasar el canal y los contenedores al programa que se ha definido en el SCDL para el servicio. Si la aplicación que llama también proporciona un URI que empieza por cics://, CICS puede realizar procesos adicionales en una interconexión de peticionario. Si el enlace no especifica una interconexión de peticionario, CICS crea una dinámicamente para la petición.
Si el URI empieza por cics://, el manejador de transporte de la interconexión puede enlazar a un programa, iniciar otra interconexión de peticionario, o iniciar una interconexión de proveedor. Existen tres tipos de URI:
Como alternativa, un manejador de mensajes en la interconexión puede alterar temporalmente el URI proporcionado por la aplicación para controlar el proceso de la interconexión.
Para obtener detalles de los parámetros que puede especificar en estos URI, consulte Contenedor DFHWS-URI.