Pomysł na przetwarzanie

Windows DNA nie jest nowym produktem, nie można go nigdzie kupić. Jest promowaną przez Microsoft koncepcją tworzenia aplikacji wielowarstwowych na platformie Windows.

Windows DNA nie jest nowym produktem, nie można go nigdzie kupić. Jest promowaną przez Microsoft koncepcją tworzenia aplikacji wielowarstwowych na platformie Windows.

Aplikacje klient/serwer są w dużym stopniu uzależnione od mocy obliczeniowej serwera. W sytuacji, gdy w przedsiębiorstwie można określić liczbę pracowników i ich typowe zadania, łatwo również oszacować moc obliczeniową głównego komputera, niezbędną do zapewnienia wygodnej pracy. Gdy jednak coraz więcej aplikacji jest przenoszonych do środowiska internetowego, gdzie liczba użytkowników systemu na ogół nie jest znana, architektura klient/serwer przestaje się sprawdzać. Wynika to z założeń przyjętych przy opracowywaniu takich aplikacji - wszystkie operacje związane z logiką oprogramowania wykonuje serwer.

Pomysł Microsoftu

O Windows DNA (Ditributed interNet Application Architecture) w świecie programistycznym słychać od kilku miesięcy. Microsoft, poszukując odpowiedzi na rosnące poparcie dla Javy, Enterprise Java Beans i innych technologii opracowywanych przez firmy związane z obozem Sun Microsystems, przedstawił propozycję tworzenia aplikacji wielowarstwowych na podstawie własnych technologii.

DNA nie jest produktem sprzedawanym w jakiekolwiek postaci. Jest propozycją dla programistów, która ma im ułatwić tworzenie architektury aplikacji. W zasadzie odpowiada takim produktom czy ideom, jak konkurencyjne Netscape Communicator Networked Enterprise, Oracle Network Computing Architecture, IBM Network Computing Framework. Większość mechanizmów pozwalających na realizowanie poszczególnych warstw aplikacji w myśl idei DNA w rzeczywistości jest dostępna od dawna. Są to usługi systemu operacyjnego, bazy danych czy Microsoft Transaction Server. Bardzo ważnym ogniwem DNA, którego wciąż brakuje, jest system operacyjny Windows 2000.

W koncepcji DNA standardowe mechanizmy wchodzące w skład Windows są podzielone na logiczne warstwy, odpowiadające modelowi trójwarstwowemu aplikacji opartej na WWW - warstwach: danych, logiki aplikacji i prezentacyjnej.

Obsługa danych

Jako narzędzia do obsługi danych i dostępu do nich, Microsoft proponuje własne rozwiązanie ActiveX Data Objects (ADO) bazujące na sterownikach OLE DB. ADO jest pewnego rodzaju warstwą pośrednią pomiędzy aplikacją, sterownikiem a właś-ciwą bazą danych. Upraszcza dostęp do informacji, a ponadto realizuje część operacji właściwych dla warstwy pośredniej (czy warstwy logiki biznesowej).

Standard OLE DB ma ogromną zaletę - program może w ten sam sposób traktować system plików, relacyjną bazę danych, bazę hierarchiczną czy dane typu książka adresowa w aplikacji komunikacyjnej Outlook. Należy jednak pamiętać o tym, że czym innym jest standard OLE DB, czyli lista usług, jakie sterownik ma realizować, czym innym to, co rzeczywiście udostępnia konkretny sterownik. Jest to jednocześnie zaleta i wada rozwiązań opartych na OLE DB. Prosty sterownik OLE DB można napisać dla każdego źródła danych. Problemy mogą pojawiać się w przypadku sterowników bardziej złożonych, które realizują większą część interfejsów standardu OLE DB.

Od czasu, kiedy Microsoft po raz pierwszy przedstawił DNA, dużą popularność zyskał eXtensible Markup Language (XML). Coraz częściej mówi się o nim, jako o ciekawym rozwiązaniu do przechowywania danych. Jest to niezwykle wygodne narzędzie do zapamiętania danych hierarchicznych czy późniejszego przetwarzania odczytanych rekordów. Microsoft deklaruje poparcie dla rozwoju XML, można więc oczekiwać, iż niebawem język ten wkomponuje się w koncepcję DNA.

Prezentacja

Warstwa prezentacji w Windows DNA wydaje się najbardziej zróżnicowana. Można tworzyć standardowe aplikacje na bazie API Win32. Dzięki temu warstwa prezentacji działa szybko i korzysta z pełnych możliwości systemu operacyjnego Microsoftu.

Można także podzielić warstwę prezentacyjną na różne komponenty. W ten sposób, z jednej strony - istnieje możliwość łatwego tworzenia kodu przeznaczonego do wielokrotnego użycia, z drugiej - część aplikacji odpowiedzialna za przetwarzanie po stronie klienta (przygotowanie do prezentacji itp.) może być wykonywana w warstwie logiki biznesowej.

Warstwę prezentacyjną można przygotować z zastosowaniem przeglądarki internetowej. W zależności od indywidualnych wymagań, aplikacja może korzystać z DHTML i VB Script (wtedy większą część operacji związanych z obsługą użytkownika wykonuje przeglądarka). Należy podkreślić, że w DHTML i VB Script możliwe jest dowiązywanie elementów interfejsu (pól tekstowych itp.) bezpośrednio do źródeł danych (a raczej do specjalnych zbiorów rekordów po stronie klienta, które potem będą synchronizowane z serwerem), co może w znacznym stopniu uprościć konstrukcję stron. Dzięki temu istnieje możliwość uniknięcia wielokrotnego przesyłania informacji między warstwą prezentacji a biznesową. Rekordy przechowywane lokalnie (np. w formacie XML) pozwalają na sortowanie i filtrowanie prezentowanych informacji bez pośrednictwa serwera bazodanowego.

Jeżeli część prezentacyjna ma być przenośna, warstwa logiki biznesowej powinna umożliwiać korzystanie z interfejsu opartego na HTML. Serwer internetowy Microsoftu Internet Information Server (IIS) pozwala w łatwy sposób decydować, czy zasadnicze przetwarzanie prezentacji będzie wykonywane po stronie klienta, czy po stronie serwera. Wystarczy zmienić jedną instrukcję w kodzie strony.

Logika biznesowa

Najważniejszą częścią architektury DNA jest warstwa odpowiadająca za logikę biznesową, czyli logikę aplikacji. W klasycznej architekturze klient/serwer to serwer przetwarzał informacje. W tym przypadku wydzielono specjalną warstwę pośrednią, przeznaczoną na przetwarzanie.

Trudno jest jednoznacznie określić, jakie usługi Windows DNA można zaliczyć do warstwy przetwarzania aplikacji. Na pewno są to usługi związane z transakcjami, obsługą IIS, zarządzaniem plikami czy dostarczeniem odpowiednich funkcji zabezpieczeń. Wszystkie te elementy opierają się na podstawowej dla Microsoftu technologii COM (Component Object Model), czyli standardzie tworzenia składników realizujących pewne funkcje, które można wykorzystać w aplikacji.

Siłą składników COM jest to, że w architekturze DNA mogą być uruchamiane na zdalnych komputerach (do komunikacji jest stosowany protokół DCOM).

Model COM został przeniesiony z Windows na inne platformy. Istnieją wersje na Unixa czy Open VMS. Dzięki temu, że składnik COM udostępnia na zewnątrz interfejs, czyli metody i właściwości, pozwalające na wykonywanie konkretnych operacji, gotowy składnik jest dla aplikacji "czarną skrzynką". Wiadomo że trzeba go utworzyć, wywołać pewne metody i czekać na wynik bądź wystąpienie zdarzenia. W procesie przetwarzania w warstwie logiki powinno więc być obojętne, gdzie obiekt COM jest uruchomiony.

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

TOP 200