INDHOLD

Beskrivelse

CRK'en har til formål at stille konfiguration til rådighed for DCC'en på en form der let kan modificeres og gøres tilgængelig for DCC i alle NSP-miljøer -- centrale såvel som decentrale.CRK består af et antal schedulerede jobs - hvert job indlæser definitionen af et endpoint med tilhørende actions fra en ekstern kilde, hentet via HTTP eller direkte i filsystemet (der benyttes en XML konfigurationsfil som input).
CRK'en udstiller ingen eksterne snitflader.
CRK som sådan har kun en enkelt ekstern afhængighed, nemlig en database, "crk". Denne benyttes til at gemme konfigurationsdata og stille disse til rådighed for DCC'en.

Support ansvarlig: Arosii

Forretningsanvendelse

^^Tilbage til toppen^^

(Der er ikke nogen forretnings anvendelse beskrivelse)

Relaterede registre og services

Applikationsbeskrivelse

^^Tilbage til toppen^^


CRK komponenterne indkapsler følgende funktionalitet:
- `EndpointdefinitionJob`: Schedulering og check af om ekstern kilde er ændret.
- `EndpointService`: Forretningslogik til indlæsning af endpoint, herunder versionering.
- `EndpointDao`: Indkapsler databaseadgang vedrørende endpoints.
- `ActionDao`: Indkapsler databaseadgang vedrørende actions.
- `CrkWebApplicationContext`: En specialiseret spring applicationContext.
- `SLALogHelper`: Opsætning af SLALog

Datastruktur, Intern register: Central Rute Konfiguration (CRK)

^^Tilbage til toppen^^

Register properties:

Central Rute Konfiguration

CRK'en har til formål at stille konfiguration til rådighed for DCC'en på en form der let kan modificeres og gøres tilgængelig for DCC i alle NSP-miljøer -- centrale såvel som decentrale.

CRK anvender databasen til dels at læse eksisterende endpoint definitioner, dels til oprettelse af nye definitioner og deaktivering af ældre versioner.
Databasen består af 2 tabeller, som tilsammen udgør en versioneret repræsentation af de eksterne endpointdefinitioner.

Entitetsbeskrivelser

actions

^^Tilbage til toppen^^

Action angiver hvordan det enkelte endpoint kaldes

Objektet indeholder informationen:
--------------------------------------
- `name`: uri på den angivne action - Hentet fra ekstern definition og benyttes af DCC
- `model`: Indeholder pt altid værdien 'synchronous_timeout'
- `timeout`: angiver den maksimalt tilladelige svartid for den eksterne service der kaldes gennem DCC.
- `useProxy`: Angiver hvorvidt DCC'en må sende forespørgslen gennem en proxy (SOSI-GW). Indlæst fra ekstern kilde.
- `proxyOverride`: (valgfri) Vedligeholdes af driften og giver mulighed for at overskrive useProxy.
- `idcardmaxage`: (valgfri) Medsendes til gateway, såfremt en sådan benyttes, og anvendes til check for udløbne id-kort.
- `endpointId`: Den version af endpoint, som en given action er knyttet til. Relation til endpoints tabellen
- `inheritedEndpoint`: Såfremt en action "forsvinder" fra den eksterne kilde, bevares den som udgangspunkt i konfigurationen, med angivelse af hvor den er kopieret fra. Relation til endpoints tabellen
- `active`. Angiver hvorvidt pågældende action er aktiv eller ej. Kan f.eks. benyttes af driften til helt at fjerne actions, der forsvinder fra den eksterne kilde.

endpoints

^^Tilbage til toppen^^

Endpoints Konfiguration til brug for Viderstillingservicen, DCC

Objektet indeholder informationen:
--------------------------------------
- `configId`: Navnet på det konfigurerede job i spring konfigurationen.
- `name`: Det eksterne navn, defineret i den eksternt indlæste fil.
- `url`: Adressen på det eksterne endpoint.
- `externaltime`: Tidsstempel defineret i den eksterne kilde. Benyttes ved genindlæsning til at kontrollere om der er sket ændringer.
- `active`: Angiver hvorvidt denne (version af) endpoint definition er aktiv eller ej.
- `version`: Ved genindlæsning oprettes altid en ny version (række i tabellen), og de foregående deaktiveres.

override

^^Tilbage til toppen^^

"override" tabellen anvendes til at overstyre de url'er de DCC'er der kører på dnsp'erne anvender til at kalde videre med således vi kan ramme de services der kører på dnsp'erne også.
(undtagelses håndtering af regionernes DNS, hvor det hedder noget forskelligt i de forskellige regioner (kører på regionernes net), hvorved der kan overrides forskellige dele af url'en, f.eks. hostname)

Objektet indeholder informationen:
--------------------------------------
name
node
serviceUrl
useProxy
timeout
idcardmaxage
doNotVerifySSLHostName
wsaHeadersProcessing

Fil: xml-konfiguration (CRK)

^^Tilbage til toppen^^

Filen indeholder definitioner af endpoints med tilhørende actions

Tabelbeskrivelser

Tabel: actions

^^Tilbage til toppen^^

CREATE TABLE actions (
id bigint(20) NOT NULL auto_increment,
endpointId bigint(20) NOT NULL,
inheritedEndpoint bigint(20),
name varchar(4096) NOT NULL,
timeout bigint(20) NOT NULL,
model varchar(255) NOT NULL,
active boolean default false,
idcardmaxage int(11),
useProxy boolean NOT NULL,
proxyOverride boolean,
primary key(id)
);

CREATE INDEX IX_ACT_1 ON actions (endpointId, active); -- bruges af view
ALTER TABLE actions ADD CONSTRAINT act_ep1 FOREIGN KEY (endpointId) REFERENCES endpoints (id); -- bruges af DCC
ALTER TABLE actions ADD CONSTRAINT act_ep2 FOREIGN KEY (inheritedEndpoint) REFERENCES endpoints (id);

Tabel: endpoints

^^Tilbage til toppen^^

CREATE TABLE endpoints (
id bigint(20) NOT NULL auto_increment,
configId varchar(255) NOT NULL,
name varchar(255) NOT NULL,
url varchar(4096) NOT NULL,
lastModified Datetime NOT NULL,
externaltime Datetime NOT NULL,
createdtime Datetime NOT NULL,
version bigint(20) NOT NULL,
active boolean NOT NULL,
primary key(id)
);

CREATE UNIQUE INDEX IX_EP_1 ON endpoints (configId, version);
CREATE INDEX IX_EP_2 ON endpoints (active); -- bruges af view
CREATE INDEX IX_EP_3 ON endpoints (createdtime); -- bruges af view

Tabel: override

^^Tilbage til toppen^^

Desc crk.override;

| id | bigint(10) | NO | PRI | NULL | |
| name | varchar(255) | NO | | NULL | |
| node | varchar(255) | YES | | NULL | |
| serviceUrl | varchar(255) | YES | | NULL | |
| useProxy | tinyint(1) | YES | | NULL | |
| timeout | bigint(20) | YES | | NULL | |
| idcardmaxage | int(11) | YES | | NULL | |
| doNotVerifySSLHostName | tinyint(1) | YES | | NULL | |
| wsaHeadersProcessing | varchar(32) | YES | | NULL | |

Teknologibeskrivelse

^^Tilbage til toppen^^

Refereres fra

^^Tilbage til toppen^^







  • No labels