ZAWWW-2st1.2-w11.tresc-1.0-Slajd23
Business Delegate
Usługi biznesowe nie powinny być wywoływane bezpośrednio z warstwy klienta lub warstwy prezentacji, gdyż niesie to ze sobą określone problemy: (1) każda zmiana interfejsu usługi biznesowej musi być przeniesiona do klienta lub warstwy prezentacji, (2) osadzenie logiki biznesowej po stronie klienta uniemożliwia łączenie i buforowanie wywołań usług biznesowych i obciąża sieć, (3) wyjątki związane z usługami biznesowymi lub komunikacją sieciową muszą być przechwytywane i obsługiwane w warstwie klienta lub prezentacji. Wzorzec Business Delegate pełni rolę abstrakcyjnej usługi biznesowej po stronie klienta i ukrywa przed klientem złożoność komunikacji i interakcji z usługami biznesowymi. Dzięki temu minimalizuje się powiązanie między warstwami oraz optymalizuje wywołania usług biznesowych. Implementacją wzorca Business Delegate jest najczęściej klasa Java, może to być np. komponent JavaBean. Po stronie zysków zaliczyć należy przede wszystkim redukcję zależności między warstwami, poprawę wydajności komunikacji i zwiększenie modularności kodu. Wadą wprowadzenia wzorca jest obecność dodatkowej warstwy komplikującej wewnętrzną architekturę aplikacji.