Page History
...
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:
|
Herefter kan en lokal udgave kan startes med docker
|
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.