Docstoc

EJB

Document Sample
EJB Powered By Docstoc
					Enterprise JavaBeans
    Components

      Giảng viên: PGS.TS Trần Đình Quế
      Học viên: Nguyễn Hữu Dương
      Lớp CH09CNT1
                     I. Kiến trúc EJB

Các đặc điểm kiến trúc EJB:
• EJB là một kiến trúc component (thành phần) dùng để phát
  triển và triển khai các ứng dụng kiểu component-based
  distributed (dựa trên các thành phần phân tán).
• Kiến trúc EJB làm cho việc phát triển các ứng dụng doanh
  nghiệp trở lên dễ dàng hơn bao giờ hết bởi vì chúng ta không
  cần quan tâm đến các mức dịch vụ của hệ thống như quản lý
  giao tác, bảo mật, đa luồng …
• Kiến trúc EJB còn hỗ trợ Write Once Run Anywhere (WORA)
  và giải pháp rất linh hoạt. Một EJB component được phát triển
  một lần rồi tái sử dụng trong nhiều ứng dụng và triển khai trên
  nhiều platform (nền) khác nhau mà không cần phải biên dịch
  lại hay thay đổi mã nguồn của EJB component.
               Kiến trúc EJB (tiếp)

• Kiến trúc EJB còn quản lý lifecycle (vòng đời) EJB
  component từ khi tạo ra cho đến khi kết thúc bao gồm cả
  việc EJB component đó có hoạt động hay không hoạt động.
• Kiến trúc EJB cung cấp các dịch vụ về Web và tương thích
  với CORBA.
• Một EJB component là một server-side cung cấp các dịch
  vụ cho các client từ xa hay cục bộ.
                Kiến trúc EJB (tiếp)



         EJB1      EJB2                 JSP      Servlet



          EJB Container                 Web Container




                          J2EE Server
Client
                                                           DB




                 Cơ sở hạ tầng của EJB
                   II. EJB Container

• Các EJB instance chạy trong EJB container. Container là
  môi trường chạy, nó điều khiển một EJB component
  instance và cung cấp tất các dịch vụ quản lý cần thiết như:
       - Quản lý giao tác.
       - Quản lý bảo mật.
       - Quản lý persistencs.
       - Quản lý vòng đời (lifecycle).
• EJB container cung cấp giao diện để một EJB component
  giao tiếp với bên ngoài. Tất cả các yêu cầu tới EJB
  component và EJB component đáp ứng lại đều phải thông
  qua EJB container.
               II. EJB container (tiếp)

• EJB container chịu trách nhiệm sinh ra một đối tượng EJB
  home nhằm để xác định vị trí, tạo ra và di chuyển một đối
  tượng EJB component.


                  EJB                                                 EJB




                                               EJB context


                                      Container Service
                        (Security, transaction, life cycle, persistence)




    request



                                   EJB container
       III. Mô hình thành phần của EJB

• Một EJB component có những đặc điểm sau:
  - Chứa các business logic để thao tác với dữ liệu
  thông qua một interface gọi là remote interface.
  - Được tạo ra và quản lý bởi EJB container gọi là
  home interface.
  - Có EJB class để thực thi hai interface này là
  home và remote interface.
  - Xử lý các truy cập của client.
         III. Mô hình thành phần của EJB (tiếp)
            1.Look up(“myEJB”)
                                                      JNDI


                                                             Register



              2,Create()
                                 EJB Home
                                                             EJB
Client                                                       Class
           3. Invoke method                   New()
                                 EJB Object




                                                  EJB Context


                                                EJB     Container
     III. Mô hình thành phần của EJB (tiếp)

• Enterprise beans là các thành phần phần mềm có thể nhúng
  vào nhiều các ứng dụng mà không cần phải biên dịch và
  sửa đổi lại mã nguồn. EJB component có những loại
  enterprise bean sau:
   1. Session beans: Có 2 loại session bean đó là statetless
      session beans và stateful session beans.
      - Stateless session beans thực thi các công việc business
      logic như dịch ngôn ngữ, quá trình truy cập, tính thuế,
      chuyển đổi tiền tệ.
      - Stateful session beans cũng tương tự như stateless
      session beans nhưng chúng lưu lại trạng thái giao tiếp
      từ client đến EJB component. Ví dụ giỏ hàng mua sắm
      là một stateful session bean điển hình.
 III. Mô hình thành phần của EJB (tiếp)

2. Entity Bean: Có 2 loại Entity Bean đó là Bean
   Managed Persistence (BMP) entity beans và Container
   Managed Persistence (CMP) entity beans
– Bean Managed Persistence (BMP) entity beans: các
   entity beans lưu trữ persistent và được quản lý bởi
   chính các bean này.
– Container Managed Persistence (CMP) entity beans:
   các entity beans lưu trữ persistent bằng các công cụ
   phát triển và quản lý bởi container.
    III. Mô hình thành phần của EJB (tiếp)

3. Message-Driven Beans:
   - MDB component là một loại khác của Java server
   component chạy trong EJB container.
   - MDB component làm việc như một người đang
   nghe hàng đợi và được hỗ trợ bởi Java Massage
   Server (JMS).
   - Công nghệ MDB có thể làm việc theo hai cách
   PTP (point to point) và publisher/subscriber.
   - Công nghệ MDB làm việc chế độ không đồng bộ.
   III. Mô hình thành phần của EJB (tiếp)

Một MDB component làm việc theo cách sau:
- Container đăng ký MDB component này với JMS.
- JMS đăng ký tới tất các JMS đích với Java Naming
  and Directory Interface(JNDI).
- EJB container đưa ra MDB.
- Client tìm tới đích với MDB này.
- Client gửi một message tới đích.
- EJB container chọn MDB phù hợp với message
  cần dùng.
           IV. Mô hình kết nối của EJB

• Mô hình kết nối của EJB đưa ra nguyên tắc thiết kế để
  liên kết các thành phần của EJB sao cho có hiệu quả
  nhất.
• Các kết nối giữa 2 EJB component có thể là đồng bộ
  hay không đồng bộ và việc kết nối này phải thông qua
  các remote hay local interface của EJB components.
• Sự tương tác đồng bộ sẽ dẫn tới các thành phần của
  EJB được kết hợp chặt chẽ hơn.
• Sự giao tiếp không đồng bộ giữa client và server là kết
  hợp “lỏng lẻo” thì cho ta hiệu suất cao hơn.
             IV. Mô hình kết nối của EJB (tiếp)

                                                    Session Bean
                          Home
JSP or Servlet
or Application
    Client
                          Remote




      Home                          Home


    Remote or                      Remote or
      Local                          Local


                    BMP                         CMP




             DB                                DB
           V. Mô hình triển khai EJB

• Một EJB component được đóng gói dưới dạng file
  .jar và kết hợp lần lượt với các gói khác Web
  component (.war) và J2EE application client (.jar)
  trong J2EE application file(.ear).
• Sau khi tạo code cho enterprise bean và client của
  nó chúng ta cần biên dịch chúng thành các flie
  class.
• Tiếp theo chúng ta cần đóng gói các EJB
  component (.jav), Web component (.war) với
  XML, sau đó kết hợp tất cả các file này vào một
  file (.ear) và phát triển trên một máy chủ.
                      Mô hình triển khai EJB
                                     ...                        ...
                                EJB Component        Web component
                             EJB DD               DD XML
     Client
                            EJB class             Servlet or
Client DD
                            Remote Interface      JSP or
Java applet or
application                 Home Interface        HTML
.jar (java archive)         .jar( java archive)   .war( web archive)




                              J2EE application
                              J2EE application
                                   DD XML
                               .ear (enterprise
                                   archive)

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:356
posted:3/26/2012
language:Vietnamese
pages:16