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)

STAR Projektleder (PL)Forretningsanalytiker (FA)STAR ReleaseEpic statusEksterne snitflader


2016-31.0KSS, A-kasser, alle der aftager WSRM-beskeder

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.
Oplæg til WSRMMetadataType lagt ind.

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.
DFDG regner kun med at kunne nå 714.1.1: moderniseret WSRM metadata og en pilotbesked i release 2016-3. Simplere afhentning descopes til 2016-4

27.05.2016

0.5

Jesper Brunholm

GetCitizen Message EventVersion løftes til version 3
Tydeliggjort at det er eksempeldata i 4.1.1.2

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.
Opdateret efter revision med Knud de Place

15.06.2016

0.5

Jesper Brunholm

WSRMIdentifier omdøbt til MessageIdentifier.
Acceptkriterie 714.1.2, "Der er etableret en simplere måde at afhente WSRM-beskeder, som kun efterspørger relevant information" udgår da denne funktionalitet først medtages i 2016-4.

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)

  • GetCitizenMessageEventVersion3Version2




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:

  1. http://starwswiki.amstest.dk/RequestMetadataType-3.ashx


Navn

Type

Detaljer

RegistrationDateInterviewDeadlineIdentifier

dateTimeguid

Registreringsdato for meddelelsen i registreringssystemet. Forekomst: 1Id for frist.
Forekomst: 1

CaseWorkerStructurePersonCivilRegistrationIdentifier

CaseWorkerStructureType-2PersonCivilRegistrationIdentifierType

(caseworker: 3 navn-dele, id og email)
Forekomst: 1Borgers personnummer. Forekomst: 1

OrganisationStructureInterviewTypeIdentifier

OrganisationStructureTypeInterviewTypeIdentifierType

(OrganisationTypeIdentifierType + Org.code som er en string)
Forekomst: 1Angiver hvilken samtaletype borgeren skal booke.
Forekomst: 1

InterviewDeadlineActivationDate

Date

Dato for aktivering af fristen. Inden denne dato kan frist ikke ses af borger.
Forekomst: 1

InterviewDeadlineDate

Date

Dato på hvilken mødet senest skal afholdes. Mødet skal bookes til afholdelse inden datoen for at fristen er overholdt.
Forekomst: 1

InterviewDeadlineStatus

InterviewDeadlineStatusTypeIdentifier

Status for frist.
Forekomst: 1

CorrectionComment

CorrectionCommentType

Kommentar om årsagen når frist nedlægges eller ændres.
Forekomst: 0-1

EventDate

dateTime

Seneste registreringstidspunkt i DFDG.
Forekomst: 1


  1. http://starwswiki.amstest.dk/RequestMetadataType-2.ashx

    Navn

    Type

    Detaljer

    CaseWorkerStructure

    CaseWorkerStructureType

    (caseworker: 3 navn-dele + RID)
    Forekomst: 1

    EventDate

    dateTime

    Hændelsesdatoen for registreringen Forekomst: 1

  2. http://starwswiki.amstest.dk/RequestMetadataType.ashx

    Navn

    Type

    Detaljer

    CaseWorkerStructure

    CaseWorkerStructureType

    (caseworker: 3 navn-dele + RID)
    Forekomst: 1

    AuthorityStructure

    AuthorityStructureType

    (AuthorityCode, AuthorityName og AuthorityType. Alle strings)
    Forekomst: 1

    EventDate

    dateTime

    Hændelsesdatoen for registreringen Forekomst: 1


  1. http://starwswiki.amstest.dk/RequestMetadataType-2.ashx
  2. 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:

  1. Hvilket system der har foretaget registreringen
  2. Den registrerende organisation
  3. 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:


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
Forekomst: 1

ClientSystemIdentifier

ClientSystemTypeIdentifierType

System ID på registrerende system (fx Planner/Opera/ Momentum/ Vitas)
Forekomst: 1

RegisteringAuthority

ActiveOrganisationHeaderType

Registrerende myndighed
Forekomst: 1

RegisteringUser

RequestUserMetadataType

Registrerende bruger og dennes organisation (som ved fx Anden Aktør kan være forskellig fra ovenfor)
Forekomst: 1

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.
Forekomst: 1

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.