Applikationers tekniske lagdeling
For at sikre bedre mulighed for vedligehold opdeles alle STAR’s skræddersyede applikationer i fire overordnede lag:
- Præsentationslag (Applikationen)
- Servicelag
- Forretningsservicelag
- Datalag
Det er logiske lag, som giver en logisk opdeling af kode og tilhørende ansvar. Der vil dog typisk være mulighed for fysisk adskillelse mellem præsentationslaget og servicelaget.
Hvert af disse overordnede lag kan igen være opdelt i forskellige logiske blokke eller følge et bestemt mønster (eng. ”pattern”). De fire lag er vist på nedenstående, suppleret med tværgående lag med delte datatyper og diverse rammeværk.
Figur: Generel lagdeling af systemer med tværgående lag
For den applikation, der kun behandler data fra DFDG, vil DFDG typisk kunne udgøre de tre nederste lag (servicelag, forretningslag og datalag). For applikationer, der også har egen database, egen avanceret forretningslogik eller henter data fra andre kilder, vil DFDG typisk enten supplere applikationens egne lag, eller i særlige tilfælde blive anvendt som en datakilde på linje med andre datakilder. Keep-it-simple bør være den bærende strategi.
Præsentationslag (Applikationen)
Præsentationslaget udvikles via best practice for webapplikationer på Microsoft Web Platformen. Det betyder pt. for STAR’s webapplikationer, at der skal anvendes MVC framework og forbedring af brugergrænsefladen via javascript frameworket AngularJS. Applikationen opdeles i et passende antal ”Single page applikationer”.
Yderligere er det målet, at der sikres single-sign-on, mellem STAR’s (og om muligt også tredjeparts) applikationer. Det skal være muligt at navigere mellem applikationer uden at skulle logge på flere gange.
Se også: Integrationsmønstre for applikationer i det virtuelle jobcenter
Integrationslag
Kontrakterne udvikles via contract first og udstilles via WSDL og SOAP services. Der tages ved modelleringen udgangspunkt i OIO datatyper, og Dataentiteter skal modelleres med hensyntagen til offentlige krav som Grunddataprogrammets modelregler:
Generelt følges retningslinjerne for den gode web-service. Se: Den gode webservice
Forretningsservicelag
Forretningsservice laget kan være skræddersyet, eller anvende fx en regelmotor eller en flow-engine. Lager bør have en klar opdeling i de forskellige forretningsdomæner, der behandles, og tværgående logik bør være klart adskilt.
Databaselag
Datalaget er typisk delt i to dele:
- Data Access
- Her anvendes typisk Entity Framework med Code First og Migrations. Dette er nemmere for udviklere at gå til end direkte at arbejde i SQL
- Data/Service Agents
- Her anvendes WCF til at kommunikere med eksterne