Traitement Micro-Batch

Le traitement Micro-Batch est une technique dans laquelle vous incluez plus d’un enregistrement dans une seule requête de service. En incluant différents enregistrements dans une requête au lieu d'émettre des requêtes distinctes pour chaque enregistrement, vous pouvez considérablement améliorer les performances lors du traitement d'un grand nombre d'enregistrements via un service. Spectrum™ Technology Platform prend en charge le traitement Micro-Batch pour les services Web REST et SOAP ainsi que pour le SDK client.

Taille du Micro-Batch

Il n'existe pas de limite au nombre d'enregistrements que vous pouvez inclure dans une requête, mais, en règle générale, vous constaterez les meilleures performances lors de l'envoi d'entre 50 et 100 enregistrements dans un Micro-Batch. Nous vous recommandons de tester des Micro-Batches de différentes tailles pour déterminer la taille de Micro-Batch optimale pour votre environnement. N'oubliez pas que, dans certains cas, vous pouvez obtenir plusieurs enregistrements dans la réponse pour chaque enregistrement d'entrée. Par exemple, si vous effectuez une validation d'adresses, que vous incluez 10 adresses dans le Micro-Batch et que chaque adresse correspond à deux adresses validées possibles, vous obtenez 20 enregistrements dans la réponse, et non pas seulement 10.

Faites attention lorsque vous utilisez à la fois des Micro-Batches et plusieurs threads pour les requêtes adressées à Spectrum™ Technology Platform. Plusieurs threads peuvent surcharger le système si la taille du Micro-Batch de chaque thread est trop importante.

Utilisation d'un ID d'enregistrement

Il peut vous semblez utile d'assigner un ID à chaque enregistrement d'un Micro-Batch, afin de corréler les enregistrements de la requête avec les enregistrements renvoyés dans la réponse. Pour ce faire, utilisez des champs utilisateur. Pour des informations sur les champs utilisateur, reportez-vous à la section L'interface REST.

Traitement Micro-Batch dans REST

Pour effectuer un traitement Micro-Batch avec un service Web REST, incluez deux ou davantage d'enregistrements au format XML ou JSON dans le corps de la requête et envoyez la requête via la méthode POST. Pour plus d'informations sur l'envoi d'une requête POST à un service Web Spectrum™ Technology Platform, reportez-vous aux sections Requête JSON POST et Requête XML POST.

Par exemple, cette requête inclut deux enregistrements au format XML dans le corps de la requête :

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>
Remarque : Par défaut, les services ne prennent pas en charge POST. Pour effectuer un traitement Micro-Batch avec ces services, vous devez activer la prise en charge POST. Pour plus d'informations, reportez-vous à la section Ajout de la prise en charge POST à un service Web REST.