For fem år siden besluttede softwarevirksomheden Edlund at redesigne sine softwareløsninger til forsikringsbranchen.
Det 14 år gamle firma havde i en række år haft en løsning baseret på en tyk klient kodet i C++, der kørte op mod en central databaseserver.
Fremover skulle Edlunds software basere sig på en serviceorienteret arkitektur. Den beslutning har Edlund og firmaets godt 80 udviklere ikke fortrudt.
Svær tyk klient
– Vi er glade for at være gået service-vejen. Det er nemt at gøre funktionaliteten i vores løsninger tilgængelig for webservere, andre klienter eller kundens øvrige back-end-systemer. Da vi havde en tyk klient, var det ikke muligt at udskille dele af funktionaliteten som service, da funktionaliteten ofte var blandet sammen med præsentationslaget, siger Thomas Bøge Edlund Jøhnk, teknisk direktør for Edlund.
Overgangen til en serviceorienteret arkitektur har givet Edlund en mere løstkoblet softwarearkitektur.
– Vi har nu en server, der tilbyder en række services, der er tilgængelige for forskellige klientprogrammer, som kan være vores egne eller kundernes klientprogrammer, siger Thomas Jøhnk.
Edlunds egne klientprogrammer anvender .Net Remoting til at kommunikere med serverens services, mens integration til andre programmer som regel foretages ved hjælp af SOAP (Simple Object Access Protocol).
Kan overføres mellem server og klient
– Vi valgte i sin tid at benytte .Net Remoting mellem serveren og vores egen klient. Med .Net-Remoting understøttes .Nets eget typesystem fuldt ud, hvilket betyder, at enhver datatype - også komplekse strukturer - kan overføres mellem server og klient, sigerThomas Jøhnk.
- Understøttelsen af datatyper i SOAP er lidt mere begrænset, idet der anvendes et typesystem, som er fælles for både Java, .Net og øvrige platforme, som understøtter SOAP. Har vi fuld kontrol over både klient og server, så vælger vi .Net Remoting som kommunikationsprotokol. Ellers bliver det typisk SOAP, hvis der skal integreres med kundens programmer, siger han.
Hvis der skal integreres ved hjælp af SOAP, anvender Edlund Internet Information Services (IIS) til at modtage SOAP-kald. Derefter rutes kaldene videre til Edlunds egen server ved hjælp af .Net Remoting.
– Vi vil bruge Windows Communications Foundation (WCF, tidligere kendt under navnet Indigo, red.), så snart den bliver endeligt frigivet. Den giver os mulighed for at implementere SOAP-services direkte på vores server, så vi ikke behøver IIS, siger Thomas Jøhnk.
Tester WCF
Edlund tester allerede beta-versionen af WCF, men venter med at anvende WCF kommercielt, indtil den bliver officielt frigivet.
– WCF vil gøre det nemmere at installere vores systemer, da der vil være færre elementer at konfigurere, siger Thomas Jøhnk, der havde 12 af sine medarbejdere afsted på Microsofts Professional Developers Conference (PDC) i september for blandt andet at se nærmere på WCF.
Edlund har implementeret løsninger hos en række af de store forsikringsselskaber som SamPension, Pensam, PKA, IP og ATP i Danmark.
– Flere af de store kunder kræver integration til eksisterende systemer. De systemer er måske skrevet i Java. Her anvender vi ofte SOAP til integration mellem vores .Net-baserede systemer og kundens Java-baserede systemer. De mindre kunder har ikke samme behov for integration og lader os stå for en samlet løsning med både server og klient, siger Thomas Jøhnk.
Ifølge Thomas Jøhnk er selve integrationsarbejdet en mindre del af hele udviklingsarbejdet.
– Selve arbejdet med at tilbyde en funktionalitet som en service er en meget lille del af arbejdet. Den store indsats ligger i at definere, hvilke services der skal være, hvordan grænsefladerne skal være, hvilke parametre der skal overføres, samt hvilken rækkefølge og hvilken betydning parametrene har. På det område er der ikke ændret meget de sidste 10 år. Dengang skulle man også definere grænsefladerne, siger Thomas Jøhnk.