815.3 Udfasning af ældre DFDG web services (2018-1)

815.3 Udfasning af ældre DFDG web services
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


2018-11.0KSS (t.o.), A-kasse (t.o.)


Indholdsfortegnelse
1 Ændringslog
2 Afgrænsning af epic
3 Oversigt over berørte web services
3.1 Jobnetspecifik oversigt
4 Beskrivelse af epic
4.1 Aktuel praksis for udfasning af metoder eller services
4.1.1 Udfordringer med den aktuelle praksis
4.2 Ny praksis omkring udfasning
4.3 Scenarier
5 Særlige krav til test
6 Kendte udeståender fra udviklingsfasen
7 User stories


Ændringslog

Dato

Version

Forfatter

Berørte afsnit

01.06.2017

0.1

Ulrich Landbo

Nyoprettet på baggrund af ønske fra Lisbeth Justesen

21.08.2017

0.3

Rune Gram-Madsen

Mindre ændringer

28.09.2017

0.3

Jesper Brunholm

Revideret liste af services som udfases i afsnit 3. Aftagerspecifikke lister indlagt. IKKE færdiggjort.

20.10.2017

0.3

Jesper Brunholm

Revideret liste af services. Aftagerspecifikke lister laves ikke for eksterne, da vi ikke kan verificere hvilke services der bruges, og de dermed kan blive misledende

26.10.2017

0.3

Jesper Brunholm

JobOrderService og JobOrderServiceJobnet udtaget da disse slettest i regi af 869.1

28.11.2017

0.3

kpp

Afsnit 3: Indsat US-nr. på de varslingstasks, der er oprettet til 2018-1 varsling for den enkelte service, der er fjernet i 2018-1.

13.12.2017

1.0

Jesper Brunholm

Løftes til 1.0 Afsnit 3 opdateret med services der er slettede.





Afgrænsning af epic

Afgrænsning



Udfasning af ældre DFDG web services, således at kun den nyeste (og i visse tilfælde næstnyeste) version af en given web service findes.



Acceptkriterier



Nr.

Beskrivelse

Relevant for Beskriver hvilke af STARs leverandører som skal løse dette acceptkriterie


815.3.1

Som STAR ønsker jeg at udfase ældre DFDG web services.

Alle







Kriterier for tilsagn til serviceaftager i forhold til STARs snitflader

Berørte acceptkriterier







Bemærkninger



815.3.1










De nævnte web services og web service metoder i afsnit 3 udgår fra DFDG. Det er relevant for den enkelte service aftager at søger for at den seneste version af den enkelte service anvendes frem for tidligere version.

X





















Oversigt over berørte web services

Service

DFDG

Jobnet

Plannersystemer

KSS

A-kasse

Ydelsessystem

JobKon

Vitas

Noter

AbsenceActiveStatusService (Version 8)

X








Udgår. Serviceaftagere skal bruge v. 9

AKAEducationalCitizenRegistrationService (Version 1)

X








Udgår. Serviceaftagere skal bruge v. 2

AKAEducationalRegistrationService (Version 1)

X








Udgår. Serviceaftagere skal bruge v. 2

AKAEducationalStatusService (Version 1)

X








Udgår. Serviceaftagere skal bruge v. 2

ConfirmActiveJobSeekingService (Version 5)

X

X (v6)


A?





Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 6

JobnetCitizenStatusService (Version 8)

X

X







Udgår, aftagere skal benytte nyeste version

PersonAdvancedSearchService (Version 1)

X








Udgår. Serviceaftagere skal bruge v. 2

PersonSearchService (Version 2)

X








Udgår. Serviceaftagere skal bruge v. 3

PersonSimpleSearchService (Version 1)

X








Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 2

ReceiptEditingService (Version 5)

X








Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 6

ReminderService (Version 1)

X

X (2)







Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 2

SecurityUserOrganisationsService (Version 3!)

 X



 X

 ?

 X



Udgår. Ingen aftagere af denne version. Serviceaftagere skal (fortsat) bruge v. 2! (det var en fejl at v3 blev lavet, og at v2 tidligere i denne epic har været varslet lukket)

SmsStatusService (Version 6)

X








Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 7

SystematicDistributionService (Version 2)

X



X





Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 5

SystematicDistributionService (Version 3)

X



X





Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 5

SystematicDistributionService (Version 4)

X



X





Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 5

TimelinessSearchService (Version 5)

X


X

X





Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 7

TimelinessSearchService (Version 6)

X


X

X





Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 7

TransferDataService (Version 3)

X



X





Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 4

UnemploymentEnrollmentService (Version 4)

X

X (6)


X

X




Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 6 eller 7

UnemploymentEnrollmentService (Version 5)

X

X (6)


X

X




Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 6 eller 7

UnemploymentHistoryService (Version 6)

X








Udgår pga. forældet sikkerhedsmodel. Serviceaftagere skal bruge v. 7. Fra 2017-3 er det kun STAR der må kalde denne service.











Snitflade

Serviceaftager der er berørt









Bemærkninger



DFDG

Jobnet

Plannersystemer

KSS

A-kasse

Ydelsessystem

JobKon

Vitas



AbsenceActiveStatusService (Version 8)

X








Udgår.
Serviceaftagere skal bruge v. 9


AbsenceRegistrationService (Version 6)

X



X





Udgår.
Serviceaftagere skal bruge v. 7


AKAEducationalCitizenRegistrationService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


AKAEducationalRegistrationService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


AKAEducationalStatusService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


AutoMatchService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


CaseWorkerInformationService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


CitizenJoblogService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


CompanySearchService (Version 4)









Udgår.
Serviceaftagere skal bruge v. 5


ConfirmActiveJobSeekingService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


ConsentService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


CVServiceForJobnet (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


EntitlementService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 4


EntitlementService (Version 3)









Udgår.
Serviceaftagere skal bruge v. 4


ExternalOperatorRegistrationService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


IllnessCompositeService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 4


IllnessCompositeService (Version 3)









Udgår.
Serviceaftagere skal bruge v. 4


IllnessRecoveryInformationService (Version 7)









Udgår.
Serviceaftagere skal bruge v. 4


JobcenterMessageService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


JobCenterService (Version 4)









Udgår.
Serviceaftagere skal bruge v. 5


JoblogService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


JobnetAccountDetailsService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


JobnetAccountService (Version 3)









Udgår.
Serviceaftagere skal bruge v. 4


JobnetEducationalCitizenStatusService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


JobnetEducationalRegistrationService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


JobnetEducationalStatusService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


JobnetIllnessService (Version 6)









Udgår.
Serviceaftagere skal bruge v. 7


JobnetRegistrationStatusService (Version 6)









Udgår.
Serviceaftagere skal bruge v. 7


JobnetScreeningService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


JobnetSelfServiceValidationService (Version 4)









Udgår.
Serviceaftagere skal bruge v. 5


JobnetTemporaryWorkService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


JobnetVacationService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


JobOrderService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 4


JobOrderService (Version 3)









Udgår.
Serviceaftagere skal bruge v. 4


JobOrderServiceJobnet (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


LetterVariantService (Version 1)Anden epic?









Udgår.
Serviceaftagere skal bruge v. 2¤anden epic?


PersonAdvancedSearchService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


PersonContactService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


PersonGroupProjectService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


PersonHistoryService (Version 3)666.4?¤









Udgår.
Serviceaftagere skal bruge v. 4Separat, specifik epic


PersonNotificationService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


PersonRegistrationService (Version 8)









Udgår.
Serviceaftagere skal bruge v. 9


PersonSearchService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


PersonSimpleSearchService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


PersonStatusCommentService (Version 6)









Udgår.
Serviceaftagere skal bruge v. 7


PersonStatusService (Version 16¤OBS varsling)









Udgår.
Serviceaftagere skal bruge v. 19¤ Denne og flg: kun med varsling


PersonStatusService (Version 17









Udgår.
Serviceaftagere skal bruge v. 19


PersonStatusService (Version 18)









Udgår.
Serviceaftagere skal bruge v. 19


ReceiptEditingService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


ReminderService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 2


SecurityUserOrganisationsService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


SmsStatusService (Version 6)









Udgår.
Serviceaftagere skal bruge v. 7¤? Aftagere?


SustenanceHistoryService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


SystematicDistributionService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 5


SystematicDistributionService (Version 3)









Udgår.
Serviceaftagere skal bruge v. 5


SystematicDistributionService (Version 4)









Udgår.
Serviceaftagere skal bruge v. 5


TimelinessSearchService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 7


TimelinessSearchService (Version 6)









Udgår.
Serviceaftagere skal bruge v. 7


TransferDataService (Version 3)









Udgår.
Serviceaftagere skal bruge v. 4


UnemploymentEnrollmentService (Version 4)









Udgår.
Serviceaftagere skal bruge v. 6


UnemploymentEnrollmentService (Version 5)









Udgår.
Serviceaftagere skal bruge v. 6


UnemploymentFundEducationalCitizenRegistrationService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundEducationalCitizenRegistrationService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundEducationalCitizenStatusService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundEducationalCitizenStatusService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundEducationalStatusService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundEducationalStatusService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundEventHistoryService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundEventHistoryService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundMessageService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentFundMessageService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


UnemploymentHistoryService (Version 6)









Udgår.
Serviceaftagere skal bruge v. 7


UnemploymentRegistrationService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 3


WsrmService (Version 1)









Udgår.
Serviceaftagere skal bruge v. 3


WsrmService (Version 2)









Udgår.
Serviceaftagere skal bruge v. 3


A? = Adgang haves, brug usikker.
Vær specielt opmærksomme på følgende services, som kan være i brug: JobcenterMessageService (Version 1)
Der laves ikke specifikke servicelister for eksterne aftagere da usikkerhed om brug kan gøre at de bliver misvisende.

Jobnetspecifik oversigt

Service

Jobnet

Noter

ConfirmActiveJobSeekingService (Version 5)

X (v6)

Udgår. Serviceaftagere skal bruge v. 6

CVServiceForJobnet (Version 1)

X (v2)

Udgår. Serviceaftagere skal bruge v. 2

JobnetAccountDetailsService (Version 2)

X (3)

Udgår. Serviceaftagere skal bruge v. 3

JobnetCitizenStatusService (Version 8)

X (9)

Udgår. Serviceaftagere skal bruge v. 9

ReminderService (Version 1)

X (2)

Udgår. Serviceaftagere skal bruge v. 2

UnemploymentEnrollmentService (Version 4)

X (6)

Udgår. Serviceaftagere skal bruge v. 6

UnemploymentEnrollmentService (Version 5)

X (6)

Udgår. Serviceaftagere skal bruge v. 6

Services med rødt vil ikke blive udfaset medmindre der gives eksplicit tilsagn til dette.
Ovenstående liste over web services er skabt ved nedenstående GIT bash kommando ift. DFDG kildekoden:

  • find . -name "*.svc" | cut -f 2,3 -d'/' | awk -F'/' '{print $2 " " $1 }' | sort

Beskrivelse af epic

Slutmålet med epic 815.1, og 815.2 og 815.3 er at DFDG fejlkoden 4399 er slettet og praksis for hvordan DFDG udfaser web services og web service metoder. I epic 815.2 slettes de næste web services, der anvende fejlkode 4399.
Epic'en 815.3 udfaser derudover services som ikke har brugt fejlkoden 4399 (deprecated) i 2018-1, men alle services der udfases i 2018-1 vil ikke fremgå af denne epic, et sådant overblik skal fortsat findes i varsling for releasen.

Aktuel praksis for udfasning af metoder eller services

Afhængigt af varslingsfrister mm. har der i DFDG været nedenstående praksis, når en web service metode forretningsmæssigt har skullet udgå. Denne praksis har direkte betydning for både interne og eksterne aftagere.

  1. I den aktuelle release er en enkelt metode eller alle metoder på en service ændret, så forretningslogikken ikke længere igangsættes, men i stedet sendes en fejlkode (SERVICE_DEPRECATED = 4399) retur til aftageren med det samme.
  2. I den følgende release er alle metoder, der sender fejlkoden SERVICE_DEPRECATED = 4399, fjernet.


Udfordringer med den aktuelle praksis

Herunder beskrivelse af udfordringer med den overstående praksis.

  1. Mindre tydelig modellering over for både interne og eksterne aftagere, da en deprecated webservice metode vil resultere i runtime fejl frem for compile time fejl, hvis metoden var fjernet.
  2. Omkostningstung for STAR, da der er 'bogholderi' med at lave user stories og planlægge implementering på tværs at 2 på hinanden følgende releases. Ofte er oprydningen i den følgende release ikke sket, hvorved vi bygger teknisk gæld. Ydermere er der af og til problemer med at finde en epic som man har lov til at lave US'er på i den efterfølgende release hvor man vil udføre oprydningen.
  3. Afhængig af strukturen på tværs af forskellige versioner af samme DFDG web service, kan udviklerne være ramt af behov for midlertidige tilpasninger, da snitflader på sammenfaldende strukturer skal holdes i live, selvom der blot vil blive kastet en fejl.
  4. Lille genbrugelighed at evt. eksisterende webservice version, da den nye version oftest er en udbygning af den eksisterende version og udviklerne skal tænke på samtidige versioner ift. vedligeholde af DFDG og div. test projekter.

Ny praksis omkring udfasning

Herunder er den nye praksis, når en webservice metode forretningsmæssigt skal udgå.

  1. Når en webservice eller en enkelt web service metode udgår ift. det forretningsmæssige, så fjernes webservicen eller metoden helt fra DFDG i den samme release som der udbygges ny funktionalitet på servicen, og som varslingen går til.


Den nye praksis har ingen påvirkninger til processen omkring tilsagn fra eksterne, varsling mm.
Ændringen i praksis vil gøre at udviklergrupper kun arbejder i det område af koden i en ombæring, og kan følge det princip vi i øvrigt har i agil sammenhæng med at gøre det man påbegynder helt færdigt.
Idet den eksisterende DFDG fejlkode SERVICE_DEPRECATED (4399) fjernes, så vil den nye praksis i stedet betyde at følgende gøres i DFDG for hver webservice metode, der forretningsmæssigt udgår:

  • SOAP operationen slettes fra WSDL, WSDL afspejler i højere grad den faktisk gældende kontrakt med aftager
  • metodesignaturen slettes fra webservice interfacet
  • den tilhørende implementering og anvendte typer slettes


I skrivende stund kastes fejlkoden SERVICE_DEPRECATED ca. 100 steder i DFDG fordelt på ca. 20 webservices.
I tilfælde hvor det forretningsmæssigt besluttes at genoplive en service eller service metode, kan dette stadig gøres. For at dette er så enkelt og problemfrit som muligt bør fjernelse af en service eller servicemetode ske i et samlet kode-commit.

Scenarier

I videreudviklingen af STAR's systemer og de eksterne systemer findes der en række scenarier, som den nye praksis skal kunne holde til.
Scenarie A – DFDG har udfaset/fjernet en web service, men ekstern part tror, at web servicen fortsat er gældende


Gammel praksis

Ny praksis

Ved afvikling

En AMSApplicationException med fejlkode SERVICE_DEPRECATED = 4399 blive kastet fra DFDG. Det eksterne system skal være i stand til at håndtere denne fejlkode.

En http 404 fejlkode bliver kastet fra DFDG. Det eksterne system skal være i stand til at håndtere denne fejlkode.

Ved udvikling

Uanset om den pågældende web service proxy opdateres ved det eksterne system eller ej, er det kun dokumentationen (varsling) der vil fortælle om en given service kan anvendes.

Under forudsætning af aftagers lokale proxy klient opdateres som den skal, vil aftager fange ændringen meget hurtigt i udviklingsfasen.


Scenarie B – DFDG har udfaset/fjernet en metode på en web service, men ekstern part tror at metoden fortsat er gældende


Gammel praksis

Ny praksis

Ved afvikling

En AMSApplicationException med fejlkode SERVICE_DEPRECATED = 4399 blive kastet fra DFDG. Det eksterne system skal være i stand til at håndtere denne fejlkode.

En http 404 fejlkode bliver kastet fra DFDG. Det eksterne system skal være i stand til at håndtere denne fejlkode.

Ved udvikling

Uanset om den pågældende web service proxy opdateres ved det eksterne system eller ej, er det kun dokumentationen (varsling), der vil fortælle om en given service kan anvendes.

Under forudsætning af aftagers lokale proxy klient opdateres som den skal, vil aftager fange ændringen meget hurtigt i udviklingsfasen.



Særlige krav til test

Testscenarie

Berørte systemområder

Identificeret af







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.