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

Sự phát triển các hệ thống phân tán dựa trên kiến trúc phần mềm ba tầng

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 (870.6 KB, 37 trang )







ĐẠI HỌC QUỐC GIA HÀ NỘI
KHOA CÔNG NGHỆ



ĐẶNG XUÂN THÊM


SỰ PHÁT TRIỂN CÁC HỆ THỐNG PHÂN TÁN DỰA TRÊN KIẾN
TRÚC PHẦN MỀM BA TẦNG


LUẬN VĂN THẠC SỸ



Người hướng dẫn: TS. Nguyễn Tuệ




Hà nội - 2004









Mục lục

Mở ầu 3
Chương 1. Giới thiệu về kiến trúc phần mềm ba tầng 5
1.1. Lịch sử phát triển của kiến trúc phần mềm ba tầng 5
1.1.1. Kiến trúc Mainframe 5
1.1.2. Kiến trúc chia sẻ tệp 5
1.1.3. Kiến trúc khách chủ 5
1.1.4. Kiến trúc hai tầng 6
1.1.5. Kiến trúc ba tầng 7
1.2. So sánh kiến trúc ba tầng với kiến trúc hai tầng truyền thống 10
1.3. Phần mềm kết nối giữa các tầng - Middleware 12
1.3.1. Middleware hướng thủ tục 12
1.3.2. Middleware hướng cơ sở dữ liệu 14
1.3.3. Middleware hướiệp 15
1.3.4. Middleware hướối tượng 16
1.3.5. Middleware dựa trên các thành phần 17
Chương 2. Kiến trúc phần mềầng của J2ee 19
2.1. Các công nghệ nền tảng của J2EE 21
2.1.1. Công nghệ về các thành phần 21
2.1.2. Các dịch vụ nền tảng 21
2.1.3. Truyền thông 22
2.2. Tầng khách - Client Tier 22
2.2.1. Thiết kế các trình khách sử dụng trình duyệt 26
2.2.2. Thiết kế trình khách Java 28

2.3. Tầng Web 31
2.3.1. Java Servlet 32
2.3.2. Java Server Page (JSP) 32
2.4. Tầng EJB 33
2.4.1. Bean phiên 34
2.4.2. Bean thực thể 35
2.4.3. Bean hướệp 38
2.4.4. Giao diện truy cập enterprise bean 39
2.5. Tầng dữ liệu 42
2.5.1. JDBC 42
2.5.2. Bộ kết nối (Connector) 43
Chương 3. Phân tích và thiết kế ứng dụng bán hàng qua mạng dựa trên kiếầng j2ee 44
ặt vấề 44
3.2. Lựa chọn các tầng ứng dụng 48
3.3. Kiến trúc của ứng dụng 50
ủa website ứng dụng 52
 53
 56
ậhàng 57
 61
ều khiển(Control) 64
ềệồng bộ 66
Kết luận 67
Tài liệu tham khảo 69

Mở ầu

Trong nhiềến trúc phần mềm hai tầng khách/chủ ược sử dụng rất phổ biến. Kiến trúc
này phân chia một ứng dụng phần mềm làm hai tầng: tầng khách và tầng chủ. Tầng khách thường
ượặể bàn, với chứương tác với người sử dụng và xử lý hầu hết

các yêu cầu nghiệp vụ. Còn tầng chủ thường là một hệ quản trị dữ liệu quan hệ, lưu trữ dữ liệu của
ứng dụng. Kiến trúc phần mềm hai tầng truyền thống chỉ thích hợp với những ứng dụng vừa và nhỏ
trong một phạịa lý hẹể khắc phục những nhượểm của kiến trúc hai tầng, kiến trúc phần
mềm ba tầời. Việc xử lý các yêu cầu nghiệp vụ ược tách khỏi tầng khách và tạo thành một
tầng mới, gọi là tầng lôgíc nghiệp vụời từ nhữưếần
ến trúc phần mềm này mớược giới phát triển phần mềm chú ý nhiềượ giá là một
trong những xu hướng chính trong phát triển phần mềm của thế kỷ XXI.
Luậển các hệ thống phân tán dựa trên kiến trúc phần mềm ba tầng" với mụ
nghiên cứu về kiến trúc phần mềm ba tầng, hy vọng sẽ có cái nhìn sâu sắc hơn về kiến trúc phần mềm
ư góp một phần nhỏ trong quá trình nghiên cứu phát triển kiến trúc phần mềm ba tầng ở
Việt Nam.
Luậược chia thành 3 chương:
- Chương 1: Giới thiệu lịch sử phát triển của các hệ tính toán phân tán, kiến trúc phần mềm ba
tầng nói chung. Ngoài ra, trong chươữa mô hình kiến trúc phần mềm ba
tầng với mô hình kiến trúc phần mềm hai tầng truyền thống.
- Chương 2: Luậứu một kiến trúc phần mềm ba tầng cụ thể, kiến trúc J2EE. Trong
chương, luậẽ nghiên cứu về các công nghệ trong kiếầư chi tiết từng
tầng trong kiến trúc này.
- Chương 3: Mụủa chương này là phân tích thiết kế kiến trúc của ứng dụng thương mại
ện tử ểạằm minh họa cho kiếầượề cập trong
các chương trước. Với mụết kế tập trung vào kiến trúc mức cao của ứng dụng như cách
chia ứng dụng thành các tầng, các chứược thể hiện trong các tầng ứng dụng tương ứng, thiết
kế các lớp (class) tương ứng với những chứầng ứng dụ




Chương 1. Giới thiệu về kiến trúc phần mềm ba tầng

Chương này sẽ giới thiệu các kiến trúc phần mềm: mainframe, khách/chủ, hai tầng, ba tầng và sự phân

tích, so sánh giữa kiến trúc phần mềm ba tầng và kiến trúc phần mềm hai tầng truyền thốồng
thời các phương thức giao tiếp giữa các tầng trong kiến trúc phần mềm ba tầượề cập
ến.
1.1. Lịch sử phát triển của kiến trúc phần mềm ba tầng
1.1.1. Kiến trúc Mainframe
Với kiến trúc phần mềm mainframe, mọi việc xử ềược tập trung ở máy chủ trung tâm. Người
dùng sử dụng một thiết bị ầu cuốể gửi các lệnh lên máy chủ trung tâm. Việc tương tác của người
dùng với máy chủ trung tâm có thể ược thực hiện thông qua các máy tính cá nhân PC hoặc các máy
trạm UNIX. Hạn chế của kiến trúc phần mềm mainframe là khả ỗ trợ ồ họư khả 
truy cập các cơ sở dữ liệu phần tán không dễ dàng. Trong nhữầ
ược sử dụng như những máy chủ trong các hệ thống phân tán.
1.1.2. Kiến trúc chia sẻ tệp
Trong thờầược nối với nhau dựa trên kiến trúc chia sẻ tệp (file-
sharing), các tệp dữ liệược tải từ thư mục dùng chung về ể bàn. Các chương trình ứng
dụược chạy trên môi trườể bàn. Hạn chế của kiến trúc này là dễ ột trong
môi trường chia sẻ tệp, không tận dụng hếượực của máy chủ.
1.1.3. Kiến trúc khách chủ
ể khắc phục nhượểm của kiến trúc chia sẻ tệp, kiến trúc khách/chủ ược phát
triển. Theo cách tiếp cận này, máy chủ tệược thay thế bởi một cơ sở dữ liệu (database
server). Sử dụng cơ sở dữ liệu quan hệ, những truy vấn của người sử dụng có thể ược trả lời một
cách trực tiếp. Kiến trúc khách/chủ ảể sự tắc nghẽn mạng, chỉ dữ liệu truy vấn cần thiết
mớược truyền qua mạng thay vì phải truyền cả tệp dữ liệu như trong kiến trúc chia sẻ tệồng
thời kiếố người sử dụng cùng cập nhật cơ sở dữ liệu dùng chung.
Trong kiến trúc phần mềm khách/chủ, các lời gọi thủ tục từ xa (Remote Procedure Calls  RPC) và các
câu lệnh truy vấược sử dụng chủ yếể giao tiếp giữa máy khách và máy chủ.
1.1.4. Kiến trúc hai tầng
Kiến trúc hai tầng khách/chủ ược phát triển từ nhữừ kiến trúc phần mềm chia sẻ
tệp. Kiến trúc hai tầng bao gồm ba thành phần nằm trên hai tầng: tầng khách (nơi phát sinh yêu cầu
dịch vụ) và tầng chủ (nơi cung cấp các dịch vụ). Ba thành phầ
- Giao diện người dùng (như các ô nhập liệu, các biểu mẫủa tầng này là cung cấp

giao diện cho người dùng, làm cho hệ thống dễ dùng, và thân thiện với nguời sử dụng hơn.
- Quản lý các tiến trình, như việc phát triển tiến trình, kiểm soát các tiế

×