Báo cáo giữa kỳ môn xử lý phân bố: Enterprice java bean (EJB)

53 45 0
Báo cáo giữa kỳ môn xử lý phân bố: Enterprice java bean (EJB)

Đ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

Enterprise Java Bean 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. Enterprise Java Bean 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, Enterprise Java Beans 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).

Đại Học Quốc Gia Thành Phố Hồ Chí Minh Trường Đại Học Công Nghệ Thông Tin - - BÁO CÁO GIỮA KỲ MÔN XỬ LÝ PHÂN BỐ Đề Tài: Enterprice Java Bean (EJB) - Giảng viên :  Th.s Nguyễn Trác Thức - Sinh viên thực :  Hoàng Văn Hà 09520074  Mai Văn Khải 09520133  Hồ Đức Lợi 09520162  Trần Trung Đức 09520067 TP.HCM, ngày 23 tháng 12 năm 2012 Lời Nói Đầu Enterprise Java Bean 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) hổ trợ mạnh việc thực giao tác bảo mật Enterprise Java Bean có tích hợp ngăn xếp cho messaging, scheduling, remote access, web service endpoints (SOAP and REST), dependency injection, component life cycle, vv Ngồi ra, Enterprise Java Beans cịn kết hợp với công nghệ khác Java SE Java EE 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 Enterprise Java Beans cách đơn giản cho việc phát triển mơ hình lập trình Java phía máy chủ, giảm độ phức tạp mang lại khả tái sử dụng khả mở rộng tới ứng dụng thương mại quan trọng Tất điều đạt xuất phát từ lớp java nguyên thủy(Plain old Java Object-POJO) triển khai vào thùng chứa (container) Chính vậy, nhóm chúng em tìm hiểu trình bày Enterprise Java Bean Do trình tìm hiểu tài liệu gấp rút thời gian nên cịn nhiều sai sót Mong nhận góp ý thầy bạn Mục Lục Bảng phân chia cơng việc nhóm Message Driven Bean I 1.1 Một số khái niệm liên quan 1.1.1 Message 1.1.2 Đồng bất đồng 1.1.3 Hệ thống EMS – Enterprise Message System 1.1.4 Hệ thống JMS - Java Message Service (Producer) 1.2 Message Driven Bean (Consumer) 11 1.2.1 Giới thiệu 11 1.2.2 Chu kỳ Message Driven Bean 12 1.2.3 Consumer cho Topic Destination 13 1.2.4 Consumer cho Queue Destination 14 1.2.5 Producer cho Topic Destination 14 1.2.6 Producer cho Queue Destination 16 JAVA PERSISTENCE API 17 II 2.1 JDBC ORM 17 2.1.1 JDBC gì? 17 2.1.2 ORM gì? 17 2.2 JPA gì? 18 2.3 Entity 19 2.3.2 Entity 19 2.4 Persistence Context 24 2.5 Entity Manager 25 2.5.1 Thao tác với Entity 25 2.5.2 Persistence Unit 27 2.6 Java Persistence Query Language 27 2.6.1 JPQL 27 2.6.2 Cấu trúc truy vấn JPQL 28 2.6.3 Các kiểu query 30 Transaction EJB 34 III 3.1 Transactions 34 3.2 Container – managed transaction 34 3.2.1 Khái niệm 34 3.2.2 Transaction attribute 36 3.2.3 Thiết lập transaction attribute 38 3.3 Bean – managed transaction .40 3.3.1 3|Trang Khái niệm 40 3.3.2 Các method hỗ trợ .41 3.3.3 Thiết lập transaction timeout với bean – managed transaction 41 3.4 3.4.1 Trường hợp EJB với bean – managed transaction 42 3.4.2 Trường hợp EJB với container – managed transaction 42 EJB Security 43 IV 4.1 V Xử lý exception 42 Các khái niệm 44 4.1.1 Tổng quan 44 4.1.2 Các chế áp dụng Security 44 4.2 Mơ hình J2EE Security .45 4.3 JAAS Framework .46 4.4 Security EJB 50 Tài liệu tham khảo .53 4|Trang Bảng phân chia cơng việc nhóm stt Họ Tên thành viên Mã số sinh viên Cơng Việc Hồng Văn Hà 09520074 Tìm hiểu JPA, Entity, JPQL Hồ Đức Lợi 09520162 Tìm hiểu EJB Security Mai Văn Khải 09520133 Tìm hiểu Message Driven Bean Trần Trung Đức 09520067 Tìm hiểu Transaction Processing Mỗi thành viên tự chuẩn bị cho slide phần demo mình! 5|Trang I Message Driven Bean 1.1 Một số khái niệm liên quan 1.1.1 Message Khi client gọi phương thức máy xa chất tạo request thread/process bị block lại để chờ response trở làm trì hỗn q trình xử lý, điểu làm cho hiệu suất chương trình bị giảm độ tin cậy khơng cao Thay người ta đưa chế giao tiếp cách chuyển thông tin qua định dạng dùng chung qua đối tượng trung gian không cần mong kết trả Cơ chế địi hỏi phải có đối tượng trung gian để nhận chuyển message độc lập với việc xử lý Cơ chế cho phép khả truyền message đến nhiều đối tượng nhận lúc (broadcast) Cơ chế có hạn chế làm tải đối tượng trung gian - Đối tượng theo định dạng giao tiếp dùng chung message - Đối tượng trung gian MOM – Message Oriented Middleware hay MQ – Message Queue Hỗ trợ chế tương tự DB với việc nhận gửi message, đảm bảo toàn vẹn liệu, transaction cân cho việc gửi nhận liệu Nơi lưu trữ liệu tương tác với MOM có tên gọi Destination 1.1.2 Đồng bất đồng - Đồng (synchronous): giao tiếp đồng sảy hai bên liên lạc trực tiếp với Người nhận thơng điệp xử lý sau phải gửi thông điệp phản hồi lại cho người gửi để người gửi tiếp tục thực công việc 6|Trang - Bất đồng (asynchronous) sảy hai bên giao tiếp không liên hệ trực tiếp với Người nhận xử lý thông điệp nhận khơng cần gửi thơng tin phản hồi lại cho người gửi 1.1.3 Hệ thống EMS – Enterprise Message System EMS cung cấp chế gửi nhận message đồng bất đồng Người gửi gửi message đến middleware, middleware tự chuyển message đến người nhận Hệ thống EMS nhìn tương đương sống thực tế hệ thống gửi nhận SMS theo cách nhìn điện thoại gửi tin nhắn cho thông qua tổng đài, máy nhận tin nhắn tự động tổng đài đưa tin nhắn đến máy Bên cạnh đó, người nhận tin nhắn khơng cần bật điện thoại thời điểm gửi Hệ thống EMS giống tương tự hệ thống khác email, cho phép lưu trữ message sau người dùng sử dụng account với quyền xác thực truy cập vào mail server để lấy thông tin message theo nghĩa không gửi mail cho mà gửi thông qua object trung gian 1.1.4 Hệ thống JMS - Java Message Service (Producer) Java Message Service (JMS) API cho phép truy cập vào hệ thống nhắn tin bất đồng JMS cung cấp mơi trường lập trình điểm-điểm (Point-to-Point) Xuất đăng ký (publish-and-subscribe) 7|Trang - Mơ hình Point-to-Point messaging dùng cho việc chuyển giao thông điệp theo kiểu 1-1, tức client gửi thơng điệp đến server Nó xây dựng dựa khái niệm message queue (hàng đợi thông điệp) Mỗi thông điệp gửi tới hàng đợi định; clients nhận thông điệp từ hàng đợi thiết lập để giữ thông điệp Hình sau cho vài tình chế truyền thông điệp Point-to-Point Như thấy hình trên, hàng có nhiều người gửi thơng điệp có nhiều người nhận người nhận nhận thông điệp hàng đợi Tuy nhiên, Point-to-Point model, client chọn thơng điệp mà cho phép viếng thăm khơng lấy giá trị (peek) - Mơ hình Pub/Sub messaging dùng cho việc phát tán thông điệp (one-to-many broadcast) Nó xây dựng khái niệm chủ đề thông điệp (message 8|Trang topic) Mỗi thông điệp đăng (publish) lên chủ đề (topic) phát tán cho tất clients mà có đăng ký (subscibe) chủ đề Đối tượng Topic đóng gói tên định nhà cung cấp dịch vụ Điều tương tự khái niệm newsgroups, user đăng ký chủ đề mà u thích, user nhận copy thông điệp đăng lên newsgroup mà đăng ký Hình sau cho số tình chế truyền thơng điệp Pub/Sub Trong mơ hình Pub/Sub, JMS client durable subscriber để ngắt kết nối sau kết nối lại để lấy thơng điệp mà đăng ký JMS API cung cấp tất chức hỗ trợ tạo, thêm, xóa, gửi nhận message  Đích đến (Destination) Message gửi đến điểm đến logic điểm đến vật lý, producer consumer khơng biết Producer gửi message đến đích đến logic, nơi mà consumer đăng ký Các máy chủ thông điệp chịu trách nhiệm cho việc định tuyến tin nhắn gửi đến địa điểm cụ thể cho consumer đăng 9|Trang ký Có hai loại đích đến Topic Queue tương ứng với mơ hình (Đã trình bày trên)  Cấu hình cho Destination - Topic Destination  Tạo file xml thư mục deploy JBOSS (…\server\default\deploy) Tên file nên kết thúc với -service.xml  Nội dung file lưu giữ têm topic destination Ví dụ : file: deploy\myTopic-service.xml myTopic jboss.mq:service=DestinationManager - Queue Destination Tạo file xml thư mục deploy JBOSS (…\server\default\deploy) Tên file nên kết thúc với -service.xml Nội dung file lưu giữ têm topic destination Ví dụ : file: deploy\myQueue-service.xml myQueue jboss.mq:service=DestinationManager 10 | T r a n g myEJB * Required - Thiết lập transaction attribute cho method cụ thể Cách sử dụng để đề cập đến method component interface cụ thể EJB myEJB methodA Supports 39 | T r a n g 3.3 Bean – managed transaction 3.3.1 Khái niệm Container – managed transaction có nhiều ưu điểm sử dụng phổ biến nhiên số tình huống, Container – managed transaction không đủ để thực quản lý điểu khiển transaction việc tùy biến điểm bắt đầu transaction method, commit rollback transaction Lúc xem xét việc sử dụng Bean – managed transaction Với bean – managed transaction transaction quản lý code bean package net.javabeat.articles.ejb.txnmgmt.bean; import import import import import javax.annotation.Resource; javax.ejb.Stateless; javax.ejb.TransactionManagement; javax.ejb.TransactionManagementType; javax.transaction.UserTransaction; @TransactionManagement(value=TransactionManagementType.BEAN) @Stateless public class BillPaymentBeanBean implements BillPaymentBeanLocal { @Resource private UserTransaction userTransaction; public void payBill() throws Exception{ try{ userTransaction.begin(); provideBillDetailsInfo(); identifyCustomerAccount(); makeBillPayment(); userTransaction.commit(); }catch (IncorrectBillDetailsException exception){ userTransaction.rollback(); }catch (InvalidCustomerAccountException exception){ userTransaction.rollback(); }catch (PaymentException exception){ userTransaction.rollback(); } } private void identifyCustomerAccount() throws InvalidCustomerAccountException { } private void makeBillPayment() throws PaymentException{ 40 | T r a n g } private void provideBillDetailsInfo() throws IncorrectBillDetailsException{ } } Không container – managed transaction, session bean message-driven bean sử dụng bean – managed transaction 3.3.2 Các method hỗ trợ Để sử dụng Bean – managed transaction, dùng method UserTransaction interface methods Diễn giải void begin() Tạo transaction kết hợp với thread void commit() Hoàn tất transaction liên quan đến thread int getStatus() Trả trạng thái transaction liên quan đến thread void rollback() Rollback transaction liên quan đến thread void setTransactionTimeout(int Thay đổi giá trị timeout liên quan đến seconds) transaction bắt đầu thread với method begin() 3.3.3 Thiết lập transaction timeout với bean – managed transaction Transaction timeout chế hữu ích việc xác định khoảng thời gian dự kiến để thực transaction Điều cho phép ứng dụng tăng cường kiểm soát quản lý transaction Các nhà phát triển EJB xác định timeout cho transaction EJB với BMT cách gọi method setTransactionTimeout() UserTransaction interface Nếu thời gian transaction vượt giá trị timeout quy định, transaction manager rollback transaction tự động 41 | T r a n g ví dụ sau thiết lập giá trị transaction timeout 30 giây: // obtain user transaction context ut = ejbContext.getUserTransaction(); // set transaction timeout before beginning a transaction ut.setTransactionTimeout(30); // start a transaction ut.begin(); Lưu ý: timeout phải thiết lập trước bắt đầu transaction Việc thiết lập timeout không ảnh hưởng tới transaction trước Xử lý exception 3.4 3.4.1 Trường hợp EJB với bean – managed transaction Thể bean không tự động rollback transaction client Client phải chủ động bắt đưa xử lý phù hợp exception khối try – catch Ví dụ: @Resource private UserTransaction transaction; public void someBizMethod(){ try{ transaction.begin(); }catch (NullPointerException npe){ transaction.commit(); } } 3.4.2 Trường hợp EJB với container – managed transaction 42 | T r a n g Khi system exception ném ra, container tự động rollback transaction Khi application exception ném lỗi business logic, container không tự động rollback transaction EJB phải gọi method setRollbackOnly()của EJBContext interface để thông báo cho container thực rollback transaction Ví dụ: public class RegistrarEJB implements SessionBean{ SessionContext ctx; public void registerForCourse(String courseID) throws InsufficientRoomException { try { rs = updateCourse(courseID); if (rs < 0) { // Application-level exception ctx.setRollbackOnly(); throw new InsufficientRoomException(); } } catch (SQLException ex) { // This is a system-level exception throw new EJBException ("Transaction rollback due to SQLException: "+ex.getMessage()); } } } IV EJB Security 43 | T r a n g 4.1 Các khái niệm 4.1.1 Tổng quan Security yếu tố thiếu sau chức ứng dụng hoàn tất số lý sau đây: Ứng dụng sử dụng triển khai ứng dụng dạng phân tán, người dùng dùng web browser để truy cập ứng từ thiết bị cá nhân đến server xa Việc truy cập đường truyền với băng thông nhỏ, số lượng người dùng lúc truy cập có người sử dụng dẫn đến việc truy cập chậm chạp Chính tốc độ chậm chạp dẫn đến kẻ cơng chụp packet truyền để thay đổi thông tin hay lấy thông tin để sử dụng thông tin bất hợp lý Ngồi ra, thơng tin sử dụng ứng dụng phải có phân biệt rõ ràng phép xem nội dung nào, sử dụng chức để đảm bảo tính bảo mật thơng tin khơng bị phá vỡ q trình xử lý hay truy cập thông tin bất hợp khác Vấn đề nhằm hạn chế sai sót xử lý 4.1.2 Các chế áp dụng Security Có chế áp dụng Security: - Authentication: xác thực người dùng thành viên hệ thống thông qua username, password (pin), vân tay,thẻ từ, … - Authorization: đối tượng thành viên hệ thống sau authentication thành công hệ thống thông qua chế xác thực quyền phép họ sử dụng chức liệu quyền hạn họ, không phép thấy hay xâm phạm hay sử dụng chức mà họ không cho phép 44 | T r a n g - Data Integrity: đảm bảo thông tin truyền không bị thay đổi hay truy cập truyền mạng hay đường truyền - Confidentiality: Thông tin mã hóa truyền kênh đặc biệt (như SSL: Socket Secure Layer) dựa thông tin authentication authorization 4.2 Mơ hình J2EE Security Ứng dụng J2EE cấu tạo mơ hình 03 lớp: Client (chứa EJB Client truy cập middleware qua console hay thành phần Web module truy cập middleware qua browser), Middleware – application server (chứa Web Container xử lý Web EJB Container xử lý nghiệp vụ ứng dụng) CSDL (dùng để chứa xử lý liệu) Client truy cập vào middleware phải xác thực để truy cập vào container tuân theo qui luật container 45 | T r a n g Trên middleware, thành phần container thực chế xác thực để truy cập lẫn đảm bảo ứng dụng có tính bảo mật cao Middleware q trình xử lý phải thực truy cập vào CSDL với xác thực CSDL quyền hạn thao tác CSDL để lấy liệu xử lý Cơ chế bảo mật J2EE đảm bảo cho ứng dụng có tính bảo mật cao Server Authentication/ Authorization Authorization Client Servlets Web Container Browse r JSPs Databas e Web Authentiaction Sercurity Mơ hình J2EE Sercurity 4.3 JAAS Framework Java Authentication and Authorization Services (JAAS) framework cung cấp Authencation Authorizaion cho ứng dụng Java Cơ chế bảo mật JAAS - Xác định tài nguyên – resources cần bảo mật - Xác định provider phù hợp cho tài nguyên cần bảo mật - Dùng phương thức security provider resources để thực bảo mật - Cung cấp chế để với client sử dụng tài nguyên bảo mật Một số cách thức bảo mật Basic Authentication 46 | T r a n g - Sử dụng chế người dùng muốn truy cập client phải nhập username password thông qua cửa số popup sercurity hỗ trợ từ cửa sổ web browser - Nếu xác thực người dùng truy cập Web, ngược lại browser hiển thị trang web không tồn hay không load trang web Form-based Authentication - Tương tự chế Basic authentication developers thực tạo form web (html, jsp …) với control để tiếp nhận username password để đón nhận giá trị nhập người dùng thực xác thực (có thể code hay container hỗ trợ) Digest Authentication - Hệ thống yêu cầu thông tin xác thực - Client cung cấp thông tin để chuyển tới server - Server xác định thông tin, đúng, tạo token chứa thông tin mã hóa gửi cho client - Client nhận token phải dùng cách giải mã tương ứng, thực được, thông tin gửi lại server client phép truy cập hệ thống - Bất kỳ giai đoạn có lỗi phát sinh việc authentication coi khơng hiệu lực - Cơ chế có tính bảo mật cao thơng tin mã hóa Certificate based Authentication - Sử dụng dạng xác thực trung tâm chứng thực có uy tín để xác thực - Dữ liệu mã hóa truyền kênh đặc biệt server xác thực, kênh khơng mở liệu không đến server - Áp dụng SSL hay HTTPS - Các thành phần JAAS - Login module: thực chế authentication authorization qua việc xác thực username hay password Đối tượng tương tác trực tiếp với client - Login context: client sử dụng đối tượng để cung cấp thơng tin q trình login 47 | T r a n g - CallbackHandler Callback: Hỗ trợ tương tác client Login module Loginmodule dùng Callback để lấy thông tin Client CallbackHander cung cấp thông tin cho Loginmodule - Principal and Group: class để Login module chứa thông tin authentication (Principal) authorization (group) - Subject: đối tượng chứa thông tin liên quan đến client sau login thành công để sử dụng cho authentication - Một số đối tượng khác: Principal: thông tin xác định đối tượng (ví dụ: username) Credenticals: thơng tin cung cấp thuộc tính liên quan đến đối tượng bảo mật (ví dụ: password) Cơ chế thực Authentication: client truy cập resource bảo mật Server có bước xử lý sau: - Client gửi thơng tin có liên quan đến việc login đến CallbackHandler (ví dụ: username, password) để thực khởi tạo lưu trữ giá trị để sử dụng bước - CallbackHandler đưa thông tin đến Login Context để khởi tạo cho trình thực authentication - Login Context thực tạo instance LoginModule, thông báo cho Login Context Login Context đưa đối tượng cho Client (tương tự chế client truy cập EJB thông quan EJBObject) - Client gọi phương thức Login đối tượng Login Module - Login module yêu cầu thông tin xác thực từ CallbackHandle để lấy thông tin mà client cung cấp trình khởi tạo - Login module thực xử lý xác thực Nếu xác thực sai, đưa exception cịn thơng báo cho user - Việc xác thực thành công, thông tin client lưu trữ đối tượng Subject thông qua Login Context 48 | T r a n g Cơ chế thực authorization: Client hay user truy cập phương thức Server Thông tin user Subject cung cấp để xác định role tương ứng Nếu không truy cập thông báo lỗi, ngược lại gọi phương thức thực thi Có 02 cách thức để thực authorization: Declarative: - Khơng cần lập trình mà mô tả thông tin qua deployment descriptor - Deployment descriptor mô tả thông báo cho container roles security security constraints để client truy cập phương thức phải tuân theo qui tắc bảo mật Đặc biệt container hỗ trợ chế security cho ứng dụng deploy vào container - Cấu hình security cho ứng dụng EJB deploy server Jboss Programmatic: - Lập trình bảo mật trực tiếp Bean - Các phương thức xử lý business tích hợp với kiểm tra bảo mật - Có khả kết hợp với declarative để tăng tính uyển chuyển việc vận dụng bảo mật Việc xác thực phân quyền JAAS mơ hình J2EE/JavaEE container kiểm tra ACL – Access Control List 49 | T r a n g ACL tập tin tài nguyên chứa đựng thông tin liên quan đến quyền xác - thực nhóm user phân quyền Khi có request gửi đến server lời yêu cầu bắt buộc container - kiểm tra ACL, tồn thành viên tiếp tục kiểm tra quyền để thành viên cấp quyền truy cập tài nguyên hay bị từ chối khơng có phép truy cập 4.4 Security EJB Login module JBoss thể qua security domain với JNDI có cú pháp java:/jaas/ JBoss hỗ trợ sẵn domain mặc định others JBoss cung cấp UserRolesLoginModule nhằm lấy username, password role từ tập tin ACL, cụ thể ACL thể qua tập tin properties ejb package users.properties: Chứa username password theo hàng với dạng username=password (lưu ý: khơng có khoảng cách thành phần khai báo) Ví dụ: users.properties admin=123456 guest=123456 roles.properties: Chứa nội dung phân quyền cho user, thông tin lưu trữ thành hàng có dạng username=roles[, role2][,…][, rolen] (lưu ý: tên username phải tồn tập tin users.property role có nhiều cách dấu phẩy) Ví dụ: 50 | T r a n g roles.properties admin=admin,manager guest=user  Các bước xây dựng ứng dụng EJB có áp dụng Security Bước 1: Tạo đối tượng ứng dụng hỗ trợ EJB Bước 2: cấu hình LoginModule với file properties đặt thư mục application users.properties roles.properties Bước 3: bổ sung cấu hình security tập tin deployment descriptor thành phần element hỗ trợ khai báo security Bổ sung việc xác định domain tập tin jboss.xml java:/jaas/tên domain Bổ sung thành phần resource, phương thực cần hỗ trợ security tập tin ejbjar.xml tên role file roles các security role khác tên role file roles tên ejb tên method loại dữ liệu … 51 | T r a n g Cấu hình nhiều phương thức, để cấu hình tồn phương thức dùng dấu * Bước 4: xây dựng client truy cập vào ứng dụng thông qua xác thực Đối với ứng dụng web – bổ sung cấu ứng authentication authorization tập tin web.xml (xác định tài nguyên security) tên resource /* hay tên tài nguyên/thư mục HEAD (xác định các phương thức HTTP security) GET PUT POST DELETE (xác định các roles phép truy cập tài nguyên) tên role – tồn file roles các role khác (xác định chế mã hóa dữ liệu để truyền đi) NONE|INTEGRITY|CONFIDENTIAL (NONE: khơng mã hóa; INTEGRITY: mã hóa; CONFIDENTIAL: mã hóa truyền kênh riêng) (xác định chế authentication) BASIC|FORM|DIGEST (xác định các roles security để truy cập ứng dụng) tên role 52 | T r a n g các security role khác Bước 5: Đóng gói ứng dụng, deploy testing ứng dụng Một số thông tin hay phương thức hỗ trợ xử lý security Bean EJB EJB Context gateway đến container có khả truy cập từ bên bean Do vậy, phương thức callbacks hoạt động EJB Context để tương tác với container cách dễ dàng EJB Context sử dụng javax.ejb.EJBContext với chức hỗ trợ Mô tả Methods getHome() Sử dụng để lấy đối tượng Home Object getCallerPrincipal() Sử dụng để lấy định danh bảo mật client truy cập vào hệ thống để xác định vai trị client việc truy cập chức EJB isCallerInRole(String role) Xác định client có phân quyền – role hay khơng setRollbackOnly() Thiết lập chế độ rollback transaction hành cho instance bean getRollbackOnly() Xác định xem transaction có đánh dấu rollback khơng getUserTransaction() Lập trình để thực điều khiển transaction Session – Entity Context Interface extends từ EJBContext, vậy, session bean truy cập tất phương thức EJBContext V Tài liệu tham khảo 1) http://en.wikipedia.org/wiki/Java_Persistence_Query_Language 2) http://meri-stuff.blogspot.com/2012/03/jpa-tutorial.html 3) http://www.objectdb.com/java/jpa 4) http://en.wikipedia.org/wiki/Java_Persistence_API 5) http://ejbvn.wordpress.com/category/week-3-advanced-ejb-applications/ 6) http://www.javabeat.net/2010/11/managing-transactions-in-ejb-3-0/ 7) sách Manning - EJB in Action, Debu Panda - Reza Rahman - Derek Lane 53 | T r a n g ... cycle, vv Ngoài ra, Enterprise Java Beans cịn kết hợp với cơng nghệ khác Java SE Java EE JDBC, JavaMail, JPA, Java Transaction API (JTA), Java Messaging Service (JMS), Java Authentication and Authorization... setMessageDrivenBeanContex(…) sử dụng contener để thông báo bean transaction bean trạng thái với contener 1.2.2 Chu kỳ Message Driven Bean MDBs có chu kỳ sống tương tự stateless session beans MDBs... việc sử dụng Bean – managed transaction Với bean – managed transaction transaction quản lý code bean package net.javabeat.articles.ejb.txnmgmt .bean; import import import import import javax.annotation.Resource;

Ngày đăng: 03/08/2020, 20:52

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan