Rational Developer para System z, Versión 7.6

Interfaz de servicio

Las interfaces de servicio son agrupaciones lógicas de operaciones comerciales.

Una interfaz de servicio es un mecanismo para agrupar un conjunto de operaciones comerciales que guardan entre sí una relación lógica. Por ejemplo, todas las operaciones que tratan con la gestión de clientes en la empresa o todas las operaciones que tratan con el proceso de pedidos en la empresa. Las operaciones comerciales definen una función comercial concreta. Definen los datos de entrada necesarios para la operación y definen los datos de salida que se obtienen como resultado de la operación.

En Rational Developer for System z, se utilizan portTypes para describir interfaces de servicios. Un portType consiste en una o más operaciones que utilizan mensajes de WSDL para definir su entrada y salida.

Los portTypes y sus operaciones siempre son vistas desde el punto de vista del llamador del servicio. Sólo verá las operaciones de respuesta de petición y de un solo sentido de portType. (Para obtener más detalles acerca de las operaciones WSDL, consulte la sección Especificación WSDL). Esta vista de los tipos de puertos es también coherente con la especificación Business Process Execution Language para servicios Web (BPEL4WS).

Al utilizar una operación de respuesta de petición, el punto final recibe un mensaje y envía un mensaje correlacionado. El llamador de la operación espera una respuesta síncrona. La figura siguiente muestra un ejemplo de portType (o interfaz) con una operación de respuesta de petición:

Figura 1. Ejemplo de portType con una operación de respuesta a petición
<portType name="CustomerInfo">
  <operation name="getCustomer" parameterOrder="customerNumber">
    <input  name="getCustomerRequest"
            message="tns:getCustomerRequest" />
    <output name="getCustomerResponse"
            message="tns:getCustomerResponse" />
  </operation>
</portType>

Utilización de una operación de una sola dirección, el punto final recibe el mensaje. En este caso, el llamador envía un mensaje asíncrono y no espera una respuesta. La figura siguiente muestra un ejemplo de portType (o interfaz) con una operación de una sola dirección:

Figura 2. Ejemplo de portType con una operación de una sola dirección
<portType name="PurchaseOrder">
  <operation name="purchaseOrder" parameterOrder="order">
    <input name="purchaseOrderRequest"
           message="tns:purchaseOrderRequest" />
  </operation>
</portType> 

Los mensajes que definen la entrada y salida de las operaciones se crean las partes que se escriben utilizando un esquema XML. La figura siguiente muestra definiciones de la operación de entrada y la operación de salida a las que se hace referencia en Figura 1.

Figura 3. Definiciones de las operación de entrada y la operación de salida
<message name="getCustomerRequest">
  <part name="customerNumber" type="xsd:string"/>
</message>
<message name="getCustomerResponse">
  <part name="result" type="xsd1:Customer"/>
</message>

<message name="purchaseOrderRequest">
  <part name="order" type="xsd1:Order"/>
</message>
Como se ha mencionado anteriormente, los mensajes se escriben utilizando el lenguaje de esquema XML. La figura siguiente muestra definiciones de tipos para los tipos a los que se hace referencia en Figura 3:
Figura 4. Definiciones de tipos
<complexType name="Customer">
  <all>
    <element name="customerNumber" type="string"/>
    <element name="zipCode" type="string"/>
    <element name="firstName" type="string"/>
    <element name="lastName" type="string"/>
    <element name="city" type="string"/>
    <element name="street" type="string"/>
  </all>
</complexType>

<complexType name="Order">
  <all>
    <element name="orderNumber" type="string"/>
    <element name="customerNumber" type="string"/>
    <element name="itemNumber" type="string"/>
    <element name="itemQuantity" type="string"/>
  </all>
</complexType>


Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)