OLE i kłopot z głowy

Kiedy słucha się programistów opowiadających o tym jak OLE 2.0 wzbogaci pisane przez nich aplikacje, to człowiek dochodzi do wniosku, że każdy z nich wołał już w beciku OLE!

Kiedy słucha się programistów opowiadających o tym jak OLE 2.0 wzbogaci pisane przez nich aplikacje, to człowiek dochodzi do wniosku, że każdy z nich wołał już w beciku OLE!

Jak wykazują badania rynku oraz pokazy nowych produktów, firmy zajmujące się produkcją oprogramowania obiecują bezgraniczne poparcie dla wprowadzanej przez Microsoft Corp. nowej wersji techniki łączenia i osadzania obiektów. Dla użytkowników wprowadzenie techniki OLE 2.0 świadczy o przesunięciu akcentu z aplikacji na dane bądź dokumenty. Umowna bariera oddzielająca dotąd świat przygotowywanego w edytorze dokumentu od potrzebnych danych znajdujących się w arkuszu kalkulacyjnym znika. Użytkownicy mogą także z łatwością manipulować takimi elementami składowymi dokumentów, jak wykresy i rysunki.

Wydaje się, że jest to znaczący postęp w stosunku do obecnie stosowanych środowisk skoncentrowanych na aplikacjach. Dotychczas użytkownicy zmuszani byli do radzenia sobie z wielością otwartych okienek oraz sprzecznymi ze sobą okienkami dialogowymi. Przy użyciu OLE 2.0 menu oraz pasek narzędzi będą się zmieniały automatycznie, w zależności od typu danych zawartych w dokumencie.

Znaczenie nowej techniki jest widoczne zwłaszcza w publikacjach zajmujących się oprogramowaniem. Każdy stara się podkreślić swoje poparcie dla OLE 2.0, które ma się pojawić na rynku wraz z Windows 95. Producenci już opowiadają w jaki sposób ich nowe programy będą wykorzystywały zalety techniki OLE.

Przykładem może być ostatnia konferencja Lotusphere. Gdyby jej uczestnik spóźnił się na zapowiedź referatu "Budowa wielkich aplikacji przy użyciu Notes 4.0 oraz OLE", to mógłby mieć wrażenie, że Jack Ozzie pracuje u Microsofta. Jack Ozzie - kierownik ds. rozwoju Iris Associates (Lotus) - reklamował zalety OLE prorokując tej technice rychły sukces.

Entuzjazm jest zaraźliwy - twierdzą analitycy informatyki. "Akceptację OLE przyspiesza fakt, że twórcy oprogramowania powszechnie przyjęli tę nową architekturę jako zasadniczą technikę integracji aplikacji", mówi Michael Karfopoulos - wiceprezes Sound View Financial Group ze Stamford.

Zrozumienie zastosowania komponentów OLE oraz ich współpraca z różnymi typami oprogramowania jest istotnym składnikiem integracji nowej architektury w ramach przedsiębiorstw.

Komponenty tu i tam

Architektura OLE wykorzystuje składniki oprogramowania zwane powszechnie komponentami. Możliwość wywołania jednego programu z drugiego jest znana jako łączenie (linking). Natomiast możliwość przekazywania części danych do drugiego programu nazwano osadzaniem obiektów (embedding). Dotychczas technika ta została wprowadzona w rodzinie systemów operacyjnych Windows a także w produktach Macintosha. Inni producenci - tacy jak Digital Equipment Corp., MainSoft Corp. oraz Bristol Technology Inc. - przenoszą specyfikację OLE na Unixa i inne platformy.

Sześć kluczowych składników OLE

Sercem architektury OLE jest Component Object Model (COM), który zapewnia przenośny standard binarny bazowany na specyfikacjach środowiska przetwarzania rozproszonego (Distributed Computing Environment - DCE), korzystających ze zdalnego wywołania procedur. Standard COM obejmuje wszystkie aspekty implementacji komponentów, łącznie z nadawaniem nazw, interfejsami oraz przesyłaniem komunikatów. Wszystko niezależnie od języka programowania. Ten binarny standard pozwala dowolnej kombinacji obiektów i aplikacji na komunikowanie się za pomocą interfejsów zorientowanych obiektowo, bez znajomości specyficznych metod ich realizacji.

Następnym elementem jest Common Object Model stworzony przez Microsoft i Digital w celu tworzenia komponentów zapewniających wykonanie usług przez serwery. Common Object Model jest podzbiorem OLE, nie zawiera jednak interfejsów. Obecnie Digital przenosi go na różne platformy. Między innymi na OSF/1, HP-UX, AIX, Sun OS, VMS.

Trzecim składnikiem jest OLE Automation. Tworzy on specjalne interfejsy dla skomplikowanych narzędzi budujących moduły obsługi zgłoszeń związanych z danym obiektem (np. Visual Basic). OLE Automation eliminuje potrzebę użycia kompilatorów i asemblerów - tak, że staje się kluczem do łączenia programów przez sieć lub między procesami na tym samym komputerze. Microsoft oraz wielu innych producentów kunsztownie dopasowują swoje produkty tak, aby mogły one skorzystać z OLE Automation poprzez zapewnienie obiektów umożliwiających proces automatyzacji.

Następny komponent - OLE Controls - umożliwia tworzenie aplikacji opartych na zdefiniowanych uprzednio wzorcach. Stanowi to rozszerzenie koncepcji Visual Basic Controls (VBX) - narzędzia działającego w środowisku Visual Basic. 32-bitowe OLE Controls góruje jednak nad 16-bitowym VBX, którego zastosowanie jest ponadto ograniczone do Visual Basic i komputerów klasy desktop. OLE Controls może być szeroko stosowany z różnymi narzędziami różnych producentów (także poza środowiskiem komputerów desktop). Może być również postrzegane jako odrębny obiekt typu business działający bez interfejsu użytkownika. Nie wiadomo jeszcze czy będzie istniała odrębna, autorska wersja Microsofta narzędzia tego typu, czy też przystosuje on wszystkie swoje aplikacje tak, aby były zgodne z OLE Controls.

Dwa następne elementy OLE są bezpośrednio widoczne dla użytkownika. Jednym z nich jest narzędzie umożliwiające stosowanie techniki "przemieść i upuść" (drag and drop). Technika ta korzysta z Uniform Data Transfer - metody przenoszenia danych między źródłem a aplikacją z jednoczesnym negocjowaniem formatów. Na przykład, jeśli użytkownik chce wprowadzić wykres słupkowy do aplikacji, która nie współpracuje z grafiką, to omawiany komponent OLE zamieni wykres na tekst celem umieszczenia go w aplikacji.

Ostatnim narzędziem jest Visual Editing, które służy do przekazywania danych między aplikacjami w celu tworzenia heterogenicznych dokumentów o różnych typach formatów (np. tekst i grafika).

Liczy się implementacja

Istnieje kilka sposobów na wprowadzenie i wykorzystanie nowej technologii.

Najprostszym elementem OLE jest technika "przemieść i upuść". Producenci uważają, że ten sposób komunikowania się z aplikacjami będzie coraz bardziej popularny.

"Technika "przemieść i upuść" pozwala użytkownikom na szybkie przerzucanie danych między aplikacjami i sprawia, że użyteczność korzystania z pamięci notatnikowej (clipboard) zmniejsza się", mówi Steven Weitzeil, odpowiedzialny za rozwój produktów WordPerfecta w Novell Inc. Wszystkie aplikacje wchodzące w skład PerfectOffice produkcji Novella korzystają z technologii OLE. Novell zamierza jednak korzystać także z techniki OpenDoc.

OLE Controls oraz OLE Automation mogą zapewnić standardowe sterowniki i interfejsy umożliwiające współtworzącym aplikację programistom skoncentrowanie się na kluczowych funkcjach aplikacji. Ponadto OLE Automation ułatwia konsolidację stworzonych elementów aplikacji.

"Użycie OLE wraz z narzędziem takim jak Visual Basic pozwala twórcom rozbudowującym aplikację skupić się na rzeczywistym problemie i uniknąć czasochłonnego środowiska pracy", mówi Jennifer Bergantino - dyrektor firmy softwarowej z Bedford. "W dodatku, użytkownicy związani z biznesem mogą wziąć udział w powstawaniu prototypu aplikacji i określić czy planowany wygląd kolejnych ekranów im odpowiada", dodaje.

Inne korzyści wynikają z wyższości OLE nad stosowaną uprzednio techniką DDE (dynamiczna wymiana danych). "DDE jest techniką przesyłania danych, w której nie ma sprzężenia zwrotnego informującego użytkownika, że uległy one przetworzeniu", mówi Bob Zeeck - kierownik zarządzania technologią w farmaceutycznej firmie Pfizer Inc. w Nowym Jorku. "OLE jest dla nas lepszą alternatywą", dodaje. Początkowo Pfizer budował swoje aplikacje do obsługi sprzedaży hurtowej w oparciu o DDE, importującą dane z centralnego komputera wytwórni do Excela i Worda. Niestety ta implementacja okazała się być zawodną i stopniowo została zastąpiona przez technikę OLE. Od tego czasu polepszyła się wiarygodność przesyłania danych.

Używaj OLE mądrze

Podczas gdy organizacje takie jak Pfizer mają dobre doświadczenia z zastosowania wczesnych wersji OLE, to inni użytkownicy skarżą się na słabą wydajność narzędzia oraz duże wymagania stawiane przez tę technikę małym komputerom. Zazwyczaj skargi na wydajność dotyczyły współpracy dużych arkuszy kalkulacyjnych o długich rekordach z edytorami. Na przykład, import danych z Excela do Worda z użyciem OLE może być powolny ze względu na blokadę znacznej części pamięci operacyjnej komputera przez załadowany w całości Excel. Mimo że istnieją 32-bitowe wersje Excela Worda i OLE, to większość użytkowników pracuje w 16-bitowym środowisku Windows 3.1. Użycie OLE w tym środowisku może być powodem frustracji. Technika ta nie wykorzystuje w tym przypadku zalet swojej modułowej architektury. Wyjściem jest, jak twierdzi Mike Risse odpowiedzialny za OLE u Microsofta, stosowanie bardziej zaawansowanych systemów operacyjnych oraz korzystanie z OLE Controls. "Rynek dojrzewa i żąda od twórców oprogramowania, aby podzielili swoje dotychczas monumentalne aplikacje na komponenty (takie jak OLE Controls występujący w postaci dynamicznie dołączanego modułu bibliotecznego) umożliwiające wykonanie wyspecjalizowanych zadań", mówi M. Risse.

OLE 2.0 będzie rozprowadzany z Windows 95, toteż automatycznie wykorzysta zalety tego 32-bitowego środowiska. Wydajność można także zwiększyć przez użycie w OLE tzw. In-Process Server. Jest to biblioteka podobna do OLE Controls współpracująca bezpośrednio z COM. Umożliwia ona uruchamianie jednej aplikacji z poziomu drugiej (bez możliwości skorzystania z OLE Automation).

Mechanizmy rozwoju

Wielcy producenci, tacy jak Lotus i Novell, potwierdzają, że OLE jest ważnym standardem integracji aplikacji a reakcja rynku sprawiła, że udzieliły mu poparcia. Lotus pracuje nad pełną implementacją OLE do Notes, gdyż w pakiecie występuje wiele typów dokumentów. "To dobra technika", twierdzi Jeff Alger z Microsofta. "OLE zapewni infrastrukturę dla współpracy systemów operacyjnych, aplikacji i narzędzi dla grup roboczych", dodaje.

Novell także dostrzega korzyści płynące z OLE. "OLE jest istotną częścią naszego PerfectOffice Suite", zauważa Weitzel. "W zasadzie dokonaliśmy optymalizacji naszej implementacji OLE poprzez użycie TextStart (aplikacji, która pozwala użytkownikowi na sformatowanie tekstu według wstępnie zdefiniowanych szablonów) oraz WP Draw (naszej wersji Presentation) jako OLE In-Process Servers.

Także w firmie Watermark Software Inc. w Burlington używa się OLE na wiele sposobów. Firma ta zajmuje się rozwojem w technologii klient/serwer na poziomie przedsiębiorstwa. Po pierwsze, OLE umożliwia dokonanie standaryzacji wymiany danych oraz wprowadzenie mechanizmów integracyjnych takich jak "przemieść i upuść". Po drugie, OLE Automation pozwala na zbudowanie programowalnych komponentów na potrzeby aplikacji o podwyższonej niezawodności za pomoca narzędzi takich jak Visual Basic i PowerBuilder. Arny Epstein - szef technologów w Watermark - docenia zwłaszcza możliwości COM. "COM jest wiodącą technologią wśród składników OLE. Zbudowaliśmy graficzną aplikację opartą na COM, co dało nam wyjątkowe możliwości w zakresie elastyczności i możliwości rozbudowy".

Z chwilą gdy będą dostępne bardziej dojrzałe komponenty oprogramowania także małe firmy będą mogły zwiększyć ilość produktów zgodnych z wiodącymi aplikacjami wielkich producentów. Pfizer stworzył oprogramowanie do obsługi zamówień używając jako składników oprogramowania Watermark oraz cc:Mail. Pracownicy Pfizera skanują zamówienia w formacie zgodnym z grafiką Watermark a powstałe pliki kierują do dalszego przetwarzania. "Powstałe pliki graficzne są osadzane za pomocą techniki OLE w cc:Mail, która to aplikacja spełnia zadania transportowe", mówi Zeeck.

Dla producentów zajmujących się rozwojem narzędzi długofalową strategię wyznaczają osiągnięcia Microsoftu w dziedzinie wdrażania wiodących technologii i przekazywania ich indywidualnym programistom. Progress Software, firma zajmująca się oprogramowaniem wspomagającym jest jednym z tego typu wytwórców. Dzięki technikom takim jak OLE może ona dostarczać szybko i tanio nowe uzupełnienia standardowych aplikacji. Visual Edge Software z Montrealu wyspecjalizowała się natomiast w produkcji "object middleware". Object Bridge integruje na przykład komponenty OLE z innymi typami obiektów, takimi jak Common Object Request Broker Architecture (Object Management Group) lub System Object Model (IBM).

"Największy potencjalny zysk z naszych inwestycji w OLE jest w rękach małych firm zajmujących się rozwojem aplikacji dla biznesu. Używają one specyficznych składników OLE integrując je z nietypowymi aplikacjami zrobionymi pod potrzeby klienta", twierdzi J. Alger z Microsoftu. Natomiast Zeeck z Pfizera podkreśla, że technika OLE oszczędza programistom sporo czasu, zaś dostęp do danych i aplikacji wyraźnie się polepszył.

Rozwój OLE

Następnym etapem w rozwoju OLE będzie niewątpliwie dostosowanie techniki do wymogów środowiska rozproszonego. Specyfikacja OLE 2.0 zawiera wprawdzie elementy współdziałania z takim środowiskiem, ale ich ostateczna implementacja zależy od Cairo (następcy Windows NT). Jednak Microsoft nie określił dotychczas oficjalnie, kiedy można się spodziewać tego systemu operacyjnego. Cairo będzie zgodny ze standardem środowiska przetwarzania rozproszonego DCE i umożliwi obsługę katalogów oraz nadawanie nazw w celu identyfikacji i lokalizacji obiektów. W konsekwencji Cairo określi automatycznie właściwości przesłanego doń obiektu oraz użyje wspomnianych wyżej możliwości celem przesłania obiektu poprzez sieć do oddalonego serwera.

Możliwości użycia OLE w środowisku rozproszonym będą także osiągalne dla wielu platform nie związanych z Microsoftem poprzez działanie takich producentów jak Digital, wspierający ideę otwartych systemów komputerowych.

Obecni użytkownicy nie muszą czekać na wersję ostateczną, aby skorzystać z dobrodziejstw OLE. Technologia ta jest już w chwili obecnej powszechnie stosowana i napędza rozwój oprogramowania w różnych środowiskach. Jej zastosowanie umożliwia programistom zminimalizowanie ryzyka wdrożeń oraz integrację projektów wokół głównego nurtu rozwoju oprogramowania.


TOP 200