9
1.1 Tổng quan về J2EE 1.1.1 J2EE là gì Java 2 Platform Enterprise Edition viết tắt là J2EE, định nghĩa một chuẩn để phát triển những ứng dụngthương mại đa tầng (multitier enterprise applications). J2EE platform chứa đựng những tính năng tốt của Java 2 Platform như "viết một lần, chạy ở mọi nơi", JDBC (Java Database Connectivity) truy cập cơ sở dữ liệu, CORBA kết hợp với những tài nguyên đã có…Được xây dựng trên nền tảng là Java 2 Platform, J2EE mở rộng hổ trợ cho nhiều công nghệ mới như Enterprise JavaBeans, Java Servlets, JavaServer Pages và XML. 1.1.2 Kiến trúc của J2EE J2EE nền tảng sử dụng một mô hình ứng dụng phân tán đa tầng.

SungLM-EJB-8pages

Embed Size (px)

Citation preview

Page 1: SungLM-EJB-8pages

1.1 Tổng quan về J2EE

1.1.1J2EE là gì

Java 2 Platform Enterprise Edition viết tắt là J2EE, định nghĩa một chuẩn để phát

triển những ứng dụngthương mại đa tầng (multitier enterprise applications). J2EE

platform chứa đựng những tính năng tốt của Java 2 Platform như "viết một lần, chạy ở

mọi nơi", JDBC (Java Database Connectivity) truy cập cơ sở dữ liệu, CORBA kết hợp

với những tài nguyên đã có…Được xây dựng trên nền tảng là Java 2 Platform, J2EE mở

rộng hổ trợ cho nhiều công nghệ mới như Enterprise JavaBeans, Java Servlets,

JavaServer Pages và XML.

1.1.2Kiến trúc của J2EE

J2EE nền tảng sử dụng một mô hình ứng dụng phân tán đa tầng.

Hình 2-1 Mô hình đa tầng của J2EE

Page 2: SungLM-EJB-8pages

Trong mô hình ứng dụng J2EE có nhiều tầng: Tầng khách hàng (client tier), tầng

web (web tier),tầng thương mại(business tier)và tầng hệ thống thông tin thương

mại (enterprise information system tier). Tầng thương mại và tầng web nằm trên

một máy chủ ứng dụng gọi là máy chủ ứng dụng (application server) hay máy chủ

J2EE (J2EE server).Máy chủ J2EE cung cấp những dịch vụ cần thiết cho những

thành phần (component) của tầng thương mại và tầng web.

Có hai loại khách hàng (client) là: Những khách hàng ứng dụng

(application clients) và những khách hàng web (web client). Khách hàng web truy

cập tới những thành phần trong tâng web là các lớp Java Servlet hay Java

ServerPages.Những khách hàng ứng dụng là những ứng dụng độc lập, chúng truy

cập trực tiếp tới các thành phần trong tầng thương mại.

Hình 2-2 Containers và Components

Page 3: SungLM-EJB-8pages

J2EE có các loại container 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).

- EJB Container : 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.

- Application client Container : Quản lý sự thực thi các thành phần của ứng

dụng client.

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

Các công nghệ trong J2EE :

1) Java Database Connectivity (JDBC) API: JDBC là một tập hợp các giao diện cho

phép các ứng dụng Java truy cập vào cơ sở dữ liệu bất kỳ. API này có cùng một

mục đích như ODBC (Open Database Connectivity) Microsoft.

2) Remote Method Invocation (RMI): RMI là một API cho phép các đối tượng Java

để giao tiếp từ xa với các đối tượng khác.

3) Java IDL: IDL (Interface Definition Language) là một ngôn ngữ nền tảng tiêu

chuẩn khai báo độc lập được sử dụng để xác định các giao diện đối tượng triển

khai cung cấp và đối tượng khách hàng gọi. Java IDL cho phép bất kỳ đối tượng

Java để giao tiếp với các đối tượng khác trong ngôn ngữ bất kỳ bằng phương tiện

của IDL.

4) Enterprise Java Beans: Đóng gói các logic thương mại (business logic) và hổ trợ

thực hiện giao tác và bảo mật.

5) Servlets và Java Server Pages (JSP): Công nghệ dùng trong xây dựng những ứng

dụng web.

6) Java Message Service (JMS): Tập APIs cho phép ứng dụng tạo, gởi, nhận, và đọc

thông điệp bất đồng bộ.

7) Java Transaction API (JTA): JTA cho phép những ứng dụng J2EE thực hiện

những giao tác phân tán (distibuted transaction).

Page 4: SungLM-EJB-8pages

8) JavaMail: Cho phép thành phần java gởi và nhận mail.

9) Java API cho xử lý XML (Java API for XML Processing -JAXP): XML là một

định dạng dữ liệu cho các tài liệu thay thế cấu trúc trên Web. JAXP cho phép các

ứng dụng Java phân tích và chuyển đổi tài liệu XML. XML được sử dụng nhiều

trong J2EE như là một định dạng dữ liệu.

10)Java Naming và Directory Interface (JNDI): JNDI là một giao thức cung cấp một

tập API chuẩn cho phép truy cập tới những dịch vụ naming và directory.

11)Java Persistence API (JPA) : Cho phép ánh xạ giữa một lớp java với các cột trong

một bảng.

1.2 Enterprise Java Bean

1.2.1Enterprise Java Bean là gì?

EJBs là các thành phần công nghệ phía máy chủ dùng để đóng gói lớp logic

nghiệp vụ (business logic) và hổ trợ mạnh việc thực hiện các giao tác và bảo mật. EJB

cũng có một tích hợp một ngăn xếp cho messaging, scheduling, remote access, web

service endpoints (SOAP and REST), dependency injection, component life cycle,..vv.

Ngoài ra, EJBs còn kết hợp với các công nghệ khác của Java SE và Java EE như JDBC,

JavaMail, JPA, Java Transaction API (JTA), Java Messaging Service (JMS), Java

Authentication and Authorization Service (JAAS), Java Naming and Directory

Interface (JNDI), and Remote Method Invocation (RMI).

Ngày nay EJBs là một cách đơn giản cho các việc phát triển các mô hình lập

trình Java phía máy chủ, giảm độ phức tạp trong khi mang lại khả năng tái sử dụng và

khả năng mở rộng tới các ứng dụng thương mại quan trọng. Tất cả những điều đạt được

này đều xuất phát từ một lớp java nguyên thủy(Plain old Java Object-POJO) sẽ được

triển khai vào một thùng chứa (container).

Các loại EJB:

Page 5: SungLM-EJB-8pages

Session bean dùng để đóng gói logic nghiệp vụ (business logic) cấp cao và

là phần quan trọng nhất của công nghệ EJB. Các loại session bean:

- Stateless: Session bean không chứa trạng thái giao tiếp giữa các phương

thức và bất kỳ thể hiện (instance) nào của nó có thể được sử dụng cho bất

kỳ khách hàng nào.

- Stateful: Session bean có chứa trạng thái giao tiếp với khách hàng (client)

trong suốt phiên làm việc (session).

Message-driven beans (MDBs): Được sử dụng để liên kết các hệ thống bên

ngoài bằng việc nhận các thông điệp bất đồng bộ sử dụng JMS (Java Message

Service). MDBs chủ yếu được sử dụng để tích hợp các hệ thống thông điệp hướng

thành phần giữa (message-oriented middleware - MOM).

Entity Bean: Những thực thể bean kết nối với cơ sở dữ liệu thông qua ánh

xạ giữa một lớp java và một cột trong một bảng trong cơ sở dữ liệu .

1.2.2Những đặc điểm tạo nên thế mạnh của Enterprise Java Bean

EJB là một thành phần phía máy chủ và cần được thực thi trong một thùng chứa

(container). Môi trường thực thi này cung cấp các tính năng cốt yếu cho nhiều ứng

dụng thương mại như:

Page 6: SungLM-EJB-8pages

- Remote client communication: Các EJBs sử dụng giao thức RMI – Remote

Method Invocation để giao tiếp giữa client và các lớp bean. Vì vậy EJB có

thể được triệu gọi từ nhiều máy chủ khác nhau, phục vụ cho nhiều loại

client (Desktop Application, Web Application…). Rất hữu ích khi kết hợp

với các tính năng khác để xây dựng nên một kiến trúc phân tán đa tầng hoạt

động một cách ổn định.

- Dependency injection: Phụ thuộc tiêm, cho phép bean dễ dàng truy cập tới

những tài nguyên khác.

- State management: Cho phép các stateful session bean quản lý trạng thái

giao tiếp với từng client riêng biệt trong một phiên làm việc.

- Pooling: Hồ chứa, cho phép quản lý các thể hiện bean đang sẳn sàng để

thực hiện các yêu cầu từ phía client.

- Component life cycle: Cho phép Container thông báo cho bean biết khi

chuyển từ trạng thái này sang trạng thái khác.

- Messaging: Hệ thống quản lý các thao tác gởi và nhận các thông điệp bất

đồng bộ sử dụng JMS API.

- Transaction management:Quản lý việc thực thi các giao tác, đảm bảo các

giao tác thực hiện một cách an toàn.

- Security: Bảo mật cho các phương thức, lớp bean. Sử dụng chứng thực

JAAS, cho phép phân quyền truy cập trên phương thức hoặc lớp bean dựa

vào vai trò của client.

- Concurrency support: Hổ trợ giải quyết khi có nhiều yêu cầu tài nguyên

phát sinh cùng một thời điểm. Đảm bảo dữ liệu được toàn vẹn và nhất quán

- Interceptors: Sự chặn đứng lời triệu gọi một phương thức, cho phép cung

cấp các dịch vụ chứng thực, kiểm tra,… trước khi phường thức được triệu

gọi.