Wszystko razem

Nowa architektura zorientowana na obiekty doprowadzi do modularnych aplikacji współdziałających

Nowa architektura zorientowana na obiekty doprowadzi do modularnych aplikacji współdziałających

Nowe technologie oprogramowania, będące obecnie w stadium eksperymentalnym zarówno w firmie Apple Computer Inc., jak i Microsoft Corp., zaczną niebawem zmieniać sposoby traktowania, kupowania i stosowania programów użytkowych przez użytkowników. Pomimo pewnych bardzo podstawowych różnic zmiany proponowane przez każdą z firm mają ten sam cel: bardziej ustrukturyzowane podejście do obiektu oraz większy nacisk na aplikacje jako na małe, dopasowane wzajemnie bloki konstrukcyjne, a nie całościowe duże programy.

Nowy model Apple'a, który ma zawierać nową, oznaczoną numerem 7.0, wersję systemu operacyjnego Macintosha, pozwoli, aby programy użytkowe współdziałały ze sobą wzajemnie przez wymianę serii informacji. Microsoft z kolei proponuje podejście skoncentrowane na dokumencie firmy zwanym „Object Lin-kink and Embeding" (OLE -łączenie i zanurzanie obiektów).

- Kierunek, do którego zmierzają owe programy, wynikający po prostu z orientacji na obiekt, polega na rozszczepieniu istniejących obszernych programów użytkowych na wysoko wyspecjalizowane moduły -mówi Darryl Rubin, wiceprezes Mi-crosoftu ds. strategii aplikacyjnej. -Początkowo mogło to mieć postać odłączania funkcji dodatkowych rzadko używanych właściwości fakultatywnych przy zachowywaniu bloków funkcjonalnych, nawet tak obszernych, jak kompletny arkusz obliczeniowy czy edytor tekstów. Ale ponieważ małe programy użytkowe są łatwiejsze do pisania i uruchamiania, a użytkownicy mogą chcieć włączać do nich i dopasowywać swoje własne zbiory, z czasem pojawią się mniejsze programy użytkowe.

-Jeżeli rozwój pójdzie we właściwym kierunku, programy użytkowe będą wzajemnie dokładniej dopasowane, niż to ma miejsce obecnie -twierdzi z kolei Bill Crow, główny projektant produktów New Wave w Hewlett-Packard Co. - Wydostaniemy się z programów aplikacyjnych, z których każdy ma swoje własne środowisko. Obecnie autorzy oprogramowania wkładają masę energii w ponowne wynalezienie czegoś, co zostało już zrobione przez kogoś innego. Cel podejścia zorientowanego na obiekty jest taki, abym mógł łączyć i dopasowywać wzajemnie to, co najlepiej nadaje się do mojego zadania.

Jednak liczba różnych podejść zorientowanych na obiekty może być punktem krytycznym, zapewne bowiem małe programy użytkowe ukazywać się będą w okienku API (appli-cation program interface), z którym działają, podobnie jak teraz są wyświetlane wymagania pamięci albo wersje systemu operacyjnego.

Co więcej, nie każdy członek społeczności rozwijającej myśl komputerową jest przekonany, że nowe podejścia są właściwe, a nawet - że są w swej istocie nowe. Zespoły pracujące nad projektami zapożyczają pomysły u renomowanych firm, spośród których wiele było ukierunkowanych w ten sposób przez kilka ostatnich lat (zob. tekst „Digital..."). Jednak w każdym wypadku, zwolennicy podejścia Apple'a i Mi-crosoftu przyznają, że nawet przy najbardziej optymistycznym scenariuszu przejście będzie trwało długo.

Proces dwustopniowy

Apple przyjął podejście dwustopniowe do projektowania nowych programów użytkowych. Jako pierwszy stopień firma dodaje nowe udogodnienie w postaci żywego łącza między dokumentem a istniejącym programem użytkowym.

-Jest to rozszerzenie metafory nożyc i kleju - wyjaśnia pani Pam Deziel, dyrektor ds. produktów in-teraplikacyjnych u Apple'a. - Stosując udogodnienie systemowe, które Apple nazywa „dyrektorem wydania" (Edition Menager), programy użytkowe będą zdolne „publikować" elementy albo sekcje danych, do których inne programy użytkowe mogą być „dopisane". Kiedy w elemencie publikowanym jest dokonywana zmiana, postać zrewidowana jest automatycznie umieszczana w dopisanym dokumencie.

Według pani Deziel, wprowadzenie kompatybilności z Edition Menager jest stosunkowo niewielkim zadaniem dla dystrybutorów programów aplikacyjnych, nie wymagającym zasadniczej restruktu-ralizacji programów użytkowych albo interfejsu. Skutkiem tego konstruktorzy Macintosha doda-dzą to usprawnienie, tworząc lub modernizując oprogramowanie dla Systemu 7.0.

- Spodziewamy się, że się to tak rozpowszechni, jak rozpowszechniła się technika kopiowania i klejenia - dodaje Pam Deziel.

Drugi stopień jest ambitniejszy. Apple proponuje, żeby zwiększać zbiór komunikatów zewnętrznych, na które będą odpowiadały programy użytkowe - od bardzo ograniczonego zbioru dostarczanego obecnie przez system operacyjny do otwartego zbioru, który może zawierać również komunikaty z innych programów.

Z takim podejściem, nazywanym Apple Events, programy użytkowe mogą pracować kooperacyj-nie, przechodząc nie tylko dane, lecz także instrukcje, zgłoszenia i komunikaty o stanie. Wyobrazić sobie nawet można, że programy użytkowe mają inteligentne „haczyki", które inne programy użytkowe mogą porywać.

Od programów użytkowych dopasowanych do Apple Events będzie się wymagało tylko tego, aby odpowiadały na cztery podstawowe komunikaty: otwórz program użytkowy, otwórz dokument, drukuj i skończ. Jednakże Apple zaproponował jeszcze zestaw złożony z jakichś dwóch dziesiątków „wypadków podstawowych", które mogą być stosowane, takich jak: utnij, skopiuj, doklej i ustaw wartości danych. Pani Deziel charakteryzuje je jako „czasowniki rodzajowe" i twierdzi, że pozwolą one twórcom oprogramowania opracować scenariusze dla 60-70% wypadków, które były z nimi dyskutowane".

Popierając ideę wspólności wypadków w podobnych programach użytkowych, Apple sponsoruje działającą od sześciu miesięcy grupę o nazwie Apple Events De-velopers Organization. Grupa ta proponuje autorom podobnych programów użytkowych, aby wspólnie definiowali obiekty i komunikaty.

Autorzy programów stosujący Apple Events będą musieli nie tylko opracować wynik reakcji na komunikat, lecz także i to, w jaki sposób użytkownicy kontrolują aktywność komunikacyjną i w jaki sposób każdy komunikat jest raportowany. Eksperymentatorzy oceniają różne rozwiązania, ale niektórzy spośród nich twierdzą, że zaprojektowanie i zintegrowanie odpowiedniej implementacji będzie kosztowało przynajmniej całe tygodnie pracy. Spodziewają się, że firma Apple wyposaży udogodnienie Apple Events w język opisujący, zwany Apple Script, które może generować zgłoszenia i wykonywać zadania poprzez różne programy użytkowe. Ale - jak podkreśla pani Deziel - żaden

podobny produkt nie został dotychczas zapowiedziany, a programiści znający projekt twierdzą, że jest on dopiero w stadium definiowania.

Odwrócenie rzeczy wewnętrznych na zewnątrz

Dziś typowi użytkownicy pracują z nastawieniem programo-centrycznym. Wybierają program, a następnie używają go w odniesieniu do jednego lub wielu dokumentów. Natomiast model Micro-softu odwraca ten stosunek z wewnętrznego na zewnętrzny, w centrum zainteresowania stawiając nie programy użytkowe, lecz dokumenty, które stają się osią każdej sesji roboczej. Każdy dokument mógłby być skomplikowaną strukturą, zawierającą elementy utworzone i podtrzymywane przez różne programy.

- o najdalszym od środka okienku nie będziecie myśleć jako

o przynależnym do pewnego programu użytkowego, lecz jako o pewnym dokumencie - wyjaśnia Darryl Rubin. -Nie będzie wcale aplikacji pierwotnych.

Zamiast tego, kiedy użytkownicy będą się poruszać w dokumencie, będą oni używali jednego okienka lub większej ich liczby do oglądania tekstu. Kiedy zechcą redagować fragment albo sprawdzać coś w wyrafinowany sposób, podwójne stuknięcie ustawione na dany element powinno wyszukać

i ściągnąć potrzebne do jego opracowania narzędzie. Przykładem często przywoływanym przez członków zespołu Microsoftu jest opracowywanie dokumentu tekstowego, gdy stuknięcie w tabelę wywoła narzędzie do redagowania tabel, a stuknięcie w wykres - pakiet od wykresów.

Według Microsoftu takie podejście do dokumentu jest w rzeczywistości znacznie bardziej obiecujące niż to, czym większość użytkowników dysponuje obecnie. Użytkownicy są przecież dokumento-centryczni. Chcą na przykład napisać sprawozdanie i to, co robią, jest - z ich punktu widzenia - po prostu pisaniem sprawozdania, a nie stosowaniem określonego narzędzia.

„Object Linkink and Embeding" (OLE) Microsoftu, popularnie zwane „Ole!", jest pierwszym krokiem w kierunku orientacji na dokumenty. Pierwsza wersja tej technologii, opracowana przy pomocy Aldus Corp. oraz Lotus Development Corp., będzie architekturą i specyfikacją dla programu Windows, lecz w swej idei została zaprojektowana jako niezależna od platformy procesora. Wersja na OS/2 zostanie wypuszczona trzy miesiące później, a wersja na Macin-tosha (którą Microsoft zamierza nadbudować nad Apple Events) jest również w fazie opracowania. Wersje na inne systemy operacyjne mogą być opracowane później, albowiem Microsoft zdecydował, że bezwzględny priorytet mają tylko wersje na PC i Macintosha.

Integrowanie technologii z istniejącym oprogramowaniem i systemami może, jak twierdzą niektórzy obserwatorzy, być najtrudniejszą częścią całego przedsięwzięcia. Obie firmy: Apple i Microsoft muszą się liczyć z faktem, że stworzyły podstawy istniejących systemów. Muszą więc znaleźć drogi kompromisu, aby systemy te rozwijać.

Ustalenie zakresu W dalszej przyszłości i Apple, i Microsoft planują rozszerzenie zakresu ich współpracujących programów użytkowych z jednego stanowiska pracy na grupę roboczą, a nawet całą większą sieć. Jednak ich najwcześniejsze wersje mogą być całkowicie lub choćby częściowo ograniczone do dziedziny pojedynczych PC.

Najważniejszym problemem dla obu grup jest nazywanie i „trasowanie". Aby posłać komunikat do odległego programu użytkowego albo wywołać odległe łącze, system operacyjny musi dostarczyć konwencji nazywania odległych programów i specyfikowania ścieżki komunikatu.

Deziel utrzymuje, że Apple będzie miał odpowiednie standardy w Systemie 7.0. Natomiast Microsoft przyznaje, że dodanie odległych źródeł do OLE będzie wymagać znacznej pracy. Ponieważ OLE będzie rozszerzeniem Windows, będzie ono działać ponad DOS-em, a odległe łącza będą musiały czekać, dopóki DOS nie dostarczy potrzebnych usług niskiego poziomu.

To nie kwestia kodowania

Jednak zmiana orientacji na budowanie blokowe i koncentrację na obiektach wpłynie nie tylko na charakter codziennej pracy na PC. Przyniesie ona także problemy związane z marketingiem, bezpieczeństwem, licencjonowaniem, zarządzaniem oraz potencjalnym zamieszaniem, które spowoduje u użytkowników.

- W istocie, najtrudniejsze nie są tu problemy inżynierskie - mówi Yogen Dala, wiceprezes firmy Claris Corp. z Santa Clara (California). - Kłopoty z marketingiem sprowadzają się do tego, że nikt nie wie, czy będzie opłacalne produkowanie, rozprowadzanie i utrzymywanie wielkiej liczby małych bloków konstrukcyjnych. Wielu użytkowników może być mocno przywiązanych do dużych programów użytkowych, a idea bloków konstrukcyjnych może bardziej przemawiać na przykład do programistów, deta-listów (VAR - value-added retai-ler)czy różnych guru firm komputerowych. Lecz jeżeli niewiele programów użytkowych zyska popularność, pozostanie kwestia, czy będą one mogły być rozprowadzane przez sieć detaliczną.

Problemem jest także bezpieczeństwo, zwłaszcza że nowe pozycje są oparte na systemach operacyjnych pojedynczego użytkownika, które nie mają wbudowanych środków zabezpieczających. Apple Events znacznie zmniejszyły bezpieczeństwo (użytkownicy mogą poinstruować swe systemy, aby nie przekazywały dalej zdarzeń i zgłoszeń z sieci), a OLE pozostawia wszystkie problemy związane z bezpieczeństwem systemowi, nad którym działa. , Co więcej, według Rubina, przy podejściu zorientowanym na obiekty wzrasta znacznie wrażliwość na wirusy. Przy podejściu rzeczywiście zorientowanym na obiekty każdy obiekt może zawierać zarówno kod, jak i dane, lecz zakłada się, że część kodowa nie jest dostępna dla zewnętrznych programów i procesów. A jeśli obiekty są dowolnie wymienialne, czy nie mogą się one stać nośnikami wirusów komputerowych? Rubin twierdzi, że projekty Microsoftu i innych firm muszą uwzględniać takie problemy.

W praktyce większość zarządzających systemami bardziej się martwi o kwestie kompatybilności i kontrolę wersji niż o wirusy. Jeśli użytkownicy pracują z dużo większą ilością małych programów użytkowych, wzrasta nie tylko ryzyko utraty kompatybilności, lecz również trudność wykrycia elementów nie dopasowanych lub konfliktowych. W dodatku utrzymywanie śladów większej liczby licencji i uaktualnień może się stać również denerwujące, jeśli przeciętny użytkownik chce mieć bieżącą orientację w tych zagadnieniach.

Pozostawanie w zgodzie z prawami licencji może także wywołać istotne konflikty. Jeżeli elementy stosowanego programu są znacznie mniejsze niż dotychczas, bariery psychologiczne i funkcjonalne przy dostarczaniu koledze brakującego mu ogniwa również wydatnie się obniżają.

Wreszcie zmiana- metafor w nazwach może spowodować duże kłopoty niektórym użytkownikom. Nowe podejścia będą koegzystować z istniejącymi programami przez dość długi czas, a będą wymagać nowego interfejsu użytkownika i różnych procedur do efektywnego wykonywania operacji. Efektem może być naprawdę pomieszanie metafor.

Jednak zarówno Apple, jak i Microsoft twierdzą, że z tych problemów nie powstanie dla większości użytkowników bariera nieprzekraczalna. Po rozważeniu korzyści i trudności jak powiada przedstawiciel Microsoftu - będą oni grawitować ku podejściu zorientowanemu na obiekty.

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

TOP 200