Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
34,28 MB
Nội dung
ĐẠI HỌ C Q U Ó C GIA H À N Ộ I KHOA CÔNG NGHỆ Phạm T h ị H uyền T n g P H Á T T R IẺ N Ứ N G D Ụ N G P H Ầ N M È M T R Ê N M Á Y C H Ủ DỤ A TR Ê N C Ô N G N G H Ệ JA V A Chuyên ngành : C Ô N G N G H Ệ T H Ô N G T IN M ã số : 1 L U Ậ N VĂ N T H Ạ C s ĩ NGƯỜI HƯỚNG DẢN KHOA HỌC: PGS TS ĐỒN VẢN BAN h'Mii rì ;V.MT^ĨNGY, H Nội - N ăm 2003 MỤC LỤC ■ ■ Chương 1: Tổng Q u a n 1.1 Các thách thức việc phát triển ứng dụng mức xí nghiệp 1.1.1 Phát triền ứng dụng suất c a o 1.1.2 Khả tích hợp với hệ thống có .7 1.1.3 Đáp ứne yêu cầu ứng d ụ n g 1.1.4 Đảm bảo bảo m ậ t 1.2 J2EE - Nen tảng cho ứne dụng mức xí nghiệp .9 1.3 Các mỏ hình ứng dụng với J2 E E 12 1.3.1 Mơ hình ứng dụng đa mức 13 1.3.2 Mơ hình ứng dụng J a v a 14 1.3.3 Mơ hình ứng dụng W eb 15 1.3.4 Mô hình doanh nghiệp với doanh nghiệp 15 1.3.5 Ưu điểm mơ hình đa m ứ c 16 Chương 2: Bộ chứa EJB - Enterprise JavaB ean .18 2.1 Phần Logic nghiệp vụ - Business L ogic 18 2.2 Các yêu cầu đối tượng nghiệp v ụ 20 2.2.1 Duy trì trạng thái 20 2.2.2 Hoạt độns liệu chung 21 2.2.3 Tham gia vào giao d ịc h 21 2.2.4 Phục vụ lượng lớn người sử d ụ n g 22 2.2.5 Cung cấp khả truy nhập liệutừ x a .22 2.2.6 Kiểm soát truy nhập 22 2.2.7 Khả sử dụng lạ i 22 2.3 Tổng quan EJB 23 2.3.1 Giao diện c h ỗ 24 2.3.2 Giao diện từ xa 24 2.3.3 Lớp E JB 25 2.4 Session B ean .25 2.4.1 Session Bean Trạng T hái 26 2.4.2 Session Bean Phi Trạng Thái 26 2.4.3 Phát triển Session B ean 27 2.4.4 Thực gọi Session B ean 31 2.5 Entity B e a n 36 2.5.1 Các khái niệm lưu trừ bền vừng 36 2.5.2 Khái niệm Entity B e a n .38 2.5.3 Các file tạo thành Entity B ean 40 2.5.4 Các tính chất Entity Bean 41 2.5.5 Phát triển sử dụng Entity B e a n 43 2.5.6 Ngừ cảnh Entity B ean .46 2.5.7 Vòng đời Entity B e a n 48 Chương 3: Bộ chứa Web: Servlet J S P 52 - - 3.1 Servlets 52 3.1.1 Tong quan ve Servlet 52 3.1.2 Phát triển sử dụng Servlet 58 3.2 JSP 63 3.2.1 Sự cần thiết phải có J S P 63 3.2.2 Mơ hình hoạt động J S P .64 3.3 So sánh Servlet J S P 71 3.4 Sử dụng Servlet JSP ứng dụng 72 3.4.1 Các trường họp sử dụng Servlet .72 3.4.2 Các trường hợp sử dụng J S P 73 Chương 4: ứ n g dụng công nghệ J2EE phát triển ứng dụng mức xí nghiệp 75 4.1 Kiến trúc ứng dụng mức xí nghiệp với J2EE 75 4.1.1 Kiến trúc M V C 75 4.1.2 Các vấn đề đặt đổi với mơ hình MVC J2E E 78 4.1.3 Khuôn mẫu phát triển J E E .79 4.1.4 Khuôn mẫu Session Bao N goài 81 4.2 Ví dụ ứng dụng ngân hàng điện t 85 4.2.1 Mô tả ứng dụng 85 4.2.2 Mơ hình hệ thống ứng d ụng .90 CÂC THUÀT NGÜ’ VIÉT TAT ■ API Application Programming Interface B2B Business to Business B2C Business to Consumer CORBA Common Object Request Broker Architecture CSDL Co sà dù lieu EJB Enterprise Java Bean HTML HyperText Markup Language HTTP HyperText Transfer Protocol J2EE Java Enterprise Edition JDBC Java Database Connectivity JMS Java Messaging Service JNDI Java Naming and Directory Interface JSP Java Server Page JTA Java Transaction API OQL Object Query Language SQL Structured Query Language XML Extensible Markup Language MỞ ĐẦU Sự phát triển Internet nói riêng cơne nghệ thơng tin nói chune đane diễn mạnh mẽ Việt nam thời gian gần cũna tương lai Sự phát triển đòi hỏi công ty, tổ chức cần xây dựnR ứng dụng Internet Khác với ứng dụng khác, ứng dụng Internet thườne, phát triển máy chủ người sử dụng cần trình duyệt Web truy nhập vào ứng dụng Có nhiều cơng nahệ khác giúp phát triển ứng dụng Internet Luận văn xem xét công nghệ phát triển mạnh mẽ thời gian gần đây, cơng nghệ J2EE Nội dung luận văn xem xét công nghệ J2EE kiến trúc ứng dụng mà dựa vào đó, tổ chức, cơng ty phát triển ứng dụng kết cấu luận văn, ngồi lời nói đầu, kết luận tài liệu tham khảo, luận văn trình bày chương: • Chương 1: Cơng nghệ J2EE mơ hình ứng dụng Giới thiệu sơ lược công nghệ J2EE công nghệ J2EE giúp giải vấn đề đặt ứng dụng mức xí nghiệp • Chương 2: Bộ chứa EJB: Enterprise Bean Xem xét thành phần EJB kiến trúc J2EE, đề cập đến loại EJB khác cách sử dụng hợp lý loại thành phần • Chương 3: Bộ chứa Web: Servlet JSP Trình bày thành phần chứa Web, JSP Servlet: đề cập đến cách thức phát triển thành phần này, khác biệt chúng làm để sử dụng thành phần cách hợp lý • Chương 4: ứ n g dụng công nghệ J2EE việc phát triển ứng dụng mức xí nghiệp Xem xét kiến trúc MVC kiến trúc thường sử dụng ứng dụng sử dụng công nghệ J2EE; Xem xét khuôn mẫu hỗ trợ việc phát triển ứng dụng trorm J2EE việc sử dụng khuôn mẫu ứng dụng mẫu Luận văn hồn thành với giúp đỡ tận tình thầy giáo hướng dẫn PGS TS Đoàn Văn Ban, thầy cô giáo Khoa công nghệ Trường Đại học quốc gia Hà nội bạn đồng nghiệp Trong nội đung hạn chế luận văn chắn luận văn khó tránh khỏi thiếu sót định Em mong nhận góp ý thầy giáo, nhà chuyên môn đồng nghiệp để tiếp tục hoàn thiện luận văn Em xin tràn trọng cám ơn - - C h n g 1: T ổ n g Q u a n 1.1 Các thách thức việc phát triển ứng dụng mức xí nghiệp Cơng nghệ thơng tin ngày không dừng lại việc giúp tổ chức, doanh nghiệp hoạt động hiệu hơn, mà trực tiếp mang lại lợi việc cạnh tranh Các tổ chức doanh nghiệp phải tìm cách đê ứng dụng cơng nghệ cách hiệu nhanh Chính vậy, việc phát triển ứng dụng mức xí nghiệp phải đáp ứng yêu cầu đề cập 1.1.1 P h t triể n ứ n g d ụ n g n ă n g s u ắ t ca o Đẻ giảm bớt thời gian phát triển ứng dụng, việc tăng suất phát triển ứng dụng yếu tố thiếu Việc cung cấp cho người phát triên ứna, dụne phương tiện chuẩn để sử dụng dịch vụ cần thiết cho mồi ứng dụng với cách thức chuẩn cho việc hỗ trợ thiết bị khác người sử dụng góp phần tích cực việc tăng suất phát triển ứng dụng Trước đây, việc khơng có mơ hình phát triển ứng dụng chung đă tạo nhữna; rào cản việc trao đổi hiệu yêu cầu ứng dụng người phát triển ứng dụng Kết kiến trúc ứng dụng trở nên phức tạp Hơn thể nữa, yêu cầu kỹ năng, trình độ để tích họp cơng nghệ truyền thống với không rõ ràng Việc phân chia công việc nhóm người tham gia phát triển ứng dụng khác không tổ chức cách khoa học Ví dụ với cơng nghệ CGI việc phát triển địi hỏi người lập trình vừa phải thực việc tạo nội dung thơng tin hình thức thể thông tin trang Web động Một yếu tố khác làm tăng tính phức tạp trình phát triển ứng dụng việc lựa chọn loại thiết bị hồ trợ người sử dụng Rất nhiều ứng dụng cung cấp thône tin động hay tĩnh cho trình duyệt Web, số ứng dụng khác đồng thời hồ trợ nhiều loại thiết bị khác máy tính để bàn, điện thoại di động, Các thiết bị lựa chọn xác định từ ban đâu, xác định sau ứng dụng triển khai Khi đó, địi hỏi ứng dụng phải sửa đổi để hồ trợ thiết bị Vì vậy, mơ hình phát triển ứng dụng phải đảm bảo hỗ trợ nhiều loại thiết bị khác nhau, đông thời hạn chế tối đa ảnh hưởng đến kiến trúc chung ứng dụng phân xử lý ứng dụng thay đổi Tóm lại, để rút ngắn thời gian phát triển ứng dụng thay đổi ứng dụng tương lai, việc tăng suất lao động người phát triển ứng dụng địi hỏi phải có mơ hình phát triển ứng dụng thống phương tiện chuân công cụ chuân cho việc pháp triển ứng dụng Hơn phải có cách thức phân chia cơng việc khoa học vai trị, trình độ, kỹ nhừne người phát triển ứng dụng để đảm bảo phát huy tối đa khả họ tránh trùng lặp xảv [4] 1.1.2 K h ả n ă n g tíc h h ợ p v i h ệ th ố n g c ó Trong hệ thống thông tin nay, khối lượng lớn liệu thu thập nhiều năm trước hệ thống có tổ chức doanh nghiệp Đồng thời, nhiều chi phí, cơng sức đầu tư vào ứng dụng hệ thống Một thách thức đặt cho người phát triển tái sử dụng liệu, ứng dụng tài nguyên hệ thống Để đạt mục tiêu này, người phát triển ứng dụng cần phải cun? cấp công cụ, phương thức chuẩn cho phép sử dụng dịch vụ mà hệ thống có cung cấp, ví dụ cơng cụ truy nhập dịch vụ sở liệu, hệ thống thư điện tử, hệ thống xử lý giao dịch, Những người phát triển ứng dụng đòi hỏi hệ thống phải cung cấp dịch vụ cách thống để mô hinh phát trien ứng dụng không cần phải mở rộng việc tích hợp với hệ thống khác toàn tổ chức, doanh nghiệp [4] 1.1.3 Đ áp ứ n g y ê u c ầ u c ủ a ứ n g d ụ n g Đơi với ứne dụng mức xí nghiệp, việc đáp ứng yêu cầu tính sẵn sàng khả mở rộng phải xem xét, ý Các hệ thống đòi hỏi phải thiết kế lại viết lại hay triển khai lại để đáp ứng yêu cầu tính sẵn sàng khả mở rộng làm giảm tính linh hoạt, gây ảnh hưởng lớn tới việc ứng dụng công nghệ thông tin tổ chức, doanh nghiệp Vì vậy, việc phát triển hệ thống để đáp ứng yêu cầu dễ dàng tự động hoá nhiều đem lại hiệu cao cho việc ứng dụng cơng nghệ thơng tin Đe mở rộng cách dễ dàng hiệu quả, hệ thống phải thiết kế để tương tác với nhiều người sử dụng đồng thời Các hệ thống địi hỏi phải có chế quản lý hiệu tài nguyên dịch vụ hệ thống kết nối tới sở liệu, giao dịch, Các ứng dụng phải có khả chạy máy chủ nào, đáp ứng đòi hỏi khả xử lý ứng dụng Đe đảm bảo tính sẵn sàng mức cao nhất, hệ thống phải có khả sử dụng tính tự động cân tải, tự động chuyển sang máy chủ khác có cố mà khơng cần can thiệp người phát triển ứng dụng [4] 1.1.4 Đ ảm b ả o b ả o m ậ t Hơn hết, việc bảo mật hệ thống thông tin nhà quản lý công nghệ thông tin quan tâm đến Việc bảo vệ hệ thống thơng tin có tính chất sống tổ chức, doanh nghiệp Các tổ chức, doanh nghiệp thu nhiều lợi ích cơng nghệ thơng tin mang lại họ bị nhiều thiệt hại hệ thống bị phá huỷ nhiêu Trong hệ thống thông tin truyền thống trước đây, người quản trị hệ thống có khả kiếm sốt hệ thống cao họ có khả kiểm soát máy chủ thiết bị người sử dụng Nhưng nay, với phát triển Internet, tài nguyên hệ thống sử dụng mơi trường bảo vệ hơn, người quản trị khơng có khả quản lý tồn hệ thống mà họ có khả quản lý phần hệ thống mà thơi Chính vi vậy, việc đảm bảo bảo mật phải đảm bảo khả truy nhập người sử dụng thách thức lớn hệ thống thông tin [4] 1.2 J2EE - Nền tảng cho ứng dụng mức xí nghiệp Cơng nghệ J2EE, hãng Sun xây dựng, nhằm tạo mô hình phát triển ứng dụng phân mềm máy chủ dựa công nghệ Java Công nghệ J2EE chuẩn thống cho việc phát triển triển khai ứnơ dụng mức xí nghiệp Chỉ hai năm đầu, công nghệ J2EE thu nhiều thành cơng thị trường Thành cơng có nhờ việc chuẩn J2EE phát triển cách cơng khai Mọi cá nhân, tổ chức tham gia vào việc xây dựng chuẩn Với việc có nhiều nhà sản xuất lớn giới tham gia vào việc phát triển này, giúp cho J2EE đáp ứng nhiều đòi hỏi khác đặt với ứng dụng mức xí nghiệp Cơng nghệ J2EE giúp giải cách hiệu thách thức đặt ứng dụng mức xí nghiệp Cơng nghệ J2EE cung cấp mơ hình phát triển đơn giản dựa thành phần Việc phát triển ứng dụng dựa thành phần đảm bảo việc tăng suất phát triển ứng dụng nhiều cách khác như: • Rút ngắn thới gian phát triển thành phần: Các thành phần J2EE phát triển cơng cụ đồ hoạ, chí tự động tạo cơng cụ Vì vậy, thời gian phát triển thành phần rút ngắn đáng kể Hơn nữa, người phát triển sử dụng thành phần có sằn thị trường việc phát triển ứng dụng Vì vậy, khơng tốn thời gian viết lại thành phần • Tạo dựng chức triển khai: Sự tương tác thành phần J2EE xác định muộn vào thời điểm triển khai Vì vậy, tạo dựng chức khác ứng dụng thời điếm triển khai thay phải xác định phát triển ứng dụng - 82 - kiêm tra quyền người sử dụng, rút tiền từ Entity Bean tài khoản, chuyên tiền vào Entity Bean tài khoản khác Hình 4-2: Chuyển tiền Entity Bean tài khoản Trong biêu đô trên, lời gọi phương thức giao diện chồ giao diện từ xa thực thông qua nhiều lời gọi qua mạng Cách tiếp cận không cho phép ứng dụng phục vụ số lượng lớn người sử dụng u cầu địi hỏi khơng lời gọi qua mạng với lời gọi để tìm thành phần Entity Bean cần thiết lời gọi thực thực việc chuyển tiền Hơn nừa, Entity Bean hoạt động giao dịch Vì vậy, lời gọi phương thức Entity Bean đòi hỏi phải tạo giao dịch riêng máy chủ đòi hỏi phải đồng liệu Entity Bean với liệu lưu trữ Ngoài ra, cách tiếp cận khơng bảo đảm tính tồn vẹn liệu Nếu có cố xảy sau thực việc rút tiền trước thực việc chuyển tiền có nghĩa khách hàng bị tiền hai hoạt động thực hai giao dịch độc lập Một giải pháp cho vấn đề tạo dựng thêm phương thức cho Entity Bean đê thực cho yêu cầu khác người sử dụng Nhưng giải pháp - 83 - làm cho việc bảo trì ứng dụng trở nên khó khăn, qua thời gian, Entity Bean sử dụng theo nhiều cách khác Neu mồi lần cần giải vấn đề tốc độ thực lại phải thêm phương thức vào Entity Bean Entity Bean ngày trở nên cồng kềnh khó hiểu Và đó, thực việc sát nhập logic ứng dụng với việc quản lý dừ liệu Đây thiết kế ứng dụng hồn tồn khơng tốt Một giải pháp cho vấn đề thường sử dụng bao gói tất lời gọi tới Entity Bean Session Bean Tất lời gọi từ ứng dụng khách tới Entity Bean thực thông qua Session Bean Phương pháp gọi khn mầu Session Bao Ngồi Phương pháp cho phép che dấu mơ hình đối tượng máy chủ máy khách Hình vẽ sau cho thấy hiệu phương pháp cho việc giải vấn đề đặt cho ví dụ nêu phần trên: Hình 4-3: Tăng tốc độ với Session Bao Ngoài Trong trường hợp này, toàn chức chuyển tiền ứng dụng gọi thông qua phương thức transferFund() Session Bean Thành phần Session Bean BankTeller thực loại lời gọi tới Entity Bean - 84- Session Bean BankTeller Entity Bean đặt máy chủ Vì vậy, có thê cho Session Bean truy nhập tới Entity Bean hồn tồn thơng qua giao diện cục Như vậy, giúp làm giảm trao đổi liệu mạng Hơn nữa, phương thức thực thay đổi liệu Entity Bean thực giao dịch khởi tạo Session Bean BankTeller Do đó, tồn hoạt động chức gói gọn giao dịch giúp đảm bảo tính tồn vẹn liệu [3] Việc sử dụng Session Bao Ngồi giúp đem lại lợi ích sau: • Giảm trao đổi liệu mạng: Việc thêm Session Bean bên làm tăng lớp ứng dụng cho phép người sử dụng thực chức ứne dụng thông qua lời gọi qua mạng Trên máy chủ Session Bean thực việc trao đổi cục với Entity Bean khơng địi hỏi trao đổi dừ liệu mạng Như vậy, giải pháp giúp giảm bớt khối lượng liệu cần trao đổi mạng • Tách biệt rõ ràng Logic nghiệp vụ biểu diễn dừ liệu: Với việc sử dụng Session Bao Ngoài, toàn Logic nghiệp vụ bao gói hồn tồn Session Bean Các ứng dụng khách phải quan tâm đến việc biểu diễn liệu Toàn việc trao đổi với Logic nghiệp vụ thực với lời gọi phương thức thành phần EJB mà Như vậy, phần Logic nghiệp vụ biểu diễn dừ liệu hoàn toàn tách biệt • Đảm bảo tính tồn vẹn liệu: lời gọi phương thức làm thay đổi liệu thực giao dịch • Tính sử dụng lại cao: ví dụ Session Bean BankTeller truy nhập nhiều loại ứng dụng khách khác (JSP, Servlets, ) Như vậy, toàn logic ứng dụng thực Session Bean Entity Bean thực việc chứa liệu quản lý việc truy nhập dừ liệu Như vậy, Entity Bean sử dụng lại cho nhiều - 85 - Session Bean khác ứng dụng ứng dụng khác Việc sử dụng Session Bao Ngoài kiến trúc MVC cho kiến trúc ứng dụng sau: 4.2 Ví dụ ứng dụng ngân hàng điện tử Phần xem xét ví dụ việc sử dụng công nghệ J2EE để triển khai ngân hàng điện tử Với ngân hàng điện tử này, người sử dụng truy nhập thông tin cá nhân, tài khoản thực giao dịch thông qua Internet 4.2.1 Mô tả ứng dụng 4.2.1.1 Môi trường cài đặt Úng dụng Ngân hàng điện tử sử dụng phần mềm máy chủ web IBM Websphere Application Server 4.0 Phần mềm IBM Websphere Application Server gồm ba thành phần là: • T h n h p hầ n kế t n ố i v i C S D L ứng d ụn g khác - 86- • Thành phần kết nối với máy khách, máy khách trình duyệt vveb khơng phải trình duyệt web ví dụ có thê ứng dụng Java • Thành phần giúp thực logic ứng dụng ví dụ thành phần JSP, Servlet EJB Thành phần kết nối với CSDL IBM Websphere Application Server hỗ trợ chuẩn JDBC Vì vậy, ứng dụng phát triển IBM Websphere Application Server sử dụng hệ CSDL hỗ trợ chuẩn JDBC Điều có nghĩa dừ liệu ứne dụng Ngân hàng điện tử quản lý IBM DB2, Oracle, MS SQL Server hay phần mềm quản trị CSDL khác Trong luận văn này, ứng dụng Ngân hàng điện tử chạy thử hệ quản trị CSDL IBM DB2 Phần mềm máy chủ IBM Websphere Application Server 4.0 hỗ trợ đầy đủ chuẩn định nghĩa J2EE Một số chuẩn J2EE hỗ trợ IBM Websphere Application Server JDK 1.3, EJB 1.1, JSP 1.1, Servlet 2.2 JDBC 2.0 IBM Websphere Application Server tạo môi trường cho việc thực thành phần ứng dụng J2EE JSP, Servlet EJB Phần mềm IBM HTTP Server sử dụng làm phần mềm máy chủ web giúp thực xử lý kết nối với trình duyệt web Tóm lại ứng dụng Ngân hàng điện tử thực môi trường sau: • Phần mềm máy chủ Web IBM HTTP server • Phần mềm máy chủ ứng dụng Web IBM Websphere Application Server • Phần mềm quản trị CSDL IBM DB2 4.2.1.2 Mơ hình quan hệ thực thể M h ình quan hệ thự c thể ứng dụng N g â n hàng đ iệ n tử sau: - 87- Hình 4-5: Mơ hình thực thể Các thực thể quan hệ thực thể sau: • Customer: Khách hàng ngân hàng điện tử • BankAccount: Tài khoản ngân hàng nói chung Mỗi khách hàng có nhiều tài khoản khác Ngược lại, tài khoản nhiều người sở hữu Tài khoản ngân hàng có thê tài khoản tín dụng (CheckingAccount) tài khoản tiết kiệm (SavingAccount) • CheckingAccount: Lớp kế thừa từ BankAccount • SavingAccount: Lớp kế thừa từ BankAccount • TransRecord: TransRecord ghi lại giao dịchđã thực hiệnnhư việc gửi tiền, rút tiền hay chuyển tiền tài khoản Mỗi tàikhoản có nhiều giao dịch khác thực Mối quan hệ nhiều-nhiều Customer BankAccount cài đặt CSDL thông qua bảng trung gian CustAcct Bảng chứa khóa Customer BankAccount CheckingAccount SavingAccount hai bảng phụ thuộc Mỗi BankAccount CheckingAccount SavingAccount Vì vậy, mồi ghi BankAccount có ghi CheckingAccount hay SavingAccount - 88 - 4.2.1.3 M ô h ìn h ch ứ c n ă n g Hình 4-6: Mơ hình chức Ngân hàng điện tử cho phép khách hàng thực chức sau: • Xem danh mục TK: cho phép khách hàng xem danh mục tài khoản chọn TK mặc định để làm việc • Kiểm tra số d TK: xem số dư tài khoản tài khoản thời • Xem nhật ký TK: xem giao dịch thực tài khoản thời • Chuyển tiền: Thực việc chuyển tiền tài khoản - 89- 4.2 Ị G iao diện s d ụ n g Giao diện thị người sử dụng truy nhập vào Ngân hàng điện tử sau: E B a n k - M ic r o s o f t I n t e r n e t E x p lo r e r File Edit View Favorites Back Tools L*} S ) l i Help ¡Of* £ * Search ■ÿ? Favorites «if Media Links 01* C hào m ừng ban đên VỚI ngân hàng điện tử Với ngân hàng điên tử ban có thê thực đư ợ c Ik? ^ iii^n tb ji giao dịch ngân hàng thông qua Internet Tai bạn có thê truy nhập tới thông tm chi ũêt vê tài khoản ban! Đ ể truy nhập nhân chuột vào thực đơn bên trái M ỹ t a i k lio ã n Done My Computer Hình 4-7: Trang Ngân hàng điện tử Sau người sử dụng đăng nhập vào hệ thông, thực đơn Ngân hàng điện tử ra: '3 EBank - Main menu - Microsoft Internet Explorer File Edit View Favorites Tools [*) là) t j} Back ^ P Help Search Favorites I j f Media £5 ,-v m » Links / ;tl Vil? 111 A c c o u n t: -4 0 « *hì f 11 ỉ Im 111 Nh.ir kv tài jdiôn i V ( •! ể) S f » "u t l l l ll My Computer H ìn h -8 : T h ự c ( to n c h ín h c ủ a N g â n h n g đ iệ n tử -90- Tại thực đơn hệ thống, người sử dụng chọn cơng việc cần thực tài khoản Ví dụ, người sử dụng chọn vào danh mục tài khoản giao diện sau ra: ' ũ E B a n k - A c c o u n t L is t - M icro so ft In te rn e t E x p lo re r File Edit View Favorites Back ^ Lü) í â Tools Q Help if » p Search Ỷ Ỉ Favorites I f Media » Links Đ â y danh m ục cá c tài k h o ả n củ a b n , h ã y ch ọn m ột í( «liìi Hiu- t IIkhoan tài k h o ả n đê th ự c giao d ịch VỚI tài k h o ả n Account: 102-4200 ^ s í»íht ( i! llnì.iỉi j.Ị»■■■».r.kl r 11kho >11 A c c o u n ts : ■'hu; ỈI Ểí'-n ịjj My Computer Hình 4-9: Danh mục tài khoản 4.2.2 Mơ h ìn h h ệ th ố n g c ủ a ứ n g d ụ n g Mơ hình hệ thống tổng thể ứng dụng thể mơ hình sau: Bộ chứa Web 1 BộChứa EJB Danh sách HH TXController tồi khoản MUl session bean 1 ™ Account Controller ip " Ị m session bean Chuyển tíén " TX entity bean Ỉ Account entity bean m Customer ị Nhật ký tài khoan Trtnh duyệt \ \ ATM d I Customer Controller ' Hình 4-10: Mơ hình tổng quan ứng dụng ngân hàng điện tử - 91 - 4.2.2 ì Các thành phần EJB Trong hình trên, thấy việc truy nhập người sử dụng tới Entity Bean thực thông quan Session Bean (sử dụng khn mẫu Session Bao Ngồi) Trong chứa EJB, Session Bean sử dụng dịch vụ Entity Bean cung cấp Các Entity Bean thực việc truy nhập vào sở dừ liệu sở dừ liệu có nhiệm vụ lưu trữ dừ liệu Entity Bean 4.2.2.1.1 Các thành phần Session Bea/t Trong ứng dụng ngân hàng điện tử có thành phần Session Bean AccountControllerEJB, CustomerControllerEJB TXControllerEJB Các Session Bean cung cấp giao diện Logic nghiệp vụ cho ứng dụng khách Toàn Logic nghiệp vụ ứng dụng che dấu không cho ứne dụng khách nhìn thấy AccountControllerEJB: Session Bean có nhiệm vụ thực việc tạo hủy bỏ tài khoản, quản lý mối quan hệ tài khoản khách hàng, lấy thông tin tài khoản Các phương thức thực việc tạo hủy bỏ tài khoản c r e a te A c c o u n t( ) r e m o v e A c c o u n tQ Các phương thức thực việc gọi phương thức c r e a te () r e m o v e ị) A c c o u n tE J B Việc quản lý quan hệ tài khoản khách hàng thực thông qua phương thức a d d C u s to m e r T o A c c o u n tQ r e m o v e C u s to m e r F r o m A c c o u n t( ) Quan hệ tài khoản khách hàng quan hệ nhiều-nhiều Một tài khoản sử dụng nhiều khách hàng ngược lại khách hàng có nhiều tài khoản khác Các thông tin tài g e t A c c o u n t s O fC u s to m e r ( ) khoản lấy thông qua phương thức g e tD e ta ils ( ) Phương thức g e tA c c o u n ts O fC u s to m e r ( ) trả lại tất tài khoản khách hàng cách gọi phương thức fìn d B y C u s to m e r () A c c o u n tE J B Thay cài đặt phương thức lấy giá trị -92- thuộc tính A c c o u n tD e ta ils Đối tài khoản, phương thức g e tD e ta ils ( ) trả lạiđối tượng tượng đóng gói tồn thơng tin A c c o u n tE J B Như vậy, thay vỉ nhiều lời gọi hàm từ xa để lấy thông tin ứng dụng khách cần thực lời gọi hàm từ xa đủ (sử dụng khuôn mẫu đối tượng giá trị) CustomerControllerEJB: mối quan hệ tài khoản khách hàng quản lý với A c c o u n tC o n tr o lle r E J B , vậy, thành phần tương đối đơn giản Thành phần c r e a te C u s to m e r ( ) thực việc tạo khách hàng với phương thức hủy bỏ khách hàng với r e m o v e C u s to m e r Q Ngoài ra, thành phần cịn có phương thức g e tC u s to m e r s O fA c c o u n t( ) trả lạidanh sách khách hàng tài khoản g e tC u s to m e r s O fL a s tN a m e ( ) trả lạidanh sách khách hàng tên TxControllcrEJB thực việc xử lý giao dịch ngân hàng Ngoài phương thức lấy dừ liệu g e tT x s O fA c c o u n t( ) g e tD e ta i ls ị '), thành phần cung cấp số phương thức làm thay đổi số dư tài khoản như: • w ith d r a w ( ) \ • d e p o s itQ : • tr a n s fe r F u n d ( ) \ 4.2.2.1.2 rút tiền gửi tiền chuyển tiền Các thành phần E ntity Bean Trong ứng dụng có thành phần Entity Bean là: • AccountEJB • CustomerEJB • TxEJB Các thành phần sử dụng để tạo mô hình hướng đối tượng cho sở dừ liệu Khác với thành phần Session Bean, phương thức thành phần khơng thực việc kiểm tra tính họp lệ liệu Mọi việc kiểm tra liệu - 93 - dược thực Session Bean ứng dụng khách truy nhập đến đối tượng thông qua Session Bean mà 4.2.2.2 Các thành phần Web Trong ứng dụng này, người sử dụng dùng trình duyệt Web truy nhập tới Web site để lấy thông tin tài khoản, khách hàng thực giao địch tài khoản Sau bảng URL, JSP tương ứng, thành phần hồ trợ khác sử dụng người sử dụng: C hức Trang chủ /main main, jsp /logon logon, jsp /logonError logonError jsp /logoff logoff, jsp Danh sách tài khoản /accountList accountList jsp Nhật ký tài khoản /accountHist accountHist jsp Chuyển tiền tài khoản /transferFunds transferFunds jsp /transferAck transferAck jsp Xử lý lỗi /error error, jsp Đăng nhập dăng xuất JavaB ean JS P URL AccountHistoryBean TransferBean Trong ứng dụng này, để đảm bảo tính dể bảo trì ứng dụng JSP sử dụng khuôn mầu trợ giúp vùng nhìn với thẻ JSP JavaBean Hơn nữa, đế đảm bảo tính thống trang Web, khn mẫu vùng nhìn đa hợp sử dụng Vùng nhìn đa hợp lại tạo thành thành phần: • template.jsp xác định cấu trúc trang Web Thành phần sử dụng thẻ insert để tạo thành tồn trang • screendefinitions.jsp định nghTa thành phần sử dụng trang Web Mọi trang Web phải có chung vùng tiêu đề khác nội dung chúng -94- • Dispatcher Servlet thực nhận yêu cầu từ người sử dụng chuyển tới template jsp (khn mầu điều khiển trước) Tóm lại, phần xem xét ứng dụng phát triển với công nghệ J2EE ứ n g dụng sử dụng mơ hình đa mức J2EE với kiến trúc MVC Mơ hình ứng dụng cài đặt bane Entity Bean Session Bean thực vai trị bao ngồi Tồn phần thị ứng dụng thực bang JSP với trợ giúp JavaBean thẻ JSP Bộ điều khiển ứng dụng sử dụng Servlet với vai trò điều khiển trung tâm Như vậy, thông qua ứng dụng thấy khuôn mẫu phát triển hỗ trợ việc phát triển ứng dụng -95- KÉTLUẬN ■ Sự phát triên Internet nói riêng cơng nahệ thơng tin nói chung đans diễn mạnh mẽ Việt nam thời gian gần tương lai Sự phát triển địi hỏi cơng ty, tổ chức cần xây dựng ứng dụng Internet Có nhiều cơng nghệ khác giúp phát triển ứng dụng Luận văn xem xét công nghệ phát triển mạnh mẽ thời gian gần công nghệ J2EE Đe đáp ứng nhu cầu luận văn “Phát triển ứng dụng phần mềm máy chủ dựa công nghệ Java” đề cập đến nội dung sau: • Các cơng nghệ J2EE cơng nghệ giúp giải vấn đề đặt ứng dụng mức xí nghiệp • Các thành phần Enterprise Bean có nhiệm vụ thực việc mơ hình hóa giới thực phần mềm ứng dụng • Các thành phần JSP Servlet thực chức quản lý giao diện với người sử dụng • Kiến trúc MVC (Mơ hình- Vùng nhìn - Bộ điều khiển) • Các khn mẫu phát triển thường dùng với J2EE Do nội dung có hạn luận văn luận văn chưa đề cập đến cách chi tiết khuôn mẫu J2EE Hơn việc sử dụng khuôn mẫu phát triển J2EE mơ hình ứng dụng cụ thể chưa đề cập tới Ví dụ khuôn mẫu thường sử dụng ứng dụng thương mại điện tử B2C, hay ứng dụng trao đổi doanh nghiệp B2B chưa đề cập tới luận văn v ấ n đề hướng phát triển luận văn sau -96- TÀI LIỆU THAM KHẢO * Tiếng Việt: [1 ] Nguyễn Phương Lan, Hồng Đức Hải (2001), Lập trình ứng dụng Web với JSP/Servlet, Nhà xuất Giáo dục, TP Hồ Chí Minh, tr 55-74 T iế ng Anh: [2 ] Ed Roman (1999), Mastering Enterprise JavaBean and the Java Platform Enterprise Edition , Wiley Computer Publishing, America, pp 71-260 [3 ] Floyd Marinescu (2002), EJB Design Pattern , Wiley Computer Publishing, America, pp 5-11 [4] Inderjeet Singh, Beth Steams, Mark Johnson (2002), Designing Enterprise Application with the J2EE platform ; Addison-Wesley, America, pp 14-20, pp 82-91, pp 113-121, pp 347- 384 [5] Osamu Takagiwa, Adrian spender, Anthony Stevens, Julien Bouyssou (200 \), Programming J2EE APIs with WebSphere Advanced, IBM Corp., America, pp 165 - 250 [6] Ueli Wahli, Alex Matthews, Paula Coll Lapido, Jean-Pierre Norguet (2001), Web sphere Version Application Development Handbook ; IBM Corp., America; pp 102-103 ... ứng dụng lựa chọn thành phần cho việc phát triển ứng dụng giúp giảm ngắn thời gian phát triển ứne dụng Tóm lại, với việc đưa chuẩn cho phần mềm máy chủ, công cụ phát triển triển khai, thành phần. .. đơn giản hóa việc phát triển ứng dụng, ứng dụng mức xí nghiệp cần chuẩn cho việc phát triển ứng dụng máy chủ Đặc tả EJB J2EE cung cấp chuẩn cho việc phát triển ứng dụng máy chủ Chuẩn giúp đơn... phát triển ứng dụng người phát triển ứng dụng khác • Cho phép phát triển ứng dụng với thành phần có sẵn thị trường mà không ảnh hưởng tới giao diện ứng dụng • Cho phép triển khai thành phần khác