Most między obiektami

Visual Edge opracowała Object Bridge - rozwiązanie łączące obiekty COM w aplikacjach klienckich z obiektami CORBA na serwerach.

Visual Edge opracowała Object Bridge - rozwiązanie łączące obiekty COM w aplikacjach klienckich z obiektami CORBA na serwerach.

Na rynku dominują dwie technologie komponentowe: COM i CORBA (przyjmując dla uproszczenia, że komponenty EJB są bliskie CORBA). Wiele aplikacji rozproszonych korzysta z technologii CORBA, zapewniającej szeroką gamę usług i wysoką skalowalność. Jednakże w żadnym przedsięwzięciu informatycznym nie może ignorować technologii OLE Automation i COM, stanowiących podstawę wszystkich aplikacji Windows.

Standard OMG

Konsorcjum Object Management Group (OMG) opracowało standard współpracy systemów CORBA i COM w formie COM/CORBA Internetworking Specification. Zawiera on dwa elementy: pierwszy określa współpracę z obiektami OLE Automation, drugi - z obiektami COM. W każdej części wyspecyfikowano 2 poziomy zgodności - odwzorowanie i współpracę. Odwzorowanie pozwala na dostęp do obiektów jednego systemu (np. CORBA) z drugiego (COM), ale nie odwrotnie. Współpraca natomiast powinna odbywać się dwukierunkowo.

OLE Automation to ta część OLE, która ma ułatwiać manipulowanie obiektami za pośrednictwem języków skryptowych. Oferuje ograniczony zestaw typów danych i zapewnia stosunkowo małą wydajność, ale jest łatwa w programowaniu. Z OLE Automation najczęściej korzysta się w Visual Basicu. COM zaś oferuje pełny zestaw typów danych i znacznie większą wydajność. W zasadzie wymaga programowania w C++, przez co jest trudniejsze w użyciu. Pomiędzy OLE Automation a COM znajdują się "podwójne interfejsy", pozwalające na korzystanie z szybkich metod COM w obiektach OLE Automation, ale nadal z ograniczonym zestawem typów danych.

Object Bridge

Firma Visual Edge opracowała uniwersalny most Object Bridge do zapewnienia dwustronnej współpracy obiektów COM i OLE Automation (włącznie z podwójnymi interfejsami) w aplikacjach klienckich z obiektami CORBA, działającymi na serwerach. Produkt jest zgodny ze specyfikacją OMG.

Programista, pracujący w środowisku Windows, korzystający z Object Bridge, może używać wszystkich obiektów CORBA, tak jak obiektów COM, bez potrzeby tworzenia wokół nich otoczki COM, uczenia się specyfiki języka definiowania interfejsów IDL dla środowiska CORBA (służącego do określania dostępu do metod i danych obiektu) czy pisania kodu do obsługi zdarzeń.

Problem zdarzeń jest szczególnie ważny we współpracy obiektów, gdyż środowiska CORBA i COM posługują się w tym zakresie odmiennymi mechanizmami. W Windows istnieją tzw. punkty łączenia (connection points), a w CORBA - kanały zdarzeń (event channel). Proste odwzorowanie punktu łączenia COM na kanał CORBA wymagałoby od programisty w środowisku CORBA napisania programu obsługi zdarzenia w sposób zgodny ze specyfiką COM. Dostępna w Object Bridge możliwość odtworzenia zdarzenia w sposób zgodny ze specyfiką systemu docelowego zapewnia wygodę pisania kodu w znanym środowisku.

Jak to działa?

Object Bridge korzysta z kompilatora JIT (Just-in-Time) w celu przetwarzania opisu obiektów z jednego systemu na drugi. Gdy programista wybiera klasę CORBA do użycia w środowisku obiektowym COM, Object Bridge analizuje jej opis i tworzy na bieżąco proxy, odpowiadający tej klasie, pozwalający na wywołanie jego metod z Windows w taki sposób, jak metod obiektów rodzimych. W szczególności obiekty mogą wzajemnie przekazywać parametry, dane oraz inne obiekty jako parametry wywołania.

Każdy system obiektowy - COM, OLE Automation i CORBA - ma własny Object System Adapter (OSA). Gdy następuje przejście z jednego systemu obiektowego do drugiego, Object Bridge korzysta z dwóch OSA w celu dokonania na bieżąco konwersji opisu obiektu. OSA to odpowiednik preprocesora kompilatora. Odczytuje rodzimy opis klasy i przekazuje go do kompilatora JIT oraz wykonuje dodatkowe czynności niezbędne do zapewnienia poprawności działania obiektów - wykrywania nieskończonych pętli w proxy, wskazywania czasu "życia" obiektu dla modułu ich usuwania z systemu (garbage collector). Pakiet posługuje się protokołem Internet Inter-ORB Protocol (IIOP) do komunikacji między systemami.

Pakiet Object Bridge dla Windows zawiera graficzny moduł dostępu do właściwości funkcjonalnych pakietu. Przeglądarka obiektów pakietu umożliwia zainstalowanie w systemie Windows obiektów i wspólnych usług CORBA, co pozwala posługiwać się nimi, tak jak obiektami COM i OLE Automation.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200