Client/server arkitektur

En form for systemarkitektur, der baserer sig på opsplitning og distribution af programfunktioner på separate computere, koblet sammen via et kommunikationsnet, ofte et lokalnet. Client/server arkitekturer bygger således på en generaliseret og distribueret implementering af client/server-princippet. Se også remote procedure call.

Et eksempel på client/server arkitektur findes i database-orienterede anvendelser, hvor dele af det samlede programkompleks, f.eks. databasesystemet, afvikles på en selvstændig computer (serveren), mens selve den brugervendte del (klienten) af programkomplekset afvikles på brugerens egen arbejdsstation.

Fordelen ved client/server arkitekturen er dels en forøget ydeevne i forhold til løsninger baseret på én computer, dels øget mulighed for systemintegration, idet flere forskellige brugerprogrammer (f.eks. et regnearksprogram og et bogholderiprogram) kan hente oplysninger fra f.eks. samme databaseserver.

Client/server arkitekturer baseret på standardiserede grænseflader og protokoller sikrer endvidere åbenhed og frihed i konfigureringen af systemer, idet arbejdsstationer kan anvende vilkårlige styresystemer og brugergrænseflader, uafhængigt af hvordan en given server er konfigureret. Tilsvarende kan serverfunktioner implementeres på hurtigere computere eller under mere effektive og velegnede styresystemer, uafhængigt af typen af arbejdsstationer. Det gør client/server arkitekturen særledes velegnet til transaktionsorienteret databehandling.

I forbindelse med migrering af edb-systemer har client/server arkitekturer en række unikke fordele. Det tekniske fundament (arbejdsstationer, servercomputere og lokalnet) kan trinvis udbygges eller ændres uden at påvirke andre dele af systemet. Nye serverfunktioner kan installeres uden at påvirke eksisterende. Nye versioner af klientprogrammel kan arbejde sideløbende med gamle versioner. Flere servere kan installeres for at få større ydeevne eller belastningsudjævning.

Client/server arkitekturer er blevet en dominerende form for systemarkitektur i 1990'erne og udgør et udmærket fundament for udbredelse af egentlig distribueret databehandling. Givet er det, at markedet for client/server arkitekturer er et af de interessante vækstområder i edb-branchen.

Se også remote procedure call, proxy og CORBA. [[Image:cli-ser.gif|center|I Client/server arkitekturer afviklesapplikationsprogrammel (klienter) på arbejdsstationer og PC'er og kommunikerer med programdele, der er realiseret som serverprogrammel på separate computere. Udvekslingen af data sker via transaktioner gennem et standardiseret API]]

Forfattere: 
Tue Bertelsen
Casper Thomsen