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)
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. | ||||||||
AbsenceRegistrationService (Version 6) | X | X | Udgår. | |||||||
AKAEducationalCitizenRegistrationService (Version 1) | Udgår. | |||||||||
AKAEducationalRegistrationService (Version 1) | Udgår. | |||||||||
AKAEducationalStatusService (Version 1) | Udgår. | |||||||||
AutoMatchService (Version 5) | Udgår. | |||||||||
CaseWorkerInformationService (Version 5) | Udgår. | |||||||||
CitizenJoblogService (Version 2) | Udgår. | |||||||||
CompanySearchService (Version 4) | Udgår. | |||||||||
ConfirmActiveJobSeekingService (Version 5) | Udgår. | |||||||||
ConsentService (Version 1) | Udgår. | |||||||||
CVServiceForJobnet (Version 1) | Udgår. | |||||||||
EntitlementService (Version 2) | Udgår. | |||||||||
EntitlementService (Version 3) | Udgår. | |||||||||
ExternalOperatorRegistrationService (Version 5) | Udgår. | |||||||||
IllnessCompositeService (Version 1) | Udgår. | |||||||||
IllnessCompositeService (Version 3) | Udgår. | |||||||||
IllnessRecoveryInformationService (Version 7) | Udgår. | |||||||||
JobcenterMessageService (Version 1) | Udgår. | |||||||||
JobCenterService (Version 4) | Udgår. | |||||||||
JoblogService (Version 5) | Udgår. | |||||||||
JobnetAccountDetailsService (Version 2) | Udgår. | |||||||||
JobnetAccountService (Version 3) | Udgår. | |||||||||
JobnetEducationalCitizenStatusService (Version 2) | Udgår. | |||||||||
JobnetEducationalRegistrationService (Version 2) | Udgår. | |||||||||
JobnetEducationalStatusService (Version 2) | Udgår. | |||||||||
JobnetIllnessService (Version 6) | Udgår. | |||||||||
JobnetRegistrationStatusService (Version 6) | Udgår. | |||||||||
JobnetScreeningService (Version 1) | Udgår. | |||||||||
JobnetSelfServiceValidationService (Version 4) | Udgår. | |||||||||
JobnetTemporaryWorkService (Version 5) | Udgår. | |||||||||
JobnetVacationService (Version 5) | Udgår. | |||||||||
JobOrderService (Version 2) | Udgår. | |||||||||
JobOrderService (Version 3) | Udgår. | |||||||||
JobOrderServiceJobnet (Version 2) | Udgår. | |||||||||
LetterVariantService (Version 1)Anden epic? | Udgår. | |||||||||
PersonAdvancedSearchService (Version 1) | Udgår. | |||||||||
PersonContactService (Version 1) | Udgår. | |||||||||
PersonGroupProjectService (Version 5) | Udgår. | |||||||||
PersonHistoryService (Version 3)666.4?¤ | Udgår. | |||||||||
PersonNotificationService (Version 2) | Udgår. | |||||||||
PersonRegistrationService (Version 8) | Udgår. | |||||||||
PersonSearchService (Version 2) | Udgår. | |||||||||
PersonSimpleSearchService (Version 1) | Udgår. | |||||||||
PersonStatusCommentService (Version 6) | Udgår. | |||||||||
PersonStatusService (Version 16¤OBS varsling) | Udgår. | |||||||||
PersonStatusService (Version 17 | Udgår. | |||||||||
PersonStatusService (Version 18) | Udgår. | |||||||||
ReceiptEditingService (Version 5) | Udgår. | |||||||||
ReminderService (Version 1) | Udgår. | |||||||||
SecurityUserOrganisationsService (Version 2) | Udgår. | |||||||||
SmsStatusService (Version 6) | Udgår. | |||||||||
SustenanceHistoryService (Version 5) | Udgår. | |||||||||
SystematicDistributionService (Version 2) | Udgår. | |||||||||
SystematicDistributionService (Version 3) | Udgår. | |||||||||
SystematicDistributionService (Version 4) | Udgår. | |||||||||
TimelinessSearchService (Version 5) | Udgår. | |||||||||
TimelinessSearchService (Version 6) | Udgår. | |||||||||
TransferDataService (Version 3) | Udgår. | |||||||||
UnemploymentEnrollmentService (Version 4) | Udgår. | |||||||||
UnemploymentEnrollmentService (Version 5) | Udgår. | |||||||||
UnemploymentFundEducationalCitizenRegistrationService (Version 1) | Udgår. | |||||||||
UnemploymentFundEducationalCitizenRegistrationService (Version 2) | Udgår. | |||||||||
UnemploymentFundEducationalCitizenStatusService (Version 1) | Udgår. | |||||||||
UnemploymentFundEducationalCitizenStatusService (Version 2) | Udgår. | |||||||||
UnemploymentFundEducationalStatusService (Version 1) | Udgår. | |||||||||
UnemploymentFundEducationalStatusService (Version 2) | Udgår. | |||||||||
UnemploymentFundEventHistoryService (Version 1) | Udgår. | |||||||||
UnemploymentFundEventHistoryService (Version 2) | Udgår. | |||||||||
UnemploymentFundMessageService (Version 1) | Udgår. | |||||||||
UnemploymentFundMessageService (Version 2) | Udgår. | |||||||||
UnemploymentHistoryService (Version 6) | Udgår. | |||||||||
UnemploymentRegistrationService (Version 1) | Udgår. | |||||||||
WsrmService (Version 1) | Udgår. | |||||||||
WsrmService (Version 2) | Udgår. |
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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å.
- 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.