Indholdsfortegnelse
Testudtræksværktøj
Der er udviklet et testværktøj, til at trække data for samtlige SOR2 registre ud af KRS, og gemmer dem lokalt på disken i CSV format. Dette gør test på data i KRS lettere at kontrollere.
Formålet er, at kommende brugere vil kunne teste de udtræk der generes fra KRS servicen. Det kræver, at IT-kyndige fagfolk downloader Java, og generere udtrækkene til forretningsbrugerne, der skal teste data.
KRS-testværktøjet vil være i stand til følgende udtræk (og varianter af disse), som konverteres til .csv-format:
- Fulde KRS-udtræk til dags dato
- Deltaudtræk (udtræk fra en given dato til dags dato); disse bruges i produktion til opdatering af et register
Værktøjet køres fra lokal maskine og et deltaudtræk vil forudsætte medsendelse af en "token" (datostempel for seneste udtræk) der oprettes ved udtræk.
Værktøjet er sat op, så mindst mulig opsætning fra brugerens side er nødvendigt. Det kan startes uden at angive nogen parametre overhovedet, og den vil hente alt data fra samtlige registre.
Java er nødvendigt at have installeret og sat op på forhånd (https://www.java.com/en/download/). Værktøjet er udviklet til at blive brugt fra commandline (cmd, powershell, terminal, eller anden implementation af denne type interaktion), men kan også dobbelklikkes; hvis Java er sat op korrekt, så vil download af data starte som normalt, men man kan ikke tydeligt se hvor langt den er nået eller om den eventuelt er afsluttet. I Windows vil den kunne findes i Task Manageren som en javaw.exe
proces.
Parametre
Følgende er en liste over alle parametre værktøjet kan tage, deres beskrivelser, samt vigtige noter:
Kort navn | Langt navn | Standard værdi | Beskrivelse |
---|---|---|---|
-h | --help | Printer hjælpeteksten med kort opsummering af alle parametre, og stopper eksekveringen derefter | |
-s | --stsUrl | http://test1.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService | URL til STS for at hente en ny adgangstoken |
-n | --systemName | TE-STS | Navn på kaldeststemet, bruges i forbindelse med at hente adgangstoken |
-c | --companyName | CAPGEMINI DANMARK A/S | Navn på virksomheden som henter adgangstoken |
-b | --companyCvr | 25606965 | CVR for virksomheden som henter adgangstoken |
-p | --vaultPath | Sti til certifikat container, bruges til autentificering mod både STS og KRS. Skal være i JKS format. Sættes ingen, benyttes et medfølgende certifikat fra Capgemini. Konverter fra PKCS12 til JKS format kan gøres ved brug af
| |
-w | --vaultPassword | Password for den angivne certifikat container | |
-a | --certName | Navnet på det certifikat der skal bruges | |
-q | --certPassword | Password for certifikatet der skal bruges | |
-u | --skrsUrl | http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-batch-copy-ws/service/StamdataReplication | URL til KRS |
-o | --registerOffset | 0 | Offset værktøjet skal begynde at hente data fra, 0 angiver fra begyndelsen af (alt data). Parametren kan angives på to forskellige måder, UNIX timestamp i sekunder (UTC) eller i et format der matcher "yyyy-MM-dd[[' ']['T']HH[':'mm[':'ss]]][XXX]". Formatet lægger sig op af ISO-8601, men fuld forklaring på alt i formatet kan findes her: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html |
-m | --registerMaxRecords | 1000 | Antallet af rækker der skal returneres fra KRS ved hvert kald. Værktøjet kalder kontinuert indtil alt data er hentet ned, dette påvirker bare hvor mange kald den kommer til at lave før at det sker - højere tal giver færre kald til KRS, men også længere ventetid mellem hvert kald, og længere tid før yderligere data skrives til de genererede filer. |
-r | --registers | Hvilke registre som skal hentes fra KRS separeret med komma. Angives ingen, hentes data for alle registre. Tilgængelige registre: sorclassifications, eanlocationcode, eanlocationcodeeditype, geolocalisation, sorentity, sorshakmap, editypes | |
-d | --destination | Sti til hvor alle genererede filer skal skrives til disken, kan være relativ eller fuld sti. Sættes ingen, bruges nuværende lokation som destination. | |
-v | --verbose | Giver mere information i konsollen undervejs i eksekveringen. Kan specificeres op til to gange, for mest muligt output (samtlige requests/responses printes). |
Eksempel på hvordan output kan set ud, hvis help teksten printes:
> java -jar skrsclient.jar -h Usage: <main class> [-hv] [-q[=<PASSWORD>]]... [-w[=<PASSWORD>]]... [-a=<NAME>] [-b=<CVR>] [-c=<NAME>] [-d=PATH] [-m=<MAXRECORDS>] [-n=<NAME>] [-o=<OFFSET>] [-p=<PATH>] [-s=<URL>] [-u=<URL>] [-r=<REGISTER>[,<REGISTER>...]]... -a, --certName=<NAME> Name the certificate to use is stored under -b, --companyCvr=<CVR> Company CVR number, used when creating an ID card for calling the STS -c, --companyName=<NAME> Company name, used when creating an ID card for calling the STS -d, --destination=PATH Destination to print all generated files to, can be a relative or full path -h, --help Prints help and exits -m, --registerMaxRecords=<MAXRECORDS> Number of entries to fetch in each call to SKRS Default: 1000 -n, --systemName=<NAME> System name, used when creating an ID card for calling the STS -o, --registerOffset=<OFFSET> Date offset for when to fetch entries from, can be a unix timestamp or a date of format "yyyy-MM-dd [[' ']['T']HH[':'mm[':'ss]]][XXX]" Default: 0 -p, --vaultPath=<PATH> Certificate vault to use, must be in JKS format, uses a default Capgemini certificate if none is provided -q, --certPassword[=<PASSWORD>] Password to unlock the certificate -r, --registers=<REGISTER>[,<REGISTER>...] List of registers separated by comma to pull data from, default is all registers. Available registers: sorclassifications, eanlocationcode, eanlocationcodeeditype, geolocalisation, sorentity, sorshakmap, editypes -s, --stsUrl=<URL> URL to STS Default: http://test1.ekstern-test.nspop.dk: 8080/sts/services/NewSecurityTokenService -u, --skrsUrl=<URL> URL to SKRS Default: http://test1-cnsp.ekstern-test.nspop.dk: 8080/stamdata-batch-copy-ws/service/StamdataRepli cation -v, --verbose Enable verbose debugging logging, can be specified multiple times to increase verbosity (up to two times) -w, --vaultPassword[=<PASSWORD>] Password to unlock the certificate vault
Det lange og det korte navn for hver parametre kan bruges uafhængigt af hvad der ellers bliver brugt.
Eksempler
Den simpleste usecase, er at hente alt data for samtlige registre i test1 miljøet. Dette gøres ved at køre følgende kommando:
java -jar skrsclient.jar
Det vil give et resultat der ligner dette:
Alternativt, hvis man gerne vil hente et delta udtræk fra en bestemt dato og til nu, kan det gøres på en af følgende måder:
java -jar skrsclient.jar -o 1587986772
eller
java -jar skrsclient.jar -o 2020-04-27T13:26:12+02:00
eller måske lidt mere simpelt
java -jar skrsclient.jar -o 2020-04-27
I et lidt mere kompliceret eksempel, således kan kommandoen se ud hvis et andet certifikat benyttes til udtrækkene:
java -jar skrsclient.jar -p vault.jks -w "password123" -a "foces"
Opsætning og første kørsel; step-by-step
Step 1: Download- og installér Java; Link til Java
Step 2: Download skrsclient.jar; Nederst på siden eller fra dette link;ved eventuel fejlmeddelelse, click "Behold"
Step 3: Åbn stifinder og lav en mappe ny mappe ved navn "KRS", på C-drevet (Denne Computer → C: → Højre-click og opret ny mappe) *et andet drev kan bruges, men i de fleste tilfælde vil C være standarden
Step 4: Find den downloadede skrsclient.jar og flyt den til den nye mappe KRS.
Step 5: Åbn command-line/kommandoprompt (Gøres nemmest ved at trykke "Windows-tast" og så skriv "cmd"; dette virker uafhængigt af sprog)
Step 6: Nu skal vi finde KRS-clienten - kommandoprompten ser formodentlig sådan ud (eller lignende):
Uafhængigt af den nuværende lokation, skriv "cd C:\" og tryk enter, for at komme til roden af C-drevet (cd er kort for "Change Directory")
Step 7: Herfra skriv: cd krs og tryk enter
Step 8: Nu er vi i den folder hvor vi har placeret vores KRS-client. For at verificere før kørsel skriv "dir" og tryk enter (dir er kort for "Directory"): her skal vi gerne kunne se vores downloadede client (skrsclient.jar):
Step 9: Vi kan nu lave en test kørsel: Skriv "java -jar skrsclient.jar -r editypes" for at lave et historisk udtræk fra editype-registeret. Dette ligger nu i KRS-mappen.
Afsluttende noter:
- For at kunne følge afviklingen af- og se fremdrift på udtræk, kan man med fordel tilføje "-v", for at øge "verbosity", i sin kommando; dette lader clienten vise mere information om processen; her er et eksempel: "
java -jar skrsclient.jar -v" (vil give fuldt udtræk med lidt status på afvikling)
- Fuldt historisk udtræk tager gerne et par timer.
- Filer i KRS-mappen bliver overskrevet hvis de ikke flyttes før næste kørsel; enten brug -d til at lave udtræk i en specifik mappe, eller flyt filerne efter udtræk.
- "
java -jar skrsclient.jar -v -o 2020-04-28" giver et deltaudtræk (opdateringsoverblik) af alle registre, fra 28.april 2020
Download
JAR filen for klienten kan hentes her:
Koden til denne kan også findes på Subversion:
https://svn.nspop.dk/svn/capgemini/SORServices/NSP/skrsclient/trunk