EJB3 Enterprise Application Jak Portal & Client Web Apps - Architektura/Design
Jak pokazano w powyższym pic, Mam aplikacji EJB3 Enterprise (plik EAR), który działa jako portal i posiada 3 Web aplikacje (pliki WAR), które komunikują się z tym samym datastore. Te 3 aplikacje internetowe nie są implementacjami portletów, ale zwykłymi aplikacjami sieci Web, które współdziałają z magazynem danych za pośrednictwem warstwy trwałości aplikacji korporacyjnej. Te webappy są rozwijane niezależnie, więc niektóre z nich używają Webservices z aplikacji Enterprise, a niektóre z nich używają EJB-Clients.
Ponadto, istnieje inna możliwość zastąpienia tych webapps (WEB app1, Web APP2 i Web App3) i za pomocą niezależnych Apps Przedsiębiorstwo komunikacji i transakcji z bazy danych, jak pokazano poniżej:
Teraz moje pytania są następujące:
1) Jaki jest najlepszy wariant spośród wymienionych 2 opcji (powyżej)?
2) W jaki sposób wpływa ona na zastąpienie tych aplikacji internetowych działających jako klienci w aplikacji Enterprise jako niezależne aplikacje korporacyjne (pliki EAR)?
3) Jaki jest lepszy model obsługi transakcji, funkcji SSO, skalowalności i innych czynników?
4) Czy są jakieś inne lepsze modele?
EDIT:
1) W pierwszym modelu, która metoda jest preferowanym sposobem interakcji z pliku EAR - usługi sieciowe lub EJB-client plik jar/Library (interfejsy i klasy użytkowe)?
2) W jaki sposób oba modele różnią się pod względem wykorzystania pamięci (RAM serwera) i wydajności. Czy jest jakaś znacząca różnica?
Dlaczego rozważasz te 2 opcje? np. czy dla różnych opcji wdrażania? Ponadto w jaki sposób dzielisz dostęp do danych w opcji 2 - czy każda EAR ma "własność" dla własnych danych, czy też każdy z nich miałby pełny dostęp do odczytu/zapisu w całym zestawie danych? Jeśli oddzielne, gdzie są granice transakcji? Czy każda EAR musiałaby zajmować się własnymi granicami? Jaki typ magazynu danych masz i czy będzie to wąskie gardło. Czy twoja aplikacja jest głównie czytana lub pisać. Przepraszam, za wszystkie pytania - mam nadzieję, że nie odzwierciedlają one mojej własnej ignorancji! – Romski
Romski: Rozważam te 2 opcje, z własnej ciekawości i po prostu, aby dowiedzieć się, jakie są najlepsze praktyki i który jest lepiej dopasowany do naszych potrzeb. Co do twoich pytań, tak, każda EAR ma własność. Są one zaprojektowane/opracowane w ten sposób, ponieważ obsługują różne funkcje i z innych powodów biznesowych. Wszystkie aplikacje są w przeważającej mierze zarówno do odczytu i zapisu, jak i do korzystania z RDBMS. – bchetty
Sprawdź także część "Edytuj" mojego oryginalnego wpisu. – bchetty