Hlavní
Hlavní strana
Seznam článků
Nejčtenější články
Progres e-mailem
Visual C++ FAQ

Seriály
COM
ISAPI

banner2.gif (2546 bytes)

Nenechte si ujít
Neobdélníková okna
Tisk bez Preview
MFC a DLL
Logo v MDI ploše
Kouzla s kombo-boxem
Výjimky v C++

banner.gif (3305 bytes)

ISAPI, 1. díl Radek Pavienský
03.11.1999
[Hlavní stránka]  |  [Rubrika]

Co je to ISAPI

ISAPI je rozhraní k IIS - Internet Information Serveru, které nám umožňuje psát aplikace pro internet, které běží na straně serveru. Znamená to, že klient (typicky internetový prohlížeč) vyvolá aplikaci na straně serveru, která jako výsledek vrátí data, jež jsou ve formě dané HTTP protokolem a poté jsou tato data odeslána zpět na klientskou stranu. Pokud je klientem internetový prohlížeč, výsledek je zobrazen jako webová stránka.

Vytvořit ISAPI aplikaci znamená vytvořit DLL knihovnu a umístit ji na web-server. Pokud vzdálený uživatel požádá server o vykonání ISAPI aplikace,   vykoná se námi definovaná funkce, která by měla vrátit data ve formátu HTTP protokolu. Jak je vidět, tak princip je velmi jednoduchý a jak uvidíme dále, praxe není o mnoho složitější.

Poslední, co bychom měli na úvod vyřešit je, proč vlastně psát ISAPI aplikace a k čemu nám jsou. Kouzlo webových aplikací obecně je možnost dynamického generování stránek. Chcete vést knihu hostů? Pokud ano, hned máme na světě webovou aplikaci. Chcete vytvořit počitadlo přístupů? Máme další použití. Chcete zobrazovat aktuální ceník Vašeho obchodu? Jak jinak, než pomocí webové aplikace. Pokud se rozhlédnete po internetu, tak zjistíte, že skoro každý server používá webové aplikace.

Jaké jsou možnosti serverových aplikací

Aplikaci běžící na straně webové serveru můžeme vytvořit mnoha způsoby. V současné době je asi nejrozšířenější ASP, PHP a ISAPI. První dvě jmenované jsou aplikace, které jsou psány ve speciálních jazycích (Visual Basic Script, PHP) a v okamžiku, kdy si klient vyžádá určitou stránku obsahující program, je tento na straně serveru vykonán a výsledek je odeslán klientovi. Velkou výhodou je, že program je tovřen jak samotným jazykem skriptu, tak HTML textem, což umožňuje vytvářet aplikace snadno a rychle. Nevýhodou je, že jsme omezeni možnostmi skriptovacích jazyků, které jsou zvláště u ASP nemalé. Další nevýhodou je, že aplikace jsou na straně serveru interpretovány, což má neblahý vliv na rychlost, i když je třeba mít na paměti, že nakonec největší zdržení nastane při přenosu výsledku ze serveru na klienta.

Možná se zdá, že jsem zapomněl na to nejdůležitější - na ISAPI aplikace. Bohužel nezapoměl, ale vytvářet ISAPI aplikace pro generování dynamického obsahu stránek není příliš rozumné, protože tam si vystačíme s ASP nebo PHP (mimochodem tento server používá redakční systém vytvořený v PHP). ISAPI má smysl v okamžiku, kdy provádíme velmi, velmi složité akce, v jiných skriptech těžko realizovatelné. Například připojovat se na jiné servery, provádění složitých výpočtů, atp. Sice získáváme rychlost výpočtů ale na úkor rychlosti vývoje. Otázkou je, co je pro nás důležitější (rychlý vývoj = rychlé peníze :-). Ale abych jenom nestrašil, zas TAK hrozné to není. Jedním velkým kladem ISAPI aplikací je, že je můžeme programovat v našem krásném a milovaném C++ a nemusíme se učit nějaký jiný hloupý jazyk (VBS) nebo jazyk, který by to rád dotáhl na C++ (PHP).

MFC podopora a ISAPI

V okamžiku, kdy klient vyvolá ISAPI aplikaci, je volána speciální funkce, která je s touto aplikací spojena. Je to trochu podobné, jako když přijde okénku zpráva a je vyvolána okénková procedura. Stejně jako v případě oken, i zde se MFC snaží původní chování skrýt a zabalit jej do C++ tříd. A stejně jako v případě oken, se to programátorům MFC skvěle podařilo. V dalších dílech si ukážeme, jak je to uděláno.

Shrnutí

V prvním úvodním dílu jsme se seznámili s tím, co to jsou ISAPI aplikace, k čemu nám jsou a naopak k čemu ne. Taktéž jsme si ukázali konkurenci ISAPI aplikací - serverové skriptovací jazyky.


Podobné články:

 
Článek je zařazen do seriálu Následující>>
ISAPI, 2. díl

Kdo Otázka nebo připomínka

Prohlížení příspěvků nebo nový příspěvek

O firmě... Kontakt Ostatní