Klient-server samarbejde er grundlag for al edb

Klient/server er den grundlæggende model for sammensætning af computersystemer i dag. Denne artikel forklarer denne grundide for moderne net-opkoblede edb-systemer.

Samarbejde mellem processer

Klient/server-princippet er ABC i edb-teknologien i dag. Det er den grundlæggende model for systemer, hvor brugerne henter elektronisk post med deres klientprogram fra en server, eller de med browseren henter web-sider fra en server.

Windows-brugere, der vil prøve Linux, bliver konfronteret med kravet om at have en klar forståelse af klient/server-princippet. Det brugervenlige Windows skjuler en masse tekniske detaljer, så brugerne ikke skal beskæftige sig med dem. I UNIX-verdenen er klient/server et gammel velkendt princip, som giver en nødvendig forståelse for at arbejde med systemer, hvor der kører flere processer. Hvis du bruger UNIX-systemet Linux skal du administrere server-processer og klient-processer.

Samarbejde mellem processer

Klient/server er princippet om samarbejde mellem processer i computersystemer. Nogle processer er klienter og andre fungerer som servere. Computersystemets klienter og servere kommunikerer med hinanden over lokale og globale netværk. En klient sender serveren en forespørgsel, hvor den beder om en service. Derefter leverer serveren den.

Denne udveksling af meddelelser og services sker, hver gang du ser på web-sider på Internet: Browseren er klienten, som sender forespørgslen til web-serveren. Serveren svarer med at sende den web-side, der er spurgt om. Resultatet af processen er, at du kan læse web-siden på din skærm. Din klient bad IDG's web-server om at sende denne web-side, hvilket den gjorde, så du nu læser den.

Klient og server er processer, som udføres af programmer. De kan køre på forskellige maskiner eller samme maskine. Du kan bruge din browser som klient imod en web-server, som også kører på din maskine. Så din pc arvikler både klient-processen og serveren samtidig. De to processer kører selvstændigt, og sender meddelelser til hinanden. Du kan have flere forskellige browsere kørende med kommunikation over for serveren på din maskine.

Det geniale

Genistregen

Det geniale er, at det samme simple princip anvendes på din lokale pc og i det store globale Internet. Der bruges samme protokoller og sprog fra din hjemme-pc til virksomhedernes store net af computere til en internet-café i Thailand. Alle kan sætte en web-server på Internet, alle kan køre klienter som browsere. Kommunikationsprincippet er universelt.

Klienter og servere arbejder selvstændigt. Processerne kommunikerer sammen, men de er ikke koblet sammen eller afhængige af hinanden. Det betyder, at klient/server-samarbejdet fungerer på tværs af platforme og teknikker. En Windows-klient og en Mac-klient kan forespørge hos en UNIX-server og modtage data fra den.

Processerne kører selvstændigt i hver deres miljø. Brugeren kontrollerer sin arbejdsproces med klient-programmet, som undervejs sender forespørgsler og modtager svar hos serveren. Serveren kører sine jobs, hvor den modtager forespørgsler og svarer på disse. De to kommunikerer, men de er begge selvstændige.
Når brugeren har sat en klient til at hente en fil hos en server, kan vedkommende fortsætte med at skrive elektronisk post med en anden klient og sende den via en anden server. Serverne kan betjene mange forskellige klienter.

Anvendelsen af klient/server princippet giver en yderst fleksibel arbejdsdeling og ressourcefordeling i computersystemer. Du kan tilføje klienter, eller du kan udskifte servere, samtidig med at systemet som helhed fortsætter med at køre.

Udviklingen

Udviklingen

Klient/server ideen har været brugt siden sidst i 1980'erne. Dengang var alternativet store mainframe-maskiner. Når de var ude af drift, var der ingen terminaler der fungerede ude hos brugerne, fordi de blev styret og kontrolleret fra hovedmaskinen.

Det andet alternativ var de små isolerede pc'er, der kørte selvstændige opgaver som tekstbehandling. De kunne kun køre en arbejdsproces ad gangen, så her var client/server ikke relevant.

Idag kan alle computere køre mange processer samtidig, og alle computere er koblet op på netværk. Det betyder, at al udvikling af software og systemer skal tage højde for denne situation, hvor:

  • Der er mange brugere i systemet
  • Der arbejdes på tværs af forskellige systemer (Windows, UNIX, Mac, PDA'er)
  • Der er omfattende kommunikation mellem brugere og processer
  • Systemerne er fysisk spredt og netopkoblede
  • Mange forskellige opgaver køres samtidig

    For eksempel er computersystemer til elektronisk handel et netværk af klienter og servere. Kunderne kobler op til en web-server med deres web-klient. På web-siden afgiver kunden sin ordre. Web-serveren starter en klient, som forespørger hos en database for at kontrollere kundens idenditet. Indkøb og betaling af varer over Internet er et forløb med utallige klient-server transaktioner.
    Alt dette stiller krav om sikkerhed og administration af processerne.

    Sprog og Komponenter

    Sprog og softwarekomponenter

    Hvilket sprog taler klienter og servere sammen? Det sker via de forskellige net-protokoller og med de datasprog, som anvendes. Kommunikationssprogene (protokollerne) mellem processerne er afgørende vigtig. For web-sider, som den du læser netop nu, er protokollen HTTP og dataformatet er HTML.

    Klient/server-tankegangen gennemsyrer dagens programmering helt ned til de enkelte softwarekomponenter. Programmørerne arbejder med denne organisation i forhold til de enkelte programmer. De enkelte softwarekomponenter kan udveksle meddelelser og services med hinanden. (Du kan læse mere om softwarekomponenter i den tidligere artikel: Internet kræver softwarekomponter ).

    Idag er klient/server-ideen så integreret i alle computersystemer, at ingen nævner den særskildt. I denne sammenhæng kan Microsofts nye strategi .Net (dot-net) forstås som en plan om at opbygge al software efter klient/server-princippet. Intet program er en øde ø. (dot-net strategien er omtalt i artiklen: Dot Net - Microsofts kovending)




  • IT-JOB
    Brancheguiden
    Brancheguide logo
    Opdateres dagligt:
    Den største og
    mest komplette
    oversigt
    over danske
    it-virksomheder
    Hvad kan de? Hvor store er de? Hvor bor de?
    Ciklum ApS
    Offshore software- og systemudvikling.

    Nøgletal og mere info om virksomheden
    Skal din virksomhed med i Guiden? Klik her

    Kommende events
    Bliv klar til AI Act: Det vil påvirke både din udvikling, drift og organisation

    Fordelene ved at anvende kunstig intelligens bliver stadig mere udtalte, og både som virksomhed og myndighed er det i stigende grad uholdbart ikke at udforske mulighederne. Men der er også risici forbundet på den nye teknologi, og på dette formiddagsseminar ser vi på, hvordan verdens første regulatoriske kompleks – EUs kommende AI Act – adresserer behovet for en etisk, ansvarlig og kontrolleret anvendelse af AI.

    20. august 2024 | Læs mere


    Det Digitale Produktpas

    Kom med og hør om, hvordan du kommer i gang med at sikre din virksomhed er klar til Det Digitale Produktpas. Vi sætter fokus på, hvordan du bliver klædt på til at få styr og struktur på dine data, samt hvilke krav du skal sætte til dine leverandører og andre i din værdikæde, for at sikre den nødvendige information er tilgængelig.

    21. august 2024 | Læs mere


    Cyber Security Summit 2024

    På Cyber Security Summit får du indsigt i det aktuelle trusselslandskab, overblikket over de nyeste værktøjer og trends indenfor sikkerhedsløsninger, indsigt i de relevante rammeværktøjer og krav samt de bedste løsninger og værktøjer til at sikre effektiv drift og høj compliance.

    27. august 2024 | Læs mere