Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
75
PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN
DEVELOPING ONLINE STORAGE APPLICATION
SVTH: HUỲNH NGUYÊN TOẢN
Lớp: 03T2, Trường Đại học Bách khoa, Đại học Đà Nẵng
GVHD: TS. NGUYỄN THANH BÌNH
Khoa CNTT , Trường Đại học Bách khoa, Đại học Đà Nẵng
TÓM TẮT
Nhu cầu lưu trữ dữ liệu ngày nay không chỉ gói gọn trên một máy tính cục bộ, người dùng còn
mong muốn sử dụng dữ liệu họ mọi lúc mọi nơi. Vì vậy xây dựng ứng dụng lưu trữ trực tuyến
là vấn đề đang được quan tâm. Ngoài ra với xu hướng phần mềm ngày nay được cung cấp
như một dịch vụ. Ứng dụng lưu trữ trực tuyến còn được cung cấp dưới dạng dịch vụ (web
services), giúp cho các nhà phát triển thứ ba dễ dàng sử dụng và tích hợp vào các ứng dụng
của họ.
Bài báo này trình bày ứng dụng sử dụng các web services và cho phép người dùng lưu trữ và
quản lý dữ liệu từ xa qua mạng.
SUMMARY
Nowadays the need to store data is not only on a local computer, users want to use the data
available wherever and whenever. Therefore, online storage application becomes a concern.
In addtion, the tendency now in software is “Software as a Service”. Online storage application
also is service, facilitates the third developers to use and integrate online storage application
into their own applications.
This article presents application using web services and allowing users to store and manage
data over internet.
1. Đặt vấn đề
Ứng dụng được phát triển gồm hai phần: Dịch vụ và chương trình client.
quản này sẽ được dùng cho mỗi lần chương trình client gọi các phương thức dịch vụ
của Web Service Quản Lý Dữ Liệu.
Trước khi các phương thức dịch vụ của Web Service Quản Lý Dữ Liệu được thực hiện,
để xác nhận tính hợp lệ của thẻ quản, một Module Thẩm Định Quyền Người Dùng của
dịch vụ sẽ kiểm tra tính hợp lệ của thẻ quản:
o Nếu thẻ quản hợp lệ thì phương thức dịch vụ của Web Service Quản Lý Dữ
Liệu được thực hiện.
o Ngược lại nếu thẻ quản không hợp lệ thì lời gọi bị từ chối và thông báo đến
chương trình client.
Người dùng từ xa
với chương trình client
Tên người dùng &
mật khẩu
Khóa bí mật
Gọi phương thức
dịch vụ & thẻ quản
Kết quả thực hiện
Web Server
Database Server
Web Service
Quản Lý Người Dùng
Web Service
Quản Lý Dữ Liệu
Hình 2.1: Mô hình hoạt động của dịch vụ
Ngoài ra cũng có thể tăng cường tính bảo mật cho dịch vụ bằng cách thực hiện các lời gọi
dịch vụ thông qua giao thức Secure Sockets Layer (SSL).
2.2. Tạo và kiểm tra thẻ quản
Chương trình client
Tên người dùng
(Message Authentication Code). Quá trình được thể hiện qua Hình 2.2.
3. Kiến trúc ứng dụng
Ứng dụng được thiết kế dựa theo ý tưởng mô hình 3 tầng:
Các web service của dịch vụ bao gồm hai tầng: Tầng truy cập cơ sở dữ liệu và tầng
nghiệp vụ. Nghiệp vụ được xuất ra bên ngoài là các phương thức dịch vụ (các web
method của web service).
Tầng giao diện được thực hiện bởi chương trình client.
Data Access Layer
Data Sources
Business Layer
Web Method
Client
call
Service
Hình 3.1: Kiến trúc ứng dụng
4. Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu được dùng để lưu trữ thư mục tập tin của người dùng. Có thể nói việc
dùng cơ sở dữ liệu là sự lựa chọn trái với thông thường cho thành phần lưu trữ thư mục tập tin
của một dự án. Xu hướng kỹ thuật là sử dụng các hệ thống tập tin có sẵn như FAT32 hay
NTFS, vì giao diện lập trình của các hệ thống tập tin này yêu cầu ít mã hơn và sự thực thi của
nó cũng dễ hiểu hơn.
Nếu không xét về tính dễ dàng khi lập trình, thì sẽ có các lợi ích khi sử dụng hệ thống
cơ sở dữ liệu. So với các hệ thống tập tin, hệ thống cơ sở dữ liệu dễ dàng tùy chỉnh không gian
lưu trữ hơn, cơ sở dữ liệu có thể được mở rộng, nó có một tập các công cụ và tính năng hỗ trợ
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008 78
như: Chỉ mục (indexing), truyền dữ liệu, sao lưu, phục hồi, tạo bản sao (replication), truy vấn,
Hình 4.1: Mô hình cây
Để thực hiện mô hình cây trong cơ sở dữ liệu ta có thể thiết kế một ánh xạ giữa những
nút cha và những nút con bằng cách sử dụng một bảng (table). Trong bảng, mỗi bản ghi
(record) nút sẽ có một khóa chính và một khóa tham khảo đến nút cha (một bản ghi khác)
trong cùng một bảng.
Id
Parent
Name
1
Null
VN
2
1
SG
3
1
HN
4
1
DN
5
2
Q1
6
2
Q5
7
4
LC
8
điểm.
Đây là điểm quan trọng cho việc thực hiện phân cấp thư mục tập tin. Nếu người sử
dụng muốn sao chép thư mục DN thì tất cả những thư mục con của thư mục DN cũng phải
được sao chép. Chúng ta xem xét với cách thực hiện bằng mô hình cây: liệu cần bao nhiêu câu
lệnh select?, có cần thiết sử dụng bảng tạm (temporary table) hay kỹ thuật lặp nào không ?.
Bây giờ hãy xem xét mô hình tập hợp ở Hình 4.2.
Q1
Q5
SG
HN
NHS
HC
HK
HM
DN
LC
VN
Hình 4.2: Mô hình tập hợp
Sử dụng mô hình tập hợp cho phân cấp thư mục tập tin dễ dàng xác định các thư mực
con của thư mục DN. Nếu phân cấp thư mục tập tin được thực hiện bằng kỹ thuật này, thì chỉ
cần duy nhất một câu lệnh select. Mô hình tập hợp sử dụng chuỗi số (number line) thể hiện
qua Hình 4.3.
VN
1
HN
8 9
SG
2
Q1
6. Kết luận
Dựa vào các yêu cầu đặt ra ban đầu, tôi đã xây dựng, thử nghiệm được ứng dụng lưu
trữ trực tuyến và đã đạt được một số kết quả sau:
Dịch vụ bao gồm các web service cung cấp các phương thức tương tự như các hệ thống
tập tin trên Windows hay Linux vì thế giúp các nhà phát triển thứ ba dễ dàng sử dụng
và tích hợp vào các ứng dụng của họ.
Chương trình client đóng vai trò là chương trình tiêu thụ dịch vụ, với giao diện tương
tự như Microsoft Windows Explorer giúp người dùng sử dụng và quản lý lưu trữu của
mình một cách dễ dàng.
Hướng phát triển của ứng dụng là thêm chức năng chia sẽ dữ liệu giữa các người dùng.
TÀI LIỆU THAM KHẢO
[1] David Jorgensen (2002). Developing .NET Web Services with XML. Syngress Publishing,
Inc.
[2] Thomas Erl (2005). Service-Oriented Architecture: Concepts, Technology, and Design.
Prenice Hall PTR.
[3] Edward Jezierski (2002). Application Architecture for .NET: Designing Applications and
Services. Microsoft Press.
[4] Microsoft Developer Network (MSDN).
[5] Wikipedia.org.