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 SOAP.

Traitement Micro-Batch dans SOAP

Pour effectuer un traitement Micro-Batch dans un service Web SOAP, incluez deux ou davantage d'enregistrements dans la requête SOAP. Par exemple, cette requête contient deux enregistrements :

POST http://spectrum.example.com:8080/soap/ValidateAddress HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 782
Host: config813vm0:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:val="http://www.pb.com/spectrum/services/ValidateAddress">
   <soapenv:Header/>
   <soapenv:Body>
      <val:ValidateAddressRequest>
         <val:input_port>
            <val:Address>
               <val:AddressLine1>1 N. State St.</val:AddressLine1>
               <val:City>Chicago</val:City>
               <val:StateProvince>IL</val:StateProvince>
            </val:Address>
            <val:Address>
               <val:AddressLine1>3001 summer</val:AddressLine1>
               <val:City>stamford</val:City>
               <val:StateProvince>ct</val:StateProvince>
            </val:Address>
         </val:input_port>
      </val:ValidateAddressRequest>
   </soapenv:Body>
</soapenv:Envelope>