Tải bản đầy đủ (.pdf) (134 trang)

Nghiên cứu cấu trúc ứng dụng phân tán và áp dụng xây dựng hệ thống quản lý yêu cầu khách hàng tại Bưu điện Hà Nội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.05 MB, 134 trang )

BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------------------

HUỲNH ĐỨC NGHĨA

NGHIÊN CỨU KIẾN TRÚC ỨNG DỤNG
PHÂN TÁN VÀ ÁP DỤNG XÂY DỰNG
HỆ THỐNG QUẢN LÝ YÊU CẦU KHÁCH HÀNG
TẠI BƯU ĐIỆN HÀ NỘI

LUẬN VĂN THẠC SĨ NGÀNH ĐIỆN TỬ VIỄN THÔNG

HÀ NỘI - 2004


BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------------------

HUỲNH ĐỨC NGHĨA

NGHIÊN CỨU KIẾN TRÚC ỨNG DỤNG
PHÂN TÁN VÀ ÁP DỤNG XÂY DỰNG
HỆ THỐNG QUẢN LÝ YÊU CẦU KHÁCH HÀNG
TẠI BƯU ĐIỆN HÀ NỘI
CHUYÊN NGÀNH: ĐIỆN TỬ VIỄN THÔNG

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

HÀ NỘI - 2004


Trang 1

MỤC LỤC
DANH MỤC CÁC HÌNH VẼ ........................................................... 5
DANH MỤC CÁC BẢNG ............................................................... 7
MỞ ĐẦU ......................................................................................... 8
CHƯƠNG 1 TỔNG QUAN ........................................................10
1.1
Hà Nội

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
....................................................................................................................... 10

1.2

Các hạn chế của hệ thống chương trình hiện tại ............................... 10

1.3

Phạm vi của đồ án..................................................................................... 12

1.4

Phương pháp nghiên cứu ........................................................................ 12


CHƯƠNG 2 NGHIÊN CỨU GIẢI PHÁP CHO BÀI TOÁN
QUẢN LÝ YÊU CẦU KHÁCH HÀNG ...................................................13
2.1 Kiến trúc ứng dụng .................................................................................. 13
2.1.1 Các kiến trúc ứng dụng truyền thống và ưu nhược điểm .............. 13
2.1.1.1 Kiến trúc 1 lớp (1-tier) ................................................................... 13
2.1.1.2 Kiến trúc 2 lớp (2-tier) ................................................................... 14
2.1.2 Những điểm hạn chế trong mô hình 2 lớp....................................... 15
2.1.2.1 Hạn chế trong cơng tác triển khai và bảo hành bảo trì hệ thống15
2.1.2.2 Hạn chế về năng lực xử lý của hệ thống ...................................... 16
2.1.2.3 Hạn chế về khả năng tích hợp (integration) ................................ 17
2.1.2.4 Hạn chế về khả năng cung cấp dịch vụ cho khách hàng............ 17
2.1.2.5 Hạn chế về tính mềm dẻo của hệ thống ....................................... 17
2.1.2.6 Hạn chế về chi phí cấu hình hệ thống .......................................... 18
2.1.3 Kiến trúc ứng dụ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 ......................... 19
2.1.3.2 Vấn đề năng lực xử lý của hệ thống ............................................. 20
2.1.3.3 Vấn đề tích hợp .............................................................................. 20
2.1.3.4 Vấn đề cung cấp dịch vụ cho khách hàng.................................... 20
2.1.3.5 Vấn đề tính mềm dẻo và khả chuyển của hệ thống ................... 21
2.1.3.6 Vấn đề chi phí cấu hình hệ thống ................................................ 21
2.1.4 Lựa chọn kiến trúc ứng dụng ............................................................ 21
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 2

2.2 Giải pháp công nghệ................................................................................. 21
2.2.1 Java....................................................................................................... 21

2.2.1.1 Java với tư cách là một ngơn ngữ lập trình.................................. 22
2.2.1.2 Java với tư cách là một công nghệ nền (platform) ..................... 23
2.2.1.3 Ứng dụng nhiều lớp trên Java ....................................................... 23
2.2.1.4 Đánh giá ........................................................................................... 25
2.2.2 .NET ..................................................................................................... 27
2.2.2.1 Các ngôn ngữ lập trình của .NET ................................................. 27
2.2.2.2 .NET với tư cách là một công nghệ nền (platform).................... 28
2.2.2.3 Ứng dụng nhiều lớp trên .NET...................................................... 29
2.2.2.4 Đánh giá ........................................................................................... 30
2.2.3 Lựa chọn công nghệ nền.................................................................... 31
2.3 Một số công cụ khác ................................................................................. 32
2.3.1 Hệ quản trị cơ sở dữ liệu ................................................................... 32
2.3.2 Ngơn ngữ lập trình ............................................................................. 32

CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG PHÂN TÁN TRÊN .NET
PLATFORM
..................................................................................34
3.1

Giới thiệu .................................................................................................... 34

3.2

Cấu trúc ứng dụng phân tán trên .NET .............................................. 34

Giao tiếp giữa các thành phần của ứng dụng trên môi trường .NET
....................................................................................................................... 38
3.3.1 Các phương pháp truyền thống trên các môi trường phi .NET .... 38
3.3.2 Các phương pháp giao tiếp trên môi trường .NET......................... 39
3.3.2.1 ASP.NET Webservice .................................................................... 39

3.3.2.2 .NET Remoting ............................................................................... 39
3.3.2.3 So sánh ASP.NET Webservice và .NET Remoting ................... 40
3.3.2.4 Lựa chọn phương thức giao tiếp cho hệ thống Quản lý yêu cầu
khách hàng ........................................................................................................... 42
3.3

3.4

Cấu trúc giao tiếp khách - chủ trên .NET Remoting........................ 43

3.5 An toàn hệ thống ....................................................................................... 46
3.5.1 Các nguy cơ gây mất an toàn cho hệ thống .................................... 46
3.5.2 Nhận thực ............................................................................................ 48
3.5.3 Kiểm tra quyền ................................................................................... 48
3.5.3.1 Các đặc điểm của việc kiểm tra quyền trên môi trường ứng
dụng phân tán ........................................................................................................... 49
3.5.3.2 Đồng bộ ngữ cảnh an ninh của tiến trình chủ với tiến trình khách
........................................................................................................... 50
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 3

3.5.4 Mã hóa dữ liệu trên kênh truyền....................................................... 53
3.5.4.1 Cấu trúc ............................................................................................ 53
3.5.4.2 Cơ bản về các thuật toán mã hóa .................................................. 55
3.5.4.3 Cơ chế trao đổi thơng tin mã hóa trong chương trình ................ 57


CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG..............60
4.1 Khảo sát bài toán ...................................................................................... 60
4.1.1 Mơ hình tổ chức của Bưu điện Hà Nội ............................................ 60
4.1.2 Cấu trúc hệ thống ............................................................................... 62
4.1.2.1 Mơ hình nghiệp vụ chính của hệ thống ........................................ 62
4.1.2.2 Các đơn vị thực hiện....................................................................... 64
4.1.2.3 Mơ hình khai thác dữ liệu .............................................................. 66
4.1.2.4 Đối với khách hàng......................................................................... 66
4.1.2.5 Đối với các đơn vị của TT DVKH................................................ 66
4.1.2.6 Đối với các đơn vị khác của Bưu điện Hà Nội ........................... 67
4.1.3 Các nhóm chức năng của chương trình ........................................... 67
4.1.4 Sự cần thiết của việc xây dựng hệ thống ......................................... 68
4.1.5 Mục tiêu chính cần đạt được ............................................................. 69
4.1.6 Các nghiệp vụ cơ bản trong bài toán................................................ 69
4.1.6.1 Tiếp nhận yêu cầu ........................................................................... 69
4.1.6.2 Kiểm tra tính khả thi của yêu cầu ................................................. 69
4.1.6.3 Ký kết hợp đồng.............................................................................. 69
4.1.6.4 Thanh toán hợp đồng ...................................................................... 70
4.1.6.5 Thực hiện hợp đồng ........................................................................ 70
4.1.6.6 Hoàn thành hợp đồng ..................................................................... 70
4.2 Phân tích bài tốn ..................................................................................... 71
4.2.1 Sơ đồ luồng dữ liệu mức ngữ cảnh .................................................. 71
4.2.2 Sơ đồ phân cấp chức năng................................................................. 73
4.2.3 Sơ đồ luồng dữ liệu các mức............................................................. 76
4.2.3.1 Sơ đồ luồng dữ liệu mức đỉnh ....................................................... 76
4.2.3.2 Sơ đồ luồng dữ liệu mức dưới đỉnh – Tiếp nhận yêu cầu .......... 78
4.2.3.3 Sơ đồ luồng dữ liệu mức dưới đỉnh – Thu phí ............................ 79
4.2.3.4 Sơ đồ dữ liệu mức dưới đỉnh – Phát triển thuê bao .................... 81
4.2.3.5 Sơ đồ phân rã luồng dữ liệu mức hai............................................ 82
4.2.4 Chức năng báo cáo ............................................................................. 85

4.2.5 Chức năng hệ thống ........................................................................... 86
4.3

Phát triển chương trình........................................................................... 86

CHƯƠNG 5 KẾT LUẬN ............................................................87
5.1

Đánh giá hệ thống mới so với hệ thống cũ .......................................... 87

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 4

5.1.1 Tiêu chí đánh giá ................................................................................ 87
5.1.2 Kết quả đánh giá ................................................................................. 87
5.1.2.1 Đáp ứng đối với yêu cầu nghiệp vụ .............................................. 87
5.1.2.2 Đáp ứng đối với yêu cầu tốc độ .................................................... 87
5.1.2.3 Đáp ứng đối với yêu cầu an toàn hệ thống .................................. 88
5.1.2.4 Mức độ thuận tiện khi triển khai hệ thống................................... 88
5.1.2.5 Khả năng mở rộng hệ thống ......................................................... 88
5.1.2.6 Địi hỏi cấu hình phần cứng của hệ thống ................................... 88
5.2

Kiến nghị về các nghiên cứu tiếp theo.................................................. 89

TÀI LIỆU THAM KHẢO ...............................................................90

PHỤ LỤC 1 CÁC SƠ ĐỒ QUAN HỆ THỰC THỂ CHÍNH ........91
PHỤ LỤC 2 CÁC GIAO DIỆN CỦA CHƯƠNG TRÌNH ......... 117

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 5

Danh mục các hình vẽ
Hình 2.1 : Mơ hình 1 lớp – tồn bộ chương trình chạy trên 1 máy tính ........ 13
Hình 2.2 : Mơ hình 2 lớp ..................................................................................... 15
Hình 2.3 : Kiến trúc nhiều lớp ............................................................................ 19
Hình 2.4 : Cấu trúc ứng dụng chạy trên Java platform .................................... 23
Hình 2.5 : Sơ đồ kiến trúc J2EE ......................................................................... 24
Hình 2.6 : Cấu trúc ứng dụng chạy trên Java platform .................................... 26
Hình 2.7 : Các ngơn ngữ lập trình trên mơi trường .NET ............................... 28
Hình 2.8 : Cấu trúc ứng dụng chạy trên .NET platform .................................. 29
Hì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 trê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 chủ trong
.NET Remoting ................................................................................................................. 45
Hình 3.3: Vị trí của lớp đồng bộ thông tin người dùng trong Cấu trúc giao
tiếp khách - chủ của .NET Remoting ............................................................................. 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
.NET Remoting ................................................................................................................. 55
Hình 3.5 : Quá trình mã hóa và giải mã............................................................. 56
Hình 4.1 : Mơ hình tổ chức của Bưu điện Hà Nội ........................................... 61
Hình 4.2 : Mơ hình nghiệp vụ tổng thể hệ thống Quản lý yêu cầu khách hàng

............................................................................................................................................. 63
Hình 4.3 : Sơ đồ luồng dữ liệu mức ngữ cảnh .................................................. 71
Hì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
............................................................................................................................................. 74
Hình 4.6 : Sơ đồ luồng dữ liệu mức đỉnh .......................................................... 76
Hình 4.7 : Sơ đồ luồng dữ liệu mức dưới đỉnh – Tiếp nhận yêu cầu ............. 78
Hình 4.8 : Sơ đồ luồng dữ liệu mức dưới đỉnh – Thu phí ............................... 79
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 6

Hình 4.9 : Sơ đồ dữ liệu mức dưới đỉnh – Phát triển thuê bao ....................... 81
Hình 4.10 : Sơ đồ phân rã luồng dữ liệu mức hai – chức năng di chuyển tiếp nhận yêu cầu .............................................................................................................. 83
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ý
dịch vụ gia tăng ................................................................................................................. 84
Hình 4.12 : Phân rã luồng dữ liệu mức hai – Tiếp nhận yêu cầu – Lắp đặt
mới ...................................................................................................................................... 85

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 7

Danh mục các bảng

Bảng 3.1: Quá trình kiểm tra quyền trong hệ thống khách – chủ................... 50
Bảng 3.2: Một phiên giao dịch giữa máy trạm và máy chủ có mã hóa bảo mật
............................................................................................................................................. 58

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 8

Mở đầu

Trong những năm vừa qua, việc ứng dụng tin học phục vụ công tác điều

hà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 to 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 tin hỗ trợ ngày càng tăng. Các kiến trúc phần
mềm truyền thống, vốn chỉ phù hợp để xây dựng những ứng dụng đơn lẻ, trở nên
khơng cịn phù hợp để phát triển những hệ thống thơng tin có quy mơ doanh nghiệp
và vượt ra ngồi doanh nghiệp.
Trong bối cảnh đó, luận văn này đi sâu nghiên cứu áp dụng một kiến trúc
ứng dụng mới - kiến trúc ứng dụng phân tán để xây dựng một hệ thống hỗ trợ điều
hành sản xuất kinh doanh cho một doanh nghiệp – hệ thống Quản lý yêu cầu khách
hàng của Bưu điện Hà Nội.
Nội dung 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 chung của luận văn.

Chương 1 : 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 toá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 tốn, bao gồm
kiến trúc ứng dụng, giải pháp cơng nghệ và một số công cụ khác như cơ sở dữ liệu
hay ngơn ngữ lập trình... Chương này so sánh giữa các mơ hình kiến trú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ác định mơ hình ứng
dụng phân tán là giải pháp phù hợp nhất cho bài toán Quản lý yêu cầu khách hàng.
Chương 3 : Xây dựng ứng dụng phân tán
Trên cơ sở các phân tích lựa chọn giải pháp đã trình bày trong chương 2,
chương 3 đi sâu tìm hiểu các vấn đề trong việc xây dựng ứng dụng phân tán. Các
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 9

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 chi tiết trong chương này.
Chương 4 : Phân tích và thiết kế hệ thống
Chương 4 trình bày q 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
analysis). 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ết luận
Chương 5 đưa ra các đá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 cứu 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ơ đồ 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
Phụ lục 2 trình bày các giao diệ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 - PGS. TS. Nguyễn
Việt Hương. Là người hướng dẫn để tài, PGS. TS. Nguyễn Việt Hương đã tận tình
hướng dẫn tơi trong q trình hồn thành đề tài luận văn này. Tôi cũng xin trân
trọng cảm ơn tập thể các cán bộ của Bưu điện Hà Nội, đặc biệt là Trung tâm tin học
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, Học viện Bưu chính Viễn thơng, là
những người đã đóng góp cơng sức trong dự án Quản lý yêu cầu khách hàng của
Bưu điện Hà Nội, đồng thời đóng góp những ý kiến hết sức q báu giúp tơi có thể
hồn thành đề tài luận văn này.
Hà Nội, ngày 16 tháng 09 năm 2004

Huỳnh Đức Nghĩa
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 10

Chươ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
Bưu đ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 tâm giao dịch khách hàng của Bưu điện Hà Nội nằm tại
75 Đinh Tiên Hoàng.
Trong vài năm trở lại đâ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 dân, số lượng khách hàng sử dụng 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 đa dạng của khách hàng, ngành
Bư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. Bê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 hàng 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 nhân lực và vật lực của ngành Bưu 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 tính trở nên rõ
ràng 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 trình hiện tại
Hệ thống quản lý yêu cầu hiện tại của Bưu điện Hà Nội được xây dựng trên
phiên bản Foxpro trên hệ điều hành DOS. Foxpro for DOS được xây dựng để phát
triển các ứng dụng 1 lớp. Vì vậy, các nhược điểm mà một ứng dụng xây dựng dựa
trên Foxpro bao gồm:
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 11


a) Năng lực xử lý
Là một trong những hệ cơ sở dữ liệu ở mức sơ khai, Foxpro không hỗ trợ các
tính năng xử lý tương tranh, giao tác (transaction), các ràng buộc dữ liệu
(constraints)… 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á trình 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
Foxpro for DOS được phát triển khi môi trường mạng chưa phải là phổ biến.
Một ứng dụng Foxpro for DOS thường chỉ nằm trên cùng một máy với file chứa dữ
liệu (*.dbf), thực hiện toàn bộ các chức năng nhập dữ liệu, xử lý dữ liệu, xử lý giao
tác. Trong môi trường mạng LAN, một cơ sở dữ liệu Foxpro cho nhiều người dùng
chỉ có thể thực hiện được bằng cách chia sẻ tà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ào ứng dụng. Điều này khiến cho việc thực hiện các hệ thống
phân tán với cơ sở dữ liệu tập trung 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 dữ liệu chỉ có thể được coi như là
một giải pháp tình thế cho bài tốn cơ sở dữ liệu tập trung.
c) Bảo mật
Dữ liệu Foxpro được lưu trong file dbf. File này hồn tồn có thể được truy
cập, sửa bằng một trình đọc text đơ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ễ
dàng mà không phải thông qua lớp ứng dụng như vậy là một tiềm năng cho các
cuộc tấ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 Bưu đ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 dịch vụ ngày càng tăng về số lượng và phong phú về loại hình. Nhu cầu cho
một hệ thống mới thỏa mãn được các yêu cầu về tốc độ, khả năng mở rộng, độ
chính xác và an toàn dữ liệu đang được đặt ra một cách cấp bách.


Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 12

1.3 Phạm vi của đồ án
Đồ án này sẽ tập trung vào các vấn đề sau
− Nghiên cứu mô hình ứng dụng phân tán để áp dụng cho bài toán Quản
lý yêu cầu khách hàng.
+ Nghiên cứu về các kiến trúc ứng dụng. So sánh giữa các mơ
hình ứng dụng truyền thống và mơ hình ứng dụng phân tán.
Đư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.
+ Dựa trên giải pháp công nghệ đã lựa chọn, đi sâu nghiên cứu,
phân tích để đư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ầu khách hàng
dựa trên các nghiê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 diện người sử dụng chính
của hệ thống sau khi phát triển được trình bày trong Phụ lục 2 Các
giao diện của chương trình.

1.4 Phương pháp nghiên cứu
Phương pháp nghiên cứu được sử dụng xuyên suốt trong q trình phân tích
thiết kế hệ thống Quản lý yêu cầu khách hàng là phương pháp phân tích có cấu trúc
(structured analysis). Đây là phương pháp được sử dụng rất phổ biến trong các dự

án Công nghệ Thông tin.

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 13

Chương 2
Nghiên cứu giải pháp cho bài toán Quản lý
yêu cầu khách hàng
2.1 Kiến trúc ứng dụng
2.1.1 Các kiến trúc ứng dụng truyền thống và ưu nhược điểm
2.1.1.1 Kiến trúc 1 lớp (1-tier)
Kiến trúc này gắn với giai đoạn đầu khi máy tính ra đời. Trong giai đoạn
này, mỗi máy tính chỉ là một thiết bị có khả năng tính tốn độc lập, khơng được nối
với nhau. Vì vậy, các ứng dụng sử dụng kiến trúc 1 lớp là các ứng dụng có quy mơ
nhỏ, chạy trên các máy tính độc lập. Một ví dụ cho loại ứng dụng này là các chương
trình xử lý văn bản, các chương trình có sử dụng cơ sở dữ liệu quy mơ nhỏ sử dụng
foxpro, access.
1 Máy tính
Giao
diện
người
sử
dụng

Files
Xử lý


Hình 2.1 : Mơ hình 1 lớp – tồn bộ chương trình chạy trên 1 máy tính

Khi các máy tính bắt đầu được kết nối với nhau, để tận dụng được các ưu thế
của mơi trường mạng, một giải pháp tình thế cho các ứng dụng với kiến trúc 1 lớp
là chia 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
là sự chia sẻ ở mức hệ điều hành – cụ thể là chia sẻ file. 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 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ữ dữ liệu. Thực chất việc xử lý dữ liệu đều do các máy trạm đảm
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 14

nhận. Các vấn đề như xử lý tương tranh, bảo mật… chỉ được thực hiện ở máy trạm.
Do vậy 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, tồn bộ logic của chương trình chỉ được chạy ở máy
trạm, 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 dữ liệu thuần túy. Kiến trúc này được gọi là kiến trúc 1 lớp (1-tier).
2.1.1.2 Kiến trúc 2 lớp (2-tier)
Tiếp sau mơ hình File server, người ta thường phát triển các ứng dụng mạng
theo mơ hình Client/Server. Trong mơ hình này, khi có 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 u cầu. Khi có
kết quả, server sẽ gửi lại cho client.

Trong một số ứng dụng, một chương trình ứng dụng khi thì đóng vai trị
client, khi thì đóng vai trị server tuỳ 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 diện GUI Application, và một số giao diện đã được cung cấp dưới dạng Web
browser với điểm mạnh là tích hợp ngơn ngữ script. Mơ hình client/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ất chủ động của máy chủ. Một cơ sở dữ liệu tiên tiến không chỉ là một tập
các file chứa dữ 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 dữ liệu, xử lý dữ
liệu… Ví dụ của các hệ thống ứng dụng kiểu này là một chương trình chạy trên máy
trạm kết nối tới cơ sở dữ liệu Oracle.
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


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ử lý đã đượ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ở dữ liệu. Điều này khiến cho mơ hình 2 lớp, mặc dù
đã 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.


Máy trạm 1

Máy chủ

Máy trạm 2

Xử lý giao diện + Xử
lý nghiệp vụ

Xử lý kỹ
thuật chung

Hình 2.2 : Mơ hình 2 lớp

Trên Hình 2.2 biểu diễn cấu trúc của mơ hình 2 lớp. Cải tiến của mơ hình
này so với mơ hình 1 lớp là các xử lý kỹ thuật đã được chuyển lên chung trên máy
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 tồn tại nhiều hạn chế.
2.1.2 Những điểm hạn chế trong mơ hình 2 lớp
2.1.2.1 Hạ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/server 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ó
vấn đề gì lớn nếu như số lượng máy trạm làm việc là không đáng kể và nằm tại
cùng trong 1 khu vực, tuy nhiên đối với các ứng dụng phục vụ công tác quản lý và
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 16


đ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
và khắc phục sự cố rất mất nhiều thời gian, nhân lực và chi phí.
Ví dụ: hệ thống Quản lý yêu cầu khách hàng triển khai cho 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 từ 5
đến 10 huyện (mỗi huyện có ít nhất 1 điểm giao dịch khách hàng)
2.1.2.2 Hạn chế về năng lực xử lý của hệ thống
Trong các ứng dụng theo mô hình 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 máy trạm tiếp tục xử lý, dẫn đế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ở dữ liệu và xử lý một số chức năng như: truy nhập đồng thời, tính
tồn vẹn và xử lý bảo mật. Điều này dẫn đến khi số lượng người dùng, khối lượng
dữ 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 tồn hệ
thống sẽ bị ảnh hưởng nghiêm trọng.
Đối với các bài tốn có nhiều máy trạm Client (VD như các đầu chương trình
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
ứng dụng Client/Server thông thường, số lượng các kết nối dữ liệu (connection) 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 trăm client). Đặc
biệt, khi hệ thống được mở rộng để khách hàng có thể tự chăm sóc qua mạng
internet (selfcare), số lượng các kết nối dữ 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ở dữ liệu lại giới hạn số kết nối. Đối với hệ quản trị cơ sở
dữ liệu 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 đáng 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 hạn.

Huỳnh Đức Nghĩa – cao học ĐTVT 2002


Luận văn tốt nghiệp


Trang 17

2.1.2.3 Hạn chế về khả năng tích hợp (integration)
Trong mơi trường có rất nhiều nhà cung cấp dịch vụ nhự hiện nay, khách
hàng khơng cịn là của riêng 1 doanh nghiệp nào, họ có thể sử dung rất nhiều các
dịch vụ khác nhau từ các nhà cung cấp khác nhau. Vì vậy hệ thống các ứng dụng
của một doanh nghiệp khơng những phải tương tác, tích hợp được với nhau (trong
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 dụng của các doanh nghiệp khác nhau phải
liên kết được với nhau để tạo thành một môi trường cộng tác (Collaboration) để
cung cấp sự tiện lợi tối đa cho khách hàng khi sử dụng dịch vụ.
Trong khi đó nếu sử dụng mơ hình client/server khả năng tích hợp là rất yếu.
Lý do của các khó khăn trong tích 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ỉ có 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
kín 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 nhau – và do đó khơng thể tích hợp được ở mức ứng dụng.
2.1.2.4 Hạn chế về khả năng cung cấp dịch vụ cho khách hàng
Do hạn 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 minh mà không kết hợp được với các dịch
vụ do các doanh nghiệp khác cung cấp.
Ví dụ: đối với bài tốn lắp đặt thuê bao mới, ta có thể cung 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, dẫn đến
khách hàng vẫn phải đến các điểm giao dịch để nộp tiền hoặc phải có 1 nhân viên
đến thu tại nhà khách hàng.

2.1.2.5 Hạn chế về tính mềm dẻo của hệ 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ụng 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
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 18

được lớp biểu diễn số liệu, lớp xử lý tác nghiệp và lớp cơ sở dữ liệu nên chi phí
chỉnh sửa là rất lớn, thời gian dài và rất dễ gây lỗi.
2.1.2.6 Hạn chế về chi phí cấu hình hệ thống
Trong mơ hình client/server, phần lớn logic nghiệp vụ được xử lý ở máy
trạm. Vì vậy, khi triển khai hệ thống, cấu hình của các máy trạm đề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. Chi phí cho
phần cứng của hệ thống trở nên rất lớn.
2.1.3 Kiến trúc ứng dụng phân tán (kiến 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 lưu 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ếu để xử lý các vấn đề kỹ
thuật chứ không phải nghiệp vụ của chương trình. Điều này là nguyên nhân tạ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
dựng một hệ thống theo chuẩn mới là điều cần thiết.
Kiến trúc phân tán (distributed applications) hay kiến trúc đa lớp (multi-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ương trình trên các 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 chuyển logic
chương trình lên xử lý tập trung ở máy chủ. Điểm khác biệt là ở chỗ, nếu như trong
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ụ được chuyển lên xử lý ở các máy chủ. Máy trạm lúc
này chỉ đóng vai trị thiết bị đầu cuối để nhập dữ liệu.

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 19

Lớp hiển thị
(Máy trạm)

Lớp nghiệp
vụ (Máy chủ
ứng dụng)

Lớp cơ sở
dữ liệu
(Máy chủ cơ
sở dữ liệu)

Hình 2.3 : Kiến trúc nhiều lớp

Hình 2.3 biểu diễn kiến trúc đơn giản của mơ hình nhiều lớp. Trong mơ hình
này, người ta thường sử dụng một hay nhiều lớp trung gian giữa máy trạm (có thể là
các trình duyệt web hoặc ứng dụng) và các máy chủ khác (thường là hệ thống máy

chủ cơ sở dữ liệu Enterprise Information System EIS ). Các lớp ở giữa này đóng vai
trị máy chủ ứng dụng, trên đó 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ủ ứng
dụng này. Mơ hình máy trạm/ 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 client/server thuần tuý.
2.1.3.1 Vấn đề triển khai và bảo hành bảo trì hệ thống
Trong phần 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ố ít 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 dụng thin client
và Chương trình giao diện đối với các ứng dụng thick client. Đối với dạng thứ nhất,
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 20

hồn tồn khơng cần triển khai gì trên máy trạm. Với dạng thứ hai, 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. Vì 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 dễ dàng.
2.1.3.2 Vấn đề 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ụ được chạy 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 tiếp với máy chủ cơ sở
dữ liệu, chứ không phải là các máy trạm như trong mơ hình 2 lớp. Kết nối giữa máy
chủ cơ sở dữ liệu và máy chủ ứng dụng không nhiều và phân bố rộng như 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ử dụng với chế độ dà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 đi
thường là các thông tin đã được xử lý để hiển thị hay là các thơng tin nhập liệu đầu
vào, vì vậy lưu lượng trên các kết nối này rất thấp so với mô hình 2 lớp.
2.1.3.3 Vấ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ủ
ứng dụng. Điều này khiến cho việc tích hợp có thể được thực hiện ở mức ứng dụng,
thay vì dừ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, .NET Remoting… tùy thuộc vào hệ điều hành. Ranh giới giữa các
ứng dụng nhờ vậy trở nên trong suốt đối với người dùng.
2.1.3.4 Vấn đề cung cấp dị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 để xây dựng nên những hệ thống lớn trở nên khả thi. Vì vậy, các ứng dụng
cung cấp cho khách hàng cũng trở nên đơn giản, thuận tiện và chính xác hơn.

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 21

2.1.3.5 Vấn đề 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, khi
cần thay đổi quy trình nghiệp vụ, nói chung chỉ cần xử lý tập trung tại máy chủ mà
người sử dụng ở máy trạm vẫn có thể sử dụng giao diện cũ quen thuộc.
2.1.3.6 Vấn đề chi phí cấu hình hệ thống
Trong mơ hình nhiều lớp, các thiết bị đầ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 lượng các thiết bị đầu cuối là lớn hơn rất nhiều so với số lượng

máy chủ, có thể tới vài trăm hoặc vài ngàn. Vì vậy, mặc dù chi phí cho các máy chủ
tăng lên, chi phí cho tồ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 tích ở trên, có thể thấy rõ đặc điểm của mỗi kiến trúc ứng
dụng. Kiến trúc 1 lớp (file 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 1
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ơ triển
khai tương đối rộng, địi hỏi tính tích hợp cao như hệ thống Quản lý u cầu khách
hàng. Trong các mơ hình, mơ hình ứng dụ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.

2.2 Giải pháp công nghệ
Hiện nay có rất nhiều các cơng nghệ để xây dựng ứng dụng theo kiến trúc
phân tán. Đứng đầu trong danh sách này có thể kể đến 2 nhóm cơng nghệ: nhóm
cơng nghệ Java của Sun Microsystems và nhóm cơng nghệ Windows của Microsoft
2.2.1 Java
Java được giới thiệu đầu tiên vào năm 1995 bởi James Gosling và Henry
McGilton và được xem là một kết quả tất yếu do phát triển mạnh mẽ của Internet.

Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp


Trang 22

Java thường hay nhắc tới với tư cách là một ngơn ngữ lập trình. Tuy nhiên,
đầy đủ hơn, nó cần 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 dụng.
2.2.1.1 Java với tư cách là mộ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:
o Đơ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 dễ sử dụng và phát
triển. Do sự phức tạp ngày càng cao của mơi trường tính tốn và xử lý
trên mạng, Java cung 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ài đặ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 diện người dù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 người phát
triển. Với cú pháp giống C++ nhưng một số điểm phức tạp dễ mắc lỗi
đã được loại bỏ đã giúp cho java thân thiện với người dùng hơn.
o An toàn: các đặc điểm của java định hướng và giúp người lập trình có
một 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 dữ liệu con trỏ và các phép tính
số học trên con trỏ như trong C++. Việc loại bỏ con 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
các lỗi gây treo hệ thống như khi làm việc với C và C++. Tuy nhiên,
đ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 đó ít nhiều làm giảm sức mạnh của Java.
o 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ã bytecode một dạng mã
Huỳnh Đức Nghĩa – cao học ĐTVT 2002

Luận văn tốt nghiệp



Trang 23

trung gian dung hòa 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. Có thể nói đây là 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 đó, ví 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 tuý là phần mềm, chạy ở 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:
o Máy ảo Java (Java Virtual Machine -JVM)
o Thư viện Java lập trình Java API:

Hình 2.4 : Cấu trúc ứng dụng chạy trên Java platform

2.2.1.3 Ứng dụng nhiều lớp trên Java
Có 3 thư viện lập trình với Java
o J2SE (Java Standard Second Edition) : là thư viện lập trình cho các
ứng dụng Java cơ 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 J2ME : Là thư viện lập trình cho các ứng dụng Java chạy trên các
thiết bị cầm tay (máy tính bỏ túi Pocket PC, thiết bị hỗ trợ cá nhân
PDA, điện thoại di động…). Thư viện này được thiết kế đặc biệt để
Huỳnh Đức Nghĩa – cao học ĐTVT 2002


Luận văn tốt nghiệp


×