Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Konfigurace DCOM rozhraní pro ActiveX

Typy ActiveX objektů

DCOM (Distributed COM) umožňuje přistupovat k ActiveX objektům na jiném počítači. ActiveX objekt je objekt vytvořený podle Microsoft specifikace COM objektů.

Poznámka: OPC server je také ActiveX objekt a platí pro něho následující text stejně jako pro jiné ActiveX objekty.

ActiveX objekty mohou nabývat následujících podob:

1) v podobě DLL nebo OCX knihovny a objekt je vytvořen v kontextu volajícího procesu.
2) v podobě EXE programu a objekt vytváří svůj nový proces (na stejném počítači).
3) v podobě EXE programu a objekt vytváří svůj nový proces na vzdáleném počítači (pomocí DCOM).

Využití DCOM v systému PROMOTIC

Instalace DCOM nesouvisí se systémem PROMOTIC, je to věc nastavení OS Windows a daného ActiveX objektu. Systém PROMOTIC pak jen takto nainstalovaný ActiveX objekt využívá.

DCOM lze v systému PROMOTIC využít v objektech PmActiveX (viz Konfigurace DCOM rozhraní pro ActiveX) a PmOpcClient (viz Konfigurace DCOM rozhraní pro OPC server). V konfigurátoru výběru objektu lze kromě jména objektu také zadat počítač, na kterém bude objekt vytvořen (viz konfigurátor "Spustit na počítači"). Počítač lze specifikovat jménem počítače nebo IP adresou počítače.

Vytvářet objekty na jiném počítači pomocí DCOM je vhodné u objektů (programů), jejichž rozhraní bylo za tímto účelem navrženo a optimalizováno. Počet přístupů k metodám a vlastnostem vzdálených objektů by měl být co nejnižší. Například pokud je potřeba získat 100 hodnot ze vzdáleného objektu, pak by se všech 100 hodnot mělo získat voláním jediné metody, která vratí všechny požadované hodnoty například v poli. Rozhraní OPC komponent bylo optimalizováno tímto způsobem.

Princip vzdáleného přístupu k obecným ActiveX objetům pomocí DCOM

Pomocí DCOM lze používat pouze ActiveX objekty, které jsou správně zaregistrovány tak, že jsou zobrazeny v konfiguračním nástroji OS Windows DCOMCNFG.EXE. Objekt musí být zaregistrován jak na straně serveru (počítač na kterém poběží instance ActiveX objektu), tak na straně klienta (PROMOTIC aplikace přistupující ke vzdálenému ActiveX objektu). Na straně serveru musí být navíc pro příslušný ActiveX objekt, pomocí programu DCOMCNFG.EXE, povoleno jeho vytvoření z jiných počítačů, dále musí být nastavena příslušná přístupová práva klientů k tomuto objektu a také kontext Windows uživatele, ve kterém bude ActiveX objekt vytvořen. Bez tohoto nakonfigurování nelze ActiveX objekt z jiného počítače vytvořit, protože k tomu nemá vzdálený počítač potřebná práva (podobně, jako při sdílení souborů je nutno povolit sdílení příslušné složky a dále nastavit vhodná přístupová práva u sdílených souborů).

Konfigurace vzdáleného přístupu k ActiveX objektům pomocí DCOM

Ke konfiguraci DCOM je nutno mít administrátorská práva v OS Windows. Konfigurace DCOM serveru i klienta je v podstatě shodná.
1) Server i klient: Pokud není počítač serveru i klienta v doméně, pak je nutno vytvořit na serveru uživatele se stejným jménem a heslem, jako bude mít uživatel na klientském počítači (společný uživatel).
2) Server i klient: Pokud je v OS Windows XP zapnuto zjednodušené sdílení souborů, pak při pokusu o přístup ke vzdálenému OPC serveru vznikne chyba odmítnutí přístupu (Access denied). Proto jej vypněte. Viz Start > Ovládací panely > Možnosti složky > Zobrazení > Upřesnit nastavení > Použít zjednodušené sdílení souborů (Start > Control panels > Folder properties > View > Detailed settings > Use simplified file sharing).
3) Server i klient: Spusťte konzoli Start > Programy > Nástroje pro správu > Místní zásady zabezpečení (Start > Programs > Administrative Tools > Local Security Policy). V konzoli přejděte do Místní zásady > Možnosti zabezpečení (Local Policies > Security Options). Zkontrolujte, zda je nastaveno:
- Přístup k síti: Použít oprávnění účtu Everyone pro anonymní uživatele (Network access: Let Everyone permissions apply to anonymous users) je povoleno
- Přístup k síti: Model sdílení a zabezpečení místních účtů (Network access: Sharing and security model for local accounts) je nastaven na Klasický (Classic).
4) Server i klient: Nainstalujte ActiveX objekt (v podobě EXE).
5) Server i klient: Spusťte konfigurační nástroj DCOMCNFG.EXE (umístěný v OS Windows v podsložce system32), představující konzoli pro správu DCOM.
6) Server i klient: V konzoli přejděte do Služba komponent > Počítače > Tento počítač (Component Services > Computers > My Computer) a zobrazte Vlastnosti (Properties) (pravá klávesa myši). Zde se provádí konfigurace společných částí COM, DCOM a výchozích hodnot pro jednotlivé COM servery.
a) V záložce Výchozí vlastnosti (Default Properties) zkontrolujte, zda je nastaveno:
- Povolit používání modelu DCOM v tomto počítači (Enable Distributed COM on this computer) je povoleno
- Výchozí úroveň ověřování (Default Authentication Level) je nastaveno na Žádné (None)
- Výchozí úroveň zosobnění (Default Impersonation Level) je nastaveno na Identifikovat (Identify).
b) V záložce Zabezpečení COM (COM Security) zkontrolujte, zda je nastaveno:
- Přístupová oprávnění > Upravit omezení (Access Permissions > Edit Limits) je pro Everyone povolen Místní přístup (Local Access) a Vzdálený přístup (Remote Access)
- Přístupová oprávnění > Upravit výchozí (Access Permissions > Edit Default) je pro společného uživatele (stejný na klientu i serveru) povolen Místní přístup (Local Access) a Vzdálený přístup (Remote Access)
- Spouštěcí a aktivační oprávnění > Upravit omezení (Launch and Activation Permissions > Edit Limits) je pro Everyone povolen Místní spuštění (Local Launch), Vzdálené spuštění (Remote Launch), Místní aktivace (Local Activation) a Vzdálená aktivace (Remote Activation)
- Spouštěcí a aktivační oprávnění > Upravit výchozí (Launch and Activation Permissions > Edit Default) je pro společného uživatele (stejný na klientu i serveru) povolen Místní spuštění (Local Launch), Vzdálené spuštění (Remote Launch), Místní aktivace (Local Activation) a Vzdálená aktivace (Remote Activation)
7) Server i klient: Konfigurace ActiveX objektu. V konzoli přejděte do Služba komponent > Počítače > Tento počítač > Konfigurace modelu DCOM > Jméno ActiveX objektu

(Component Services > Computers > My Computer > DCOM Config > ActiveX object name)

a zobrazte Vlastnosti (Properties) (pravá klávesa myši).

a) V záložce Obecné (General) zkontrolujte, zda je nastavena Úroveň ověřování (Authentication Level) na Žádné (None).
b) V záložce Umístění (Location) zkontrolujte, zda je nastaveno Spouštět aplikaci v tomto počítači (Run application on this computer).
c) V záložce Zabezpečení (Security) zkontrolujte, zda všechny volby jsou nastaveny na hodnotu Použít výchozí (Use Default). Jsou to volby Spouštěcí a aktivační oprávnění (Launch and Activation Permissions), Přístupová oprávnění (Access Permissions) a Konfigurační oprávnění (Configuration Permissions).
d) V záložce Identita (Identity) zkontrolujte, zda je nastaveno Interaktivní uživatel (The interactive user). Lze také nastavit přihlašovací údaje konkrétního společného uživatele, což umožní přístup z klientského počítače nezávisle na Windows uživateli, který je na serveru zrovna příhlášen/nepřihlášen.
 
Upozornění: Nastavování práv pro PROMOTIC je závislé na umístění PROMOTIC na disku. Pokud se zaregistruje PROMOTIC nebo přesune do jiného adresáře (např jiná verze pomocí PmReg.bat), potom DCOM přestane fungovat (zbytek systému PROMOTIC může fungovat správně). Pokud existuje více verzí PROMOTIC na disku a je potřeba se mezi nimi přepínat, potom z hlediska konfigurace DCOM je výhodnější mít právě aktivní verzi PROMOTIC vždy ve stejném adresáři (např c:\\pm).
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice