1. Trang chủ
  2. » Công Nghệ Thông Tin

PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx

6 306 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 374,18 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Web Service Quản Lý Dữ Liệu sẽ cung cấp các chức năng tương tự

Trang 1

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

1.1 Dịch vụ

Dịch vụ cung cấp không gian lưu trữ từ xa, cho phép người dùng lưu trữ và quản lý dữ liệu Không gian lưu trữ của người dùng được giới hạn bởi dịch vụ Dịch vụ bao gồm hai web service:

 Web Service Quản Lý Người Dùng

 Web Service Quản Lý Dữ Liệu

Web Service Quản Lý Người Dùng bao gồm các chức năng:

 Cho phép tạo người dùng mới

 Cung cấp cơ chế login và logout

Web Service Quản Lý Dữ Liệu sẽ cung cấp các chức năng tương tự các hàm Windows API như:

 Lấy cấu trúc thư mục của vùng lưu trữ người dùng

 Tạo, sao chép, xóa, đặt tên lại, di chuyển thư mục

 Thêm, sao chép, xóa, đặt tên lại, di chuyển, tải tập tin

1.2 Chương trình client

Chương trình client tiêu thụ dịch vụ và có các tính năng tương tự Microsoft Windows Explorer Người dùng sẽ sử dụng chương trình này để truy cập và quản lý dữ liệu của mình trên dịch vụ

2 Mô hình hoạt động của ứng dụng

2.1 Giao tiếp giữa dịch vụ và chương trình client

Trang 2

 Chương trình client xác thực người dùng bằng cách truyền tên người dùng và mật khẩu đến Web Service Quản Lý Người Dùng Khi được xác nhận đúng, Web Service Quản

Lý Người Dùng trả về cho chương trình client một khóa bí mật (giá trị Globally Unique Identifier) Khóa bí mật này đồng thời được lưu trong cơ sở dữ liệu của dịch vụ dưới dạng là một trong những thông tin của người dùng

 Chương trình client tạo thẻ quản từ các thông tin: khóa bí mật và tên người dùng Thẻ 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

Algorithm

MAC

MAC: Message Authentication Code

Module Thẩm Định Tên người dùng

Algorithm

MAC

Kiển tra: Nếu bằng nhau thì xác thực thẻ quản hợp lệ.

MAC Tên người dùng Thẻ quản

MAC = ?

Trang 3

Thẻ quản là sự kết hợp từ:

 Tên tài khoản người dùng (gọi tắt là tên người dùng và là duy nhất cho mỗi người dùng)

 Giá trị MAC (Message Authentication Code) được tính từ tên người dùng bằng khóa bí

mật chung

Quá trình chương trình client tạo thẻ quản và Module Thẩm Định Quyền Người Dùng của dịch vụ kiểm tra tính hợp lệ của thẻ quản dựa trên phương pháp Mã xác thực thông báo (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ợ

Trang 4

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, tìm kiếm, theo dõi (monitoring), và một số tính năng nghiệp vụ khác

Cơ sở dữ liệu của dịch vụ được thiết kế dựa trên sự kết hợp của hai phương pháp là mô hình cây và mô hình tập hợp

4.1 Mô hình cây

Mô hình cây được sử dụng thường xuyên để miêu tả mối quan hệ cấp bậc Trong mô hình này thư mục và tập tin là những nút của cây Có những loại nút sau:

 Nút cha: Nút có ít nhất một nút con

 Nút con: Nút có một nút cha

 Nút gốc: Nút không có nút cha

 Nút lá: Nút không có nút con

Hình 4.1 là một ví dụ về mô hình cây, ví dụ này được sử dụng xuyên suốt trong phần trình bày này

VN SG Q1 Q5 HN DN LC HK HM NHS HC

VN

SG

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

Bảng 4.1: Thực hiện mô hình cây bằng cách sử dụng một bảng

Trang 5

Dịch vụ xuất ra nội dung cấp bậc thư mục tập tin của người dùng dưới dạng XML Chương trình client có thể sử dụng thông tin này để hiển thị trong một cây thư mục Khi kết quả được miêu tả dưới dạng XML, mỗi hàng là một phần tử, mỗi cột là một thuộc tính Những thuộc tính với giá trị null được bỏ qua Những phần tử chỉ chứa những thuộc tính với những giá trị của cột tương ứng là khác null Ví dụ, ba bản ghi đầu tiên sẽ được xuất ra như sau:

<Tree Id="1" Name="VN"/>

<Tree Id="2" Parent="1" Name="SG"/>

<Tree Id="3" Parent="1" Name="HN"/>

4.2 Mô hình tập hợp

Chay Visual Basic là các ngôn ngữ thủ tục Các nhà phát triển quen với việc dùng các ngôn ngữ thủ tục để tổ chức dữ liệu trong các cấu trúc dữ liệu như danh sách hay mảng Những đối tượng trong những ngôn ngữ đó được xử lý ở một thời điểm sử dụng vòng lặp hay

đệ quy SQL không giống như những ngôn ngữ nói trên, nó là ngôn ngữ hướng tập hợp SQL được sử dụng để tổ chức dữ liệu trong những tập hợp Khi một tập hợp được xử lý, toàn bộ tập hợp sẽ được xử lý với cùng một câu lệnh ở cùng một thời điểm hơn là một bản ghi ở một thời đ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

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

SG 2

Q1

Q5

LC

16

DN

10 11

HK

12 13

HM

14 15

NHS

17 18

HC

19 20 21 22

Hình 4.3: Mô hình tập hợp sử dụng phương pháp chuỗi số

Sử dụng phương pháp chuỗi số cho hệ phân cấp thư mục tập tin, dễ dàng truy vấn để tìm các nút, số lượng các nút trong một tập hợp Những kết quả này cũng có thể thực hiện bằng mô hình cây, nhưng các câu truy vấn sẽ phức tạp hơn và không hiệu quả

Trang 6

5 Kết quả

Với chương trình client, người dùng có thể tạo tài khoản hay đặng nhập vào dịch vụ Sau khi đăng nhập thành công, người dùng có thể sử dụng vùng lưu trữ của mình trên dịch vụ

Hình 5.1: Màn hình kết quả chương trình client

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

Ngày đăng: 10/07/2014, 06:21

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Mô hình hoạt động của dịch vụ - PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx
Hình 2.1 Mô hình hoạt động của dịch vụ (Trang 2)
Hình 3.1: Kiến trúc ứng dụng - PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx
Hình 3.1 Kiến trúc ứng dụng (Trang 3)
Hình 4.1 là một ví dụ về mô hình cây, ví dụ này được sử dụng xuyên suốt trong phần  trình bày này - PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx
Hình 4.1 là một ví dụ về mô hình cây, ví dụ này được sử dụng xuyên suốt trong phần trình bày này (Trang 4)
Hình 4.1: Mô hình cây - PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx
Hình 4.1 Mô hình cây (Trang 4)
Hình 4.2: Mô hình tập hợp - PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx
Hình 4.2 Mô hình tập hợp (Trang 5)
Hình 4.3: Mô hình tập hợp sử dụng phương pháp chuỗi số - PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx
Hình 4.3 Mô hình tập hợp sử dụng phương pháp chuỗi số (Trang 5)
Hình 5.1: Màn hình kết quả chương trình client - PHÁT TRIỂN ỨNG DỤNG LƯU TRỮ TRỰC TUYẾN pptx
Hình 5.1 Màn hình kết quả chương trình client (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w