1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu EJB Introduction & Session Bean ppt

33 205 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 1,36 MB

Nội dung

EJB Introduction & Session Bean Đào Anh Tu n – ấ datuan@fit.hcmuns.edu.vn EJB Introdution – Định nghĩa • Enterprise JavaBeans (EJB) is a platform for building portable, reusable, and scalable business applications using the Java programming language. • From a developer’s point of view, an EJB is a piece of Java code that executes in a specialized runtime environment called the EJB container, which provides a number of component services • Reusable: For example, you can implement the credit card–charging module as an EJB component that may be accessed by multiple applications • Main strength: Multithreading Các dịch vụ EJB hỗ trợ Vai trò EJB trong mô hình layers Vị trí của EJB EJB Types: • Consists of three types: ▫ Session Beans ▫ Message-Driven Beans ▫ Entity Beans • Trong đó Session và Message-Driven Beans đảm nhiệm vai trò ở tầng Business, Entity Beans đảm nhiệm vai trò ở tầng Persistence J2EE Container • EJB chỉ có thể thực thi trong các EJB Container • J2EE container cung cấp cho người dùng nhiều dịch vụ cao cấp khác nhau • Trong phạm vi môn học: Sử dụng server JBoss Bussiness Logic with Session Bean • Một ứng dụng thường bao gồm rất nhiều nghiệp vụ: Kiểm tra tài khoản, rút tiền, xuất hóa đơn … • Session Bean đóng vai trò cài đặt các chức năng nghiệp vụ cho ứng dụng. • Nói một cách đơn giản: Session bean bao gồm một tập các hàm cho phép client truy xuất để hoàn thành một công việc nào đó. • Các client có thể là một desktop application, jsp/servlet hoặc có thể là một ứng dụng .NET truy xuất theo cơ chế web service • Các hàm của session bean có thể được truy xuất từ xa, không nhất thiết phải nằm trên máy cục bộ -> ứng dụng phân tán (distributed) Advantages: Một số điểm mạnh khi dùng session bean: • concurrency and thread safety: có thể xử lý nhiều client cùng lúc mà không cài đặt các cơ chế đặc biệt (do container quản lý) • remote invocation: có thể được triệu gọi từ xa • transaction and security management [...]... không có nhu cầu sử dụng nữa và bean sẽ bị hủy Các luật: • a session bean must have at least one business interface • The session bean class must be concrete You cannot define a session bean class as either final or abstract since the container needs to manipulate it • You must have a no-argument constructor in the bean class • Business method names must not start with ejb. ” • You must define all business... sau khi bean vừa được khởi tạo: Dùng ký hiệu @PostConstruct trước khai báo hàm • Hàm cần gọi trước khi bean được hủy: Dùng ký hiệu @PreDestroy trước khai báo hàm • Khi không có nhu cầu sử dụng, các beans được đặt trong POOL Số lượng beans trong POOL sẽ được Container duy trì ở mức hợp lý Ví dụ Life Cycle – Stateful Session Beans • Mỗi khi có 1 client triệu gọi, sẽ phải phát sinh một session bean ứng... lưu trữ thông tin của client, một stateless session bean có thể phục vụ bất kỳ client nào • Container tạo sẵn một số instance và đặt trong POOL • Số lượng beans có thể ít hơn số client Lifecycle - Stateless • Stateless beans chỉ có 3 trạng thái: • Bean chưa được tạo ra • Container tạo ra các beans và đặt vào pool (idle beans) • Khi có 1 client triệu gọi, lấy bean ra khỏi pool, thực thi lệnh (busy) •... business interface of the EJB, then make sure that the arguments and the return type of the method implement the java.io.Serializable interface Xây dựng client • Gọi session bean từ servlet: Các bước: • Sử dụng JNDI để lookup Session bean Interface • Gọi hàm của bean Interface • Container sẽ tự động gọi hàm tương ứng của bean class Client không bao giờ tiếp xúc trực tiếp với bean class Ví dụ: • Quá trình... một session bean: • Gồm 2 phần: Bean interfaces và bean implementation class • Client không được phép truy xuất trực tiếp đến implementation class mà phải truy xuất thông qua interface • Interface sẽ triệu gọi hàm tương ứng của implemtation class và trả kết quả cho client Ví dụ • Hình ảnh một session bean hỗ trợ người dùng tham gia đấu giá: gồm 2 phần ▫ interface ▫ implementation class Phân loại Session. .. import java.math.BigInteger; import javax .ejb. Local; @Local public interface AdderLocal { BigInteger add(BigInteger a, BigInteger b); } Stateless Bean class: • Là nơi cài đặt hàm cụ thể: • @Stateless • Implements các interface(s) • Một session bean có thể chọn chỉ có remote/local interface hoặc cả 2 import javax .ejb. Stateless; @Stateless public class AdderBean implements AdderRemote, AdderLocal { public... chứng năng phát sinh • Passivation: Khi số lượng beans quá nhiều, container có nhu cầu cất các beans ứng với các client đã lâu không liên lạc lại với container vào đĩa cứng • Activation: Khi các client này liên lạc lại với container, phải phục hồi bean từ đĩa cứng trở lại bộ nhớ • Remove: Khi client ngắt hoàn toàn liên lạc với container, hủy session bean ứng với client đó vì không thể sử dụng lại ... bean hỗ trợ người dùng tham gia đấu giá: gồm 2 phần ▫ interface ▫ implementation class Phân loại Session Bean • Chia làm 2 loại: ▫ Stateless: Không lưu trữ bất kỳ thông tin nào từ phía client ▫ Stateful: Lưu giữ thông tin (hay còn gọi là state) của client Ví dụ minh họa • Xây dựng một stateless session bean hỗ trợ việc cộng hai số lớp (vài trăm chữ số - lớp BigInteger trong Java) • Hàm cung cấp cho user... loại interface: ▫ Local: Client và Bean nằm trên cùng một JVM ▫ Remote: Client có thể nằm ở xa Bean (khác máy tính) ▫ Web Service: Triệu gọi theo cơ chế web service • Khai báo các hàm “cam kết” sẽ hỗ trợ cho user Ví dụ về remote service • Sử dụng annotation @Remote (nếu là local interface sẽ sử dụng @Local) • Chỉ khai báo hàm import java.math.BigInteger; import javax .ejb. Remote; @Remote public interface... trình lookup: Mặc định chuỗi lookup là BeanName/remote hoặc BeanName/local try { Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); properties.put(Context.PROVIDER_URL, "localhost:1099"); Context ctx = new InitialContext(properties); AdderLocal test=(AdderLocal)ctx.lookup("AdderBean/local"); Lưu ý: • Import các gói cần . EJB Introduction & Session Bean Đào Anh Tu n – ấ datuan@fit.hcmuns.edu.vn EJB Introdution – Định nghĩa • Enterprise JavaBeans (EJB) is a. trí của EJB EJB Types: • Consists of three types: ▫ Session Beans ▫ Message-Driven Beans ▫ Entity Beans • Trong đó Session và Message-Driven Beans đảm

Ngày đăng: 16/12/2013, 13:15

HÌNH ẢNH LIÊN QUAN

Vai trò EJB trong mô hình layers - Tài liệu EJB Introduction & Session Bean ppt
ai trò EJB trong mô hình layers (Trang 5)
• Hình ảnh một session - Tài liệu EJB Introduction & Session Bean ppt
nh ảnh một session (Trang 12)

TỪ KHÓA LIÊN QUAN