2013-07-06 14 views
13

Prowadzę badania na temat różnicy pomiędzy aplikacją Java a aplikacją korporacyjną, a odkryłem, że mają one nieco podobną architekturę.Jaka jest różnica między aplikacją Java Web Application a aplikacją Java Enterprise?

Na przykład aplikacja korporacyjna zawiera warstwę klienta, prezentacji i logiki biznesowej oraz warstwę danych.

Klient Poziom może być klientami Java, klientami przeglądarkowymi i klientami mobilnymi.
Poziom prezentacji może być komponentami, serwletami, portalami i komponentami JSP JavaBeans.
W Business Logic Tier możesz mieć serwery, usługi sieciowe (SOAP, Restful i inne) oraz komponenty MDB.
W Poziom danych możesz mieć DBMS, LDAP i kanał danych.

Teraz, porównując te komponenty do aplikacji internetowej, można z nich korzystać bez tworzenia aplikacji Java Enterprise. Na przykład mogę użyć wielu różnych technologii do wdrożenia mojej aplikacji sieciowej, takiej jak Hibernate, Maven, JSP lub JSF, baz danych, serwletów, JavaBeans i itp.

Moje największe pytanie brzmi: jaka jest główna różnica między aplikacją Java Enterprise a Web podanie? Dlaczego warto korzystać z aplikacji Java Enterprise?

+7

Jaka jest różnica? Około 60 USD/godz. –

+0

@Ernest to nie jest główna różnica, której szukałem. Głównie od strony technologii, a nie od strony zysku. –

Odpowiedz

6

Dlaczego miałbym używać aplikacji Java Enterprise?

To pytanie powstało niemal w tym samym momencie, w którym specyfikacja sama zobaczyła światło.

Kilka książek zostało napisanych na ten temat.

Expert One-on-One J2EE Development without EJB

POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks

A także technologie jak Spring oferuje alternatywy.

Dlatego w większości przypadków można zbudować aplikację internetową spełniającą wymagania klienta bez potrzeby tworzenia aplikacji korporacyjnej.

Istnieją jednak aplikacje ze specjalnymi wymaganiami funkcjonalnymi i/lub niefunkcjonalnymi, które muszą mieć warstwę biznesową przepuszczoną przez infrastrukturę, która oferuje określone usługi, takie jak: transakcje rozproszone, przetwarzanie wiadomości, usługi timera i zdalne wywoływanie metod. .

Tego rodzaju usługi infrastrukturalne nie są dostępne na serwerach internetowych, dlatego należy opracować aplikację (lub co najmniej niektóre składniki) uruchamianą na serwerach aplikacji o dużej mocy obliczeniowej.

5

Jak widać z wersji the oracle website, Java Enterprise Edition jest specyfikacją. Istnieje wiele implementacji różnych dostawców. Główną różnicą od standardowej wersji i przedsiębiorstwa jest to, że do tego ostatniego potrzebujesz serwera aplikacji, zamiast serwera sieciowego, takiego jak tomcat. Dzieje się tak dlatego, że w przypadku umieszczenia logiki biznesowej (która istnieje tylko w specyfikacji Java EE) EJBs wymaga pojemnika, który się nimi zajmuje.

JBoss, Geronimo, Resin, WebSphere to między innymi serwery aplikacji, które zarządzają EJB.