Versions Compared

Key

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

...

Systemet udvikles i Microsoft.NET i sproget (C#). Kodebasen bærer præg af projektets lange historik og i den eksisterende kodebase er dele fortsat skrevet i Microsoft.NET VB dog i samme version af .NET frameworket.

Derudover bemærkes at lagene i Jobnet originalt var skrevet så de kunne adskilles fysisk. Præsentationslag er da også fysisk adskilt fra servicelaget, men der er stadig rester af den yderligere fysiske adskillelse rundt om i koden.  

...


Image Added

Figur

...

6: Applikationsdesign

Præsentationslaget

Præsentationslaget er hovedsaligt udviklet via Model-View-Controller (MVC) løsningsmønstret, hvor kontrollogik (Controller), præsentation (View) og datamodel (Model) er yderligere adskilt, da Controller’en opdaterer Modellen, som kun er data- og ikke logikbærende, og View delen skaber websiden på baggrund af Modellen.

De nyeste websider genereres i HTML5 med brug af JavaScript, herunder jQuery, frameworket Angular. JS. og en række andre Javascript biblioteker.

Store dele af applikationen er dog fortsat skrevet i ASP.NET og Angular.JS.

Applikationen er en MVC applikation opdelt i en række applikationsområder:

...

Webgrænsefladen gør brug af JSON Ajax webservices og Cascading Style Sheets (CSS) via LESS. Jobnet anvender desuden Google Maps.

En hurtig optælling viser at der er:

  • 113 MVC Controllers
  • 193 424 MVC Views
  • 146 Partial MVC Views
  • 483 (inkl. partials)
  • 10 ASP.NET sider

Servicelaget

Servicelaget er en tynd skal oven på ovenpå forretningslaget. Der udstilles tre klasser af services:

  • Eksterne services
    • Services udstillet til applikationer uden for Jobnet, som Jobbanker, men i høj grad også DFDG
  • Interne services
    • Services rettet mod Jobnets præsentationslag, men også CVAdmin
  • Mobil services
    • Services rettet mod Jobnet for Mobilen

...

Image Added

Figur

...

7: Grænseflader mod Jobnet

 


Services er udviklet i blandede teknologier. Nye webservices er skrevet via Microsoft WCF som SOAP services, ældre webservices er skrevet som ASMX webservices. En hurtig optælling viser at der er følgende services:

  • 37 10 ASMX services
  • 26 WCF SOAP services, heraf 8 med WSDL contract first
  • 1 ASHX service

 

Eksterne webservices

Disse webservices er rettet mod kommunikationen med DFDG og eksterne. Det er webservices som:

  • Jobnet udstiller CV- og jobdata via en webservice, som bl.a. tilgås af DFDG m.fl.
    • Jobnet udveksler jobannoncer med ca. 70 forskellige aftagere (fx Job-i-Staten, Jobindex og Ofir).
    • Det Der er via DFDG tæt integration mellem Jobnet og kommunale sagsbehandlingssystemer, såsom KMD Momentum (Opera og Workbase) og FASIT Jobcenter (Schultz Information).Jobbing.
  • dk integrerer ligeledes med Jobnet.

...

Beskrivelsen af de enkelte webservices kan findes på httphttps://starwswikistarwiki.star.dkatlassian.net/wiki/spaces/WIKI/overview?mode=global

Interne webservices

Disse webservices er rettet mod Jobnet præsentationslaget. Her er en lang række services som skal understøtte brugergrænsefladen. Interne services er grupperet i:

 

  • JobBanken services
  • Generelle Business Logic services
  • FindJob services
  • Taxonomy services
  • ServerInformation-services (Dr. Jobnet webservice)
    • Logging og batchjobs

...

Forretningslaget indeholder forretningskomponenter for de forskellige applikationer. Opdelingen er rimelig logisk opdelt i moduler med forskelligt ansvar, men også her ses en blanding af forskellige historiske tilgange til at ordne koden.

...

Jobnet leverer data til statistikformål. Data stilles til rådighed for systemforvalter på en FTP server – og derfra videre til Det Statistiske Datavarehus i STAR: 

  • Database-backup, dagligt klar til morgen ca . Ca. 25 GB per dag.
  • Accesslog’s till webservere, hver 2. time. Ca. ca 100 GB per dag.
  • Eventlog’s. hver time, 1 GB per dag.
  • Datawarehouse. Hver nat, 1 GB per dag.

Service agents

Jobnet anvender en række eksterne services:

 

  • Webservices udstillet af DFDG. Ca. 30 services.
    • Jobnet kalder DFDG webservices for at hente status på borgeren. Jobnet anvender CV kundenummer (og ikke CPR nummer) i kommunikationen med DFDG.
  • Ankiro søge servicesSynkron Via (kommende: søgemaskine (on premise)
  • jobnet.dk (SiteCore)

Miljøer

Produktionsmiljø

Jobnets forretningsmoduler eksekveres i dag på en række Windows Web Servere opdelt i en række noder. På nedenstående er de forskellige noder for det samlede kompleks, som trækker på Jobnets Database. De brugervendte miljøer deler sig i tre dele:

 

  1. Jobnet hovedsitet (kun denne del regnes som en del af Jobnet)
    • Stor webfarm i to fysiske lag
  2. Administration og Jobnet for Jobkonsulenter (Trukket ud som et selvstændigt system)
    • Lille webfarm i et fysisk lag
  3. Jobnet mobil (Trukket ud som et selvstændigt system)
    • Lille webfarm i to fysiske lag

...


Image Added

Figur

...

8: Driftsarkitektur, Jobnet i rød markering (produktion)

...

 

Som det ses er både Jobnet og Jobnet for mobil opdelt i to fysiske lag og skaleret ud på hhv. 5 og 2 fysiske servere i hvert lag. Opdelingen i fysiske lag har været diskuteret, da den giver en del implementerings- og eksekverings-overhead. Den valgte skaleringsmetode på STAR’s andre miljøer har primært været horisontal skalering, ikke vertikal.

...

  • Windows Server 2012R2
  • SQL Server 2008R22016

Driftsleverandøren er KMD på driftsaftale indgået gennem Statens IT.

...

Løsningen er Microsoft baseret og vedligeholdes for det væsentligste med Microsoft standardværktøjer.

Løsningen er udviklet i:

  1. Microsoft.NET , herunder C# (nye dele) og VB (ældre dele). Nyeste dele i C# V4.5.2. (.NET v4.7.2)

Følgende Microsoft værktøjer anvendes ved udviklingen:

  1. Visual Studio 2013 2017 Professional EditionVisual Studio Online (TFS)
  2. GIT / GitHub
  3. C# Unittest – MSTest, NUnit
  4. JavaScript Test – Node
  5. asp.net_compile
  6. Gated checkin

Derudover anvendes følgende serversoftware:

  1. Ankiro Search Server
  2. SQL Server 2008R22016
  3. Windows Server 2012R2

Samt følgende væsentlige .NET biblioteker:

  1. Antlr3
  2. Aspose.Words
  3. AutoFixture
  4. AutoMapper
  5. FluentValidation
  6. dk.nita.saml20
  7. DocumentFormat.OpenXml
  8. HtmlToOpenXML
  9. TinyMCE

...

  1. Typeahead

...

  1. itextsharp

...

  1. Log4net

...

  1. MarkdownSharp

Og følgende væsentlige web biblioteker:

  1. jquery 1.11
  2. knockout 3.2
  3. AngularJS 1.4
  4. modernizr 2.8
  5. WebGrease
  6. Angular

Data- og trafikmængder

Datamængder

Jobnet behandler og gemmer CV’er og jobannoncer. Antallet varierer lidt fra måned til måned, her tallene fra august 2015er seneste tal:

  • CV’er 163.000
  • Jobannoncer 17.000

...

For den offentlige del af Jobnet webapplikationen, der primært anvendes af borgere og arbejdsgivere, ses følgende trafikmængder (juni 2015april 2019)[1]:

  • Brugersessioner: 2.500800.000
  • Unikke brugere 892: 950.000
  • Sidevisninger 41: 35.000.000
  • Sider pr. session 16: 12
  • Sessionsvarighed: ca. 7 minutter


...

 [1] Hentet fra Google Analytics for Jobnet