COM a MS Windows

COM – COMPONENT OBJECT MODEL


COM je standard Microsoftu pro objektové rozhraní, umožňující nabízet funkčnost jednoho objektu, objektu druhému. Jinými slovy, pokud píšete program pro Word ve Visual Basicu pro aplikace, máte možnost napojení na Lotus Script přes COM a třídami tohoto jazyka pracovat s objekty v Lotus Notes a používat je ve Wordu.

K čemu slouží COM rozhraní v naší firmě:
1. Veškerou naši fakturaci vedeme primárně v Lotus Notes.  Zde se k položkám faktur přiřazuje rozčlenění do kategorií, hrubý zisk, splatnosti, stav plateb atd.
V Excelu máme vytvořeno několik listů, na kterých se nám výsledky zobrazují graficky. Po kliknutí dostáváme graf obratu, hrubého zisku a CashFlow, to vše závislé na období a různých kategoriích. Tato zobrazení lze v Excelu různě obměňovat.

2. Přístupy na náš WWW server jsou zaznamenány do Notes databáze, jakož i počet stáhnutí jednotlivých produktů.
Znovu v Excelu máme vytvořené grafické zobrazení těchto přístupů, které nám ukazuje, o co je největší zájem, a v kterém období.

Všechna tato zobrazení je možno provádět bez nutnosti mít spuštěné Notes, a jak už jsem uváděl na začátku, přístup je proveden přes COM rozhraní.

Naše zkušenosti s COM
Pokud máte Notes 5.0.2.b a vyšší, nemusíte nic instalovat, pouze v Excelu je nutné připojit objekty LotusScriptu. Pak už se kód ve VBA píše stejně jako v Lotus Scriptu, stejné třídy, metody, vlastnosti. Kdo umí LotusScript, je schopen velmi rychle napsat procedury stahující data v Lotus Notes. Dle mého názoru je to vhodný doplněk pro některé aplikace, které vyžadují grafické zobrazení, ale nejen to. Soubory vytvořené ve Wordu či Excelu je možné do Notes na pozadí i ukládat, provádět workflow atd., takže možností jsou veliké.

Základní požadavky:

    • Notes podporují COM od verze 5.0.2.b a to Designer, Server a Client
    • Notes nemusí běžet
    • na objekty Notes lze přistupovat např. z Visual Basicu, Visual Basicu pro aplikace, VBScriptu, C++ atd.
    • přes COM můžete ovládat pouze tzv. back-end třídy Lotus Scriptu.
    • lze využít téměř všechny metody těchto tříd, až na pár výjimek (CurrentDocument, CurrentAgent …)
    • některé metody jsou naopak do LotusScript přídany právě pro použití v COM rozhraní

Závěrem:
Pro přístup k Notes objektům je možno použít několik způsobů: Lotus Script pro samotné Notes aplikace, CORBA pro Java aplikace a applety a právě COM rozhraní pro přístup z C++, VB, VBA, VBScript.
COM rozhraní umožňuje využíti workflow, e-mailu a bezpečnosti Notes přímo v kancelářských a internetových aplikacích a nevyžaduje běžící Notesy, což výrazně snižuje okamžitou spotřebu paměti počítače.