ZAWWW-2st1.2-w10.tresc-1.0-Slajd19

Z Studia Informatyczne
Wersja z dnia 19:25, 28 sie 2006 autorstwa Juliusz Jezierski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Ukrycie komponentów encyjnych

Ukrycie komponentów encyjnych


Bezpośrednie udostępnienie komponentów encyjnych obiektom innych warstw wprowadza duży narzut na komunikację sieciową, ponieważ każde wywołanie dotyczące komponentu encyjnego powoduje zdalne wołanie metody. Skutkuje to wyraźnym spadkiem wydajności aplikacji. Dodatkowo, jeśli logika biznesowa, a w szczególności logika transakcyjna, są implementowane po stronie klienta, osoba tworząca warstwę klienta lub warstwę prezentacji musi szczegółowo zrozumieć, zaprojektować i zarządzać transakcjami dotyczącymi wielu komponentów encyjnych. Powoduje to nadmierną komplikację kodu po stronie klienta (wyszukanie komponentów, pobranie interfejsu transakcji, operacje w ramach kontekstu transakcji) i niemożność wykorzystania zalet zarządzania transakcjami przez kontener. Rozwiązaniem problemu jest przeniesienie logiki biznesowej i logiki transakcyjnej do warstwy biznesowej pod postacią wzorca Session Façade (wzorzec zostanie szczegółowo omówiony w trakcie wykładu dotyczącego wzorców J2EE). Wzorzec Session Façade jest to komponent sesyjny zarządzający logiką biznesową i dostępem oraz współdziałaniem między komponentami encyjnymi. Logika transakcyjna może być zaimplementowana przez komponent sesyjny, a może być także przeniesiona bezpośrednio do kontenera, gdzie deklaratywne zarządzanie transakcjami definiuje się w deskryptorze wdrożenia. W obu przypadkach zdejmuje to z klienta obowiązek sterowania przebiegiem transakcji.


<< Poprzedni slajd | Spis treści | Następny slajd >>