ZAWWW-2st1.2-w11.tresc-1.0-Slajd25
Service Locator
Komponenty warstwy klienta i prezentacji często muszą uzyskać dostęp do komponentów i usług warstwy biznesowej. Podstawową metodą wyszukiwania obiektów w Java EE jest wykorzystanie interfejsu JNDI (Java Naming and Directory Interface) odwzorowującego nazwy obiektów i usług na referencje do konkretnych obiektów. Korzystanie z JNDI z poziomu klienta nastręcza wiele trudności, związanych choćby z operacjami wyszukiwania, rzutowania klas, obsługą niskopoziomowych wyjątków, obsługą upływu limitu czasu, itp. Wzorzec Service Locator ukrywa szczegóły implementacji i złożoność mechanizmu wyszukiwania przed klientami. Stanowi on centralny punkt obsługi wyszukiwania usług i komponentów warstwy biznesowej za pomocą interfejsu JNDI. Wzorzec Service Locator jest implementowany jako klasa Java hermetyzująca dostęp do JNDI i obsługująca wszystkie wyjątki niskiego poziomu. Zastosowanie wzorca Service Locator wprowadza jednolity dostęp do komponentów i usług, ułatwia dodawanie nowych komponentów w warstwie biznesowej (komponenty EJB, źródła danych, kolejki komunikatów), oraz poprawia wydajność komunikacji sieciowej poprzez buforowanie.