Versions Compared

Key

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

Anchor
_Toc40578283
_Toc40578283


Table of Contents


Stamdataservice på NSP
Guide til udviklere
Indholdsfortegnelse

Anchor

...

_Toc250887291
_Toc250887291
Formål

Nærværende dokument er en guide til nye udviklere af stamdataservicen på DoDi'en. Guiden gennemgår på overordnet plan

...

Nærværende dokument er en guide til nye udviklere af stamdataservicen på DoDi'en. Guiden gennemgår på overordnet plan de aktiviteter, der er nødvendige for at kunne videreudvikle stamdataservicen.

...

Den primære målgruppe for dokumentet er systemudviklere.

Anchor
_Toc263424147
_Toc263424147
Anchor
_Toc250887294
_Toc250887294
System design


Wiki Markup
Stamdata importerne består af en kerne komponent (sdm4-core), og en række importer specifikke komponenter – alle deployes på Dodi'en og har udelukkende til formål at populere data i en database (kan godt være forskellige databaser for hver komponent), se \[DESIGN\] for yderligere information vedrørende DoDi.
\\
*Komponenter på DoDi:*
DoDi applikationerne er en række selvstændigt kørende applikationer, til overvågning af indkomne data filer, der kan være i forskellige formater (XML, fastlængde, csv, m.v). Indkomne filer indlæses, valideres og gemmes herefter i DoDi'ens database.
\\
Hvert komponent indeholder en implementation af et Parser interface der fungerer som entry-point til applikationen. Det anbefales, at man som ny udvikler på projektet kigger koden igennem med denne fil som udgangspunkt.



Anchor
_Toc250887295
_Toc250887295
Properties

...

Opsætningen af udviklingsmiljøet for stamdataservicen forudsætter, at følgende elementer allerede er installeret på udviklerens maskine:

  • Java Developer Kit 6.0_x
  • Et passende udviklingsmiljø
  • Maven 3.x
  • Virtualbox version 4.1.18
  • Vagrant version 1.0.3
  • MySQL database 5.1.x
  • JBoss AS7 (bliver sat op via Puppet scriptsDocker 18.x (testet med 18.09.7)

Anchor
_Toc250887297
_Toc250887297
Kildekode

...

Kildekoden er placeret her:
Core modul: https://svn.nspop.dk/svn/trifork/sdm4-core/trunk/
Maven-plugin: https://github.com/trifork/sdm4-vagrant-maven-plugin/
Test-utils: https://svn.nspop.dk/svn/trifork/sdm4-testutils/trunk/
Parent-modul inkl. Test-environment: https://svn.nspop.dk/svn/trifork/sdm4-parent/trunk/
Importer moduler
https://svngit.nspop.dk/projects/svnIM/triforkrepos/sdm4-autorisationimporter/trunk/autorisation-importer/browse
https://git.nspop.dk/projects/IM/repos/begraensetordinationsret-importer/browse
https://svn.nspop.dk/svn/trifork/sdm4-bemyndigelseimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-cprimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-doseringimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-lprimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-refhostimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-sikredeimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-sksimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-sorimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-sorrelationimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-takstimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-testdataimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-tilskudsblanketimporter/trunk/
https://svngit.nspop.dk/projects/svnIM/triforkrepos/sdm4vaccination-vaccinationimporterimporter/trunk/browse
https://svn.nspop.dk/svn/trifork/sdm4-vitaminimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-ydelseimporter/trunk/
https://svn.nspop.dk/svn/trifork/sdm4-yderimporter/trunk/
Koden checkes ud på følgende måde:
% svn co <kode-url> <sdm4-navn>

Anchor
_Toc250887299
_Toc250887299
Byggemiljø



Wiki Markup
Stamdataprojektet anvender Maven som byggesystem \[MAVEN\]. Strukturen følger de generelle anbefalinger for Maven projekter, og er struktureret med en parent pom.xml og en projekt pom.xml fil for hvert underprojekt.
Subprojekterne er opbygget efter Maven layout konventionen.
\\
For at bygge en importer, skal man gøre følgende:
Check Core-modul ud og kør mvn install
Check Maven-plugin ud og kør mvn install
CheckTest-utils ud og kør mvn install
Check parent-modul ud og kør mvn install
\\
Herefter er du klar til at bygge et importer-modul.
Importmodulets integrationstest er afhængig af at ligge som et subdirectory til parent-modulet, så du skal checke det ud som sådan et.
Hvis du ønsker at checke alle importermoduler ud, ligger der i roden af parent-modulet et script, checkout-importermodules.sh, som udfører checkout af alle importermoduler samt maven-plugin og test-utils.
\\


Anchor
_Toc250887300
_Toc250887300
Dependencies

...

Anchor
_Toc250887302
_Toc250887302
DoDi

Nedenstående gælder kun for de importers, som ikke er blevet lagt om til at kunne køre selvstændigt (SDS-8594).

For at køre projektets tests skal der køre en lokal MariaDB. Projektet indeholder et docker-compose setup, der starter en MariaDB container op og initialiserer en database.

For at starte MariaDB-containeren køres følgende fra folderen compose/development:

% docker-compose up

Det kan tage op til et minut, før databaseserveren er klar.

Når mariadb-containeren er oppeDoDi-projekterne anvender Vagrant+Puppet til at opsætte udviklingsmiljøet.
For at få bootet og opsat en udviklingsmaskine, køres følgende
% vagrant up
Fra roden af et importermodul eller fra parent-modulet.
Når vagrant har bygget den virtuelle maskine, er den sat op med den korrekte version af JBoss 7 samt en MySQL der er konfigureret til at have en root-bruger med tomt password papkasse , og en sdm4-bruger sdm4bruger med password sdm4papkasse.
Der er også automatisk oprettet en tom database med standard-navnet for databasen, (sdm_warehouse) og en datasource i JBoss med det JNDI-navn, som applikationen som default forventer at kunne slå datasource opdatabasen, (sdm_warehouse).
Applikationen kører ved opstart automatisk databaseskema på databasen.
Der er forwardet mappet følgende porte ind i den virtuelle maskine, så man kan tilgå jboss og mysql fra sin lokale maskine
8080 -> 8080 (dvs. at man kan tilgå http://localhost:8080/)
3307 3306 -> 3306 (dvs. at man kan have en urelateret mysql kørende lokalt og tilgå SDM-mysql'en på den virtuelle maskine på url localhost:3307)

Anchor
_Toc250887303
_Toc250887303
Test

...

I de følgende beskrives problemer og deres løsninger:

Anchor
_Toc250887309
_Toc250887309
JBoss out of memory

...

Nyeste udgave af dette dokument kan erhverves ved henvendelse til NSP-operatøren.

Version

Dato

Ændring

Ansvarlig

1.0

28/4-2011

Initielt Dokument

Trifork

1.1

6/10-2011

Opdateret med CPR tjenester

Trifork

1.2

8/12-2011

Kvalitetssikret af Lakeside

Lakeside

1.3

22/12-2011

Opdateret bla. med performance test af autorisationsservicen og kopi-register-servicen

Trifork

1.4

20/8-2012

Tilføjet DoDi-specifikke afsnit der beskriver SDM4

Trifork
jrf@trifork.com

1.5

24/8 2012

Fjernet al dokumentation der ikke var SDM4 importer specifik

Trifork

1.6

9/1-2014

Opdateret source links

Trifork KPN


Anchor
_GoBack
_GoBack

Anchor
_Toc310537059
_Toc310537059
Anchor
_Toc250887313
_Toc250887313
Referencer og kilder

Reference-id

Indhold / Overskrift

Henvisning

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="5702e6d1-7b08-4b7d-bfe1-90ef4de78b5d"><ac:plain-text-body><![CDATA[

[MAVEN]

Welcome to Apache Maven

[http://maven.apache.org/

http://maven.apache.org/]

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="dfc2d094-8ed7-4b79-a0e8-63c2f8d91435"><ac:plain-text-body><![CDATA[

[NIAB]

NSP in a box

Kan rekvireres ved henvendelse til operatøren inklusiv vejledning i anvendelse og konfiguration.

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="55fa1e86-7c63-4027-a7d5-1bd0baf05730"><ac:plain-text-body><![CDATA[

[BRS-guide til anvendere]

Guide til anvendere

Ligger i doc bibliotek i en BRS release

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6170013d-58db-4cfe-a9e0-ca4ce6390ffa"><ac:plain-text-body><![CDATA[

[BRS-driftvejledning]

Driftvejledning

Ligger i doc bibliotek i en BRS release

]]></ac:plain-text-body></ac:structured-macro>