Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

...

  • Exponerar HTTP endpunkt för den aggregerande tjänsten.
  • Sätter kommunikationsheadrar enligt krav från RIV-TA och VP.
  • Anropar tjänstespecifik "Create Query Object" implementation för att läsa ut information från inkommande request. 
  • Delegerar till bearbetningen till main-flow.

Note: Anledningen till såväl namnsättning på detta flöde samt delegeringen till ett main-flow är att det är i detta flöde som den inaktiverade cachningsfunktionen ligger. 

main-flow

  • Preparerar ett anrop till EI's FindContent tjänst inklusive properagering av kommunikationsheadrar.
  • Anropar EI EI's FindContent tjänst mah en Message Enhancer.
  • Anropar tjänstespecifik "Request List Transformation" implementation för att skapa en lista med de anrop som skall göras till underliggande tjänsteproducenter. 
  • Delegerar bearbetningen till request-reply-flow.
  • I hanteringen av svaret, dvs i ett response-element, anropas en tjänstespecifik "Response List Transformation" implementation för att skapa det slutgiltiga aggregerade svaret baserat på de olika svar som kommit från de underliggande tjänsteproducenterna. 
  •  


request-reply-flow

  • Ansvarar för att brygga mellan den ytter synkrona bearbetningen i cache-flow och main-flow till den asynkrona och parallella bearbetningen i splitter-flow, worker-flow och aggregation-flow
  • Skickar listan på request till vm-kön "splitter" och väntar synkront på ett asynkront aggregerat svar på vm-kön "reply".
  • Timeout på väntan på svar styrs av parametern AGGREGATED_SERVICE_TIMEOUT_MS.

Image Added

splitter-flow

  • Använder en collection-splitter för att dela upp listan med request till separata request.
  • Märker meddelanden med ett korrelerings-id.
  • Lägger på en reply-to header som anger vm-kön "aggregate" dit svaren skickas för aggregering.

Image Added

worker-flow

aggregation-flow

...

  • Sätter upp kommunikationsheadrar enligt RIV-TA och anropar de utpekade tjänsteproducenterna via VP.
  • Svar skickas mha reply-to-headern satt ovan till vm-kön "aggregate"
  • Kommunikationsfel och timeout fångas upp per anrop av exception-handlern "Catch Exception Strategy" och fel-information skickas till vm-kön "aggregate" så att felet kan rapporteras enligt RIV-TA i processingStatus headern.
  • Timeout på väntan på svar från tjänsteproducenten styrs av parametern SERVICE_TIMEOUT_MS

Image Added

aggregation-flow

  • Använder en collection-aggregator för att samla in de parallellt framställda svaren till en aggregerat svar.
  • När alla svaren kommit eller timeout som styrs av parametern AGGREGATE_TIMEOUT_MS inträffar så skickas det sammansatta svar som samlats in så långt till vm-kön "reply", dvs till request-reply-flodet beskrivet ovan.

Image Added

Note: För att den timeout-hanteringen skall fungera och den aggregerande tjänsten skall kunna ge så meningsfull information som möjlig tillbaka till anropande tjänsteproducent så är det viktigt att: 

AGGREGATED_SERVICE_TIMEOUT_MS > AGGREGATE_TIMEOUT_MS > SERVICE_TIMEOUT_MS

 

  • process-notification-service

...