V tomto type architektúry je sieťová aplikácia všeobecne už pri svojom návrhu rozdelená na viac častí, a to na časti serverové, ktoré sa vykonávajú na vyhradených spravidla výkonnejších počítačoch siete (servery), a na časti klientov, ktoré sa vykonávajú na ostatných sieťových počítačoch (klienti). Takáto nová sieťová architektúra prináša v porovnaní s doterajšími sieťovými architektúrami kvalitatívne úplne iné požiadavky na jednotlivé podporné komponenty sieťového prostredia, a to konkrétne technické, programové a užívateľské. Táto architektúra umožňuje realizáciu sieťovej aplikácie ako koordinovaný vývoj jej jednotlivých nezávislých častí (procesy), pričom tieto procesy pre vzájomnú spoluprácu a synchronizáciu používajú prepojenú sieť formou vzájomnej medziprocesorovej komunikácie IPC (Interprocess communication). Najjednoduchšia počiatočná etapa tejto novej technológie vychádza z delenia procesu na dve častí, a to na časť klienta (Front end process) a časť servera (Back end process) a je prakticky používaná najmä v architektúrach host – terminál, kde vo funkcii terminálu je osobný počítač (inteligentný terminál) . Ilustrácia zjednodušeného princípu architektúry klient – server je na obrázku.
Všeobecne klient je softwarový proces, ktorý požaduje služby najčastejšie prostredníctvom siete od iného softwarového procesu (server). Takýmto prístupom server poskytuje definované služby prostredníctvom siete ako odozvy na jednotlivé požiadavky klientov. Vo všeobecnosti server musí byť schopný poskytovať služby aj viacerým klientom (rôzne pracovné stanice) s tým, že jednotlivé súčasné požiadavky sa obslúžia s rôznou prioritou. V tejto súvislosti je dobré si uvedomiť, že pojmy klient a server slúžia iba pre rozlíšenie druhu vykonávaných činností, ktorých jednoznačne priradenie nie je v mnohých prípadoch možné.
Medzi základné požiadavky zovšeobecnenej technológie klient – server patrí grafické užívateľské rozhranie GUI (Graphical user interface) včítane sieťovej podpory a ďalšími najmä nasledovnými podpornými funkciami:
-
súčasné zobrazovanie niekoľkých aplikácií
-
podpora jednoduchého prenosu dát medzi aplikáciami, resp. jej časťami (objektmi)
-
podpora prirodzeného a intuitívneho spôsobu práce a myslenia užívateľa (napr. vizuálny spôsob návrhu)
-
podpora práce s objektmi a ich vzájomnej komunikácie