Asiakas-palvelin-arkkitehtuuri

Asiakas-palvelin-arkkitehtuuri on ohjelmistoarkkitehtuuri, jossa tietokoneverkossa olevat asiakasohjelmat ovat yhteydessä keskitettyyn palvelinohjelmaan.
Esimerkiksi verkkoselain on asiakasohjelma ja WWW-palvelin on palvelinohjelma.

Asiakaat ovat työasemia tai henkilökohtaisia tietokoneita ja palvelimet ovat jossakin muualla verkossa, usein tehokkaammilla tietokoneilla. Ideaalitapauksessa palvelin toteuttaa on standardoidun läpinäkyvän rajapinnan (tietoliikenneprotokolla), jolloin asiakkaan ei tarvitse tuntea palvelimen toteutusta. 
Koska asiakas- ja palvelintietokoneet ovat toisistaan riippumattomia laitteita malli on täysin eri suurtietokoneissa käytetystä mallista, jossa tyhmä pääte vain kommunikoi keskuskoneen kanssa.

Termillä voidaan myös tarkoittaa mitä vain kahteen tai useampaan prosessiin jaettua tietojenkäsittelyä.

Termien varhainen lähde on hajautettua tiedostojärjestelmää koskeva artikkeli Separating Data From Function in a Distributed File System vuodelta 1978.

Ominaispiirteitä 
Eräitä mallin ominaispiirteitä:
 epäsymmetrisyys: monta-yhteen suhde asiakkaiden ja palvelimien välillä; asiakkaat aloittavat pyytämällä palvelua; palvelimet odottavat passiivisesti pyyntöjä asiakkailta.
 kapselointi: palvelin on erikoistunut ja päättää miten tehtävä suoritetaan kun se saa pyynnön; palvelimet voidaan päivittää ilman vaikutusta asiakkaisiin niin kauan kuin viestirajapinta säilyy muuttumattomana.
 eheys: ohjelmakoodi ja data ovat keskitetysti hallittuja; asiakkaat ovat riippumattomia ja henkilökohtaisia.
 sijainnista riippumattomuus: asiakas ja palvelin ovat prosesseja, jotka voivat sijaita samalla tietokoneella tai erotettuna tietokoneverkon välityksellä.
 viestipohjaisuus
 alustariippumattomuus: asiakkaat ja palvelimet voivat olla riippumattomia käytetystä käyttöjärjestelmästä tai laitteistosta ja sallii eri yhdistelmiä.

Katso myös 
 Hajautettu tietojenkäsittely

Lähteet

Aiheesta muualla

Ohjelmistoarkkitehtuuri