Formål

Dette dokument har til formål at gøre det muligt for andre end den oprindelige leverandør at overtage videreudvikling af Det Fælles Stamkort 1.5 (FSK).

Dokumentationen er rettet mod udviklere og IT-arkitekter, som ikke på forhånd har kendskab til komponenten, og som ikke har adgang til komponentens oprindelige udviklere.

Det forudsættes at læseren har læst dokumentet Design og Arkitektur (FSK).

Ændringslog

Version

Dato

Ændring

Ansvarlig

2.0.0

2018-08-27

Initialt dokument

Trifork

Introduktion til projektet

FSK 1.5-servicens formål er at agere som en on-demand datakode for Dokumentdelingsservicen (DDS). Såfremt en sundhedsprofessionel henter en borgers stamkort gennem Dokumentdelingsservicen, vil FSK 1.5 servicen blive kaldt af DDS, og returnere et XML dokument, som er sammenstillet af data fra følgende registre:

For ODR, LTR og BTR gælder, at der kun returneres information om, hvorvidt der findes data i de pågældende registre eller ej. Såfremt data ønskes hentet fra disse registre skal der foretages til kald direkte til den pågælende register-service. Se Guide til anvendere (FSK) for beskrivelse af format for dokumentet, der returneres af FSK 1.5

Servicen er designet med henblik på udstilling via den nationale serviceplatform (NSP).

Kodebasen består af én WAR-fil / komponent fsk-service.war.

Specielle bemærkninger

Wildfly

Der benyttes Wildfly 8.2.

Databasevedligehold

Servicen benytter i udviklingssammenhæng Flyway, hvilket gør at databasen i udviklingsmiljøet automatisk opdateres til gældende version. Eneste forudsætning er at recreate_database.sql script samt recreate_service_user.sql script, som er placeret i fsk-service/etc/db/, er blevet afviklet mod databasen.

På miljøer, hvor der skal være mulighed for rollback, benyttes migrerings scripts fra fsk-service/etc/db/migration.

Klienter til kald af underliggende registre

WSDL'er og XSD'er for SCES, ODR, LTR, BTR og SKR ligger i modulet fsk-schemas. Dette modul genererer JAXB-klasser som defineret i modulets pom.xml. De genererede klasser anvendes af tilsvarende Client-moduler SCESClient, OrganDonorClient, LivingWillClient, TreatmentWillClient og PersonalDataCardRegisterClient, som alle findes her: fsk-service/src/main/java/dk/stamkort/integrations.

Foretage succesfuldt kald af on-demand webservice i udviklingsmiljø

Efter deployment af fsk-service.war til en lokal Wildfly installation i udviklingsmiljøet er det muligt at kalde on-demand webservicen. Dette kan eksempelvis gøres ved at afvikle metoden callOnDemandService i klassen OnDemandServiceITCase inde i IntelliJ, og forinden specificere FSK_TEST_PORT til 8080 i den tilhørende IntelliJ runtime-konfiguration.

Som udgangspunkt er det dog ikke er muligt at få et succesfuldt svar tilbage, med mindre alle underliggende services kan kaldes med succes. Dvs. der skal anvendes et cpr-nummer, der findes i SCES, og både LTR-BTR, ODR og SKR skal være deployet korrekt til Wildfly, med tilhørende DGWS/IDWS proxies.  Alternativt kan integration til de enkelte services disables i FSK-servicens application.properties, som det f.eks. er gjort i fsk-test modulet.

Adgange

Der er behov for adgange til følgende systemer:

Opsætning af udviklingsmiljø

Al kode findes i SVN: https://svn.nspop.dk/svn/trifork/fsk15

Efter at projektet er checket ud vil man typisk gøre følgende:

Kodestruktur

Koden er opdelt i 3 maven-moduler:

  1. fsk-schemas: Indeholder WSDL og XSD-filer for underliggende registre.
  2. fsk: Indeholder selve service-funktionaliteten, inkl. unittests
  3. fsk-test: Indeholder integrationstest, som internt benytter deployment til wildfly

Bygge WAR fil

Følgende software er nødvendigt for at bygge projektet

Gennemfør følgende steps for at bygge WAR filer:

  1. Installér og start MariaDB

  2. Check projektet ud fra SVN: https://svn.nspop.dk/svn/trifork/fsk15

  3. Opret database via script i fsk-service/etc/db

  4. For at bygge projektets war-fil, samt afvikle unit- og integrationstests, foretages kommandoen: mvn clean install

Opsætning af IntelliJ Idea

Man åbner blot pom.xml fra rodbiblioteket. Efter en mvn clean install bør dependencies være på plads.

Deployment på Wildfly

Når man udvikler kan det være praktisk at deploye applikationen på en lokal Wildfly server, da det er denne applikationsserver som bruges i NSP produktionsmiljø. Der henvises til Installationsvejledning (FSK) for nærmere instrukser.