Oppsiktsvekkende programarkitektur i SDS

Posten SDS bygger en Java-basert arkitektur for programvareutvikling som vekker internasjonal oppsikt.

Leder for prosjektet er senior systemarkitekt Geir Ove Skjærvik. Virksomheten er lagt under SDSs divisjon for fagtjenester. Prosjektet har som mål å danne utgangspunktet for en fornyelse av selskapets saksbehandlingsverktøy. Det skal også munne ut i en allmenn arkitektur for en effektiv utviklingsprosess, gjenbruk av ferdige komponenter og en dynamisk prosess for å vedlikeholde og ajourføre applikasjonene.

Skissen er et skjema over logikken i SDSs programvarearkitektur.

- Det understrekes stadig hvor viktig det er å legge opp en skikkelig arkitektur før man går i gang med et utviklingsprosjekt. På den andre siden er metodene for å bygge en programvarearkitektur forholdsvis umodne, sier Skjærvik.

Skjærvik kaller prosjektet for en helhetsarkitektur rundt et rammeverk av Java-komponenter. Skissens hovedelementer (database, arbeidsflyt, regler) kommuniserer med hverandre (de røde linjene i skissen) gjennom objekter etter CORBA-standarden.

- Vi betrakter programvarearkitekturen som en del av den helhetlige systemarkitekturen. Denne omfatter alt som har med konstruksjon og implementering å gjøre, blant annet valg av maskin- og programvare. Programvarearkitekturen kan sammenfattes i tre hovedpunkter: oppdelingen av komponentene, grensesnittene mellom komponentene, og teknologien som brukes til å implementere forbindelsene mellom komponentenes grensesnitter.

To av leverandørene til Skjærviks verktøypakke (se nedenfor) er i Oslo for å undertegne avtaler med Posten SDS som gir dem retten til å selge og markedsføre produktene. Både Patrick King (Neuron Data) og Charles Pendell (Action Technologies) er overrasket over det grundige arbeidet som er gjort i Norge, og spår SDSs utviklingsarkitektur en internasjonal framtid.

Begge tilhører selskaper med spissteknologi, og begge arbeider mye med prinsippet om regelstyring av ulike prosesser, en tankegang som er i ferd med å spre seg, ikke bare gjennom IT-verdenen, men også utover til avanserte brukere i det mer allmenne næringslivet.

Skjærvik mener logikken i SDSs programvarearkitektur har som vesentlig kjennetegn at den opprettholder klare skiller mellom informasjonen bedriften skal gjøre nytte av, reglene for hvordan denne informasjonen skal håndteres, og hvordan og av hvem den skal bearbeides i organisasjonen. Et annet kjennetegn er at muligheten for gjenbruk av komponenter bygges inn i selve arkitekturen.

- Man må vite hva man egentlig mener med gjenbruk. Gjenbruk krever investeringer. Det lønner seg å bruke noen av investeringer til en arkitektur som er egnet til å løse et bredt spekter av problemer. Da vil komponentene utviklet i forbindelse med ett problem, enklere la seg gjenbruke på et annet. Andre gjenbrukshensyn gjelder valg av verktøy, retningslinjer for utviklingsarbeidet, og kunnskap om hvilke komponenter som allerede finnes.

Verktøykassen i arkitekturen er valgt med omhu:

  • IBMs Visual Age for Java er selve utviklingsverktøyet. Skjærvik mener versjon 2.0 er uslåelig i dag.
  • For automatisering av arbeidsflyt har Skjærvik og SDS valgt Action Workflow og Metro fra Action Technologies. Dette er pakker som anvender arbeidsflyt-tankegangen på avansert kunnskapsarbeid, og som følgelig også kan anvendes på selve utviklingsprosjektet.
  • For automatisering av forretningsregler (business rules): Advisor/J fra Neuron Data som nettopp er kommet i versjon 2.0.
  • For formidling av objekter (ORB eller object request broker): Visibroker fra Visigenics.
  • For lagring av objekter og transaksjoner: Java Blend fra JavaSoft.

Filosofien bak alt dette er noe Skjærvik har arbeidet med lenge, og som var grunnlaget for hans engasjement hos Posten SDS.

Skjærvik driver et eget firma, Objective Software Solutions (OSS), der han har bygget opp et eget applikasjonsutviklingssystem under navnet OSS Application Development System. Dette systemet inneholder en utviklingsstrategi som er nærmere beskrevet i et 170 siders dokument. Det inneholder også et rammeverk for komponenter, med 60 Java-klasser beskrevet over 150 sider.

Det benytter CORBA (anti-Microsoft-blokkens arkitektur for objektformidling, Microsoft støtter alternativet DCOM) for tjenester som sikkerhet, persistens, transaksjoner og samtidighet.
Til toppen