OLE – pozadí: Kontejnery a servery
Kontejnerová aplikace je aplikace, která může do svých vlastních dokumentů začlenit vložené nebo propojené položky. Dokumenty spravované aplikací kontejneru musí být schopné ukládat a zobrazovat komponenty dokumentu OLE a také data vytvořená samotnou aplikací. Aplikace typu kontejner musí také uživatelům umožnit vkládat nové položky nebo upravovat stávající položky aktivací serverových aplikací v případě potřeby. Požadavky uživatelského rozhraní aplikace kontejneru jsou uvedeny v článku Kontejnery: Problémy s uživatelským rozhraním.
Serverová aplikace nebo aplikace komponent je aplikace, která může vytvářet komponenty dokumentu OLE pro použití v kontejnerových aplikacích. Serverové aplikace obvykle podporují přetahování nebo kopírování dat do schránky, aby aplikace kontejneru mohly vložit data jako vloženou nebo propojenou položku. Aplikace může být kontejner i server.
Většina serverů je samostatná aplikace nebo úplné servery; můžou být buď spuštěné jako samostatné aplikace, nebo je může spustit aplikace typu kontejner. Miniserver je speciální typ serverové aplikace, kterou lze spustit pouze kontejnerem. Nelze ji spustit jako samostatnou aplikaci. Příkladem miniserverů jsou servery Microsoft Draw a Microsoft Graph.
Kontejnery a servery nekomunikují přímo. Místo toho komunikují prostřednictvím knihoven DLL systému OLE. Tyto knihovny DLL poskytují funkce, které kontejnery a servery volají, a kontejnery a servery poskytují funkce zpětného volání, které knihovny DLL volají.
Při použití tohoto způsobu komunikace nemusí kontejner znát podrobnosti implementace serverové aplikace. Umožňuje kontejneru přijímat položky vytvořené libovolným serverem, aniž by musel definovat typy serverů, se kterými může pracovat. V důsledku toho může uživatel aplikace typu kontejner využívat budoucí aplikace a formáty dat. Pokud jsou tyto nové aplikace součástí OLE, bude složený dokument moci začlenit položky vytvořené těmito aplikacemi.
Viz také
OLE – pozadí
OLE – pozadí: Implementace MFC
Kontejnery
Servery
Kontejnery: Klientské položky
Servery: Serverové položky