714.1 Modernisering af WSRM beskeder
714.1 Modernisering af WSRM
Beskrivelse af epic af it-understøttelse af Styrelsen for Arbejdsmarked og Rekrutterings forretning
(Skabelon af dato 17/12-2015)
Indholdsfortegnelse
1 Ændringslog
2 Afgrænsning af epic
3 Oversigt over berørte web services
4 Beskrivelse af epic
4.1 Baggrund
714.1.1 Der er udviklet en ny model for metadata på WSRM-beskeder. Modellen er dokumenteret
4.1.2 CodelistService (Version 5)
714.1.3 Den nye model for metadata anvendes på alle fremadrettede beskeder, de første beskeder anvender metadata.
5 Særlige krav til test
6 Kendte udeståender fra udviklingsfasen
7 User stories
8 Implementeringsnoter
Ændringslog
Dato | Version | Forfatter | Berørte afsnit |
26.02.2016 | 0.1 | Line Karkov | Epic oprettet |
21.03.2016 | 0.1 | Rune Gram-Madsen | Review og gennemskrivning |
31.03.2016 | 0.3 | Rune Gram-Madsen | Gennemskrivning |
08.04.2016 | 0.3 | Jesper Brunholm | Oplæg til prøvekanin-besked: GetJoblogEventVersion2. |
12.04.2016 | 0.3 | Rune Gram-Madsen | Tilføjet sorteringsnøgle til beskeder efter opfordring fra KSS |
21.04.2016 | 0.3 | Jesper Brunholm | Mindre afklaringer. Præcisering af scope i afsnit 4. Indlagt besked i afsnit 3 |
20.05.2016 | 0.5 | Jesper Brunholm | Løftet til version 0.5. Pilotbesked bliver GetCitizen Message EventVersion2. |
27.05.2016 | 0.5 | Jesper Brunholm | GetCitizen Message EventVersion løftes til version 3 |
31.05.2016 | 0.5 | Jesper Brunholm | Uddybninger af 4.1.1.2 med systemidentifier og opgradering af sortKey til unsignedLong |
09.06.2016 | 0.5 | Jesper Brunholm | Kodeliste med systemer indlagt. |
15.06.2016 | 0.5 | Jesper Brunholm | WSRMIdentifier omdøbt til MessageIdentifier. |
04.07.2016 | 1.0 | Jesper Brunholm | Indført CodelistService med den nye kodeliste i oversigt over services. |
05.07.2016 | 1.0 | Jesper Brunholm | Påført defaultværdier som anvendes frem til 2016-4 i afsnit 4.1.1.1 |
03.08.2016 | 1.0 | Jesper Brunholm | Forvirrende uafsluttet sætning fjernet i Beskrivelse af epic |
Afgrænsning af epic
Afgrænsning | |||
Som aftager af DFDGs WSRM-beskeder ønsker jeg metadata, som nøjagtigt fortæller hvem, hvad og hvornår de enkelte beskeder er opstået. Derudover ønsker jeg at afhentning så vidt muligt gøres simpel for at jeg nemmere kan implementere og vedligeholde beskederne i mit system | |||
Acceptkriterier | |||
Nr. | Beskrivelse | Relevant for Beskriver hvilke af STARs leverandører som skal løse dette acceptkriterie | |
714.1.1 | Der er udviklet en ny model for metadata på WSRM-beskeder. Modellen er dokumenteret | DFDG | |
714.1.2 | Der er etableret en simplere måde at afhente WSRM-beskeder, som kun efterspørger relevant information | DFDG | |
714.1.3 | Den nye model for metadata anvendes på alle fremadrettede beskeder, de første beskeder er anvender metadata. | DFDG |
Kriterier for tilsagn til serviceaftager i forhold til STARs snitflader | Berørte acceptkriterier | Bemærkninger | ||||||||
714.1.1 | 714.1.2 | 714.1.3 | ||||||||
Accept af ny model for WSRM metadata | X | |||||||||
Integration til ny WsrmService (Version 3) | X | Det vil fortsat være muligt at anvende Version 2 i en overgangsfase. | ||||||||
Modtagelse af nye metadata i WSRM beskeder | X |
Bemærk at der ikke er defineret en forretningsmæssig rækkefølge for alle WSRM-beskeder i DFDG og det ligger ikke i scope for denne epic at rette op på eventuelle uhensigtsmæssigheder i rækkefølgen. Sådanne ændringer vil skulle komme til i andre epics i efterfølgende releases.
Oversigt over berørte web services
Snitflade | Serviceaftager der er berørt | Bemærkninger | |||||||||
DFDG | Jobnet | Plannersystemer | KSS | A-kasse | Ydelsessystem | JobKon | Andet | ||||
WsrmService (Version 3) | X | X | X | X | X | ||||||
WSRMMessageService (Version 10)
| X | X | Foregående vVersion 2 (med gammelt format) understøttes ind til andet er aftalt. | ||||||||
CodelistService (Version 5) GetClientSystemTypeIdentifierCodeList | X | X | X | X | X | Den nye kodeliste med inddaterende systemer |
På sigt vil alle WSRM-aftagere berøres af den nye kodeliste, det er blot dette som forsøges afspejlet i ovenstående afkrydsning om berørte aftagere.
Beskrivelse af epic
ISB 714 som er rammen for denne Epic er under udarbejdelse.
Denne Epic beskriver en ensretning og lidt oprydning i WSRM understøttelsen. Ændringen vil kun ramme
Baggrund
WSRM hændelser udsendes når der enten registreres data i DFDG eller når der sker en forretningsmæssig hændelse. WSRM beskederne indeholder hver især en specifik datastruktur som indeholder data der beskriver hændelsen.
Udover selv hændelsen er det også vigtigt for aftager at vide hvem der har foretaget registreringen og hvornår. I dag medsendes disse metadata i de fleste tilfælde i form af datastrukturen RequestMetadata. RequestMetadata findes i forskellige varianter med varierende dataindhold:
Navn | Type | Detaljer |
RegistrationDateInterviewDeadlineIdentifier | dateTimeguid | Registreringsdato for meddelelsen i registreringssystemet. Forekomst: 1Id for frist. |
CaseWorkerStructurePersonCivilRegistrationIdentifier | CaseWorkerStructureType-2PersonCivilRegistrationIdentifierType | (caseworker: 3 navn-dele, id og email) |
OrganisationStructureInterviewTypeIdentifier | (OrganisationTypeIdentifierType + Org.code som er en string) | |
InterviewDeadlineActivationDate | Date | Dato for aktivering af fristen. Inden denne dato kan frist ikke ses af borger. |
InterviewDeadlineDate | Date | Dato på hvilken mødet senest skal afholdes. Mødet skal bookes til afholdelse inden datoen for at fristen er overholdt. |
InterviewDeadlineStatus | InterviewDeadlineStatusTypeIdentifier | Status for frist. |
CorrectionComment | Kommentar om årsagen når frist nedlægges eller ændres. | |
EventDate | dateTime | Seneste registreringstidspunkt i DFDG. |
http://starwswiki.amstest.dk/RequestMetadataType-2.ashx
Navn
Type
Detaljer
CaseWorkerStructure
(caseworker: 3 navn-dele + RID)
Forekomst: 1EventDate
dateTime
Hændelsesdatoen for registreringen Forekomst: 1
http://starwswiki.amstest.dk/RequestMetadataType.ashx
Navn
Type
Detaljer
CaseWorkerStructure
(caseworker: 3 navn-dele + RID)
Forekomst: 1AuthorityStructure
(AuthorityCode, AuthorityName og AuthorityType. Alle strings)
Forekomst: 1EventDate
dateTime
Hændelsesdatoen for registreringen Forekomst: 1
- http://starwswiki.amstest.dk/RequestMetadataType-2.ashx
- http://starwswiki.amstest.dk/RequestMetadataType.ashx
Fælles for disse typer er dog en række mangler, det er ikke muligt som aftager at se:
- Hvilket system der har foretaget registreringen
- Den registrerende organisation
- Et sikkert tidsstempel for hvornår hændelsen blev genereret
Derudover vil det være simplest for alle aftagere hvis metadata på WSRM hændelser følger samme struktur som metadata på andre webservicekald.
Der skal etableres en simplere måde at afhente på som er nemmere at forstå, og STAR vil fjerne unødvendig information som vi beder om når man henter. Denne ændring vil være bagud kompatibel.
Opgaven omfatter at udvikle en ny model for metadata og at supportere de udviklingsteams der laver nye WSRM beskeder i 2016-3. Vi skal sørge for at de WSRM beskeder der realeases bruger den nye model. Der kan stadig modtages beskeder i det gamle format, men nye beskeder er ikke bagud kompatible.
714.1.1Der er udviklet en ny model for metadata på WSRM-beskeder. Modellen er dokumenteret
De udsendte metadata i WSRM-beskederne modelleres så de indeholder følgende:
- System ID på registrerende system
- En ny kodeliste med aftagersystemer, ClientSystemIdentifier. Kendes ud fra det funktionscertifikat som blev benyttet ved registreringen. DFDG vil indeholde en mapningstabel.
- Den registrerende myndighed
- Samme struktur som ActiveOrganisationHeaderType beskrevet her: http://starwswiki.amstest.dk/rep,oio,dk-ams,dk-xml-schemas-2005-09-01.ActiveOrganisationHeaderType-2.ashx
- Registrerende bruger og dennes organisation
- Samme struktur som RequestUserMetadataType beskrevet her: http://starwswiki.amstest.dk/service,bm,dk-RequestUserMetadata-2015-01-21.RequestUserMetadataType.ashx
- Tidspunkt for hvornår beskeden er lagt på kø
- det er dette tidspunkt der fremadrettet skal benyttes for at modtage WSRM beskeder i korrekt rækkefølge.
- Tilføjelse af unik guid på WSRM beskeder
- Tilføjelse af sorteringsnøgle (integer) på WSRM beskeder
De eksisterende metadata der udsendes via RequestMetadata skal fjernes fra WSRM beskederne.
Der laves en ny type som samler WSRM metadata:
WSRMMetadataType
Navn | Type | Detaljer |
MessageIdentifier | guid | ID på den specifikke WSRM |
ClientSystemIdentifier | ClientSystemTypeIdentifierType | System ID på registrerende system (fx Planner/Opera/ Momentum/ Vitas) |
RegisteringAuthority | Registrerende myndighed | |
RegisteringUser | Registrerende bruger og dennes organisation (som ved fx Anden Aktør kan være forskellig fra ovenfor) | |
EnqueueDateTime | dateTime | Tidspunkt for hvornår beskeden er lagt på kø Forekomst: 1 |
SortKey | unsignedLong Integer | Sorteringsnøgle. Stigende nummerrække der kan bruges til at sortere modtagne elementer. Element med lavest nummer behandles først. Der kan let være huller i nummerrækken. |
Bemærk at felterne SortKey, MessageIdentifier og EnqueueDateTime først ved 2016-4 udfyldes! Indtil 2016-4 anvendes der defaultværdier: SortKey=0, MessageIdentifier=00000000-0000-0000-0000-000000000000 og EnqueueDateTime=0001-01-01T00:00:00
CodelistService (Version 5)
ClientSystemTypeIdentifierType
Ny kodeliste med systemer som kalder DFDG. Implementeres delvist som intern tabel, og DFDG mapper ved modtagelse af kald til kodelistens værdier ud fra det kaldende FOCEScertifikat.Metodenavn: GetClientSystemTypeIdentifierCodeList
Id | Navn | Beskrivelse | Startdato | Slutdato | ||
---|---|---|---|---|---|---|
1 | Andet [] | Systemer som endnu ikke er oprettede i DFDG [] | 01-05-2016 | 01-07-2100 | ||
2 | KMD/OperaAndet | KMD Kommunalt sagsbehandlersystem OperaSystemer som endnu ikke er oprettede i DFDG | 01-05-2016 | 01-07-2100 | ||
3 | KMD/WorkbaseOpera | KMD Kommunalt sagsbehandlersystem WorkbaseKMD Jobcentersystem. KSS | 01-05-2016 | 01-07-2100 | ||
4 | KMD/Momentum | KMD Kommunalt sagsbehandlersystem Momentum | 01-05-2016 | 01-07-2100 | ||
5 | Schultz/Fasit | Schultz Kommunalt sagsbehandlersystem Fasit | 01-05-2016 | 01-07-2100 | ||
46 | Netcompany Modulus a-kasse system Fasit | Netcompany Modulus a-kasse system Schultz Jobcentersystem. KSS | 01-05-2016 | 01-07-2100 | ||
7 | KMD Winnie a-kasse system | KMD Winnie a-kasse system | 01-05-2016 | 01-07-2100 | ||
8 | Facilia a-kasse system | Facilia a-kasse system | 01-05-2016 | 01-07-2100 | ||
9 | FOA FIKS a-kasse system | FOA FIKS a-kasse system | 01-05-2016 | 01-07-2100 | ||
10 | Frie Funktionærer a-kasse system | Frie Funktionærer a-kasse system | 01-05-2016 | 01-07-2100 | ||
11 | ASE a-kasse system | ASE a-kasse system | 01-05-2016 | 01-07-2100 | ||
12 | Styrelsen for Videregående Uddannelser | Styrelsen for Videregående Uddannelser. UDS | 01-05-2016 | 01-07-2100 | ||
13 | Systematic Kombit SP | Systematic Kombit Serviceplatform | 01-05-2016 | 01-07-2100 | ||
14 | Kombit Mit Sygefravær | Kombit . KMD Mit Sygefravær (Nemrefusion) | 01-05-2016 | 01-07-2100 | ||
15 | Kombit KY | Kombit KY ydelsessystem | 01-05-2016 | 01-07-2100 | ||
16 | Kombit KSD | Kombit KSD sygedagpengesystem | 01-05-2016 | 01-07-2100 | ||
17 | STAR EØS | STAR KnowledgeCube EØS system | 01-05-2016 | 01-07-2100 | ||
18 | STAR Vitas | STAR. KnowledgeCube Vitas | 01-05-2016 | 01-07-2100 | ||
19 | STAR Jobbing | STAR Jobbing | 01-05-2016 | 01-07-2100 | ||
20 | STAR MitJobkompas | STAR MitJobkompas | 01-05-2016 | 01-07-2100 | ||
21 | Edora WFP | Edora Workforce Planner (WFP) | 01-05-2016 | 01-07-2100 | ||
22 | Rydberg FrontDesk | Rydberg FrontDesk | 01-05-2016 | 01-07-2100 | ||
23 | KMD Ydelsessystem | KMD Ydelsessystem | 01-05-2016 | 01-07-2100 | ||
24 | KMD Sygedagpenge | KMD Sygedagpenge | 01-05-2016 | 01-07-2100 | ||
25 | Internetkompagniet | Internetkompagniet Informationsstander | 01-05-2016 | 01-07-2100 | ||
26 | SKS Applikationsservice | SKS Applikationsservice. Charles Bechmann SKS | 01-05-2016 | 01-07-2100 | ||
27 | Immenso QuickMatch | Immenso QuickMatch. | 01-05-2016 | 01-07-2100 | ||
28 | KOMLIS ledelsesværktøj | KOMLIS ledelsesværktøj. Fujitsu KOMLIS ledelsesværktøj | 01-05-2016 | 01-07-2100 | ||
29 | KMD Opus Lis | KMD Opus Lis | 01-05-2016 | 01-07-2100 | ||
30 | DFDG | DFDG | 01-05-2016 | 01-07-2100 | ||
31 | Jobcenter Planner | Jobcenter Planner | 01-05-2016 | 01-07-2100 | ||
32 | Jobnet | Jobnet | 01-05-2016 | 01-07-2100 | ||
33 | JobKon | JobKon | 01-05-2016 | 01-07-2100 | ||
34 | JobAG | JobAG | 01-05-2016 | 01-07-2100 | ||
35 | Joblog AKA-IT | Joblog AKA-IT | 01-05-2016 | 01-07-2100 | ||
36 | Joblog Ankiro | Joblog Ankiro | 01-05-2016 | 01-07-2100 | ||
37 | Joblog Krifa | Joblog Krifa | 01-05-2016 | 01-07-2100 | ||
38 | Joblog Netcompany | Netcompany | 01-05-2016 | 01-07-2100 | ||
39 | KnowledgeCube IOMS | KnowledgeCube IOMS printsystem | 01-05-2016 | 01-07-2100 | ||
40 | KnowledgeCube LTAS | KnowledgeCube LTAS løntilskudsadministration | 01-05-2016 | 01-07-2100 | ||
41 | KnowledgeCube UM | KnowledgeCube UM uddannelsesmål | 01-05-2016 | 01-07-2100 | ||
42 | KnowledgeCube KAS | KnowledgeCube KAS kursusadministration | 01-05-2016 | 01-07-2100 | ||
43 | KnowledgeCube FMRS | KnowledgeCube FMRS Fremmøderegistrering | 01-05-2016 | 01-07-2100 |
Bemærk dog at der er en værdi for "Andet".
nSom udgangspunkt forventes hvert system at have en entry i kodelisten. Hvis der er væsentlig fordele ved det ift. vedligehold kan man også gå over til at hvert certifikat har en entry (så fx KMD Fønix optræder med en entry for hvert a-kasse-certifikat som bruger systemet). , eller om system-type-information blot skal ligge internt i DFDG som en del af tabelgrundlaget, og dermed ikke udstilles (hvilket kan give god mening, da der på WSRM'erne er angivet systemtype i øvrige felter).
Kodelistens vedligehold skal ligeledes fastlægges i samarbejde med Systemforvalter.
Der laves en værdi der hedder "Andet" til brug i forbindelse med test, hvis systemer skal have adgang til at kalde DFDG uden en release, m.m.
714.1.2Der er etableret en simplere måde at afhente WSRM-beskeder, som kun efterspørger relevant information
Den nuværende snitflade til afhentning af WSRM beskeder udstilles via WsrmService (Version 2).
Der oprettes en Version 3 af samme service hvor der foretages følgende ændringer:
- Header-elementet OcesCertHeaderInput fjernes fra alle operationer
- Operationen SequenceAcknowledgement fjernes helt
- I operationen TerninateSequence fjernes følgende response-elementer:
- MissingRangeCollection
- I operationen CreateSequenceResponse fjernes følgende response-elementer:
- Expires
- AcknowledgementInterval
- Accept
Logikken I WsrmService forsimples sådan at TerminateSequence altid afslutter sekvensen. Det skal derfor ikke længere tjekkes at alle hændelser i kvitteret og heller ikke tjekkes at alle hændelser er forsøgt hentet. TerminateSequence vil fortsat logge om hændelser er forsøgt hentet.
Det bliver på denne måde op til aftager selv at sikre at alle hændelser hentes og herefter kalde TerminateSequence for at gå videre eller CloseSequence for at forsøge igen.
Det giver ingen ekstra sikkerhed at kvittering som i dag. Kvitteringslogikken er unødig kompleks og manglende kvittering betyder blot at WSRM modtagelsen går i stå, så aftager er tvunget til at kvittere.
Aftager kan stadig kalde CloseSequence for at opgive afhentning og lade sekvensen gå forfra. Hvis aftager får fejl under afhentning af hændelser, kan aftager enten forsøge at hente de berørte hændelser igen eller i yderste konsekvens kalde CloseSequence for at starte forfra.
Aftager kan aktivt fravælge hændelser som aftager ikke ønsker at modtage ved blot at undlade at hente disse.
Denne ændring betyder også at fejlkode 4005-"Not all messages in the WS-RM Sequence were acknowledged" udgår.
Bemærk: Den nuværende Version 2 bibeholdes, men genimplementeres så den kalder Version 3 inde bag ved. Dvs. at kald til SequenceAcknowledgement ignoreres og andre felter vil enten blive ignoreret eller sat til null hvor de returneres.
714.1.3Den nye model for metadata anvendes på alle fremadrettede beskeder, de første beskeder anvender metadata.
De nye metadata lægges i første omgang på:
- GetCitizen Message EventVersion3
- GetJoblogEventVersion2 er kandidat til en følgende pilot
Særlige krav til test
Testscenarie | Berørte systemområder | Identificeret af |
Modtag hændelser via ny WsrmService | ||
Kendte udeståender fra udviklingsfasen
Link til søgeresultat fra FogBugz på epic-nummer:
User stories
User stories er kun til interne brug for STAR's leverandører.
Implementeringsnoter
Elementerne EnqueueDateTime og SortKey tilføjes i databasen til WSRM køen.
Felterne sætte til NULL eller lignende når beskeden enqueues. Når WSRM beskederne dequeues læses de to felter fra databasen og skrives ind i beskederne inden de returneres til aftagerne.