Adapter Zasobów (Resource Adapter)
Adapter Zasobów jest komponentem J2EE, który
implementuje Connector Architecture dla konkretnego systemu EIS. Aplikacja J2EE
komunikuje się z EIS właśnie za pomocą Adaptera Zasobów. Adapter Zasobów
przechowywany w pliku RAR (Resource Adapter Archive) może być umieszczony na
dowolnym serwerze J2EE, prawie jak plik EAR aplikacji J2EE. Plik RAR może być
zawarty w pliku EAR lub może istnieć jako oddzielny plik. Działanie adaptera
zasobów jest analogiczne do działania sterownika JDBC. Oba zapewniają
standardowe API, poprzez które aplikacja ma dostęp do zasobów będących na
zewnątrz serwera. Różnica jest taka, że dla adaptera zasobów, zasobem
zewnętrznym jest system EIS, natomiast dla sterownika JDBC jest to DBMS. Adapter
zasobów oraz sterowniki JDBC są rzadko tworzone przez programistów aplikacji. W
większości przypadków oba rodzaje oprogramowania są budowane przez sprzedawców
narzędzi, serwerów czy oprogramowania integracyjnego (integration
software).
Kontrakty Adaptera Zasobów (Resource Adapter Contracts)
Są dwa rodzaje kontraktów implementowanych przez adapter zasobów.
Definiują one API, przez które komponenty takie jak Enterprise Bean uzyskują dostęp do EIS. To API jest jedynie obrazem (widokiem) zasobów jaki ma komponent na EIS.
Adapter zasobów i kontrakt systemu są jawne (przezroczyste) dla komponentu J2EE. Kontrakt systemu dołącza adapter zasobów do istotnych usług: połączenia, transakcji i bezpieczeństwa , które są zarządzane przez serwer J2EE. Kontrakt systemu łączy adapter zasobów z trzema innymi kontraktami:
kontrakt zarządzania połączeniami
wspiera rezerwację połączeń (connection pooling), technicznie zwiększa wydajność i skalowalność aplikacji. Connection pooling jest jawny (przezroczysty), dzięki czemu w prosty sposób uzyskuje połączenie do EIS.
kontrakt zarządzania transakcją
Odwołanie do EIS może być zawarte w transakcjach XA (XA-transaction). Transakcje XA są globalne - mogą zawierać odwołania do zbiorowych systemów EIS, baz danych i metod biznesowych Enterprise Bean (enterprise bean buisiness methods). Pomimo wielu zastosowań, transakcje XA nie są wymagane. Zamiast nich, aplikacja może użyć lokalnych transakcji, które są zarządzane przez konkretny system EIS, albo jest możliwość całkowitego nie korzystania z transakcji.
kontrakt zarządzania bezpieczeństwem (Security Management Contract)
Dostarcza mechanizmy autentykacji, autoryzacji oraz ochrony połączeń (komunikacji) pomiędzy serwerem J2EE a EIS.