Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
756,5 KB
Nội dung
LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tới tồn thể thầy giáo trường cao đẳng cơng nghệ hà nợi nói chung, Viện Công nghệ thông tin Truyền thông, bộ môn Hệ thống thơng tin nói riêng đă trao cho em kiến thức quư báu để làm người đủ vững tin bước vào cuộc sống Em xin bày tỏ lời cảm ơn sâu sắc tới Thầy Th.S Phạm Văn Việt, người thầy đã hướng dẫn tận tình, ủng hợ truyền cho em có kiến thức quý báu để hoàn thành tốt đồ án tốt nghiệp định hướng phát triển tương lai Cuối cùng, xin gửi lời cảm ơn chân tình đến người bạn đã sẻ chia kiến thức, rùi mài kinh sử mái trường hitech thân yêu đã giúp vượt qua lúc khó khăn c̣c sống Phần 1: Lời nói đầu Ngày nay, có nhiều nhà phát triển muốn viết ứng dụng theo kiểu giao dịch cho doanh nghiệp yêu cầu mặt tốc độ, bảo mật, đáng tin cậy cơng nghệ phía máy chủ Nếu bạn làm việc lĩnh vực này, hẳn bạn biết chuyển động nhanh yêu cầu giới thương mại điện tử công nghệ thông tin, thì ứng dụng doanh nghiệp phải thiết kế, xây dựng xử lý cho chi phí thấp nhất, tốc đợ nhanh tốn nguồn tài nguyên hết Để giảm chi phí để theo dõi mợt cách nhanh việc thiết kế phát triển ứng dụng thì hệ Java™2, va2 Enterprise Edition (J2EE™) đã cung cấp một phương pháp tiếp cận dựa thành phần để thiết kế, phát triển, gom lại triển khai ứng dụng doanh nghiệp Hệ J2EE cung cấp một mô hình ứng dụng theo kiểu đa tầng, tái sử dụng thành phần, bảo mật thống nhất, linh hoạt việc kiểm soát giao dịch dịch vụ web hỗ trợ thông qua trao đổi liệu tích hợp Extensible Markup Language (XML) – theo tiêu chuẩn mở giao thức Không giúp bạn cung cấp giải pháp kinh doanh bạn thị trường một cách nhanh nhất, mà làm cho giải pháp thành phần độc lập hệ J2EE không phụ thuộc vào sản phẩm, ứng dụng lập trình giao diện nhà cung cấp Các nhà cung cấp khách hàng tự chọn lựa sản phẩm thành phần đáp ứng tốt yêu cầu kinh doanh công nghệ họ Bài hướng dẫn sử dụng ví dụ để mơ tả tính chức có sẵn phiên tảng J2EE 1.4 cho việc phát triển ứng dụng doanh nghiệp Cho dù bạn một người một nhà phát triển giàu kinh nghiệm, bạn nên theo dõi ví dụ xem lời giải kèm theo để đánh giá kiểm tra kiến thức tìm cho mình một cách tiếp cận Nếu bạn một người làm quen với J2EE thì chương một nơi tốt để bắt đầu Tại bạn xem xét vấn đề phát triển, tìm hiểu cấu trúc J2EE API, làm quen với thuật ngữ khái niệm quan trọng, tìm hiểu làm để tiếp cận lập trình ứng dụng J2EE, lắp ráp triển khai PHẦN : GIỚI THIỆU VỀ J2EE (Java Platform Enterprise Edition) 2.1 Giới thiệu sơ lược J2EE System J2EE để phát triển ứng dụng phần mềm phân tán hãng Từ lúc bắt đầu ngôn ngữ java, đã thích nghi phát triển tốt Ngày nhiều công nghệ đã trở thành một phần Java, API chuẩn phát triển dến nhiều dịa cần thiết Sau cùng, Sun nhóm nhà lãnh dạo cơng nghiệp, duới bảo trợ open Java Community Process(JCP) hợp tất chuẩn liên quan đến hãng vào J2EE Một hệ thống J2EE tổng quát bao gồm máy logic sau: máy dùng cho Client, máy J2EE Server, máy dùng cho Database Server Xét lớp để xây dựng ứng dụng thì bao gồm lớp chính: client tier, web tier, business tier EIS tier.(hình 2.1) J2EE APPLICATION Application client J2EE APPLICATION Dynamic Html page Client Client Tier JSP PAGES Web Tier j2ee Sever Machine ENTERPRISE BEANS ENTERPRISE BEANS Business tier Database Eis tier DATABASE DATABASE Hình 2.1:Tổng quát máy logic j2ee sever Machine Application clients: ứng dụng client thực thi máy client (logic) chuẩn bị truớc mợt số cách thức dể cho user giao tiếp hệ thống J2EE dể thực hiện một công việc dó Cách thức giao tiếp thơng qua giao diện đồ họa dòng lệnh Application client truy xuất trực tiếp đến EJB lớp Business thể thiết lập mợt kết nối HTTP đến servlet lớp Web Web Browsers: môi truờng để thực thi ứng dụng web máy logic client Applets: một hình thức application client thiết kế để download xuống thực thi Java VM Web Browser, khả Applet khống chế Web Browser JavaBeans component: client bao gồm mợt số JavaBean để quản lý dòng data giao tiếp application client applet để giao tiếp với component thực thi J2EE server Sau sơ đồ giao tiếp Client tier J2EE server: Web brower web pages, applets and optional javabeans class Application client and optional javabeans class Web tier Business tier Hình 2.2: Sơ đồ giao tiếp Client tier J2EE server Web tier: Bao gồm trang JSP servlet có JavaBean để quản lý dòng liệu web components business tier hệ thống J2EE Hình2.3:so đồ tầng Web tier Business tier: Business tier một lớp logic dùng dể thực hiện việc xử lý hệ thống J2EE server Hình2.4: sơ đồ tầng Business tier Hình vẽ minh họa cho ta thấy Enterprise Bean nhận liệu từ client, xử lý (nếu cần thiết) gửi đến EIS tier (Enterprise Information System tier) để lưu trữ Enterprise Bean nhận liệu từ EIS tier, xử lý liệu (nếu cần thiết) sau gửi trở lại chương trình client Có loại Enterprise Bean: session bean, entity bean, message-driven bean Session Bean thể hiện cho một phiên dao dịch với client, với client có instance session bean tương ứng, instance lưu giữ thơng tin client Tuy nhiên, phiên giao dịch kết thúc (client kết thúc việc thực thi), instance bị hủy Ngược lại với session bean, entity bean lưu giữ lâu dài thơng tin client Còn message-driven bean kết hợp sesssion bean JMS message listener Enterprise Information System tier (EIS tier): Lớp thực hiện việc luu trữ liệu cho hệ thống J2EE, bao gồm interface dể giao tiếp với Database khác nhau, OS khác việc quản lý lưu trữ file… Kiến trúc tổng thể hệ thống J2EE: EJB container (Enterprise JavaBean container) quản lý việc thực thi tất enterprise bean cho một ứng dụng J2EE Các enterprise bean container chạy J2EE server Web container quản lý thực thi tất trang JSP servlet cho một ứng dụng J2EE Các web component container chạy J2EE server Application client container quản lý thực thi tất thành phần application client cho một ứng dụng J2EE Các application client container thực thi máy client Applet container web browser (có Java Plug-in) chạy máy client J2ee sever browe r Applicati on client Application Client container Client machine sevrlet Jsp page Web container Enterprise beans Enterprise beans EJB container Hình 2.5:kiến trúc tổng thể hệ thống J2EE 2.2 Giới thiệu dịch vụ JNDI (Java Naming and Directory Interface) JNDI dịch vụ đăng ký truy tìm tên đối tượng chuẩn Enterprise JavaBeans dựa vào JNDI dể truy tìm thành phần phân tán thông qua mạng JNDI mợt cơng nghệ yếu duợc u cầu cho mã khách kết nối đến một thành phần EJB Cách lấy một tham chiếu tới một home object thông qua dịch vụ JNDI trình bày hình 2.6 sau: Hệ thống JNDI một service hệ thống J2EE phục vụ cho việc đặt tên Object, object ta xem module, một service dể thực hiện một chức Với object có nhiều tên tham khảo đến Thông qua JNDI, client EJB truy xuất đến object thơng qua tên mà khơng cần quan tâm object nằm đâu mạng (khái niệm tương tự việc đánh tên cho địa IP) Hình 2.7: sơ đồ client truy xuất đối tượng thông qua tên Một hệ thống JNDI bao gồm phần yếu sau: lookup services, service providers, clients Trong dó lookup services đóng vai trò trung tâm, cầu nối service providers clients Lookup services có nhiệm vụ quản lý dịch vụ mà service providers cung cấp, service providers cung cấp dịch vụ cho hệ thống JNDI, clients người sử dụng dịch vụ, kết hợp dịch vụ với để thực hiện một công việc dó Khi mợt service provider “muốn” đưa mợt dịch vụ thì phải đăng ký dịch vụ với lookup services Khi mợt client muốn dùng mợt dịch vụ hệ thống thì phải “đề xuất yêu cầu” với lookup service, dịch vụ hệ thống phục vụ cho client lookup service cho phép Quá trình đăng ký một dịch vụ service provider với lookup service thực hiện sau (quá trình discovery): service proveider cần thông báo cho lookup service biết ý định mình cách gửi broadcast một presence announcement packet (dùng mợt Reference chứa cặp / duợc sử dụng để nhận đặc tính factory, reference mợt chuỗi nhị phân chứa thông số dùng dể thiết lập cho ManagedConnectionFactory Method getObjectInstance gọi component thực hiện thao tác loookup ConnectionFactory Ðể loookup object from naming service, ta sử dụng Context.lookup() với thông số tên object mà ta muốn nhận 2.3 Giới thiệu JDBC (Java Database Connectivity) JDBC một chuẩn mở rộng Java cho việc truy cập liệu, mà cho phép người lập trình Java mã hóa đến giao diện lập trình ứng dụng co sở liệu quan hệ đồng Bằng cách dùng JDBC, người lập trình Java trình diễn việc kết nối co sỡ liệu, xuất câu lệnh SQL, kết việc xử lý sở liệu, nhiều cách linh động liên quan khác Clients lập trình dến JDBC API đồng nhất, đuợc thực hiện trình diều khiển JDBC (JDBC Driver), một trình điều hợp mà biết cách làm giao tiếp đến sở liệu với cách dộc quyền JDBC tương tự chuẩn ODBC(Open Database Connectivity), cầu nối thông qua hai thành phần thao tác tốt JDBC-ODBC JDBC 2.0 chứa hỗ trợ cho tham dò kết nối sở liệu, tăng độc lập sở liệu mã ứng dụng bạn Hình 2.7: kết nốI sở liệu qua cầu nối JDBC (Java Database Connectivity) 2.4 Giới thiệu RMI (Remote Method Invocation) Mục đích để tạo mợt Java distributed object model Trong kiến trúc RMI, có một yếu tố quan trọng mà ta cần phải xác định rõ ràng, việc định nghĩa method việc thực thi method hoàn toàn khác RMI cho phép ta dịnh nghĩa method với mã thực thi JVM (Java Virtual Machine) gọi để thực thi method mợt JVM khác Hình 2.8: gọi thực thi phuong thức thông qua RMI RMI Architecture Layers: kiến trúc RMI phân vào lớp sau: Stub and Skeleton layer: lớp có nhiệm vụ giao tiếp trực tiếp với chương trình ứng dụng, tiếp nhận lời gọi method server từ client Remote Reference layer: lớp quản lý tham khảo thiết lập từ client đến remote object service server Ðây cung lớp dùng để thiết lập kết nối từ client đến remote object service server Transport layer: thiết lập kết nối TCP/IP máy với mạng để truyền liệu lớp Remote Reference yêu cầu Kiến trúc lớp RMI thể hiện hình vẽ sau: Hình 2.9: sơ đồ kiến trúc ba lớp RMI Làm client tìm RMI remote service? Client tìm remote service thông qua việc sử dụng naming or directory service, (1 naming or derectory service chạy một wellknown host v port) Trên máy host,1 chương trình server tạo một remote service cách: tạo mợt localobject để thực thi service đó, sau export object dó dến RMI Khi một object export, RMI tạo một listening service để chờ client kết nối dến Sau trình export,server đăng ký object RMI với mợt public name public name client sử dụng để kết nối với object tương ứng RMI (Java Remote Method Invocation) system một cấu cho phép object JVM (Java Virtual Machine) gọi method object JVM khác Bất kỳ object có method gọi “từ xa” phải thực thi (implement) interface java.rmi.Remote Khi object gọi, giá trị truyền cho method gửi từ JVM cục bợ (JVM có chứa chương trình phát sinh lời gọi remote method) đến JVM chứa object có method kết trả gửi lại cho JVM cục bộ Ðể tạo nên remote object, chương trình phải đăng ký object với RMI registry Chương trình phải cung cấp tên cho object đăng ký Khi mợt chương trình muốn truy xuất đến remote object, phải cung cấp cho RMI system tên object mà muốn truy xuất hệ thống trả cho chương trình reference đến remote object dó (gọi stub) Khi chương trình nhận stub remote object thì gọi method remote object dó có stub Chuỗi tên object duợc RMI register chấp nhận phải có cú pháp nhu sau “rmi:hostname:port/remoteObjectName” dó hostname port dịnh máy port mà dó RMI registry dang chạy, remoteObjectName tên remote object duợc dang ký Chú ý rằng, hostname, port tiếp dầu ngữ rmi tuỳ chọn Nếu hostname không duợc dặt tả thì giá trị default localhost, giá trị default port 1099 RMI duợc hỗ trợ việc sử dụng Java Remote Method Protocol (JRMP) InternetInter-ORB Protocol (IIOP) JRMP dặt tả giao thức duợc thiết kế cho RMI, IIOP làgiao thức chuẩn cho việc giao tiếp CORBA object RMI IIOP cho phép Java remote object không giao tiếp với CORBA object viết Java mà ngơn ngữ khác 2.5.Tổng quan Enterprise JavaBean(là thành phần dặc tả J2EE) Enterprise JavaBean mô hình lập trình ứng dụng đa tầng Cấu trúc EJB cấu trúc Component để phát triển triển khai ứng dụng nghiệp vụ phân tán Các ứng dụng viết với cấu trúc EJB bảo mật đa nguời dùng, chia mức thực hiện giao tác Những ứng dụng duợc viết mợt lần sau dó duợc triển khai server mà hỗ trợ đặc tả EJB Môi truờng mà đối tượng Bean hoạt động gọi trình chứa (Container).Các trình chứa kiểm soát việc khởi tạo, cung cấp tài nguyên cho đối tượng, lưu trữ phục hồi đối tượng EJB server cung cấp dịch vụ hệ thống quản lý Container (hình 2.10) EJB server có khả nang cung cấp dịch vụ giao tác dịch vụ đăng ký truy tìm tên đối tuợng (JNDI-Java Naming and Directory Interface).EJB object bao bọc thể hiện bean.Nó sinh tiện ích nhà cung cấp EJB Container EJB object cài đặt remote interface bean Hình 2.10 Quan hệ EJB server EJB container EJB home gần giống với EJB object, tự động sinh cài đặt enterprise bean Container Nó cài đặt phuong thức định nghĩa home interface chịu trách nhiệm hỗ trợ container quản lý vòng đời bean Kết hợp với EJB container, EJB home chịu trách nhiệm tạo, đặt, loại bỏ enterprise bean Khi phương thức tạo gọi home interface thì EJB home tạo một thể hiện EJB object mà tham chiếu tới thể hiện bean có kiểu tuong ứng Khi thể hiện bean kết hợp với EJB object thì phương thức ejbCreate () tương ứng thể hiện gọi Khi hồn thành phuong thức ejbCeate(), EJB home trả lại tham chiếu remote tới client cho EJB object Sau client làm việc trực tiếp với EJB object phương thức nghiệp vụ Ðể cài đặt Enterprise JavaBean, cần hai định nghĩa interface một hai lớp: Home interface: định nghĩa phương thức vòng đời bean: tạo một thể hiện bean mới, loại bỏ bean, tìm kiếm bean Remote interface: để định nghĩa phương thức nghiệp vụ, (mở rộng javax.ejb EJBObject-đối tuợng lại mở rộng java.rmi.Remote) Bean class: cài đặt phương thức nghiệp vụ bean, không cài đặt phương thức home interface remote interface Primary key: một lớp đơn giản, cung cấp trỏ tới sở liệu Chỉ bean thực thể (entity bean) cần primary key Hoạt dộng: client không tuong tác trực tiếp với lớp bean mà ln ln sử dụng phương thức giao tiếp home interface remote interface bean để thực hiện cơng việc Client sử dụng dịch vụ JNDI tham chiếu tới lớp chủ Lớp chủ triệu gọi phương thức tạo tham chiếu đến lớp giao tiếp bean trả trình khách Trình khách triệu gọi bean thông qua lớp giao tiếp trung gian mà lớp chủ trả Lớp trung gian giao tiếp trình chứa Container đối tuợng bean thực Như ta đã giới thiệu trên, enterprise bean mợt thành phần phần mềm phía Server mà triển khai mợt mơi trường phân tán Mợt enterprise bean gồm mợt hay nhiều đối tượng java tại vì mợt thành phần nhiều hon mợt đối tuợng đơn giản Có loại Bean: (Type of Beans) Session Beans: (Bean thao tác) có nhiệm vụ phục vụ trình khách một phiên kết nối Bean thao tác thực hiện hành vi xử lý, tính tốn đơn khơng đòi hỏi đến việc thể hiện liệu Các Session bean dùng mợt máy khách tại mợt thời diểm, chúng không chia xẻ cho máy khách khác Khi máy khách dùng một session bean máy khách máy khách giải session bean dó Ðiều trái nguợc với entity bean, trạng thái chia xẻ máy khách với Trong session bean chia làm hai loại: Stateful Session Bean Stateless Session Bean: Stateful Session Bean: thành phần bean cần lưu lại kết hay vị trí giao dịch trước để phục vụ cho lần giao dịch thường phục vụ cho thao tác đòi hỏi qua nhiều buớc triệu gọi truớc trả kết cuối Stateless Session Bean: thành phần bean không lưu lại trạng thái giao dịch truớc để sử dụng lại cho lần giao dịch sau Session beans quản lý xử lý nghiệp vụ Các session bean sử dụng entity beans để thể hiện liệu mà chúng dùng Một diểm khác biệt Session Bean Entity Bean là: Entity Bean có vòng đời lâu Session Bean nhiều Khi ứng dụng Server bị cố thì Entity Bean xây dựng lại bộ nhớ cách đơn giản đọc lại liệu từ sở liệu bền vững Entity Bean: Một phần khác một nghiệp vụ bền vững liệu mà xử lý nghiệp vụ sử dụng Entity Bean mợt thành phần mà đại diện cho bền vững liệu Entity Bean không chứa xử lý nghiệp vụ logic Có hai loại bean thực thể (entity bean) Bean thực thể tự quản lý (Bean – Managed Persistent Entity Beans): thành phần bean có khả tự truy vấn hệ sở liệu dể lấy liệu thể hiện BMP (Bean Managed Persistent) có ưu diểm: mình viết mã cho phương thức, phương thức thao tác với nhiều bảng liệu một lúc Ðồng thời tiện tạo liệu, vì ta sử dụng định dạng sequence – tăng tự dộng số id bảng liệu Nhưng có mợt nhược điểm tốn thời gian để viết, mà ta viết thì bị lỗi Bean thực thể quản lý trình chứa: (Container –Managed Persistent Entity Beans) Là thành phần bean không cần sử dụng lệnh SQL dể tìm kiếm hay tạo liệu mà cần khai báo tên truờng hay cột liệu tương ứng với bảng hệ CSDL.Trình chứa tự dộng thực hiện công việc truy vấn liệu giúp thành phần bean.CMP (Container – Managed Persistent) lại có mợt ưu điểm lớn viết mã, trình chứa dã thực hiện diều Và chương trình khơng có lỗi Nhung lại bất lợi chỗ: trường primary key có kiểu java.math.BigDecimal nên không tận dụng định dạng sequence sở liệu Hơn nữa, cần thao tác với nhiều bảng mợt lúc (có join bảng) thì phức tạp hon- cần viết thêm lớp bean kết nối hai thực thể bean hai bảng liệu Message – driven bean: xử lý thông điệp ( message một cách không đồng bộ Nó tương tự stateless session bean chỗ không lưu trữ trạng thái giao dịch Ðiểm khác với Session Entity Bean client truy cập chúng qua interface Message – driven bean một lớp bean, khơng có interface Chỉ cần mợt bean xử lý nhiều message từ nhiều một client Bean một khối mã ứng dụng mà thực hiện message dến 2.6 Phát triển thành phần: (Developing Beans) The Enterprise Bean class: Ðặc tả EJB dịnh nghia vài giao tiếp chuẩn mà lớp bean thực hiện Sức mạnh giao tiếp lớp bean trình bày phương thức dảm bảo mà tất beans phải cung cấp, đã định nghĩa mô hình thành phần EJB Trình chứa gọi phương thức đã yêu cầu để quản lý bean thay dổi bean đến kiện quan trọng Hầu hết giao tiếp lớp bean (cả session entity bean) phải thực hiện là: public interface javax.ejb.EnterpriseBean extends java.io.Serializable { } javax.ejb.EnterpriseBean interface The EJB object: Khi một máy khách muốn dùng một thể hiện một lớp enterprise bean, máy khách khơng triệu gọi phương thức mợt cách trực tiếp Nói viện cầu bị ngăn chặn trình chứa EJB chuyển giao cho thể hiện bean Trình chứa EJB hoạt động một tầng gián tiếp mã khách bean Tầng gián tiếp biểu hiện một đối tượng đơn nhận biết mạng, gọi EJB object EJB object một đối tượng đại diện mà nhận biết mạng, giao tác, an ninh …Nó mợt đối tượng thơng minh biết làm để thực hiện logic trung gian yêu cầu tới trình chứa EJB truớc một lời gọi phương thức phục vụ một thể hiện lớp bean Một EJB object hoạt động hàn gắn máy khách thành phần bean, trình bày phương thức nghiệp vụ mà bean dó biểu hiện EJB object chuyển giao tất yêu cầu máy khách dến bean EJB object một thành phần vật lý trình chứa (container) The Remote Interface: Ðể định nghĩa phương thức nghiệp vụ Các thành phần máy khách triệu gọi phương thức EJB object, bean dó Ðể thực hiện diều này, EJB object phải định nghĩa phương thức nghiệp vụ mà lớp bean biểu hiện Nhưng làm công cụ tự động tạo EJB object biết phương thức để định nghĩa? Câu trả lời một giao tiếp đặc biệt mà nhà cung cấp bean viết Giao tiếp lại tất phương thức nghiệp vụ mà lớp bean tương ứng biểu hiện Giao tiếp gọi remote interface Remote interface phải phù hợp với luật mà đặc tả EJB định nghĩa Hình 2.11: so dồ gọi phuong thức từ Client dến EJB objects public interface java.ejb.EJBObject extends java.rmi.Remote { public abstract java.ejb.EJBHome getEJBHome() throws java.rmi.RemoteException; public abstract java.lang.object getPrimaryKey() throws java.rmi.RemoteException; public abstract void remove() throws java.rmi.RemoteException,javax.ejb.RemoveException; public abstract java.ejb.Handle getHandle() throws java.rmi.RemoteException; public abstract boolean isIdentical(javax.ejb.EJBObject) throws java.rmi.RemoteException; } the javax.ejb.EJBObject interface Mã khách muốn làm việc với bean gọi phương thức javax.ejb.EJBObject Mã khách ứng dụng stand-alone, applets, servlet chí bean khác Thêm vào dó, remote interface lại phuong thức nghiệp vụ bean Khi một trình khách bean triệu gọi phương thức nghiệp vụ nào, EJB object chuyển giao phương thức tới thực hiện tương ứng, thực hiện cư trú bên bean dó The Home Object: Như đã biết, mã client xử lý với EJB object không làm việc trực tiếp với bean Câu hỏi làm trình khách đạt đuợc tham chiếu tới EJB object Máy khách thuyết minh EJB object một cách trực tiếp tại vì EJB object tồn tại mợt máy khác không máy client Dường dịnh vị EJB object suốt, vì máy khách khơng nhận xác EJB object cư trú nơi Ðể đạt tham chiếu tới một EJB object, mã client yêu cầu một EJB object từ mợt xí nghiệp EJB object (EJB object factory) Xí nghiệp chịu trách nhiệm cho thuyết minh EJB object Ðặc tả EJB gọi xí nghiệp một home object Trách nhiệm home object làm việc sau: + Tạo EJB objects + Tìm EJB object tồn tại + Hủy bỏ EJB object Home object một phần vật lý trình chứa tự động tạo công cụ nhà cung cấp trình chứa(container provider) The Home Interface: Chúng ta đã thấy home object xí nghiệp cho EJB object Nhưng bạn phải cung cấp thông tin cho trình chứa đặc tả một home interface Home interface định nghĩa phương thức đơn giản cho việc tạo, huỷ, tìm kiếm EJB object Home object trình chứa thực hiện home interface cho Vài phương thức mà đặc tả EJB yêu cầu home interface phải hỗ trợ Những phương thức đã yêu cầu định nghĩa javax.ejb EJBHome interface- một home interface mà home interface phải thừa kế Javax.ejb EJBHome đuợc trình bày sau: Public interface javax.ejb.EJBHome extendx java.rmi.Remote { public abstract EJBMetaData java.rmi.RemoteException; } getEJBMeTaData() throws The javax.ejb.EJBHome interface Hình 2.12:sơ đồ yêu cầu tạo một EJB object từ Home objects Giải thích trình làm việc hình 2.11 2.12: public abstract void java.rmi.RemoteException, public abstract void java.rmi.RemoteException, remove(Handle handle) throws javax.ejb.RemoveException; remove(Object primaryKey) throws javax.ejb.RemoveException; Khi phương thức tạo gọi home interface từ trình khách thì EJB home tạo một thể hiện EJB object mà tham chiếu tới thể hiện bean có kiểu tương ứng Khi thể hiện bean kết hợp với EJB object thì phương thức ejbCreate() tương ứng thể hiện gọi Khi hồn thành phương thức ejbCeate (), EJB home trả lại tham chiếu remote tới client cho EJB object, (hình 2.12) Sau client làm việc trực tiếp với EJB object phương thức nghiệp vụ PHẦN 3: PHÁT TRIỂN ỨNG DỤNG Trong phần xây dựng ứng dụng E-store dể mô tả kỹ thuật, công nghệ việc phát triển ứng dụng theo công nghệ J2EE Ứng dụng mơ tả phân tích với use case miền phân tích theo UML Sau dó duợc thiết kế theo kiến trúc MVC – ModelViewController Cuối cài đặt theo tầng sau: - Tầng giao diện Web (Web tier):công nghệ JSP, JavaBean, Servlet - Tầng nghiệp vụ (Business tier): công nghệ EJB (Enterprise Java Bean) phiên 1.x - Tầng EIS (Enterprise Information System tier) Mục dích phát triển ứng dụng là: - Tìm hiểu việc sử dụng UML dể phân tích thiết kế ứng dụng theo huớng dối tuợng - Minh họa cách sử dụng Rational Rose - Tìm hiểu công nghệ EJB, JSP, Servlet dặc tả J2EE ... người làm quen với J2EE thì chương một nơi tốt để bắt đầu Tại bạn xem xét vấn đề phát triển, tìm hiểu cấu trúc J2EE API, làm quen với thuật ngữ khái niệm quan trọng, tìm hiểu làm để tiếp... làm để tiếp cận lập trình ứng dụng J2EE, lắp ráp triển khai PHẦN : GIỚI THIỆU VỀ J2EE (Java Platform Enterprise Edition) 2.1 Giới thiệu sơ lược J2EE System J2EE để phát triển ứng dụng phần mềm... một ứng dụng J2EE Các enterprise bean container chạy J2EE server Web container quản lý thực thi tất trang JSP servlet cho một ứng dụng J2EE Các web component container chạy J2EE server Application