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

phát triển ứng dụng Client-Server đa tầng với EJB và J2EE

11 258 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

Nội dung

6.2 Phát tri n ng d ng Client/Server đa t ng v i EJB J2EE 6.2.1 Khái ni m chung v EJB J2EE * EJB ? - Là ki n trúc đ đ nh ngh a / ch làm th đ xây d ng thành ph n cho ng d ng (application logic) - Các thành ph n c a EJB có th s d ng đ xây d ng ng d ng phân tán * Mô hình EJB : - EJB = Enterprise Java Bean - Mô hình thành ph n nh m vào phát tri n Business Logic phía Server - Giao di n đ giúp ng i l p trình ng d ng ph c t p n n (platform) h th ng giao d ch, CSDL, b o m t, - EJB phát tri n d a n n t ng c a ngôn ng Java * J2EE ? - Là n n chu n (Standard platform) đ phát tri n ch ng trình ng d ng có đ ph c t p cao (business) - EJB J2EE l p trình Client/Server theo ki n trúc ng d ng đa t ng + M t ph n ng d ng s ch y Client + M t ph n ch y l p trung gian (d a Middleware – nh visiBroker) + Ph n l i s ch y Server : x lý CSDL hay tính toán ph c t p - S d ng EJB J2EE xây d ng đ i t ng thành ph n đáp ng c phía Client Server * Ki n trúc J2EE : T ng T ng T ng J2EE Server EJB Container Client Enterprise Bean Enterprise Bean Enterprise Bean Client Web Container JSP File, Servlets, HTML, XML JNDI, JMS, Java Mail - J2EE ki n trúc thành ph n đ phát tri n Business Logic Information Systems / Database Server Legacy Application - Các thành ph n đ c cung c p d ch v t Container - Container th hi n giao di n gi a thành ph n ch c n ng m c th p (lowlevel) đ h tr cho thành ph n - J2EE cung c p d ch v sau : HTTP - nh ngh a d ch v HTTP phía trình ng d ng Client s d ng gói java.net - Phía Server đ nh ngh a Servlet ho c JSP - HTTP cho phép trình t Web truy c p file Servlet JSP Enterprise Java Bean Mô hình thành ph n đ phát tri n ng d ng Enterprise Java Client tri u (EJB) g i ph ng th c Enterprise Beans Java Transaction API Giao di n cho thành ph n ng d ng J2EE đ u n giao (JTA) d ch RMI-IIOP Trình ng d ng s d ng RMI-IIOP truy c p thành ph n EJB Java IDL Cho phép ng d ng J2EE tri u g i đ i t ng CORBA s d ng giao th c IIOP JDBC Trình ng d ng truy c p CSDL Java Messager Service Trình ng d ng g i thông báo mô hình m - m (JMS) Java Naming and Trình ng d ng s d ng Naming Directory đ truy c p ngu n tài Directory Interface nguyên J2EE (JNDI) Java Mail Trình ng d ng g i/nh n e-mail JavaBeans Activation Trình ng d ng đ c s d ng b i Java Mail Framework (JAF) Java API for XML Trình ng d ng phân tích tài li u XML parsing (JAXP) J2EE Connector Cho phép trình ng d ng k t n i v i h th ng k th a ng Architecture d ng non-java Java Authentication Trình ng d ng s d ng d ch v J2EE đ xác th c ki m soát truy c p and Authorization c a user Service (JAAS) 6.2.2 Mô hình Client/Server v i EJB s d ng J2EE * Enterprise Java Bean : mô hình Client/Server v i EJB : Server Layer Client Layer Client Java Beans Java Application XML Parser Data Layer JDBC Connection XML XML Parser Business Logic Database * Mô hình ng d ng phân t ng EJB môi tr ng J2EE : J2EE SERVER Client Web Browser Web Server M ng D ch v Web Servlet, JSP, CGI M ng Database Server M ng JNDI, JDBC, JTS, JMS, Object Object Container Môi tr ng EJB xây d ng ng d ng đa t ng, c n có c s h t ng (gi i thích ki n trúc c s h t ng ?) + H tr c a h th ng m ng + H u hành + Ngôn ng l p trình + Các công c phát tri n + Môi tr ng mà trình ng d ng ho t đ ng + - Các đ i t ng mu n ho t đ ng t t hi u qu h n c n t n t i m t môi tr ng có kh n ng ki m soát chúng - Môi tr ng th c thi chu trình ho t đ ng c a đ i t ng (chu trình s ng c a đ i t ng – life circle) : + Các tài nguyên + Ki m soát trình l u tr + Th c thi + Ch m d t ho t đ ng c a ch ng trình - Enterprise Java Bean (EJB) mô hình h tr cho đ i t ng/Enterprise Bean ho t đ ng k t h p v i m t cách có đ nh h ng hi u qu h n - M i tr ng EJB : n i cung c p d ch v Java h tr trình ch a * EJB Container : - i t ng Enterprise Bean ch y EJB Container - Container môi tr ng : + Ki m soát Enterprise Bean + Cung c p cho chúng di ch v m c h th ng >>> l p trình viên ch t p trung vào quy trình nghi p v (business method) - Container cung c p d ch v cho Enterprise Bean bao g m : + Qu n lý giao d ch + An toàn + Client k t n i t xa + Qu n lý chu k s ng + K t n i CSDL - Trong m t môi tr ng EJB có th có nhi u Container ho t đ ng * Web Container : - Web Container môi tr ng ch y file JSP Java Servlet - Các thành ph n Web đóng vai trò quan tr ng c a ng d ng J2EE * Liên k t gi a Web Container EJB Container Browser Web Container EJB Container JSP, Servlet JMS JNDI Java Mail JDBC HTTP XML Database * Enterprise Bean : - Các Enterprise Bean thành ph n Server đ c vi t b ng ngôn ng Java - Enterprise Bean ch a business logic đ i v i ng d ng - Có hai ki u Enterprise Bean : + Session Bean + Entity Bean * Các ph ng th c Container u n thành ph n bean : - ejbCreate() : ph ng th c đ t o đ i t ng bean - ejbRemote() : ph ng th c đ h y đ i t ng bean - ejbPassivate() : thông báo đ i t ng bean s p b đ a vùng nh t m th i ( c ng) - ejbSessionContext() : + i t ng bean đ a v tr ng thái kích ho t (khôi ph c t vùng nh t m th i) + Thành ph n bean nh n thông tin t Container * Session Bean : - i t ng bean ch th c hi n hành vi x lý, tính toán đ n thu n - Các đ i t ng không đòi h i đ n th c thi d li u : tính toán, phân tích, th ng kê, đ a gi i pháp t t p d li u m u t m - Ch có nhi m v ph c v Client m t phiên k t n i - Session Bean chia làm hai lo i : + Session Bean phi tr ng thái (Stateless Bean) : không l u l i tr ng thái c a giao d ch tr c đ s d ng cho giao d ch l n sau + Session Bean l u v t tr ng thái (Stateful Bean) : thành ph n bean l u l i k t qu hay v trí giao d ch tr c đ ph c v cho l n giao d ch ti p theo (th ng qua nhi u b c tri u g i tr c tr l i k t qu cho Client) * L a ch n gi a Session Bean phi tr ng thái Session Bean l u v t tr ng thái : - S d ng Session Bean l u v t tr ng thái (Stateful Bean) n u : + Tr ng thái c a bean ph i đ c b t đ u kh i t o + Bean c n l u l i thông tin v Client t trình tri u g i ph ng th c + Client m t trình ng d ng t ng tác - S d ng Session Bean phi tr ng thái (Stateless Bean) n u : + Bean th c hi n m t nhi m v mà h th ng không c n quan tâm đ n m t Client c th + Bean không c n l u l i thông tin v Client tri u g i ph ng th c * Chu trình s ng c a Stateful Bean : Ch a t n t i Create setSessionContext ejbCreat Remote ejbRemote ejbPassivate Vùng t m l u đ i t ( c ng) Ch a t n t i ng ejbActivate * Chu trình s ng c a Stateless Bean : Ch a t n t i setSessionContext ejbCreat ejbRemote i t ng s n sàng * Entity Bean: - Entity Bean - đ i t ng mô ph ng m t th c th - Entity - Ánh x t ng dòng d li u thành đ i t ng bean – bean th c th (Entity Bean) - C n đ a d li u t h CSDL vào đ i t ng bean - Qu n lý Entity Bean chia thành lo i : + Entity Bean t qu n lý : có kh n ng t truy v n h CSDL đ l y d li u th c thi (Ví d : dùng câu l nh SQL : SELECT, INSERT – thông qua JDBC ph ng th c kh i d ng bean) + Entity đ c qu n lý b i trình ch a Container : đ i t ng bean ch c n khai báo tr ng (field) hay c t d li u t ng ng v i b ng h CSDL, trình ch a Container t đ ng truy v n d li u giúp đ i t ng bean * Chu trình s ng c a Entity Bean : Ch a t n t i setEntityContext unsetEntityContext Pooled (vùng l u đ i t ng v i u n c a container Create ejbCreatee ejbPostCreat ejbActivive ejbPassivate it Remote ejbRemote ng s n sàng - EJB Container kh i t o th c thi, ph ng th c setEntityContext đ c th c hi n * So sánh gi a Session Bean Entity Bean : - C hai lo i Session Bean Entity Bean đ u ch y môi tr Container, nh ng chúng hoàn toàn khác B ng so sánh s khác : Session Bean M c đích Chia s truy c p Tính liên t c Th c hi n m t nghi p v m t Client Có th ch có m t Client ng EJB Entity Bean cho Th hi n m t đ i t ng th c th business đ c l u tr kho d li u Có th nhi u Client truy c p m t lúc Không liên t c, truy c p c a T n t i liên t c, th m chí container EJB Client k t thúc session bean k t thúc, tr ng thái c a th uc th hi u l c (đi u (Entity) v n t n t i CSDL n b i Container) - L u ý : Java Bean Enterprise Bean khác nhau, m c d đ u đ c vi t b ng ngôn ng l p trình Java Java Bean t o l p Java th hi n yêu c u c a khách hàng b ng tool thi t k , cho phép liên k t đ i t ng theo yêu c u khách hàng qua s ki n Enterprise Bean cài đ t cho multi-user, d ch v giao d ch 6.2.3 Phát tri n ng d ng J2EE - ng d ng J2EE có th ch a m t ho c nhi u Enterprise Bean, thành ph n Web, ho c thành ph n Client ng d ng J2EE - M i ki u ng d ng s đ c đóng gói vào m t format file c th - Mô t th c hi n đóng gói (deployment descripter – DD) m t file XML mô t thành ph n * Các thành ph n c a ng d ng J2EE : J2EE Application J2EE App DD ear file J2EE App.Client Enterprise Bean Web Component J2EE App.Client DD Java App EJB DD EJB Class Remote Home Web comp DD JSP file Servlet Class HTML File jar file * Các File đ jar file war file c s d ng ng d ng J2EE : Ki u file ear xml ejb.jar xml class class class war xml jsp class gif html ng Container jar J2EE Application Mô t phát tri n ng d ng J2EE (J2EE App DD) Enterprise Bean Mô t phát tri n ng d ng EJB (EJB App DD) EJB Class Remote Interface Home Interface Web Component Mô t phát tri n ng d ng Web JSP file Servlet Class GIF File HTML File J2EE Application Client ( ng d ng Java ch y môi tr cho phép truy c p d ch v J2EE) Mô t phát tri n J2EE Appliaction Client (J2EE App Client DD) Java Application xml class * Quá trình xây d ng trình ng d ng EJB - Ki n trúc Client/Server c a EJB : Client EJB home stub EJB Server home interface EJB Container home interface EJB home EJB Object EJB object stub bean class remote interface remote interface - Cài đ t m t Enterprise Bean c n đ nh ngh a giao di n ho c l p : + Home Interface + Remote Interface + Bean Class + Primary key class (ch cho Entity Bean) - Mô hình ng d ng liên k t Client - đ i t ng EJB Container : J2EE Client JNDI, JDBC, JTS, EJB home Remote Interface EJB Object Container + Client s d ng d ch v JNDI đ tham chi u đ n l p EJB home + Client g i ph ng th c Creat() c a l p home interface yêu c u tham chi u đ n l p Remote Interface + S d ng Remote Interface g i ph ng th c c a EJB Objject Container + Container nh n l i tri u g i t Remote đ g i thành ph n EJB Object - Quá trình xây d ng trình ng d ng EJB v i JSP : J2EE Server Web Browser JavaBeans Component JSP Component (Web Comp.) JavaBeans Component Client JSP Enterprise Bean * Thành ph n Java Bean : - Java Bean đ i t ng Java đ c cài đ t d ng Interface Serializable (giao di n tu n t hóa - đ i t ng có th l u tr l i tr ng thái ho t đ ng t m th i khôi ph c l i ho t đ ng) - Java Bean s d ng th t ng t nh HTML đ đ nh ngh a bean, thi t l p ho c l y v giá tr c a bean - M u chu n đ nh ngh a Java Bean : public class YourBean implements java.io.Serializable { protected int theValue ; //ph ng th c kh i d ng bean public MyBean { //mã c a ph ng th c // } //khai báo ph ng th c đ t giá tr cho thu c tính MyValue public void setBeanValue(int newValue) { theValue = newValue ; } //khai báo ph ng th c nh n thu c tính c a MyValue public int getBeanValue() { return theValue ; } } th - Biên d ch thành ph n bean t ng t nh biên d ch l p đ i t ng (s d ng javac.exe) - Có th vi t đo n mã Java JSP đ tri u g i đ i t ng bean - K t h p JSP JavaBean, JavaBean cho phép s d ng th thay th mã Java (theo cú pháp c a XML) : - Các th chu n c a JavaBean trang JSP: // đ nh ngh a Bean //đ t thu c tính cho Bean //l y giá tr thu c tính c a Bean * Xây d ng trình ng d ng J2EE v i thành ph n c a JSP J2EE Application.ear EJB.jar EJB.class HomeInterface.class RemoteInterface.class Web Component.war App.jsp file JavaBean.class Các thành ph n c a JSP đ cài đ t deploy ng d ng J2EE * Quá trình phát tri n ng d ng J2EE: - Các giai đo n phát tri n ng d ng J2EE: + Thi t k l p trình Enterprise Bean + Thi t k Web component + Thi t k l p trình Client ng d ng J2EE + L p ráp/t h p ng d ng J2EE (J2EE Application Assembly) + Cài đ t ng d ng J2EE Web Component (.war file) Enterprise Bean (EJB.jar file) giai đo n l p ráp J2EE Application (.ear file) giai đo n cài đ t J2EE Server Cài đ t l p ráp ng d ng J2EE - Nhi m v thi t k l p trình Enterprise Bean (ng i phát tri n ph n m m): + L p trình d ch mã ngu n Java theo ki n trúc thành ph n Enterprise Bean + a mô t deployment cho Enterprise Bean + óng gói file class mô t deplyment vào EJB.jar file + K t qu file: EJB.jar ch a Enterprise Bean - Nhi m v thi t k Web component (ng i thi t k Web): + L p trình biên d ch mã ngu n Java cho Servlet + Vi t file JSP HTML + a mô t deployment cho Web component + óng gói file class, jsp, html mô t deployment vào war file + K t qu : file war ch a Web component - Nhi m v thi t k l p trình Client ng d ng J2EE (ng i phát tri n ph n m m) + L p trình d ch mã ngu n Java theo yêu c u Client + a mô t deployment vào jar file cho Client + K t qu file jar ch a J2EE Application Client - L p ráp ng d ng J2EE (J2EE Application Assembly) (ng i phát tri n ph n m m) + Ghép Enterprise Bean (EJB.jar) Web Component (.war) thành file ng d ng J2EE(.ear) + a mô t deployment cho ng d ng J2EE + K t qu : file ear ch a ng d ng J2EE - Nhi m v cài đ t ng d ng J2EE (ng i qu n tr h th ng): + Cài đ t ng d ng J2EE (.ear) t i J2EE Server + C u hình ng d ng J2EE cho môi tr ng ho t đ ng th c hi n b ng trình deployment + Deploy/Install ng d ng J2EE (.ear) J2EE Server

Ngày đăng: 18/10/2016, 08:50

TỪ KHÓA LIÊN QUAN

w