Giới thiệu Java EE và MVC model

I.Java EE là gì???

         Java EE (Java Enterprise Editor) là một nền tảng có chứa một tập hợp các công nghệ khác nhau để tạo ra các ứng dụng mạnh mẽ và di động. Java EE được xây dựng trên nền tảng Java SE cung cấp các API (giao diện lập trình ứng dụng) để phát triển và chạy các ứng dụng phía máy chủ.
*Java SE : https://vi.wikipedia.org/wiki/J2SE

Một số thành phần cơ bản của Java EE bao gồm:

  • Enterprise Java Beans (EJB): một thành phần kiến trúc của các ứng dụng server được quản lý, sử dụng để bao gói (encapsulate) các business logic của các ứng dụng. Công nghệ EJB cho phép phát triển nhanh chóng và đơn giản hóa các ứng dụng phân tán, các giao dịch an toàn và di động dựa trên công nghệ Java.

  • Java Persistence API (JPA): một framework cho phép nhà phát triển quản lý dữ liệu bằng cách sử dụng ánh xạ đối tượng quan hệ (Object Relational Mapping – ORM) trong các ứng dụng được xây dựng trên nền tảng Java.

II.Các thành phần có trong Java EE

1.Java EE làm việc dựa trên cấu trúc 3 tầng (3 tier)

untitled

Nguyên lý hoạt động:

Client Tier : Gồm các giao diện người dùng sử dụng để truy cập ứng dụng.
Middle Tier : Kiểm soát dữ liệu của các ứng dụng thông qua Beans và các tập tin lớp khác của ứng dụng.
Data Tier : Chứa các dữ liệu cơ sở.

*Cấu trúc 3 tier là phổ biến nhất trong kiến trúc nhiều tầng (N – tier) trong đó trình bày – xử lý – quản trị dữ liệu là các phần riêng biệt.
*Kiến trúc 3 tier  cho phép người lập trình linh hoạt hơn trong việc phát triển phần mềm. Bằng cách chia ứng dụng thành các tầng. Các nhà phát triển chỉ phải chỉnh sửa hay thêm bớt trong một lớp cụ thể, thay vì phải chỉnh sửa lại toàn bộ chương trình.
*3 tier có tính vật lý nghĩa là có thể có nhiều tier đặt tại nhiều vị trí khác nhau kết nối với nhau qua internet.

2.Java EE ứng dụng đa tầng

Một ứng dụng đa tầng  có sơ đồ và các thành phần tương ứng được biểu diễn dưới hình sau:

23

Nguyên lý hoạt động: Ở hình trên, ta thấy ứng dụng Java EE chia thành các tầng chạy riêng biệt:
+Client chạy chên máy client
+Web tier và business tier chạy trên Java EE Server
+Database chạy tên database server
Như vậy tính di động đã được thể hiện.

3.Web and Application server

22
Nguyên lý hoạt động:

+Máy chủ Web chấp nhận yêu cầu từ khách hàng thông qua các trang web và
đáp ứng những yêu cầu với các trang web thích hợp.
+Các thông tin liên lạc giữa máy khách và máy chủ Web diễn ra
thông qua Hyper Text Transfer Protocol (HTTP).
+Các container chứa các thành phần khác nhau cùng cung cấp dịch vụ cho các ứng dụng. Qua đó giảm phức tạp trong khi phát triển các tính năng và cho phép lập trình viên tập trung thực hiện logic???

4.Các container có trong Java EE

Hình dưới là sơ đồ cơ bản chứa các container làm việc trong Java EE
3.JPG
Containers và thành phần cung cấp cho Java EE các dịch vụ nhằm đơn giản hóa lập trình

  • Web Container: Quản lý sự thực thi của các thành phần web, và container của chúng chạy trong máy chủ J2EE (J2EE server)

  • Enterprise Java Beans Container (EJB): Quản lý sự thực thi của các thành phần EJB, các thành phần EJB và container của chúng chạy trong J2EE server

  • Applet Container: Quản lý sự thực thi của applets (ứng dụng ký sinh)

  • Applicaton Client Container: Quản lý sự thực thi các thành phần của ứng dụng client

5.API trong Java EE 7??

Hình dưới đây là các API dùng trong EJB containers:

sss
Hình dưới đây là các API dùng trong Web containers:

dgfdf

6.Nhận xét về Java EE:

*Ưu điểm của JavaEE: JavaEE tích hợp rất nhiều các công nghệ hiện đại đáp ứng nhu cầu cao về lập trình doanh nghiệp, cùng mô hình 3 tier giúp giảm thời gian lập trình và tăng chất lượng sản phẩm. Java EE cho đến nay vẫn đang không ngừng phát triển, cập nhật thêm nhiều tính năng theo các phiên bản và cũng bỏ đi các tính năng không cần thiết.

Java EE 7 cung cấp một kiến trúc ứng dụng được đơn giản hóa với một nền tảng tích hợp, gắn kết, qua đó giảm bớt yêu cầu viết mã phần mềm thông qua khả năng chèn quan hệ phụ thuộc và sử dụng các tài nguyên mặc định; tăng cường ứng dụng ghi chú để nâng cao hiệu suất cũng như nâng cao khả năng di chuyển ứng dụng bằng khả năng hỗ trợ máy khách dịch vụ web RESTful tiêu chuẩn.

Với  Java EE phát triển ứng dụng doanh nghiệp trở nên dễ dàng và nhanh hơn với độ bảo mật cao và nguồn nhân lực ít hơn. Các nhà phát triển phần mềm có thể tập trung vào các logic thương mại của các thành phần thay vì phải quan tâm đến cơ sở hạ tầng và các nhiệm vụ tích hợp khác.

Sách đọc thêm : 
http://docs.oracle.com/javaee/6/tutorial/doc/gfirp.html

III.Mô hình MVC??

         MVC (Model-View-Controller) là một cấu trúc được sử dụng rộng rãi trong việc lập trình các ứng dụng đặc biệt là các ứng dụng lớn cấp doanh nghiệp. Nói cách khác, MVC chia code server thành 3 phần riêng biệt Model – View – Controller với 3 tác dụng khác nhau.

Hình dưới đây miêu tả cách mà MVC hoạt động(MVC pattern design) :
s
+Controller là nơi nhận yêu cầu từ phía client điều hướng yêu cầu đến Model và View, ở đây controller chính là nơi phải thực hiện công việc nhiều và khó nhất trong toàn bộ mô hình MVC.
+Model phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý
+View là nơi nhận lấy dữ liệu từ model, database và sắp xếp chúng chính xác nhờ yêu cầu từ controller và truyền về client.

*Ưu điểm của mô hình MVC:
+Theo tôi việc sử dụng MVC mang tính chất chuyên nghiệp  trong lập trình web vì nó mang tính logic cao nhưng đơn giản, phân tách rõ ràng các chức năng cần làm của một ứng dụng, qua đó nhiều người có thể làm chung dự án, phát hiện và sửa lỗi, dễ nâng cấp tính năng.
*Nhược điểm của mô hình MVC:
+MVC khi dùng trong các project nhỏ sẽ gây phức tạp vấn đề cần giải quyết

*Người ta chia MVC ra làm 2 loại là MVC1 và MVC2:

Dưới đây là sơ đồ biểu diễn MVC1 và MVC2:
1
2.png
        MVC1 là thế hệ đầu tiên sử dụng JSP/ JavaBeans để thực hiện mô hình MVC, trong MVC1 cả controller và model đều là các trang JSP. Một yêu cầu từ phía client sẽ được gửi tới trang JSP ban đầu được coi là controller xử lý, sau đó truyền lệnh thực thi đến các JavaBeans, các JavaBeans lấy dữ liệu từ database tr về cho trang JSP ban đầu sau đó trả lời phía client
         MVC2 là một mô hình mô tả kiến trúc MVC trên nền web do Sun phát minh, khác với MVC1 trong MVC2 các controller là các servlet còn Model là các class của Java, view là các trang JSP. Ở MVC2 ta thấy các logic phức tạp được viết trong controller(Hard working), các servlet nhận yêu cầu từ client qua sử lý được gửi cho Model và View để tương tác trả kết quả cho client.
Ta thấy MVC2 không kế thừa từ MVC1 nhưng làm việc hiệu quả và logic hơn.MVC2 tốt cho các dự án lớn nhưng MVC1 thì không. Với thành được phân chia theo chức năng, MVC2 có thể dễ dàng tái sử dụng. Tuy nhiên qua hình ảnh ta thấy MVC2 có phần phức tạp hơn MVC 1.

         Như vậy, trong lập trình chuyên nghiệp việc sử dụng các mô hình lập trình là điều rất quan trọng. Mô hình MVC là một trong các mô hình nên chọn cho các dự án của doanh nghiệp.

Chia sẻ:

Thích bài này:

Thích

Đang tải…