Gå til hovedindhold

Softwareudvikling

Softwareudvikling udgør kernen i Eksponents forretning. Det er vores DNA og fælles fokus for designere, rådgivere og udviklere. Vi arbejder ud fra en bred tilgang til software, hvor gode processer, teamwork og tværfaglighed er vigtige forudsætninger for projekterne.

Vi arbejder med to typer af softwareudvikling:

  • Standardsystemer
    Implementering, tilpasning og udbygning af standardsystemer. Fx Drupal, Umbraco eller Sitecore.
     
  • Specialudvikling
    Direkte udvikling af forretningssystemer baseret på enten .NET eller PHP/Symfony. Fx systemer til forretningsunderstøttelse, integrationer, API'er selvbetjeningsløsninger og faglige communities.
Figuren illustrerer, hvordan udviklingen i Eksponent finder sted ud fra udviklingsframeworks (.NET & PHP), standardsystemer (Drupal, Umbraco og Sitecore) og Frontendframeworks.

I de projekter, hvor vi ikke bygger direkte ovenpå et CMS, vil der stadig være en høj grad af komponentgenbrug fra både egne skuffer og stabile Open Source projekter.

Integrationer og arkitektur

Vi har mange års erfaring med at lave integrationer mellem systemer, da ingen softwareløsninger lever isoleret fra deres omverden, og alle systemer i dag skal betragtes som distribuerede over servere, afstande, tidszoner og tid.

Når man i en løsning har brug for data eller funktionalitet fra andre systemer, er det bydende nødvendigt, at integrationen bliver så solid som muligt. Yderligere er det vigtigt, at koblingen på samme tid bliver så løs som muligt, så man ikke risikerer, at ens eget system bliver ubrugeligt fx grundet en død harddisk i det system, man bruger data fra.

Om det er integrationer til økonomi- og betalingssystemer, NemID, kort og deciderede GIS-systemer, SOA-arkitekturerer eller alverdens import/eksport/synkronisering- scenarier, så har vi erfaring med det meste.

De konkrete teknikker til at arbejde med integrationer og distribuerede systemer vil typisk være asynkron messaging, web services, replikering, caching og andre greb.

En fordel ved at have så meget erfaring i huset i forhold til komplekse integrationer og arkitekturopgaver er, at vi ved, hvordan vil skal "holde igen". De fleste af de løsninger, vi har leveret, har en lang levetid og en arkitektur, der skal være så elastisk og let, at den nemt kan tilpasses nye behov i forretningen.

    Mødebillede

    Arkitektur og integrationer

    Arkitektur og integration starter altid med sparring ved tavle eller whiteboard. Men det skal hurtigt gøres konkret, så tavlens antagelser kan blive testet.

    Frontend-arkitektur og frameworks

    Uanset om projektet er baseret på et standardsystem, eller om der er tale om specialudvikling, vil der i dagens webløsninger foregå rigtigt meget i browseren, og meget af vores arbejde foregår også her.

    Der findes et væld af frontend-frameworks, og der kommer hele tiden nye. Der er mange ting, der spiller ind, når man skal vælge. Det primære kriterium bliver som regel defineret af projektets kompleksitet, så man møder opgaven med 'just-enough framework'-tilgangen. Vi vil helst undgå at bruge en rumfærge, når vi kunne have brugt en brevdue.

    I den ene ende af skalaen har vi projekter, der er 'Single Page Applications' med meget avanceret funktionalitet i browseren, der kommunikerer med backendsystemer gennem JavaScript-frameworks.

    I den anden ende af skalaen finder man almindelige responsive websites, hvor man bruger mindre frameworks til at løfte forskellige områder eller features på sitet.

    Valg af udviklingsstrategi

    Sammen med vores kunder vurderer vi, hvad der passer bedst til opgaven. Hvis et behov ligger tæt op af et standardsystem, er det ofte den rette vej. Skal man bygge en løsning, som skal skræddersys til det specifikke behov eller processer, bør det overvejes at udvikle direkte på frameworket. For mange af vores kunder arbejder vi med en kombineret tilgang, hvor vi kombinerer specialudvikling med skræddersyede løsninger.

    Eksempler på specialudviklede løsninger

    • Opsamling af GPS-data til brug for planlægning - rå TCP-server og S3-storage
    • System til vedligeholdelse af veje, mobil web applikation
    • Portal til medicinpriser
    • Parkeringsbutik og Parkeringsportal
    • Portal til administration af erhvervslivet ansøgninger
    • Præsentationsmotor til forbrugertest
    • Præsentationsmotor til uddannelser
    • Planlægningsværktøj til produktionskøkkener
    • BI- og rapporteringsværktøj til 30+ mio observationer

    Eksempler på løsninger på CMS-projekter

    • Primært website til universiteter (fx cbs.dk og ruc.dk)
    • Samlende website til regeringen (fx regeringen.dk)
    • Site og selvbetjening til en fagforeningen (fx kf.dk, tl.dk)
    • Site til en styrelse (fx bm.dk, laegemiddelstyrelsen.dk)
    • Site til et ministerium (fx skatteministeriet.dk)
    • Mediesite (fx folkeskolen.dk)
    • Site til et organisation (fx taenk.dk)