Integrationsmotor - Regelmotor "Muleattributes" - Övergripande processflöde

Integrationsmotor - Regelmotor "Muleattributes" - Övergripande processflöde

Se även aktiva flöden i detalj: https://cesamh.atlassian.net/wiki/x/B4DL3

Innehåll

Undersidor

Maskineriet

Hela integrationskedjan består av fyra olika Mule-flöden (Mule 3). Dessa har varsitt stycke nedan.

GetOePIssues

Detta är det första flödet i kedjan och det prenumererar på olika “subscriptions” som talar om vilka e-tjänster som är aktuella i respektive kommun. Med hjälp av den datan så hämtar den de senaste händelserna för e-tjänsterna och trycker ner dessa som en rad i en databas-tabell (events).

Se även: API - InstanceAPI - GetEvents - Families och tabeller: Integrationsmotor - Regelmotor "Muleattributes" - Tabeller

 

 

MuleAttributesManager

Här snappar man upp de senaste raderna i events-tabellen och kikar på respektive ärende för varje händelse. Där suger flödet alla attribut i ärendet som har namn efter given namnkonvention JAVA-KLASS-NAMN_muleAttribute'ValfrittVariabelNamn. Dessa attribut och deras värden görs till en normaliserad nyckel-värde-lista som sedan skjuts in i tabellen muleattributes (se exempel på denna sida: Integrationsmotor - Regelmotor "Muleattributes").

RuleEngine

Uppgiften för det här flödet är att kolla upp alla nya rader i muleattributes-tabellen och para ihop dessa med den regel som associeras med dem. Den sätter ihop datan från attributen med datan från regel-tabellerna (muleattributes_rules_replicated, muleattributes_rule_group_replicated och muleattributes_rule_group_rules_replicated) och skriver ner det som en rad i nästa tabell (muleattributesexecutionstatus).

--Potientiell förbättring för att snabba på RuleEngine och hitta vilket Subcription-Id --vi ska arbeta med härnäst (nuvarande Mule-flöde går igenom alla) select top 1 * from muleattributes_ruleengine_status order by LatestSuccessMuleattributeId desc select top 1 * from muleattributes where Id > 51468470 order by Id asc --Lägsta idt select * from subscriptions where FamilyId = 40 AND Instance = 'internservice.kalmar.se'

MuleAttributesExecutionStatusImplementer

Sista flödet i regelmotorn är MuleAttributesExecutionStatusImplementer. Detta flöde läser ifrån tabellen muleattributesexecutionstatus. Där står exakt vilken data som flödet ska behandla och hur den ska hanteras (vilket API-anrop som ska göras och när). Nedan finns ett diagram som i stora drag går igenom hur flödet fungerar (Sep 6, 2023):