Skip to content

Latest commit

 

History

History
61 lines (45 loc) · 3.8 KB

Tooling.md

File metadata and controls

61 lines (45 loc) · 3.8 KB

Værktøjer, Sprog og Frameworks

Kodebasen består af 2 selvstændige kode-projekter, som er beskrevet uafhængigt af hinanden nedenfor.

AD Organisationsimporter

Kildekoden til dette kode-projekt findes her.

Formål

Formålet med kode projektet er at danne en simpel integration mellem en myndigheds Active Directory (AD), til indlæsning af stamdata oplysninger om brugere og enheder ind i OS2autoproces. Det er ikke en forudsætning at man indlæser organisationsdata, men hvis man ikke gør det, så vil der ikke være nogen enheder i OS2autoproces for den myndighed, og kun de brugere som aktivt har logget ind i løsningen (brugere oprettes ved første login, hvis de ikke findes i forvejen).

Sprog

Projektet er lavet i C#, specifikt .NET 4.5 platformen.

Værktøjer

Visual Studio kan anvendes til at indlæse projektet, og kompilere, debugge og afvikle programmet. Der er ikke behov for yderligere værktøjer end Visual Studio til at arbejde med kildekoden.

Frameworks

C# projektet gør brug af nogle få frameworks til at håndtere forretningslogikken. De primære er
  • Quartz. Anvendes som et skeduleringsværktøj, til at afvikle periodiske indlæsninger af data fra AD.
  • RestSharp. Anvendes som REST klient til at overføre data til OS2autoproces API.
  • Topshelf. Anvendes til at pakke koden ind i en såkaldt Windows Service, så det er nemt at starte/stoppe koden i myndighedens Microsoft Server miljø.

OS2autoproces Backend

Kildekoden til dette kode-projekt findes her.

Formål

Backenden holder data/tilstand for alle processer, klassifikationer og organisationsdata der anvendes af OS2autoproces løsningen. Backenden udstiller sikrede API'er til anvendes af hhv Frontenden, AD Organisationsimporter og andre 3.parts integrationer.

Sprog

Backenden er skrevet i Java, specifikt Java 8.

Værktøjer

Det anbefales at man bruger et IDE som IntelliJ, Eclipse eller tilsvarende for at arbejde med kildekoden. Der medfølgender Maven pom.xml filer til at bygge projektet, og man kan anvende disse til at loade projektet ind i sit IDE.

Projektet forudsætter at man har en MySQL database kørende, da data lagres i en MySQL database (eller MySQL kompatibel databasen, fx MariaDB).

Ud over MySQL, Java 8, et IDE og Maven 3, er der ikke andre forudsætninger for at kunne arbejde med kildekoden.

Frameworks

Backenden baserer sig primært på Spring frameworket. Specifikt anvendes følgende Spring moduler fra Spring Frameworket
  • Actuator. Anvendes primært til at understøtte fejlsøgning og overvågning i driftsmiljøet.
  • Data REST. Anvendes til at udstille et auto-genereret REST API baseret på datamodellen i Backenden.
  • Data JPA. Anvendes som abstraktionslag mellem databasen og Backenden.
  • JDBC Sessions. Anvendes som persistenslag til sessionsdata, for at understøtte et HA/Redundant driftsmiljø
  • Retry. Anvendes til at simplificere retry logikken i kald til eksterne services
  • Envers. Anvendes til at opbygge historik på database entiteter (processerne)
  • Cloud AWS. Anvendes til at simplificere integrationen til AWS driftsmiljøet

Endvidere anvendes følgende 3.parts frameworks

  • Thymeleaf. Anvendes som templating engine - bruges til den indlejrede API dokumentation
  • Lombok. Anvendes til at undgå at skulle skrive en masse boilerplate kode
  • Apache POI. Anvendes til at danne EXCEL filer, som Frontenden kan udstille til download
  • QueryDSL. Anvendes til at give rigere muligheder til opslag i databasen via Spring Data JPA