Asiakasohjelma on sovellusohjelma käyttäjän tietokoneella, joka on yhteydessä palvelimella olevaan palvelinohjelmaan.[1] Termi on peräisin asiakas-palvelin-arkkitehtuurista, jossa asiakas tekee pyyntöjä palvelimelle. Kyseessä on hajautettu tietojenkäsittelyn malli.[2] Myös palvelinohjelma voi toimia asiakasohjelmana, esimerkiksi WWW-palvelin voi toimia asiakkaana tietokantapalvelimelle.[3] Tyypillinen tapaus on sähköpostin lähettäminen, jossa asiakasohjelma pyytää palvelinohjelmaa lähettämään viestin eteenpäin tai verkkoselain pyytää verkkosivua palvelimelta. Asiakkaan ja palvelimen välinen viestintä on asynkronista.[4][3]

Tietokoneverkon kaavio, jossa asiakasohjelma kommunikoivat palvelinohjelman kanssa Internetin yli.
IRC-asiakasohjelma, nimeltään XChat.

Keskeinen osa asiakasohjelmien ja palvelinohjelmien erossa on näiden vastuualue (roolit) ja ne tekevät eri tehtäviä. Asiakas ja palvelin ovat epäsymmetrisiä rooleja. Sen sijaan vertaisverkossa jokainen osallistuja toimii samanlaisesti ja verkon jäsenet ottavat suoraan yhteyttä toisiinsa.[4][3]

Tyypillisesti asiakasohjelmassa on käyttöliittymä ihmisiä varten, kun taas palvelinohjelma toimii ilman ihmisille tarkoitettua käyttöliittymää. Asiakasohjelma voi ottaa yhteyden verkon yli, mutta palvelin ja asiakasohjelma saattavat sijaita samalla koneella. Joskus voidaan tehdä asiakasohjelma, jota varsinaisen ajon aikana ei käytä ihminen, vaan toiminnot ovat ennalta suunniteltuja ja ihminen asettaa asetukset haluamallaan tavalla ennen ajoa. Tällaisia ovat esimerkiksi yrityskäytössä olevat virustentorjuntaohjelmat. Henkilökohtaisella tietokoneella suuri osa tehtävistä voi olla käyttäjän tietokoneella palvelimesta riippumatta, kun taas yrityksen lähiverkkoon suunnatut ohjelmat voivat olla lähes täysin riippuvaisia palvelinohjelman toiminnasta.

Yksi palvelin voi palvella useaa asiakasta ja yksi asiakas voi olla yhteydessä useaan eri palvelimeen samaan aikaan. Palvelimia käytetään useisiin erikoistuneisiin tehtäviin kuten tiedostopalvelimiin, tulostuspalvelimiin ja niin edelleen.[5]

Esimerkiksi pankkiautomaatissa on asiakasohjelma, joka keskustelee pankin palvelimien kanssa ja pyytää tilitietoja.[6]

Pääteohjelmalla tarkoitetaan pääte-emulaattoria (asiakasohjelman tyyppi), joka yleensä emuloi merkkipohjaista päätettä kuten VT100:aa. Kevyt asiakaspääte viittaa asiakaassa tehtävien asioiden minimoimiseen, jolloin palvelin on vastuussa suuremmasta osasta tehtäviä.[7]

Asiakasohjelmalla voidaan käyttää palvelimella olevia palveluita etäkäyttönä.

Historia muokkaa

Eräs varhainen esimerkki asiakas-termin käytöstä on vuoden 1979 artikkeli A Client-Based Transaction System to Maintain Data Integrity, jossa kuvattiin tiedostopalvelimeen yhteyttä ottavaa asiakasta.[8]

Katso myös muokkaa

Lähteet muokkaa

  1. client program pcmag.com. Viitattu 20.3.2024. (englanniksi)
  2. Client-Server Programs docs.oracle.com. Viitattu 20.3.2024. (englanniksi)
  3. a b c Client-server caml.inria.fr. Viitattu 20.3.2024. (englanniksi)
  4. a b Client-Server inst.eecs.berkeley.edu. Viitattu 20.3.2024. (englanniksi)
  5. Emre Çıtak: Meet your network’s vital allies dataconomy.com. 14.8.2023. Viitattu 20.3.2024. (englanniksi)
  6. Allen Bethea: What Is Client Server Programming? smallbusiness.chron.com. 20.3.2024. (englanniksi)
  7. THINC: a virtual display architecture for thin-client computing dl.acm.org. doi:10.1145/1095810.1095837. Viitattu 20.3.2024. (englanniksi)
  8. William H. Paxton: A Client-Based Transaction System to Maintain Data Integrity (PDF) dl.acm.org. 1979. doi:10.1145/800215.806565. Viitattu 20.3.2024. (englanniksi)
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.