Esquemas de configuración del adaptador

En la configuración en tiempo de diseño de un adaptador se emplean diferentes tipos de esquemas, que se usan y modifican en función de la visibilidad y del ámbito de los valores de las propiedades.

Esquemas de controlador

La configuración del adaptador que proviene de un controlador se aplica al adaptador y a todos sus clientes en un ámbito global. Un administrador puede modificar estáticamente la configuración del controlador en tiempo de diseño mediante la consola de administración de BizTalk Server para expandir el controlador de recepción o envío del adaptador y mostrar las propiedades del host especificado.

El adaptador de archivo de ejemplo incluido en el SDK tiene un conjunto de archivos XSD que se usan para configurar la ubicación de recepción, el puerto de envío, el controlador de recepción y el controlador de envío. Modifique estos archivos XSD para que el adaptador personalizado reciba las propiedades de configuración necesarias. Los archivos incluidos en el adaptador de archivo de ejemplo que debe modificar son los archivos de esquema TransmitHandler.xsd y ReceiveHandler.xsd. Estos archivos configuran el controlador de envío y el controlador de recepción, respectivamente, controlando las páginas de propiedades usadas para configurar los controladores en la consola de administración de BizTalk Server.

Utilice los requisitos del adaptador para crear una lista de propiedades de configuración necesarias para cada uno de los extremos. Si todas las propiedades de configuración son globales, puede que solo tenga que modificar las configuraciones de los puertos de envío y de recepción. Si es necesario establecer las propiedades del adaptador para cada puerto de envío o cada ubicación de recepción, tendrá que modificar también los archivos de configuración de la ubicación de recepción y del puerto de envío.

El marco de trabajo de adaptadores proporciona extensiones de esquema y opciones avanzadas de configuración con el fin de admitir los requisitos de configuración comunes del adaptador. También proporciona extensiones que no se incluyen en el esquema que acompaña al adaptador de archivo de ejemplo. Para obtener más información sobre las extensiones de esquema del marco de adaptador, vea Adapter Framework Configuration Schema Extensions. Para obtener más información sobre opciones de configuración avanzadas, como editores desplegables personalizados y convertidores de tipos personalizados, vea Componentes de configuración avanzada para adaptadores.

El código que se incluye al final de este tema proviene del archivo TransmitHandler.xsd y crea la siguiente página de propiedades.

Captura de pantalla que muestra la pestaña Propiedades.
Página de propiedades del controlador de envío creada por el archivo TransmitHandler.xsd

Tenga en cuenta el uso de las <etiquetas baf:designer>, <baf:displayname> y <baf:description> en el código TransmitHandler.xsd que se muestra a continuación. Son decoraciones personalizadas proporcionadas por el marco de trabajo de adaptadores para acelerar la generación de estas páginas de propiedades.

Para obtener una lista de todas las decoraciones disponibles para su uso en el marco de adaptador, vea Adapter Framework Configuration Schema Decoration Tags.

Observe que el esquema solo tiene un elemento y que no contiene un elemento de URI.

Importante

No almacene datos reservados de los clientes en el esquema de adaptador predeterminado. Por motivos de seguridad, configure la información de nombre de usuario y de contraseña una vez implementado un adaptador. De este modo se garantiza que la información quede almacenada en la base de datos de Inicio de sesión único (SSO) empresarial. Para obtener más información sobre la base de datos de SSO, consulte Uso del inicio de sesión único.

<?xml version="1.0" encoding="utf-16"?>  
<xs:schema xmlns:baf="BiztalkAdapterFramework.xsd"   
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"   
xmlns="http://tempuri.org/XMLSchema1.xsd"   
elementFormDefault="qualified" targetNamespace="http://tempuri.org/XMLSchema1.xsd"   
id="TransmitHandler" xmlns:xs="http://www.w3.org/2001/XMLSchema">  
  <xs:element name="Config">  
    <xs:complexType>  
      <xs:sequence>  
        <xs:element default="50" name="sendBatchSize" type="xs:int" >  
      <xs:annotation>  
         <xs:appinfo>  
            <baf:designer>  
               <baf:displayname _locID="sendBatchSizeName">Batch Size</baf:displayname>  
               <baf:description _locID="sendBatchSizeDesc">Enter the   
maximum number of files to be transmitted per batch</baf:description>  
            </baf:designer>  
         </xs:appinfo>  
      </xs:annotation>  
   </xs:element>  
  
        <xs:element default="4096" name="bufferSize" type="xs:int" >  
      <xs:annotation>  
         <xs:appinfo>  
            <baf:designer>  
               <baf:displayname _locID="bufferSizeName">Write Buffer Size</baf:displayname>  
               <baf:description _locID="bufferSizeDesc">Enter the size of   
the buffer used to write the file</baf:description>  
            </baf:designer>  
         </xs:appinfo>  
      </xs:annotation>  
   </xs:element>  
  
        <xs:element default="1" name="threadsPerCPU" type="xs:int" >  
      <xs:annotation>  
         <xs:appinfo>  
            <baf:designer>  
               <baf:displayname _locID="threadsPerCPUName">Threads Per CPU</baf:displayname>  
               <baf:description _locID="threadsPerCPUDesc">Enter the   
number of threads per CPU to execute in the thread pool</baf:description>  
            </baf:designer>  
         </xs:appinfo>  
      </xs:annotation>  
   </xs:element>  
  
      </xs:sequence>  
    </xs:complexType>  
  </xs:element>  
</xs:schema>  

Esquemas de puerto de envío y de ubicación de recepción

Para establecer las propiedades específicas de los puertos del adaptador, modifique los esquemas de configuración de la ubicación de recepción y del puerto de envío. Los archivos de esquema TransmitLocation.xsd y ReceiveLocation.xsd configuran el puerto de envío y la ubicación de recepción respectivamente.

El marco de trabajo de adaptadores proporciona extensiones de esquema y opciones avanzadas de configuración con el fin de admitir los requisitos de configuración comunes del adaptador. Para obtener más información sobre las extensiones de esquema del marco de adaptador, vea Adapter Framework Configuration Schema Extensions. Para obtener más información sobre opciones de configuración avanzadas, como editores desplegables personalizados y convertidores de tipos personalizados, vea Componentes de configuración avanzada para adaptadores.

El código que se incluye a continuación proviene del archivo TransmitLocation.xsd y crea la siguiente página de propiedades.

Imagen que muestra el cuadro de diálogo Propiedades de transporte estático.
Ilustra la página de propiedades del puerto de envío para el adaptador de archivo de ejemplo

Tenga en cuenta en el archivo TransmitLocation.xsd siguiente que la configuración del puerto de envío contiene las <etiquetas baf:designer>, <baf:displayname> y <baf:description> , al igual que el controlador de envío, y también usa la <etiqueta baf:category> . La etiqueta de categoría permite agrupar propiedades. Si tiene más de una categoría, la categoría se puede expandir y contraer y aparece en forma de encabezado de color gris encima de las propiedades de dicha categoría. Para obtener más información, vea Adapter Framework Configuration Schema Extensions.

Este esquema también contiene un campo de URI, que se rellena en la página que aparece después de especificar toda la información del campo en la página de propiedades del puerto de envío durante el proceso de validación que realiza el adaptador.

<?xml version="1.0" encoding="utf-16"?>  
<xs:schema xmlns:baf="BiztalkAdapterFramework.xsd" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://tempuri.org/XMLSchema1.xsd" elementFormDefault="qualified" targetNamespace="http://tempuri.org/XMLSchema1.xsd" id="TransmitLocation" xmlns:xs="http://www.w3.org/2001/XMLSchema">  
  <xs:element name="Config">  
    <xs:complexType>  
      <xs:sequence>  
        <xs:element name="directory" type="xs:string">  
      <xs:annotation>  
         <xs:appinfo>  
            <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">  
               <baf:displayname _locID="sendDirectoryName">Directory</baf:displayname>  
               <baf:description _locID="sendDirectoryDesc">Directory to write the file to</baf:description>  
                         <baf:category _locID="transmitLocationCategory">Transmit Location</baf:category>  
                    </baf:designer>  
         </xs:appinfo>  
      </xs:annotation>  
        </xs:element>  
  
        <xs:element default="%MessageID%.xml" name="fileName" type="xs:string">  
          <xs:annotation>  
            <xs:appinfo>  
              <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">  
                <baf:displayname _locID="fileNameName">File Name</baf:displayname>  
      <baf:description _locID="fileNameDesc">The name of the file that will be written</baf:description>  
                <baf:category _locID="transmitLocationCategory">Transmit Location</baf:category>  
              </baf:designer>  
            </xs:appinfo>  
          </xs:annotation>  
        </xs:element>  
  
        <xs:element default="2" name="fileCopyMode" type="CopyMode">  
          <xs:annotation>  
            <xs:appinfo>  
              <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">  
                <baf:displayname _locID="fileCopyModeName">File Mode</baf:displayname>  
                <baf:category _locID="transmitLocationCategory">Transmit Location</baf:category>  
              </baf:designer>  
            </xs:appinfo>  
          </xs:annotation>  
        </xs:element>  
  
        <xs:element name="uri" type="xs:string">  
          <xs:annotation>  
            <xs:appinfo>  
              <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">  
                <baf:browsable show="false" />  
              </baf:designer>  
            </xs:appinfo>  
          </xs:annotation>  
        </xs:element>  
  
   <!-- An example of how an SSO affiliate application would be configured for this endpoint: -->  
   <!--  
   <xs:element name="ssoAffiliateApplication" type="baf:SSOList">  
      <xs:annotation>  
         <xs:appinfo>  
            <baf:designer>  
               <baf:displayname _locID="ssoAffiliateApplicationName">SSO Affiliate</baf:displayname>  
               <baf:description _locID="ssoAffiliateApplicationDesc">The Single Sign On (SSO) Affiliate Application</baf:description>  
               <baf:category _locID="ftpCategory">FTP</baf:category>  
            </baf:designer>  
         </xs:appinfo>  
      </xs:annotation>  
   </xs:element>  
   -->  
  
      </xs:sequence>  
    </xs:complexType>  
  </xs:element>  
  
  <xs:simpleType name="CopyMode">  
    <xs:restriction base="xs:int">  
      <xs:enumeration value="0">  
        <xs:annotation>  
          <xs:appinfo>  
            <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">  
              <baf:displayname _locID="appendName">Append</baf:displayname>  
            </baf:designer>  
          </xs:appinfo>  
        </xs:annotation>  
      </xs:enumeration>  
      <xs:enumeration value="1">  
        <xs:annotation>  
          <xs:appinfo>  
            <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">  
              <baf:displayname _locID="createName">Create</baf:displayname>  
            </baf:designer>  
          </xs:appinfo>  
        </xs:annotation>  
      </xs:enumeration>  
      <xs:enumeration value="2">  
        <xs:annotation>  
          <xs:appinfo>  
            <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">  
              <baf:displayname _locID="createNewName">CreateNew</baf:displayname>  
            </baf:designer>  
          </xs:appinfo>  
        </xs:annotation>  
      </xs:enumeration>  
    </xs:restriction>  
  </xs:simpleType>  
</xs:schema>