Co se skrývá za magickou formulí ActiveX

Pojem ActiveX už zná asi každý programátor, a jistě nejen on. Již daleko méně lidí (i z řad počítačových odborn...


Pojem ActiveX už zná asi každý programátor, a jistě nejen on. Již daleko méně
lidí (i z řad počítačových odborníků) ale přesně ví, co se za tímto pojmem
skrývá. Protože se ale zároveň objevují nejrůznější spekulace, že se jedná
pouze o marketingový termín, který neskrývá žádné skutečné technologie a
produkty, podíváme se na ActiveX blíže.
"Aktivní technologie"
ActiveX je ve skutečnosti především označení celé řady technologií spojených
určitým způsobem s Internetem. Pod tento termín přibývají nové a nové součásti,
vlastní název označení pak vychází především z idey Aktivní platformy
společnosti Microsoft, která je v podstatě nezávislá na operačním prostředí i
hardwaru. Skládá se potom z "aktivního klienta" a "aktivního serveru".
Pod označení ActiveX v pojetí Microsoftu spadá HTML, skriptové jazyky a dokonce
i Java. Nicméně v praxi se často slučuje pojem ActiveX a ActiveX komponenty
(ActiveX controls), o kterých bude řeč dále. V poslední době ostatně sám
Microsoft začal upouštět od označení ActiveX jako celé platformy a pod tímto
pojmem se již v současné době skrývá jen vlastní způsob "zabalení" a
"dopravení" COM komponent v prostředí Internetu.
Celá platforma pak získává nové označení Windows DNA (Distributed interNet
Application Architekture). Microsoft před určitým časem navíc zahájil aktivity
směrem k otevření architektury ActiveX (dnes tedy spíše DNA) a její
standardizaci, jež by měla vést k rozšíření této platformy i do prostředí
jiných hardwarových i operačních systémů.
Jednou z důležitých součástí Windows DNA je COM (Component Object Model)
technologie, která není v prostředí Windows nijak nová, neboť její jinou starou
známou součástí je také OLE (Object Linking and Embedding). Proto nejprve
začneme popisem širší architektury COM, která má také novějšího bratříčka DCOM
(Distributed Component Object Model), jenž lépe definuje spolupráci komponent
na různých výpočetních systémech a v síťovém prostředí. Tento článek není
nicméně praktickým návodem pro programování prvků ActiveX, ale přehledem, jak
ActiveX a některé další vybrané technologie, spadající do Windows DNA, lze
využít při vývoji aplikací.
Component Object Model
COM je obecná architektura pro propojování binárních softwarových komponent,
které jsou na základě jasně definovaného modelu takto schopny spolupracovat a
vyměňovat si informace. COM architektura je navržena nezávisle na programovacím
jazyku a částečně i hardwarovém prostředí nebo operačním systému. V praxi je
potom toto propojení realizováno pomocí volání funkcí přes ukazatele.
Současně COM architektura umožňuje propojování těchto komponent nejen v rámci
jedné aplikace, ale i celého systému (po síti) a také dynamické nahrávání
těchto komponent podle potřeby aplikace. COM má navíc vestavěné prostředky pro
zajištění bezpečnosti a propojení s dalšími platformami pomocí tzv. COM "ORB"
(kde ORB znamená Object Request Broker), což není nic jiného než přímá
konkurence dalšímu otevřenému standardu pro propojování komponent v
distribuovaném prostředí CORBA (Component Object Request Broker Architecture),
která je podporována především dalšími silnými firmami z unixového světa.
Přínosem COM architektury je možnost vytváření aplikací skládáním komponent (ať
už vytvořených vámi nebo někým jiným) nebo definování výměny dat a spolupráce
různých aplikací. Tím se zvyšuje rychlost vývoje aplikací i jejich flexibilita
a v neposlední řadě se snižuje cena jejich vývoje díky zvýšení
znovupoužitelnosti kódu. V současnosti je ve fázi beta-testů (jako součást
Windows NT 5.0/2000) nová verze COM architektury, tzv. COM+, která přináší
některé další vlastnosti, především pak vyšší flexibilitu a dynamiku,
zpracování front, větší škálovatelnost a zjednodušené programování.
COM je již integrovanou součástí nejnovějších verzí Windows NT nebo Windows 95
či 98 v podobě DLL knihoven nebo služeb. Není tak nutné instalovat další
součásti nebo je zvlášť aktivovat. Pro některé další platformy, kde je COM
dostupné, je ovšem nutné potřebné součásti pro podporu COM doinstalovat.
Jako jednu ze součástí COM architektury je možné chápat tzv. ActiveX controls,
s nimiž je často ActiveX jako takové spojováno. ActiveX controls jsou
softwarové komponenty pro využití v síťovém prostředí, především pak jako
rozšíření vlastností a možností webového prohlížeče.
Co jsou tedy ActiveX controls?
ActiveX controls (dále budeme po vzoru Microsoftu používat již jen pojmu
ActiveX) jsou nejviditelnější součástí Windows DNA architektury právě tyto
komponenty jsou nahrávány do prostředí webového prohlížeče a zvyšují jeho
funkčnost. Jsou vlastně pouze určitým zapouzdřením VBX, či nověji OCX prvků,
které pracují v prostředí Windows a jsou užívány jako dynamické součásti
aplikací.
ActiveX controls jsou samozřejmě určitým způsobem uzpůsobeny a při jejich
tvoření musí být brán zřetel na jejich výsled-né použití, ale obecný model je
naprosto identický, což zejména zjednodušuje práci současným vývojářům, kteří
se nemusí učit tak velkou sumu nových věcí. Jako programovací jazyk je totiž
možné využít velmi oblíbený Microsoft Visual Basic nebo Visual C++ a podobná
rozšířená prostředí. Některá z těchto prostředí mají navíc připraveny speciální
nástroje pro tvoření prvků ActiveX (u C++ jsou to např. objekty velmi užívané
knihovny MFC Microsoft Foundation Classes).
Současně již nyní je k dispozici celá řada komponent ActiveX pro nejrůznější
použití, ať už volně použitelných nebo jako komerční produkt. Místo
programování je často možné vzít do ruky lupu a najít nejvhodnější již hotovou
komponentu.
Bezpečnost komponent ActiveX
Pod bezpečností chápeme v tomto případě především ochranu prostředí proti chybě
způsobené prvkem ActiveX, rozšiřování virů apod. Bezpečnost ActiveX je
zajištěna především tzv. autentizací kódu, který má být v prostředí prohlížeče
spuštěn. To ovšem znamená, že uživatel je poslední instance, která rozhoduje o
tom, zda prvek ActiveX nainstalovat a spustit nebo ne.
Vlastní systém zabezpečení je sice založen na vydávání certifikátů nezávislou
autoritou (např. VeriSign), jenže za vydání certifikátu musí vývojář zaplatit,
což je sice únosné pro velké společnosti, ale už méně pro malé nezávislé firmy.
Navíc tato autentizace je určena pouze pro jasné určení zdroje kódu a nemůže
zabránit vlastnímu selhání kódu nebo jeho špatné funkci.
Praktické využití
Prvky ActiveX jsou hojně využívány pro rozšíření grafických, datových a dalších
možností webových stránek. Jejich určité omezení spočívá v nutnosti před prvním
použitím nahrát komponentu ActiveX na uživatelský počítač. Poněkud omezující je
také závislost na platformě Windows a samozřejmě také na Internet Exploreru.
Pro vlastní programování budete potom potřebovat znalost vybraného
programovacího jazyka, OLE rozhraní a budete se také muset naučit některé nové
funkce a metody, které jsou přímo vztažené k ActiveX.
8 2758 / pah









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.