Procesamiento por microlotes

El procesamiento por microlotes es una técnica donde se incluye más de un registro en una sola solicitud de servicio. Si se incluyen múltiples registros en una solicitud, en lugar de enviar solicitudes individuales para cada registro, se podrá mejorar considerablemente el rendimiento cuando se procesan grandes cantidades de registros a través de un servicio. Spectrum™ Technology Platform es compatible con el procesamiento por microlotes a través de los servicios web REST y SOAP, además del SDK del cliente.

Tamaño de los microlotes

Pese a que no existe un límite para la cantidad de registros que se pueden incluir en la solicitud, en general se obtiene el mejor rendimiento cuando se envían entre 50 y 100 registros por microlote. Se recomienda que pruebe microlotes de distintos tamaños, a fin de determinar el tamaño óptimo para su entorno. Tenga en cuenta que, en algunos casos, es posible que múltiples registros en la respuestas por cada registro de entrada. Por ejemplo, si está realizando una validación de dirección con 10 direcciones por microlote y cada dirección se cruza con dos posibles direcciones validadas, entonces recibirá 20 registros en la respuesta en lugar de 10.

Se debe tener precaución cuando se usan microlotes en conjunto con múltiples subprocesos para el envío de solicitudes a Spectrum™ Technology Platform. Si el tamaño de los microlotes de cada subproceso es demasiado grande, procesar múltiples podría provocar la sobrecarga del sistema.

Uso de una ID de registro

Resulta útil asignar una ID a cada registro de un microlote, a fin de poder relacionar los registros de la solicitud con aquellos de la respuesta. Puede usar los campos de usuario para esto. Para obtener más información acerca de los campos de usuario, consulte Interfaz REST.

Procesamiento por microlotes en REST

Para procesar microlotes mediante el servicio web REST, incluya dos o más registros en archivo XML o JSON en el cuerpo de la solicitud y envíela utilizando el método POST. Para obtener más información sobre el envío de una solicitud POST a un servicio web de Spectrum™ Technology Platform, consulte Solicitud JSON POST y Solicitud XML POST.

Por ejemplo, en esta solicitud se incluyen dos registros en archivo XML en el cuerpo de la solicitud:

POST http://spectrum.example.com:8080/rest/ValidateAddressPOST/results.xml HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/xml
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 533
Host: config813vm0:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

<ValidateAddressPOSTRequest xmlns:svc="http://www.pb.com/spectrum/services/ValidateAddressPOST">
    <svc:Input>
       <svc:Row>
          <svc:AddressLine1>3001 Summer</svc:AddressLine1>
          <svc:City>Stamford</svc:City>
          <svc:StateProvince>CT</svc:StateProvince>
       </svc:Row>
       <svc:Row>
          <svc:AddressLine1>33 west monroe</svc:AddressLine1>
          <svc:City>Chicago</svc:City>
          <svc:StateProvince>IL</svc:StateProvince>
       </svc:Row>
    </svc:Input>
</ValidateAddressPOSTRequest>
Nota: Los servicios no tienen el método POST habilitado de forma predeterminada. Para procesar microlotes mediante estos servicios, se debe habilitar la compatibilidad con POST. Para obtener más información, consulteIncorporación de compatibilidad POST a un servicio web REST.