2013-07-06 43 views
13

Tôi đã thực hiện một số nghiên cứu về sự khác biệt giữa ứng dụng web Java và ứng dụng doanh nghiệp và những gì tôi đã tìm thấy là chúng có cấu trúc tương tự chút ít.Sự khác nhau giữa Ứng dụng web Java và Ứng dụng Java Enterprise là gì?

Ví dụ: Ứng dụng doanh nghiệp có Khách hàng -, Trình bày -, Logic nghiệp vụ - và Lớp dữ liệu.

Lớp khách hàng có thể là khách hàng Java, ứng dụng khách dựa trên trình duyệt và khách hàng di động.
Trình bày Cấp có thể là các thành phần JavaBeans, servlet, cổng và các thành phần JSP.
Trong Business Logic Tier bạn có thể có máy chủ, dịch vụ web (SOAP, Restful và những người khác) và các thành phần MDB.
Trong Cấp dữ liệu bạn có thể có DBMS, LDAP và Nguồn cấp dữ liệu.

Bây giờ, nếu chúng ta so sánh các thành phần đó với ứng dụng web, bạn có thể sử dụng chúng mà không cần tạo ứng dụng Java Enterprise. Ví dụ: tôi có thể sử dụng nhiều công nghệ khác nhau để triển khai ứng dụng web của mình như Hibernate, Maven, JSP hoặc JSF, Cơ sở dữ liệu, Servlets, JavaBeans và v.v.

Câu hỏi lớn nhất của tôi là sự khác biệt chính giữa ứng dụng Java Enterprise và Web ứng dụng? Tại sao tôi sẽ sử dụng ứng dụng Java Enterprise?

+7

Sự khác biệt là gì? Khoảng $ 60/giờ. –

+0

@Khi đó không phải là sự khác biệt lớn mà tôi đang tìm kiếm. Chủ yếu từ phía công nghệ chứ không phải từ phía lợi nhuận. –

Trả lời

6

Tại sao tôi nên sử dụng ứng dụng Java Enterprise?

Câu hỏi này phát sinh gần như cùng lúc bản thân đặc điểm kỹ thuật nhìn thấy ánh sáng.

Một số sách đã được viết về chủ đề này.

Expert One-on-One J2EE Development without EJB

POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks

Và cũng giống như các công nghệ Spring cung cấp giải pháp thay thế.

Vì vậy, trong hầu hết các trường hợp, bạn có thể xây dựng một ứng dụng web đáp ứng các yêu cầu của khách hàng mà không cần xây dựng một ứng dụng doanh nghiệp. Tuy nhiên, có các ứng dụng có yêu cầu chức năng và/hoặc chức năng đặc biệt cần phải có một lớp kinh doanh chạy trên cơ sở hạ tầng cung cấp các dịch vụ nhất định như: giao dịch phân phối, xử lý tin nhắn, dịch vụ hẹn giờ và lời gọi phương thức từ xa .

Loại dịch vụ cơ sở hạ tầng này không có trong máy chủ web, vì lý do này bạn cần phát triển một ứng dụng (hoặc ít nhất một số thành phần) chạy trên một máy chủ ứng dụng nặng.

5

Như bạn có thể thấy từ the oracle website, phiên bản Java Enterprise là một đặc điểm kỹ thuật. Có rất nhiều triển khai từ các nhà cung cấp khác nhau. Sự khác biệt chính so với phiên bản tiêu chuẩn và doanh nghiệp là cho phiên bản sau bạn cần một máy chủ ứng dụng, thay vì một máy chủ web như tomcat. Điều này là do EJBs nơi bạn đặt logic nghiệp vụ (chỉ tồn tại trong đặc tả Java EE) cần một container chứa chúng.

JBoss, Geronimo, Resin, WebSphere trong số những người khác là các máy chủ ứng dụng quản lý EJB.

Các vấn đề liên quan