Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Nærværende dokument udgør udviklervejledningen for BIVWSP (Bivirknings indberetningsproxy-servicen). BIVWSP fungerer som webservice gateway som modtager indberetninger som følger Den Gode Webservice (DGWS) til Lægemiddelstyrelsens indberetningsservice og transformerer dem til SOAP kald mod MHRA.

Komponenten er udviklet som en Java webapplikation baseret på jboss CXF og understøttes på Wildfly Application Server version 8.2.

CRK (Central Rutekonfiguration). Denne udviklervejledning er gældende for BIVWSP version 1.0.X.

Afhængigheder

BIVWSP CRK benytter sig af en række open source projekter. Til at styre afhængighederne og bygge projektet benyttes maven3

Projektstruktur

BIVWSP CRK projektet ligger i NSP subversion repository og kan nås på følgende adresse:

https://svn.nspop.dk/svn/components/bivwspcrk/trunk


Projektet er struktureret som et standard docker-container-projekt.

...

Komponenten  bygges fra trunk /bivwsp med maven på sædvanlig vis:

mvn clean install

Herefter kan en lokal udgave kan startes med docker

cd compose
cd development
docker-compose up --build

bivwsp

docker-compose up


Snapshot-releases kan lægges i NSP registry med Jenkins: https://jenkins.nspop.dk/job/BIVWSPCRK_push_snapshot/

Tests

Unit - og integrations-tests test er placeret under src/test og anvender samme pakkestruktur som de klasser de tester. Testene er udformet som Junit 4 annoterede test-cases.


Grundet komponentens opbygning i scheduled tasks er der for øjeblikket ikke udarbejdet integrationstests.


Manuel test

Det er muligt at tjekke om CRK kan indlæse DKS konfigurationen fra en HTTP på følgende måde.

crk-jobs.xml:

Code Block
   <bean id="exampleReloadJobFromFile" class="dk.nsi.nsp.crk.EndpointDefinitionJob">
        <property name="configId" value="job1" />
        <property name="resource" value="${jboss.home.dir}/modules/nsi/crk/configuration/main/jobs/dks-example-http.xml" />
        <property name="enabled" value="false" />
        <property name="timeoutMillis" value="10000" /> <!-- optional, default=10000 millis -->
    </bean>


    <bean id="exampleReloadJobFromHttp" class="dk.nsi.nsp.crk.EndpointDefinitionJob">
        <property name="configId" value="job2" />
        <property name="resource" value="http://test1.fmk.netic.dk/fmk12/services/dksconfig?Version=FMK_1_4_4" />
        <property name="enabled" value="true" />
        <property name="timeoutMillis" value="10000" /> <!-- optional, default=10000 millis -->
    </bean>


    <task:scheduled-tasks scheduler="myScheduler">
        <!-- every hour -->
        <task:scheduled ref="exampleReloadJobFromFile" method="run" cron="0 1 * * * *"/>
        <!-- every minute -->
        <task:scheduled ref="exampleReloadJobFromHttp" method="run" cron="0 * * * * *"/>
    </task:scheduled-tasks>

Indlæsning fra en fil skal sættes til 'false' og indlæsning fra HTTP skal sættes til 'true'. Den nederste task sørger for at den indlæses fra HTTP hvert minut.

Når CRK bliver startet op i docker compose, så vil DKS konfigurationen blive indlæst hvert minut og man kan se status på indlæsningen i compose/development/log/server.log.

Kendte fejl

Der pt. ingen kendte fejl.