Khả năng truy cập vào dữ liệu một cách dễ đảng mà không phải thông qua lớp ứng đụng như vậy la một tiểm năng cho các cuộc lấn công vào ứng dụng Với những hạn chế như vậy, hệ thông Quả
Trang 1HE THONG QUAN LY YEU CAU KHACH HANG
TAI BUU DIEN HA NOI
LUAN VAN THAC SI NGANH DIEN TU VIEN THONG
Trang 2HUỲNH DỨC NGHĨA
NGHIÊN CỨU KIÊN TRÚC ỨNG DỤNG PHAN TAN VA AP DUNG XAY DUNG
HE THONG QUAN LY YEU CAU KHACH HANG
TAI BUU DIEN HA NOI
CHUYÊN NGÀNH: ĐIỆN TỬ VIỄN THONG
LUẬN VĂN THẠC SĨ NGÀNH ĐIỆN TỬ VIỄN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS TS NGUYỄN VIỆT HƯƠNG
Trang 31.1 ¡ thiệu về i ả êu cầu khách hàng của Bưu
12 Các hạn chế của hệ thống chương trình hiện tại „
13 Phạm vì của dồ án
1⁄4 Phương phán nghiên cứu
CHƯƠNG 2_ NGHIÊN CỨU GIẢI PHÁP CHO BÀI TOÁN
QUAN LY YEU GAU KHACH HANG
1.1 Kiến tric | lớp (I-tier) 13
.2.1 Han chề trong công tác triển khai và bảo hanh bio trì hệ thẳng15
3.1.3 Kiến trúc ứng đụng phân tán (kiển trúc nhiều lớp) „ 18
2.1.3.1 Vân để triên khai và bảo hành bảo trì hệ thống 18
Trang 42.2 Giải pháp công nghệ
221 Java
.1.1 Java với tư cách la một ngôn ngữ lập trinh
1.2 Java với tư cách là một công nghệ in (platform)
1.4 Đảnh giá
KET -
1 Các ngôn ngữ lập trình của NET
2 HT với tư cách là một công abe nén (Platform)
-3 Ứng dụng nhiều lớp trên NET, 2
3.2 Câu trúc ứng dụng phân tản trên NET
3.3 Giao tiếp giữa các thành phẩn của ứng dụng trên môi trường NET
3.3.1 Các phương pháp truyền thông trên các môi trường phi NT 38 3.3.2 Các phương pháp giao tiếp trên môi trường NET
3.3.2.1 ASP.NET Webservice
33.2.3 So sinh ASP NET Webservice va NET Remoting 40
3.4 Câu trúc giau tiếp khách - chủ trên NET Remating
m tra quyển trên mdi trường ứng
Trang 5‘rng 5
CHƯƠNG 4 PHANTICH VA THIET KE HE THONG
4.1 Khảo sát bài toán
4.1.2.1 Mô hình nghiệp vụ chính của hệ thông w
41 2.3 Mã hình khai thác đữ liệu m 66
4.1.3.5 Dôi với các đơn vị của TT DVKH 41.26 Đổi với cáo đơn vị khác của Bưu điện Hà Nội 7 4.1.3 Các nhóm chức năng của chương trình 7
4.1.4 Sự cân thiết của việc xây đựng hệ thông, 68
4.1.6 Cae nghiép vu co ban trong bải toán ce- OO
4.1.6.2 Kiếm tra tính khả thì của yêu câu 69
4.2.1 Sơ đã luẳng đữ liêu mức ngữ cảnh 1
43.3 Sơdỏ luỗng dữ hệu các mức e 7
4.2.3.2 So dé luéng dit ligu mie đưới đình - Tiếp nhận yêu câu 78 4.3.3.3 Sơ để luỗng đữ liệu mức đưới đỉnh — Thu phí 79
4 So dé dữ liệu mức dưới đỉnh Phát triểnthuê bao 8Ì
%1 Dánh giá hệ thẳng mói so với hệ thống cũ cà
Tình Đức Nghĩa— sao học ĐTET 2002 Luận văn tôi ngiiệp
Trang 6&2 Kiến nghị về các nghiên cửu tiếp theo
TÀI LIỆU THAM KHAO
PHỤ LỤC 1 CÁC SƠ ĐÒ QUAN HỆ THỰC THÊ CHÍNH 31
PHỤ LỤC 2 CÁC GIAO DIEN CỦA CHƯƠNG TRÌNH 117
Trang 7‘rng 5
Danh muc cac hinh vé
Tình 2.L: Mô hình 1 lớp — toàn bộ chương trùnh chay trén | may tinh 13
Hình 3.3 : Kiến trúc nhiều lớp cooSecseerserrserssosve TẾ Tình 2.4: Cầu trúc ứng đụng chạy trên Java pÏatform 23
Tĩnh 2.6: Cầu trủc ứng dụng chạy trên Java platform 26
Hình 3.7 : Các ngôn ngữ lập trình trên môi trường NET 28 Hình 3.8: Câu trúc ứng đụng chạy trên NET platform 39 Tĩnh 2.9: Cầu trúc ứng dụng phân tán (nhiều lóp) trên NET 29 Hình 3.1 : Câu trúc ứng dụng phân tán lrên môi trường NET 35
Hình 3.2 Cấu trúc giao tiếp giữa tiễn trình khách vả tiến trình chi trong
Hình 33: Vị trí của lớp đồng bệ thông tin người đùng trong Cấu trúc giao
tiếp khách - clu của NITT Remoting co 52
Hình 3.4: Vị trí của lép bảo mật trong Câu trúc giao tiếp khách - chủ của
Tình 4.2 : Mô hình nghiệp vụ tổng thé hệ thống Quan lý yêu cau kbach hang
Hình 4.3 : Se để luồng đữ liệu mức ngữ cảnh 71 Tình 4.4: Cầu trúc phân cấp khách hàng, 72 Hình 4.5 : Sơ để phân cấp chức năng hệ thống Quản lý yêu cầu khách hàng,
Tĩnh 4.6: Sơ để luồng dữ liệu mức đỉnh coeosceoeecce T6
Hình 47 : Sa đề luồng đữ liệu mức đười đỉnh— Tiếp nhận yêu cầu 78
Hình 4.8: Sơ để luỗng đữ liệu mức đưới đỉnh— Thu phi 79
Trang 8Hình 4.9: Sơ đẻ dữ liệu mức đưới dinh Phát tiến thưẻ bao 81
Tĩnh 4.10 : Sơ để phan ra luồng dữ hiệu mức hai — chức năng di chuyển -
Hình 4.11 : Phân rã luồng dữ liệu mức hai Tiếp nhận yêu cẩu Đăng ký
Hình 4.12 : Phân rã luông đíứ liệu mức hai — Tiếp nhận yêu cần — Tấn đặt
THỦI, ch HH HH Hnrrrieirereerrrriridreerirrrrreierrieooie đỔ,
Trang 9‘rng ?
Danh muc cac bang
Bang 3.1: Quétrinh kiém tra quyén trong hệ thông khach — chi 50
Trang 10Mở đầu
Trong những năm vừa qua, việc ứng dụng tin học phục vụ công tảo diều
bảnh sản xuất kinh doanh trong các ngành kinh tế nói chung và trong ngành viễn thông nói riêng đã đem lại những hiệu quả rất te lớn Để thành công, các doanh nghiệp phải không ngừng hợp lý hóa công tác quân lý điều hành, khiến cho quy mô
và độ phức tạp của các hệ thống thông lin hd Irợ ngày cảng tầng Các kiến trúc phần mềm truyền thống, vấn chi phù hợp để xây dựng những ủng dụng don lễ, trở nên không còn phi hop để phát triển những hệ thông thông tin có quy mỏ doanh nghiệp
và vượt ra ngoài đoanh nghiệp
Trong bối cảnh đó, luận vẫn nay đi sâu nghiên cửu áp dựng một kiến trúc tứng đựng mới - kiến trúc ứng đựng phân tán đề xây đựng một hệ thang hế trợ điều hành sản xuất kinh đoanh cho môi doanh nghiệp — hệ thống Quản lý yên cầu khách
hang của Bưu điện Hà Nội
Nội dưng của luận văn bao gồm các phản sau:
Mở đầu
Nội dung chính của phẩn này giới thiệu vẻ mục đích, phạm vi cũng như bổ
cục chưng của luận văn
Chương Ì : Tổng quan Chương 1 giới thiệu hệ thống quản lý yêu cẩu khách hàng hiện tại của Bưu
điện Hà Nội
Chương 2 : Nghiên cứu giải pháp cho bài loán Quản lý yêu cầu khách hàng Chương 2 thực hiện phân tích lựa chọn các giải pháp cho bài toán, bao gồm
kiến trúc ứng đụng, giải pháp công nghệ và một số công cụ khác như cơ sở đữ liệu
hay ngôn ngĩt lập trình Chương này so sảnh giữa các mô hình kiến Irúc ứng dụng
truyền thống và mỏ hình kiến trúc ứng dụng phản tản, từ đỏ xảo định mỗ hình ứng, dịng phân tân là giải pháp phi hop nhất cho bài toán Quản lý yên cầu khách hang
Chương 3 :Xây dụng ủng dụng phân lần Trên co sở các phân tích lựa chọn giải pháp đã trình bày trong chương 2,
Trang 11‘rng 4
vận đẻ về cầu trúc phân tán, việc giao tiếp giữa các thánh phần, các vấn để bảo mật, tốc độ được để cập chỉ tiết trong chương này
Chương 4 : Phân tích và thiết kế bệ thẳng
Chương 4 trình bảy quá trình phân tích và thiết kế hộ thống Quản lý yêu cầu khách hàng mới dụa trên phương pháp phản tích thiết kể có cấu trúc (Structural amalysis) Trong chương này, hệ thông được thiết kế từ trên xuống (top down) qua tùng bước với các biểu đỏ luông dữ liêu các mức
Chương 5 : KẾ! luận
Chương 5 đưa ra cáo đánh giá về hệ thông mới so với hệ thống cũ và các
kiển nghị vẻ các nghiên cu tiếp theo
Phụ lục 1 : Các sơ đề quan hệ thực thê chính
Phụ lục 1 trình bày các sơ dé quan hệ thực thể chính cửa hệ thống
Phụ lục 2 : Các giao diện chính của hệ thẳng mới
Phy luc 2 trinh bày các giao điện tiêu biểu của hệ thông,
Tôi xin trân trọng gữi lời cảm ơn tới giáo viên hướng dẫn - PQS T8 Nguyễn
Việt Hương Là người hướng dẫn để tà, PGS TS Nguyễn Việt Hương đã tận tình
hướng din tôi trong quả trinh hoàn thánh để tài luân văn nảy Tôi cũng xin tràn
trong eam ơn tập (hể các cản bộ của Bưu điện Hả Nội, đặc biệt là Trung tâm tin hoe
và Trung tâm dịch vụ khách hàng đã nhiệt tỉnh giúp đố vả tạo điều kiện trong quá
trình khảo sát thục hiện để tải tại đây Tôi cũng xin gỗi lời câm ơn tới các đồng,
nghiệp tại Trung tâm Công nghệ thống tin, Hiạc viện Dưu chính Viễn thông, là
những người đã đóng góp công sức trong đự án Quân lý yêu cầu khách hàng của
Bưu điện Hà Nội,
Trang 12Chương 1 Tổng quan
1.1 Giới thiệu về hệ thống quản lý yêu cầu khách hàng của Bưu
điện Hà Nội
Tu điện Hà Nội là một bưu điện lớn với nhiều điểm giao dịch được triển
khai khắp thành phố Trung tam giao địch khách hàng của Bưu điện Hà Nồi nằm tại
25 Định Tiên Hoàng
Trong vải năm trở lại dây, củng với sự phát triển của xã hội và sự nẵng cao của múc sống người đân, số lượng khách hàng sử dung các dịch vụ viễn thông ngày cảng nhiều Để đáp ứng cho các nhu cầu ngảy cảng da dang của khách hàng, ngành
T8ưu chính Viến thông cũng không ngừng gia tăng các loại hình dịch vụ viễn thông
để cung cấp cho khách hàng Tiên cạnh đó, cạnh tranh trên thị trường đòi hỏi việc
nâng cao chất lượng dịch vụ, chất lượng phục vụ khách hàng Các thông tin đưa tới khách hàng phải chính xác và nhanh nhất cũng như việc đáp ứng các yêu cảu của khách bang phải nhanh nhất và chính xác Trong bối cảnh đó, việc tiếp nhận, xử lý, thực hiện các yêu câu dịch vụ từ khách hàng trở thảnh một công việc phức tạp, đời hỏi nhiều rhân lục và vật lục của ngành Buu chỉnh Viễn thông Nhu cầu về một hệ thẳng chương trình hỗ trợ quân lý các yêu cầu khách hàng trên máy Linh trở nên rõ rang và cấp thiết
Kế tù năm 2000 cho tới nay, việc quản lý yêu cầu khách hàng tại Bưu điện
Hà Nội đã được hỗ trợ thục hiện nhờ chương trình Quản lý yêu cầu khách hàng
Chương trình hiện đang sử dụng này được việt bằng Foxpro, chạy trên hệ điều hành
DOS
1.2 Các hạn chế của hệ thông chương trinh hiện tại
Hé thống quân lý yêu cầu hiện lại của Bưu điện Hà Nội được xây dựng trên phiên bin Foxpro trên hệ điều hành DOS Foxpro for DOS được xây dựng để phác triển oác ứng đụng Ì lớp Vi vay, ác nhược điểm mmả một ứng đụng xây đựng đựa trén Foxpro bao gồm:
Trang 13‘trang 11
a) Năng lực xử lý
Là một trong những hệ cơ sở dữ liệu ở mức so khai, Foxpro không hỗ trợ các
tính nằng xử lý tương tranh, giao tac (transaction), các ràng buộc đữ liệu
(constrauts) Nêu cần đến những tính nẵng này, người viết chương trình phải thực hiện ở mức ứng dựng Quá trinh này thường rất phức tạp và đòi hỏi nhiều công sức cửa người phát triển chương trình
b) Khả năng mở rộng trong môi trưởng mạng,
Toxpro for DOS được phát triển khi môi trường mạng chua phải là phổ biển
Một ứng dung Foxpro for DOS thường chỉ nằm trên củng một máy với file chứa đữ liệu (*.đbÐ, thực biện toàn bộ các chức năng nhập đữ liệu, xử lý đũ liệu, xử lý giao
tác Trong môi trường mạng LAN, một cơ sở đữ liệu Foxpro cho nhiều ngudi ding chỉ có thể thục hiện dược bằng cách chia sẽ lài nguyên ở mức hệ điểu hành, cụ thể
là chia sẻ quyền truy cập file dữ liệu (*.dbf) Khi nảy việc xử lý tương tranh phụ
thuộc hoàn toàn vảa ứng dụng Diễu này khiển cho việc thực hiện các hệ thẳng
phân lán với cơ sở đữ liêu lập trmg quy mô lớn là hấu như không thẻ thực hiện được, Vì vậy, giải pháp chia sẽ tài nguyên file đữ liệu chỉ có thể được cøi như là một giải pháp tình thể cho bài toán cơ sở đữ liệu tập trung
c) Bao mat
Dữ liệu Foxpro được lưu trong file dbf File nay hoan toan cé thé duoc truy
cập, sửa bằng một trình dọc foxt dơn giản Dữ liệu thậm chỉ không được bão vệ bởi
mật khâu khi truy cập trực tiếp như vậy Khả năng truy cập vào dữ liệu một cách dễ
đảng mà không phải thông qua lớp ứng đụng như vậy la một tiểm năng cho các
cuộc lấn công vào ứng dụng
Với những hạn chế như vậy, hệ thông Quản lý yêu cầu khách hàng hiện tại
của Buu điện Hà Nội đang gặp nhiêu khó khăn trong việc đáp ứng số lượng các yêu
câu địch vụ ngày càng tầng vẻ số lượng và phong phú vẻ loại hình Xu cầu cho một hệ thống mới thôs mãn dược các yêu cầu về tốc độ, khả rễng mở rộng, độ
chính xác và an toàn đữ liệu đang được đặt ra một cách cấp bách
Trang 141.3 Phạm vi của đồ án
Tổ án này sẽ tập trung vào các vẫn để sau
—_ Nghiên cửa mô hình ứng dụng phân tán để áp dụng cho bài loán Quân
lý yêu câu khách hàng
+ Nghiên cim vé các kiến trúc ứng dựng 3o sánh giữa các mô
thành ứng dụng truyền thống và mô hình ứng địmg phần tan
Đưa ra các lý do lựa chọn mô hình ứng dụng phân tán
+ Nghiên cứu lựa chọn các giải pháp công nghệ đề triển khai mô
hình ứng dụng phân tán
Tom lrên giải pháp công nghệ đã lụa chọn, đi sâu nghiên củu,
phan tích dé đưa ra mô hình cụ thể áp dụng cho bài toàn Quân
lý yêu câu khách hàng
— Thực hiện phân tích thiết kế hệ thống Quản lý yêu cần khách hàng dựa trên các rghiên cứu về giải pháp đã thực hiện
— Phát triển hệ thẳng Phần lập trình phát triển hệ thông không được
trình bày trong đổ án Thay vào đó, các giao điện người sử đụng chính
của hệ thống sau khi phát triển được trinh bảy trong Phụ lục 2 Các
giao điện của chương trinh
1.4 Phương pháp nghiên cứu
Phương pháp nghiên cửa được sử đạng xuyên suốt trong quả trình phần tích
thiết kế hệ thống Quan ly yéu cau khach hàng là phương pháp phân tích có cấu trúc
(structured analysis) Day 1a phurong phap đuợc sử dụng rất phố biển trong các đự
ản Công nghé Théng tin
Trang 15voi nha Vì vậy, các ứng dụng sử dịmg kiến trúc 1 lớp là các ứng dung có quy mô
nhỏ, chay trên các máy tỉnh dộc lập Một ví dụ cho loại ứng dụng này là các chương trinh xử lý văn bản, các chương trình có sử dụng cơ sở đữ liệu quy mô nhỏ sử dụng
là chúa sẽ tải nguyên cơ sở dữ liệu Tuy nhiên, việc chia sẻ tài nguyên này thuần tủy
la su chia sé ö mức hệ điển hành — cụ thể là chía sẻ ñle Hệ thông Quản lý yêu cần
khách hàng hiền tại của Bưu diện Hà Nội thuộc nhóm các ứng dụng này
Trong mổ hình File server này, máy chủ chỉ đồng vai trò là nơi lưu trữ
chương trình, lưu trữ đữ liệu Thực chất việc xử lý đữ liệu đền đo các may tram dam
Trang 16nhận Các vấn đẻ như xử lý tương tranh, bão mật chỉ được thực biện ở máy trạm
Do vay kiến trúc này có rất nhiều hạn chế về năng lục xử lý, an toàn dữ liệu, giả thánh nâng cấp phần cứng, khả năng mở rồng hệ thống Các nhược điểm của kiến trúc này khiến cho việc phát triển những hệ thống lớn, phúc tạp là không thể thực
hiện được
Trong kiến trúc nảy, loàn hộ logic của chương trình chỉ được chạy ở máy tram, bao gồm việc truy cập dữ liệu, xử lý yêu cầu, hiển thị kết quả Máy chủ chỉ là nơi lưu đữ liệu thuẫn tửy Kiến trúc này được gọi là kiến trúc 1 lớp (1-ter)
2.1.1.2 Kiến trúc 2 lớp (2-Her}
Tiếp sau mô hinh File server, người ta thường phát triển các ứng dụng mạng, theo mô hình Cliernt/Server Trong mô hình nảy, khi có yêu cầu thục hiện công việc, client sẽ gửi yêu cầu tới server Chương trình server sẽ thực hiện yêu cầu Khi cỏ kết qua, server sé giti lai cho client
Trong một số ứng dụng mội chương trình tmg dụng khí thị đóng vai tro
cliew, khi thì đồng vai trỏ server tuy theo ngữ cảnh cụ thể thường được coi là các
client/server kiéu Peer-to-Peer
Trong mô hình Client/Server, giao dién client trong các hệ thông nảy thường,
là giao điện GUI Applieation, và một số giao diện đã được cung cấp dưới đạng Web
trowacr với điểm mạnh là tich hợp ngôn ngữ sơripL Mô hình clienl/server thực chất
đổng thời xữ lý tác nghiệp (business process) và hiển thị thông tin (data presentation)
Các ứng dụng sử dụng các hệ cơ sỡ dữ liệu tập trung cũng được xếp vào loại
này Khác biệt giữa trường hợp chia sẻ file của kiên trúc 1 lớp và câu trúc này nằm
ở tỉnh chải chủ động cửa máy chủ Một cơ sở dữ liệu tiên tiền không chỉ là một lập các file chứa đữ liệu, mả còn bao gồm các tiên trình xử lý phúc tạp chạy trên máy chủ để thục hiện các vấn để xử lý tương tranh, kiểm tra ràng buộc đữ liệu, xử lý dữ
tram kết nếi tới cơ sở dữ liệu Oracle
Trang 17‘trang 15
Mê hình này đã giải quyết được nhiều điểm hạn chế của mô hình File server Một phản khối lương xử ly đã được chuyển cho máy chủ thực hiện Tuy vậy, khối lượng công việc xử lý nảy thường chỉ ở mức tương đối nhỏ và chủ yêu thực hiện
các công việc xử lý có tính kỹ thuật chứ không phải là nghiệp vụ, chẳng hạn xử lý
tương tranh trong các hệ cơ sở đữ liệu Diễu này khiến cho mô hình 2 lớp, mặc đủ
đã giải quyết được nhiều vân đề của mô hình 1 lớp, văn chưa phải là giải pháp thích
hợp cho các hệ thống lỏn, đỏi hỏi khả năng tích hợp, mở rộng, cao
chủ Tuy nhiên có thẻ thấy rằng phản xử lý nghiệp vụ vẫn được thực hiện tại máy
trạm Vĩ vậy, mê hình này vẫn còn lồn tại nhiều hạn chế
21.2 Những điểm hạn chế trong mê hình 2 lớp
2.1.2.1 liạn chế trong công tác triển khai và bảo hành bảo trì hệ thông
Đổi với các ứng dụng được viết theo mô hình client/servcr thông thường, cần phải cải chương trính cho tùng máy trạm làm việc của người sử dụng, Sẽ không có
van 48 gi lớn nếu như số lượng máy trạm làm việc là không đáng kế va nằm tại
củng lrong 1 khu vực, luy nhiên đối với các ứng dụng phục vụ công lắc quân lý và
Trang 18điều hành sân xuất kinh doanh của 1 bưu điện tỉnh, số lượng người sử dụng là rất
lớn, địa bàn lại trải rộng thí việc cài đặt ủng dụng, cập nhật, quản lý các phiên bản
va khắc phục sự cố rất mất nhiều thời gian, nhân lực và chỉ phí
Ví dụ hệ thông Quản lý yêu cầu khách hàng triển khai che 1 BĐ tỉnh cỡ trung bình sẽ có khoảng 100 người dùng, và cần phải cải đặt tại tại rất nhiều vị trí, trong nội thành có khoảng 2 đến 10 điểm giao dịch, 20 phòng ban và khoảng lử Š đến 10 huyện (mỗi buyện có ít nhất 1 điểm giao dịch khách hang)
2.4.2.2 Han ché về năng lực xử lý của hệ thẳng
Trong các ứng dụng theo mé hinh client/server hiện tại, trên server chỉ xử lý
một số tác nghiệp đơn giản và trả lại dữ liệu cho may tram tiếp tục xử lý, dẫn dén lưu lượng thông tin truyền trên mạng là rất lớn, server gân như chỉ giải quyết bải toán lưu trữ cơ sở đữ liệu và xử lý một số chúc năng như: truy nhập đồng thời, tính toàn vẹn và xử lý bảo mật Điều nay đẩn đến khi số lượng người đúng, khối lượng,
đữ liệu cần xử lý tăng lên, tốc độ đường truyền thấp thì năng lực xử lý của toàn hệ thống sẽ bị ảnh huang nghiém trong
Đôi với các bài toán có nhiều may tam Client {VD như các dâu chương trinh tiếp nhận yêu cầu, thu phí của hệ thống Quản lỷ yêu câu khách hàng), nếu dùng các
ime dung Client/Server thông thường, số lượng cáo kết nải đữ liện (comection) từ
các ứng dụng đến cơ số dữ liệu thường khá lớn (cỏ thể lên tới vài irém client) Pic
biệt, khi hệ thống được mở rộng để khách hang có thể tự chắm sóc qua mạng internet (selfearc), số lượng các kết nói đữ liệu này có thể tới hàng nghìn Tuy vậy, thực tế các hệ quản trị cơ sở đữ liệu lại giới hạn sẻ kết nổi Đổi với hệ quản trị cơ sở
đữ liện Oracle, khi số lượng kết nải nhiều, năng lực xử lý của máy chủ dữ liệu sẽ
giảm dang kẻ
Trong trường hợp khối lượng công việc tại server quả lớn chỉ có cách giải quyết duy nhất là nâng cấp server, tuy nhiên việc nàng cấp là có giới han
Trang 19‘trang 17
2.1.2.3 Hạn chế vékhd nang tich hep (integration)
Trong môi trường cỏ rất nhiều nba cung cấp dịch vụ nhự hiện nay, khách
hàng không còn la của riếng ] doanh nghiệp nào, họ có thẻ sử dưng rất nhiều các dich vụ khác nhau tử các nha cung cấp khác nhau Vì vậy hệ thông các ứng dung
cửa mội doanh nghiệp không những phải lương tác, tích hợp được với rihnu (Irong nội bộ doanh nghiệp) mà còn phải có khả năng tích hợp với ừng dụng của các doanh: nghiệp khác, hay nói cách khác các ứng đụng của cáo doanh nghiệp khác nhan phải
liên kết được với nhau để tạo thành một mỗi Irường cộng lác (Collaboration) dé cưng cấp sự tiện lợi tôi đa cho khách hang khi sử dụng dịch vụ
Trong khi dé néu sit dung mé hinh client/server khả rằng lính hợp là rãi yếu
Lý do của các khỏ khăn trong tich hợp lá một tỷ lệ khỏi lượng xử lý nghiệp vụ của
các chương trình vẫn chạy độc lập trên các máy trạm Việc tích hợp giữa các
chương trình chỉ sẻ thể thục hiện ö mức cơ sở dữ liệu, chứ chưa thể thực hiện ở
mức nghiệp vụ chương trình Các ứng dụng 2 lớp vẫn là những chương trình đóng kin rời rạc và nếu chạy trên cùng một máy, chứng không thẻ truy cập tải các hàm
cửa nhan — va do đó không thể tích hợp được ở mức ứng đụng,
2.1.2.4 Han ché về khả năng cung cấp địch vụ cho khách hang
Do han chế về khả năng tích hợp, các ứng dụng chỉ giải quyết được phản nghiệp vụ trong nội bệ doanh nghiệp của mình mà không kết hợp được với các dịch
vụ do các doanh nghuệp khác cung cấp
Vị đụ: đổi với bài toán lắp đặt thuê bao mới, ta có thể cưng cấp giao diện
web cho khách hàng đăng ký một cách tự động nhưng do không liên kết được với
các ứng dụng của ngân hàng để kiểm tra số dư tải khoản của khách hàng, din dén
khách hàng vẫn phải đến các điểm giao dich dé nộp tiên hoặc phải có Í nhân viên
đến thu tại nhà khách hàng,
3.1.2.5 liạn chế về tính mềm dão của bệ thống
Do tỉnh cạnh tranh rât gay gắt hiện nay, các quy trình nghiệp vụ thường
xuyên có sự thay đổi để tạo điều kiện thuận lợi tối đa cho khách hàng dẫn đến các
ứng dịmg phẩn mềm cũng phải được cập nhật và sửa đổi theo, do chưa phân tách
Trang 20được lớp biểu diễn số liệu, lớp xử lý tác nghiệp và lớp cơ sở đữ liệu nên chủ phí chỉnh sửa là rất lớn, thời gian dài và rất dễ gây lỗi
3.1.2.6 Hạn chế về của phí cấu bình hệ thông
Trang mô hình clienserver, phần lớn logic nghiệp vụ được xử lý ở máy
trạm Vi vậy, khi triển khai hệ thông, câu hình của các máy tram déu phải ở mức
cao Số máy trạm trong hệ thông thường từ vài chục tới vài trăm trong một hệ thông, nhỏ, nhưng với các hệ thống lớn, số máy trạm có thể lên tới vải nghìn Chỉ phí cho phần cứng của hệ thông trở nên rất lớn
21.3 Kiến trúc ứng dụng phân tân (kiểu trúc nhiễu lắp}
Mê hình Client/Server truyền thống ở trên thường được gọi là mô hình 2 lớp
Ưu điểm của mô hình nảy so với mô hình 1 lớp xuất phát ở chỗ, trong mô hình này,
máy chủ không chỉ còn là nơi luu trữ dữ liệu, mả đã trở thành nơi chạy một phần
logic của chương trình Tuy nhiên, phần logic này chỉ yên để xử lý các vấn để kỹ
thuật chử không phải nghiệp vụ cửa chương Irình Điều này là nguyên nhân lạo nên
các nhược điểm kể trên của mô hình nảy Với các điểm hạn chế như vậy, việc xây đựng một hệ thống theo chuẩn mới là điều cân thiết
Kiến trúc phân lán (điatribuled spplications) hay kiến trúc đa lớp (mulli-tiers) giải quyết được các vấn để kế trên Khải niêm “phân tản” hay “nhiều lớp” được sử dựng để chỉ ra sự phân bổ logic của chưang trình trên cáo máy Kiến trúc này là một bước kể tiếp của mô hình 2 lớp ở chỗ: nó phát triển tiếp ý tưởng chưyển logic
chương trình lên xử lý tập trưng & may chủ Điểm khác biệt là ở chỗ, nều như trang,
kiến trúc 2 lớp, phẩn xử lý nghiệp vụ chủ yêu nằm ở máy chủ thì trong kiến trúc phân tán, phân xử lý nghiệp vụ dược chuyên lên xử lý ở các nưáy chủ Miáy trạm lúc này chỉ đóng vai trò thiết bị đầu cuỗi để nhập dữ liệu
Trang 21‘Trang 19
chủ cơ sở đữ liệu Enterprise Information System EIS ) Các lớp ở giữa nay dong vai
tro may chit tmg dung, trén do các ứng dụng sẽ được triền khai Các mã nguôn cản
để trao đổi thông tin hoặc đẻ cỏ thể tái sử dụng sẽ được lưu giữ trên máy chủ ing
dụng này Mô hình máy trạn/ máy chủ ứng dụng/ máy chủ cơ sở dữ liêu sẽ giải
quyết tất cả các yêu tố hạn chẻ trông mô hình elient/server thuần tuý
2.1.3.1 Van đề triển khai và bảo hành bảo trì hệ thống
Trong phan lớn các hệ thông, phần logic xử lý nghiệp vụ chiếm thành phần
rất lớn Với mô hình nhiều lớp, phân xử lý nghiệp vụ được triên khai tập trung tại một số it máy chủ cỏ cấu hình mạnh Còn lại phần xử lý giao diện chiếm tỷ trọng
nhỏ có thể được chạy theo 2 dạng: trình duyệt web đối với các ứng dung thin client
và Chương trình giao diện đối với các ứng dụng thiek client Đối với dạng thứ nhất,
THủnh Đức Nghĩa — cao học ĐTTT 2002 Tuân văn tốt nghiệp
Trang 22hoàn toàn không cần triển khai gì trên máy trạm Với dạng thứ bai, Chương trình xử
lý giao diện thường Ít phải thay đổi và nâng cấp, trong trường hợp phải thay đổi thí khối lượng cũng không nhiều Vi vậy việc triển khai, bào trì hệ thống sẽ tập trung ở phần xử lý nghiệp vụ tại các máy chủ, khiển cho công việc cài đặt, sửa chữa, nẵng, cấp có thể tiền hành để đàng
3.1.8.2 Vấn dễ năng lực xử lý của hệ thông
Trong mô hình nhiều lớp, phân xử lý nghiệp vụ duce chay trên máy chủ ứng, dụng Vì vậy máy chủ ủng dụng mới là phẩn giao tiếp trực liếp với máy chủ cơ sở
đữ liệu, chứ không phải là các máy trạm như trong mô hình 2 lớp Két ni giữa máy
chủ cơ sở đừ liệu và máy chủ ứng dụng không nhiều và phân bố rộng nữ giữa máy trạm và máy chủ ứng dụng trong mô hình 2 lớp Vì vậy các kết nổi này thưởng được
sử đựng vải chế độ đành riêng và có tốc độ cao
Trên các kết nổi giữa máy trạm và máy chủ ứng dụng, thông tin truyền di thường là các thông tỉn đã được xủ lý để hiển thị hay là các thông tin nhập liệu đân vào, vì vậy lim lượng Irên các kết nỗi này rất thấp so với mô hình 2 lớp
2.13.3 lẫn để tích hợp
Trong mô hình nhiều lớp, phần xử lý nghiệp vụ được tập trung ở máy chủ
tứng đựng Diều này khiến cho việc tích hợp có thé được thực biện ở mức ứng đụng,
thay vì đừng lại ở múc cơ sở dữ liệu như trong mô hình 2 lớp Việc gọi hàm giữa
các tiên trình trên máy chủ ứng dụng có thể được thực hiện bởi rất nhiều kỹ thuật như Web service, KET Remoting tủy thuộc vào hệ điều hành Ranh giới giữa các tug dung nhờ vậy trở nên trong suốt đổi với người dùng,
3.1.3.4 Van đề cung cấp địch vụ cho khách hàng
Giải quyết được vẫn để tích hợp, việc các nhà sản xuất ứng dụng phối hợp với nhau dé xây dựng nên những hệ thẳng lớn trở nên khả thi Vì vậy, các ứng đựng,
cung cấp cho khách bảng cimg trở nên dơn giãn, thuận tiện vả chỉnh xác hơn
Trang 23“trang 21
2.1.3.5 Tần dễ tính mêm déo và khả chuyên của hệ thông
Các quy trình nghiệp vụ được xử lý tập trung tại các máy chủ Vì vậy, khí
cân thay đổi quy trinh nghiệp vụ, nói chung chỉ cẩn xử lý tập trưng tại máy chủ mà người sử đụng ở máy trạm vẫn có thể sử dựng giao điện cñ quen thuộc
3.1.3.6 Vấn đễ chỉ phí cầu hình hệ thống
Trong mô hình nhiều lớp, các thiết bị dầu cuối chỉ cân sử dụng để thực hiện công việc xử lý giao diện, vì vậy không cân đòi hỏi câu hình mạnh Khi triển khai các hệ thông, khối hượng các thiết bị đầu cuối là lớn hon rất nhiêu so với số lượng,
may chi, có thể lới vải trắm hoặc vài ngàn VÌ vậy, mặc đủ chỉ phí cho các máy chủ
tang lên, chỉ phí cho loàn bộ hệ thẳng vẫn được giảm đi đáng kế
2.1.4 Lựa chọn kiến trúc ứng dụng
Qua các phân lich ở trên, có thể thấy rò đặc diễm của mỗi kiến trủc ứng, dụng Kiến tric 1 lớp (le server) chỉ phủ hợp với các ứng dụng nhỏ, chạy trên 1
máy tính Kiển trúc 2 lớp mặc dù đã giải quyết được một số vận đê của kiên trúc L
lớp, vẫn chưa đáp ứng được các điều kiên cho một hệ thẳng lớn, có quy mô Iriển khai tương, đối rộng, đòi hồi tính tích hợp cao như hệ thống Quản lý yêu cầu khách hàng, Trong các mô hình mô hình ủng đụng phản tán (mô hình nhiều lởp) tố ra
thích hợp hơn cả và là mô hình được lựa chọn để phát triển hệ thống
Java duge giới thiệu đầu tiên vảo năm 1995 bởi James Gosling va Henry
McGilton va duoc xem là một kết quả tất yếu do phát triển mạnh mẽ của Internet
Trang 24Tava thường hay nhắc tởi với tư cách là một ngôn ngữ lập trình Tuy nhiều,
đầy đủ hon, no can phải được hiểu là một hệ thông các công nghệ nên hỗ trợ phát triển ứng dung
4.2.1.1 Java với tự cách là t ngôn ngữ lập trình
Java là một ngôn ngữ bậc cao với nhiều ưu điểm:
© Dơn giản hướng đối tượng và thân thiện: Một trong những mục tiêu chính của Java là cung cấp 1 ngôn ngữ đơn giản đễ sử dụng và phát
triển Do sự phúc tạp ngày cảng cao của môi Irường tỉnh toán vả xử lý
trên mạng, Java cune cấp mỏ hình phát triển hưởng đổi tượng với các
đặc điểm như đa hình, có tính kế thừa, cơ chế trao đổi qua message
và có khả năng tái sử dụng Java được càt đặt với các thư viện gồm nhiều đối tượng đã được kiểm tra cung cấp đây đủ các chức năng, cho người phát triển ví dụ như: vào ra, giao tiếp mạng, quản lý bảo mật, giao điện người đừng, các đổi tượng nảy có thể sử dụng trực tiếp đẳng thời cũng có thể mở rộng theo nhu cầu riêng của nguời phát triển Với củ pháp giống Ởrt nhưng một số điểm phức tap để mắc lỗi
đã được loại bỏ đã giúp cho java thân thiện với người dùng hơn
e An toa cdc dic điểm của java định lrớng và giúp người lập trình eó
môi thỏi quen lập trình có độ tin cậy cao Mô hình quân lý bộ nhớ đã
được đơn giản hóa, không có các kiểu đữ liên con trẻ và các phép tính
số học trên con trô như trong Otrt Việc loại bô son trồ đã tạo ra cho
Java một số ưu điểm : cơ chế tự động giải phóng bộ nhớ, loại bỏ được
s nhhy khí làm việc với C và C++ Tuy nhiên,
các lỗi gây treo hệ thối
điều này cũng đồng nghĩa với việc giảm khả năng tác động sâu vào hệ thống của người lập trình, do đỏ it nhiều làm giảm súc mạnh của Java
e Kiến trúc dung hòa và có tính khả chuyển: môi trường mạng hiện nay rất đa dạng về các chủng loại thiết bị phản cứng cũng như hệ điều hành Để hế trợ khả năng chạy trên các nến tảng và hệ điểu hành
khác nhau, bộ biên dịch java tạo ra các mã byiceode một dang mã
Trang 25Trang 23
trung gian dung hoa vẻ mặt câu trúc để chuyên mã sang các phần cửng và các hệ hiêu hành khác nhau một cách cỏ hiệu quả Đặc điểm
thông dịch của java giải quyết được các vấn đề liên quan tới việc
phân phổi mã lệnh nhị phân và quản lý phiên bản, điều này giúp cho
java có thẻ chạy trên mọi nên tảng khác nhau Co the noi day 1a một trong những ưu điểm lớn nhất của Java
2.2.1.2 Java với tư cách là một công nghệ nên (platform)
Một công nghệ nên là môi trường phân cứng hoặc phân mêm đề các ứng
dụng cỏ thể chạy trên đó, vi dụ như các hệ điều hành: Windows 2000, Linux, Solaris, and MacOS Phần lớn các công nghệ nên đều là sự kết hợp giữa hệ điều hành và phẩn cứng, Java platform thuần tuy 1a phần mềm, chay ở lớp trên của các
hệ điều hảnh khác nhau Có 2 thành phản tạo nên Java platform:
© May ao Java (Java Virtual Machine -TVM)
o The vién Java lap trinh Java API:
my? rogram java
Java API ava Virtual Machine
Có 3 thư viên lập trình voi Java
© I2SE (Java Standard Second Edition) : là thư viện lập trình cho các img dung Java co bản chạy trên 1 máy Thư viên nảy chứa các giao diện tới máy ảo Java và là nẻn cho các ứng dụng Java cũng như cho các thư viện lập trình mức cao khác
o I2ME : Lả thư viện lập trình cho các ứng dụng Java chạy trên các
thiết bị cam tay (máy tính bỏ túi Pocket PC, thiết bị hỗ trợ cá nhân PDA, điện thoại đi động ) Thư viện nảy được thiết kế đặc biệt dé
THủnh Đức Nghĩa — cao học ĐTTT 2002 Tuân văn tốt nghiệp
Trang 26phù hợp với những đặc diem ctia cae thiét bi bo tii: yéu cau phan
mềm đơn giản trên một câu hình khỏng cao
© I2EE (Tava Enterprise Second Edition): Là thư viên lập trình cho các ứng dụng triển khai rộng (quy mô doanh nghiệp) J2EE không chỉ là
một thư viện lập trinh Nó còn lả một hệ thông các quy định, khuyên nghị vẻ các thành phần của một ứng dụng phân tán Có thẻ coi J2EE gồm 2 phân : một thư viên lập trinh mức cao xây dựng trên nên J2SE
và một tập các mô tả các thành phan ứng dụng, quy cách trao đôi giữa
Hình 2.5 mô tả các thành phan trong kién tric cla J2EE platform, luu y ring
hình vẽ chỉ mô tả quan hệ logic của các thành phần chứ không đẻ cập đến kiến trúc
về mặt vật lý, các thành phần có thể được cài đặt trên các mảy tính, tiền trình, máy
áo, khác nhau
Thành Đức Nghĩa — cao học ĐTPT 2002 Tiiận văn tốt nghiệp
Trang 27“trang 25
Các Container được mô tả bởi các hình chữ nhật riêng rề là cde indi trường,
chạy cung cấp các dịch vụ cần thiết cho các thành phần ng dựng được biểu diễn ở nửa phía trên Các địch vụ được thể hiện qua các hộp ở nửa phía đưới Vĩ đụ như Application Client Container cung cấp dịch vụ thư viện Java Messaging Service
(MS APD cho cáo ứng đụng client
Các mũi tên mô lã nguyên tặc Iruy nhập, trao đổi giữa các thành phần cửa
J2HE Platform Vi da Application Client Container cung cấp khả nắng truy nhập trực tiếp tới cơ sở dữ liệu qua thư viện JDBC API, tương tự như vậy đổi với các Web Container va EJB container
Các thư viện API được hỗ trợ bởi mỗi trường chạy J2ST (Java 2 Platform,
Standard Edition) che từng loại thành phản img dung
3
C6 thé tha
ting kiến Iric của I2EFE trên Hình 2.5 tuân theo kiến Irúc co ban
của ứng dụng phản tàn trên Hinh 2.3, trong do Java Applet va Java Application
đóng vai trò lớp trình điễn, các thành phân chạy trên Web Comainer và HJH
Container dong vai trò lớp xử lý nghiệp vụ vả cơ sở dữ liệu đóng vai trò lớp sơ sở
đữ liệu
2.2.1.4 Đảnh giá
3) Ưu điểm
— Ngôn ngữ Java là ngôn ngữ lập trình hướng đổi tượng, thuân lợi cho
vide phát triển các ứng dụng có độ phúc lạp cao, quy mô lớn
— Tava hỗ trợ hoàn toàn chuẩn Unieode Đây là một yếu tô quan trong trong việc xác định một ngôn ngữ lập trình, vi chuẩn Unicode dang từng bước trở thành chuẩn quốc gia ở Việt Nam và chuân quốc tế
— Java hỗ trợ tính năng “địch một lần chạy mọi nơi” Điển này là do
Java đuợc trình hiên địch địch ra một loại mã trung gian (byteoode) Mã
bylecode nay sau đó có thé chạy được trên các hệ điều hành khác rhan,
nhữ một máy ảo Java (Java Virtual Machine - TVM) oải đặt trên các hệ
điều hành này Nhiệm vụ xây dung may do Java trên các hệ điển hành khác nhau lá của Sưa Microsystems, Đây là một trong những ưu diém lon
hinh Đức NghĩaT— cao học ĐTPT 2002 Tuuận văn tối nghiệp
Trang 28nhất của Java Tuy nhiên, nó cũng khiến cho các ửng dụng viết bằng Java
cỏ một số nhược điểm được đề cập ở phản sau
— Các thư viện và các chuẩn của Java giúp phát triển nhiều loại ứng
dụng : Java Application, Web Application, applets, may chi ứng dung
(voi EJB — Enterprise Java Beans)
b) Nhược điểm
Ngôn ngữ lập trình Java không có được các tính năng mạnh mé nhu C++ hay C# Điều này chính là do Java không được viết cho một hệ điều hành cụ thể nảo, vỉ
vậy không cỏ các tỉnh năng truy cập tới múc sâu của hệ điều hành như xử lý bộ
nhớ Vì vậy, đối với các ứng dụng đòi hỏi các thao tác này, Java không nằm trong
Hình 2.6 : Cấu trúc ứng dụng chạy trên Java plaform
Trong cấu trúc nảy cỏ thể thấy rõ mức gián tiếp giữa ửng dụng Java và hệ điều hành Đây là nguyên nhân chính khiến cho các ứng dụng Java thường chay với tốc độ châm và không sử dụng được các tính năng đặc biệt của hệ điều hành
e) Nhận xét
Java đã nhanh chỏng phát triên trên môi trường Internet, mả sự độc lập với phân cứng chính lả một trong những lý do chủ yếu Để cỏ được ưu điểm nảy, Java
đã đánh đổi các tiêu chí như tốc độ và tính năng Với các ứng dụng rộng rãi như các
ứng dụng Internet, cộng với các máy chủ ứng dung tập trung với cấu hình cực
mạnh, điêu này lả hoản toàn chấp nhận được
Trang 29‘trang 27
Tuy nhiên, với những ứng dụng ở quy mỏ doanh nghiệp, khi mà tốc độ xử lý,
độ thân thiện của giao diện người sử dựng là một trong các yêu cầu quan trong cần được đáp ứng thì Iava không phải là lựa chọn số 1 Hơn nữa, trong các môi trường kiểu này, ưu điểm không phụ thuộc nền của Java thường không có cơ hội để
phát huy tác dụng
2.2.2 NET
Công nghệ NET đã được Microsoft đưa ra lần đâu tiên vào tháng 7 năm
2000 Kể từ đó, NET đã chứng lô được ưu thế của mình trong việc hỗ trợ phát triển
các ứng dụng trên mỗi trường Windows Khả năng hỏ trợ hoàn toan Unicode, mé
hình lập trình hướng đối tường thông qua nhiều loại ngôn ngữ lập trình cùng với cắc tỉnh năng znạnh mẽ của bộ công cụ phát triển là các ưu điểm của NIZI Cam kết hã
trợ trang mọi hệ điểu hành Windows tiếp theo (trong đó có Wimdows Longhom}
khiến cho môi trường NET trở thành một trong các môi trường phải triển ứng đụng, phản tản bứa hẹn nhất
2.2.2.1 Các ngân ngữ lập mình của NET
Với NET, Microsoft đã phá vỡ rào cản giữa các ngôn ngữ lập trình bằng việc cho phép Common Language Rumuime (các địch vụ chưng chay trên hệ điều lành, tạo môi trường giúp một ứng dụng có thể chạy - CLR) của “NET chạy trên
ngôn ngữ trung gian (Intermediate Language Bytecode), thay vì trục tiếp trên mã may (native code) như trước đây Diễn nảy có rghĩa lá bất kỳ ngôn ngữ lập trình
nảo cá thể dịch được ra ngôn ngữ trung gian đền có thể chạy duoc bai CLR Kết
quả là có khoảng 20 ngôn ngữ lập Irình khác nhau cổ thể sử dụng với CILR của
NET Như vậy càc chương trình viết với các ngôn ngữ khác nhau này có thể cung, cấp các giao điện lập trình cho nhau, hay gọi lẫn nhau
Trang 30
CH, Visual = Basic | Cac ngén nett o6 thé dich ra
NET, © 1 NET, TL (Perl, )
Hành 2.7 : Các ngôn ngữ lập trảnh trêu xuôi trường -NEL
Trên Tình 27, có thể thấy các ngôn ngữ được chia thánh 2 nhóm Một bên là các ngôn ngữ được hỗ trợ bởi Visual Studio NET (là bộ công cụ để phát triển các ứng dụng trên NET cùng cấp bởi Microsofi) , bao gom Cit, Visual Basic NET, C+— NET, 1# Người lập trình sử dụng Visual Studio NET có thể viết chương, trình bằng cáo ngôn ngữ nảy Visual Srudio NET lá bộ công cụ hỗ trợ lập trình
mạnh nhất hiện nay, với các tính nắng soan thảo, biển dịch, sửa lỗi
Nhóm còn lại là các ngôn ngữ lập Irình hiện có thể địch được ra TL Chủ ý
răng trên lý thuyết, bất kỳ ngôn ngừ lập trình nảo cũng có thể được dịch ra ngôn ngữ cấp thấp hơn Tuy nhiên, trên thị trường phẩn mềm, vì các lý do bản quyên, cạnh tranh giữa các nhà sân xuất , các trình địch đỏ chỉ được phát triển một cách bạn chế Kết quả lả chỉ có một số ngôn ngữ có trinh biên dịch có khả răng dịch ra
IL, trong đó có thể kế đến ParL
Nếu như khả năng hỗ trợ đa ngôn ngữ của XET vượt trội như vậy, khả năng,
triển khai trên các hệ điều hành khác rihau lại bị hạn chế Diễu này là do CLR ctia NET chỉ dược thiết kế để chạy trên mỗi truờng Windows Hiện đã có mội số dự án
mã nguồn mở nhằm xây dụng một bộ CLR hỗ trợ đa hệ diều hành Trong số đó có
thé kẻ đến mơna (wwwoo-mono.com ) Dự án này đã đạt được nhiều bước tiền khả quan
2.2.2.2 -NBT với tư cách là một céng nghé nén (platform)
Trang 31Tĩnh 2.8: Cấu trúc ứng dụng chạy trên NET platform
NET cũng thường được nhắc đến với tư cách là một công nghệ nên (platform), Nén NET bao gồm NET Framework (gồm các dịch vụ common language runtime va mét bộ thư viên chung cho các ứng dụng NET) và hệ điều
hành Windows bên dưới Tuy nhiên, thông thường, hệ điều hành Windows thường được bé qua, va NET Framework dong vai trd platform Nhu da dé cap toi 6 trén,
NET Framework khong chay truc tiép trén hé diéu hanh Windows, ma théng qua
môt ngôn ngữ trung gian (IL) Vi vay, NET Framework có thể được sử dụng được bởi bat kỳ ngôn ngữ nảo có thể được dịch ra ngôn ngữ IL
2.2.2.3 Ung dung nhiều lớp trên.NET'
Trang 32Trén Hinh 2.9 là cẩu trúc cơ bản của ứng dụng trên NET, Chủ ý rang dựa trên cầu trúc cơ bản này còn có thể có rất nhiều biển thể, Lý do là vi thông qua các phương thức khác nhau các đối tượng NET, đủ ở trong lớp trình điễn hay trong lớp nghiệp vụ đều có thể gọi lẫn nlau, khiển cho cấu trúc trên cỏ thể mở rộng ra thêm nhiều mức Diễu nảy được làm rõ thêm khi tìm hiểu vẻ từmg thành phần của cấu
trúc
a) Lớp giao điện
Lớp giao diện có thể là một web server cung cấp các trang web tới các Irình
đuyệt, một img dug desktop bình thường với giao điện cửa số, hoặc là một web
service - cung cấp giao điện sử dụng dịch vụ tới cho các ứng dung khác
Trong trường hợp là web service, ranh giới giữa lớp giao điện và lớp nghiệp
vụ trở nên mở nhạt Đỏ là đo web servico, đóng vai trỏ giao điện trong cấu trúc này,
lại có thể được gọi bởi một thành phần đóng vai trỏ bắt kỳ trong một cấu trúc khác
Trong cẩu trúc khác này, cỏ thể coi web service ké trén 1a một phân của lép nghiệp
vụ
b) Lớp nghiệp vụ
Lớp nghiệp vụ được thực hiện bởi các đổi tượng, được chứa trong các tiền trình chủ và được truy cập thông qua một số giao thức Có thể có nhiều lựa chọn khi
thựe hiện lớp nghiệp vụ Mật trong các lựa chọn đó là webserviee Sự lựa chọn giữa
các phương thức được dựa trên các tiêu chí về quy mỏ của hệ thống, tốc độ đôi hỏi, khả năng hoạt động trên các hệ điều hành khác nhau Web serviee thuờng được sử
dụng cho cáo ứng dg có quy mô rất lớn, thông qua Internet Là một chuẩn được
công nhận rộng rãi, Webservice có khả răng vượi qua ranh giới giữa cúc hệ điều hanh khác nhau, Tuy nhiên, với quy mỏ doanh nghiệp, giảt phap goi ham tr xa NET
emoting tỏ ra phù hợp hơn, đáp ứng được các yêu cầu về tốc độ trong khi vin dam bão được quy mô của hệ thông
2.2.2.4 Đánh giá
a) Ưu điểm
Trang 33‘trang 31
Nền tâng của ứng dụng phản tán là khả nắng gọi hàm từ xa, giữa các tiến trinh năm trên củng một máy tính hay giữa cdc may tính khác nhau Trong môi trường NET, khả năng nảy được cung cấp với nhiều phương ám:
— Webservice cung cấp khả năng kết nối qua Internet các tiền trinh trên các hệ điều hành khác nhan
— NET Remoting cung cấp khả năng kết nối các tiễn trình với rất nhiều lựa chọn về giao thức, khuôn dạng dữ liệu
b) Nhược điểm
Nhược điểm đáng kế nhất của “NET platform là sự gần liên của nó với hệ điêu hành Windows Tuy nhiên, hệ diễu hành Windows cũng đã là hệ diễu hành phd biến nhất cho cáo máy trạm vả Microsoft đang từng bước xây dựng thành công
những phiên bản Windows dành cho cáo máy chủ Các máy tính sử đụng Windows
chiếm một tỷ trọng rất lớn trên thể giới nỏi chung vả tại Việt Nam nỏi riêng Mặt khác, có thế coi việc NET Framework được chạy trên ngôn ngữ trmg gian II là
mél bude 1ién dua platform nay toi kha ning chạy trênmọi hệ điều hành
2.2.3 Lựa chọn công nghệ nền
Qua một số phân tích kế trên, có thể thấy rằng với Hệ thống quản lý yêu cầu
Ehách hàng, NIT glatform tỏ ra phủ hợp hơn Các máy tính trạm sử đụng tại các
bưu điện déu sử đựng bê điều hành Windows, do vậy , ưu điểm cơ bản của Java là
hỗ trợ nhiều hệ điều hành không phat huy được tác dụng Mặt khác, hệ thống có các
đòi hỏi yêu cân nghiêm ngặt về tốc độ và sự thân thiện của giao điện người đùng,
điều nảy hoàn toàn phủ hợp với mô hình phân tán sử đụng NET Remoling với ứng
dung may trạm theo kiểu desldop Trên NET platform, cũng cỏ thể dễ đảng thực hiên các mô rộng để hỗ trọ webscrviec, phục vụ cho việc phát triển hệ thống san nảy Vì các lý do trên, NET pladorm được sử dạng để phát triển hệ thống quản lý
Quan hệ khách hàng,
Trang 342.3 Một số công cụ khác
2.3.1 Hệ quản trị cœ sở dữ liệu
Như đã phân tích ở trên, cáo hệ quản trị cơ sở dữ liệu thể hệ đầu tiên như Foxpro không dap img được các yêu cẩn của bài toản Hệ quản trị cơ sở đữ liệu Oracle dược chọn với các tiêu chí sau
—_ Cung cấp mô hình đỡ liệu quan hệ
— Cung cấp các tinh năng xử lý phức lạp và mạnh mẽ của một hệ quản trị cơ sở dữ liệu, bao gdm:
2 Xử lý tưang tranh o._ Giao lắc (Iransaclion)
o_ Sao lưu và phục hỏi (baekup & recovery)
©_ Các tính năng tiên tiến như cluster, xử lý song song
— Sự quan thuộc đổi với các thành viên tham gia nhỏm phát triển cũng
là một tiêu chỉ quan trọng
2.3.2 Ngôn ngữ lập trình
Với công nghệ nền NET, các lựa chọn về ngôn ngữ lập Irình khả nhiều, bao
gốm:
—_ Các ngôn ngũ hỗ trọ bôi Microsoft, Visual Studio KET
— Các ngôn ngũ khác có thể dịch ra ngôn ngũ MST, (ngôn ngữ trưng
gian) dê chạy trên CUR của NET
Trong các ngôn ngữ đó, C# được lựa chọn vì thỏa mãn được rất nhiều tiên
chi
— Neén ngữ lập trình hướng đổi lượng Đây là một tiêu chí quan trọng
khú xêy đựng các ủng dụng có quy mô lớn
— Được hỗ trợ bởi MierosofL Visual Suxlio NET Visual Studio KET
được đánh giá là bộ công cụ hỗ trợ phát triển ứng dụng tốt nhất hiện nay với
các tính năng gỡ rồi, giao diện thiết kế kéo thả (drag and drop) Voi Visual
Trang 36Chương 3 Xây dựng ứng dụng phân tán trên NET
platform
3.9 Gidithiéu
Sau các phân tích vẻ công nghệ được trình bảy ở Chương 2, công nghệ NET
đã dược lựa chọn dé phát triển hệ thông Quân lý yêu cầu khách bảng, Chương này
đi sâu vào làm rõ các vẫn đề về phát triển ứng dụng phan tan trén NET platform
Các vân để sẽ được để cập trong chương này bao gồm:
— Câu trúc ứng dụng phân tán trên NT
—_ Giải pháp cho giao tiếp giữa các
An toán bệ thống,
+ Vấn dễ kiểm tra quyển
+ Vin để bảo mật kênh truyền
3.2 Cấu trúc ứng dụng phân tán trên NET
Trang 37Truy xuất cơ sở atr] (Sao diện sử_ ||
liệu dung dich vu
Hình 3.1: Cấu trúc ứng dụng phân tán trên môi trường NET
Trên Hinh 31 là cấu trủc điển hình của một ứng dụng phân tản sử dụng NET platform
1) Giao dién ngudi ding
Hầu hết các ứng dụng phan mẻm đều cần có một giao diện đẻ người sử dựng
có thể giao tiếp được với ứng dụng Giao diện người dùng có thẻ thực hiện được
bằng Windows Forms, các trang web ASP, các điều khiển hay bất kỳ kỹ thuật nào
có thể sử dụng dé hiển thị, định dạng dữ liệu cho người dùng hoặc thu thập và kiểm
tra dữ liệu do người dùng nhập vào
2) Các thành phản xử lý tiến trình giao diện Trong nhiêu trường hop, các thao tác của người dùng với hệ thông được tiền lành theo một tiên trình định trước Vĩ đụ, tiền trình thực hiện đặt hàng cỏ thê bao gồm: cửa số hiển thị thông tin vẻ hàng hỏa, cửa số cho phép người dùng lựa chon Huinh Dite Nghiia— cao hoc DIVT 2002 Luận văn tốt nghiệp
Trang 38các sân phảm, cửa số cho phép người đùng nhập các thông tin thanh toán và địa chi
để gửi hàng hoa Dễ thực hiện đồng bộ vả tối uu hóa các quả trình như vậy, cỏ thể
sử đụng các thành phẩn xử lý tiến trình giao điện Theo cách nảy, logic điêu khiến luồng thực hiện tiến trinh (workflow) só thể được tách rời khỏi các thành phân giao điện người dùng Dẳng thời, logic điều khiển này có thể được sử dụng lại cho các
loại giao điện khác nhan (web, windows Íorm,.}
3) Các thành phản xử lý tiên trình nghiệp vụ
Sau khi các dữ liệu yêu cầu đã được thu thập bởi thành phân xử lý tiễn trình
giao điện, đữ liệu đá có thể được sử dụng để thục hiện một tiền trinh nghiên vụ Ví
đụ sau khi các thông tin về sản phẩm, hình thức thanh toán và phương thức giao hảng đã được cung cấp cho chương trình, tiến trình thanh toản và sắp xếp việc giao hàng có thể được tiến hành Cáo tiến trình này là các tiên trình nghiệp vụ, và thường, bao gồm nhiều bước, được thực hiện theo các thứ tự nhất định Chẳng hạn, thử tự
của quá trình thanh toan có thé bao gồm các bước: tính toán tổng sẻ trị giá của hàng,
đặt, kiếm tra các thông tím của tài khoản khách hàng, sau đó Irừ tiền trong lài khoân
của khách hảng và thực hiện lên lịch cho quả trình giao hàng Các thành phản xử lý
tiến trinh nghiệp vụ được sử dụng để quản lý chuỗi công việc được sắp xếp như
vậy
4) Các thành phản tác nghiệp (thực hiện nghiệp vụ)
Đây chính là các bước trong tiến trình nghiệp vụ Chẳng bạn trong ting, dung
bản bảng trực tuyển, có thể sẽ có một hảm thực hiện việc tính tổng giá trị của đơn
đặt hàng, cộng thêm chỉ phí vận chuyển Các thành phần thực hiện nghiệp vụ là
các bước làm nên quá trình nghiệp vụ của ứng dụng,
5) Các thành phần giao tiếp sử dụng dịch vụ Khi một thành phản thực hiện nghiệp vụ cân gọi tới một địch vụ cung cấp
bởi một hệ thống khác, sẽ cần thục hiện các công việc kết nổi, kich hoạt, truyền
tham số, lẫy dữ liệu trã về từ dich va dich dé Những công việc đỏ được thực hiện
bởi các thành phần giao tiếp sử đụng địch vụ Ví đụ, quả trình xử lý đơn đặt hàng có
thể tại một thời diễm có như cầu gọi dịch vụ kiếm tra tính hợp lệ của tài khoản —
Trang 39‘trang 37
một quả trình được thực hiện bởi một hệ thống khác Quả trình gọi này sẽ được thực
hiện bởi một thánh phân giao tiếp sử dụng dịch vụ Các thành phần nảy sẽ tách biệt phân xử lý nghiệp vụ cửa mỏt tme đụng với phản logic phức tạp để kết nối dịch vụ tir img dụng khác Ngoài ra, các thành phần này có thể cung cấp các chức nắng như chưyên đổi giữa khuôn đạng đữ liệu mà địch vụ cung cấp với khuôn đạng đủ liệu
ma ting dung ean
6) Cac giao dign cung cap dịch vụ Một hệ thống cưng cấp dich vụ cho các hệ thống khác thông qua các giao
điện cung cấp dịch vụ Giao điện này quy định các cách thức yêu cẩu và sử dung
dịch vụ
7) Các thành phần truy xuất dữ liệu Tiểu hết các ứng đụng đầu cân truy xuất đữ liệu lại các điểm nảo đó trong, một tiến trình xử lý nghiệp vụ Chẳng hạn, chương trình bản hàng trên mạng sẽ cần
lây đữ liệu về cáo mặt hàng trong cơ sở đữ liệu để cưng cấp cho khách hàng, và cản
nhập dữ liệu về đơn đặi hàng vào cơ sở dữ liệu khí khách hàng quyết định mua
hàng, Phản công việc truy xuât dữ liệu đỏ được thực hiện trong các thành phân truy xuất dữ liệu, tách riếng khỏi các phân khác của ứng dụng, nhằm mue dich tranh cho các phẩn còn lại bị phụ thuộc vào loại hình cơ sở dữ liệu cụ thể
§) Các thực thê đữ liệu
Hau hét trong các ứng dung, dir liéu can được truyền giữa các thành phần của từng dụng, qua các lớp ứng dụng Ví dụ, danh sách các sản phẩm cần được truyền từ
các thành phần truy xuất đữ liệu tới lớp giao diện của chương trình Các thông tin
nảy được lưu vào trang các lhực thể dữ hiệu, có thể là các đối tượng TalaSel, DataReader, hoặc các luồng XML, hoặc dơn giản là một nhóm các biến thông, thường được sắp xếp thành các câu trúc (structure}
Trang 403.3 Giao tiếp giữa các thành phần của ứng dụng trên môi trường
.NET
3.3.1 Các phương pháp truyền thống trên các môi trường phi NET
Ngày nay, việc xây dựng các ứng dung phản tán đã trà nên phổ biến Các ứng dụng như vậy bao gồm các Ihành phân phân bố trong rnội mạng các máy tính, kết hợp vải nhau để hợp thành ứng dụng Trước đây, các ứng đụng phân tàn thường,
sử dụng một lrong các công nghệ quen thuộc, bao gồm Mô hình đổi Lượng có thành
phan phan tan cia Microsoft (Microsoft® Distributed Component Object Model -
DCOM), Céu tric tamg gian yêu câu đối tượng clnme (Common Object Request
Broker Archileelre - CORBA) của OMG hay Kỹ thuật gợi hàm từ xa (Rermote
Method Iwocation - RMI) của Sun Các kỹ thuật này cung cấp các kiến trúc én
Trái với các công nghệ trên, các ứng dụng Wcb đựa trên trình duyệt lại có
thể kết hợp với nhau khả tốt mà không dẫn tới sự phụ thuộc lẫn nhau Các ung dung
này giao tiếp với nhau sử dụng HTTP để trao đổi các đữ liệu với các khuôn dang
khác nhau Web serviee la một sự mở rộng của các phương thức kết nổi ứng dụng web Né cé thé được sử đụng cho tất câ các loại ứng đụng chử không chỉ ứng đụng, Web đựa lrên trình duyệt Web service cho phép các đối lắc trao đổi các bản lin
SOAP si dung HTTP va cae giao thie Internet khic Vi Web service được xây