1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS

85 970 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 2,6 MB

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

Nội dung

Tuy nhiên, tính toán lưới và các vấn đề liên quan đến nó vốn không đơngiản thậm chí với cả những người nghiên cứu và hoạt động trong lĩnh vực này.Chính vì thế để giúp đỡ những người sử d

Trang 1

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

──────── * ────────

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC

NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS

HÀ NỘI, 6 – 2010

Sinh viên thực hiện:

Lớp:

Giáo viên hướng dẫn:

Nguyễn Việt Phương

Hệ thống thông tin – K50 PGS TS Nguyễn Thanh Thủy

Trang 2

LỜI CẢM ƠN

Em xin được gửi lời cảm ơn chân thành và sâu sắc tới PGS TS Nguyễn

Thanh Thuỷ - Giám đốc Trung Tâm Tính Toán Hiệu Năng Cao – ĐH Bách Khoa

Hà Nội Thầy đã tạo cho em cơ hội được học tập và nghiên cứu trong môi trườngkhoa học lý tưởng, đồng thời cho em những lời khuyên quý báu để hoàn thành đồ

án này

Em xin được gửi lời cảm ơn chân thành và sâu sắc tới TS Nguyễn Hữu Đức.

Thầy đã tận tình chỉ bảo em trong suốt quá trình em thực hiện đồ án

Em xin gửi lời cảm ơn chân thành và sâu sắc tới Ths Lê Đức Tùng, người đã

tận tình hướng dẫn và động viên em trong quá trình làm đồ án

Em xin cảm ơn các anh ThS Đào Quang Minh, Ks Phạm Hồng Phong –

Cán bộ Trung Tâm Tính Toán Hiệu Năng Cao – ĐH Bách Khoa Hà Nội Hà Nội.Các anh đã tận tình chỉ bảo từ nếp làm việc đến phương pháp nghiên cứu trong suốtthời gian em thực tập tại trung tâm

Tôi xin cảm ơn tới các thành viên trong nhóm AGP: Nguyễn Duy Hoàng,

Tô Trọng Hiến, Nguyễn Hồng Thanh đã cùng nhau cố gắng để cùng vượt qua

những khó khăn bước đầu Xin cảm ơn các thành viên tại Trung tâm Tính ToánHiệu Năng Cao - ĐH Bách Khoa HN, mọi người đã cùng nhau học tập, tìm hiểu vàđộng viên giúp đỡ nhau trong những lúc khó khăn nhất để có thể cùng hoàn thànhtốt đồ án tốt nghiệp

Cuối cùng con xin được gửi lời cảm ơn đến bố mẹ và gia đình, những ngườithân yêu nhất, những người luôn động viên cổ cũ con để con có được ngày hômnay

Hà Nội, ngày 29 tháng 05 năm 2010

Nguyễn Việt PhươngLớp Hệ Thống Thông Tin – K50Trường Đại học Bách Khoa Hà Nội

Trang 3

MỤC LỤC

LỜI CẢM ƠN 2

DANH MỤC CÁC HÌNH VẼ 6

DANH MỤC CÁC TỪ VIẾT TẮT 8

ĐẶT VẤN ĐỀ 10

1 Thực trạng ở Việt Nam và tính cấp thiết của đề tài 10 2 Mục tiêu nghiên cứu11 3 Phương pháp nghiên cứu 11 4 Phạm vị và kết quả nghiên cứu 11 5 Cấu trúc đồ án 12 CHƯƠNG 1: KIẾN TRÚC HỆ THỐNG TÌM KIẾM & SO KHỚP TÀI LIỆU LIÊN TRƯỜNG ĐẠI HỌC GOODAS 13

1.1 Giới thiệu chung 13 1.1.1 Bài toán quản lý tài liệu phân tán 13

1.1.2 Các phương pháp tiếp cận truyền thống 13

1.1.3 Hướng tiếp cận của hệ thống GoodAs 14

1.2 Mô hình kiến trúc của hệ thống 16 1.3 Thiết kế các thành phần của hệ thống 17 1.3.1 Cổng thông tin trên nền lưới (Grid Portal) 18

1.3.2 Lưới dữ liệu hệ thống GoodAs 18

1.3.3 Máy chủ dịch vụ thông tin 19

1.3.4 Mô đun Quản lý ủy quyền lưới 19

1.3.5 Mô đun quản lý đăng ký lưới 20

1.4 Vị trí của thành phần portal trong hệ thống 21 1.4.1 Quản trị portal 22

1.4.2 Truy cập hệ thống lưới 22

1.4.3 Tìm kiếm tài liệu 23

1.4.4 So khớp tài liệu 23

1.4.5 Quản lý không gian cá nhân 23

CHƯƠNG 2: TỔNG QUAN VỀ GRID PORTAL 24

Trang 4

2.1 Tổng quan lưới & portal cho lưới 24

2.1.1 Tính toán lưới 24

2.1.2 Portal 26

2.1.3 Portlet 29

2.1.4 Grid portal 30

2.2 Các công nghệ xây dựng portal cho lưới 32 2.2.1 Gridsphere Portal Framework 32

2.2.2 Công cụ phát triển portal cho lưới 32

2.2.3 Portal cộng tác khoa học vật lý thiên thể 33

CHƯƠNG 3: GRIDSPHERE – CÔNG NGHỆ XÂY DỰNG PORTAL CHO LƯỚI 34

3.1 Giới thiệu Gridsphere 34 3.2 Kiến trúc Gridsphere 35 3.2.1 Bộ máy xếp đặt 36

3.2.2 Mô hình portlet của Gridsphere 37

3.2.3 Nền tảng dịch vụ portlet 40

3.2.4 Các portlet nhân của Gridsphere 41

3.3 Triển khai Gridsphere 42 3.3.1 Các gói phần mềm yêu cầu 42

3.3.2 Môi trường cài đặt 42

3.3.3 Cài đặt 43

3.4 Lập trình trên Gridsphere 45 3.4.1 JSR 168 portlet 45

3.4.2 Gridsphere Visual Bean 46

3.4.3 Portlet Services 47

CHƯƠNG 4: CỔNG THÔNG TIN HỆ THỐNG TÌM KIẾM & SO KHỚP TÀI LIỆU GOODAS 49

4.1 Đặc tả các ca sử dụng portal 49 4.1.1 Biểu đồ tác nhân của portal 49

4.1.2 Biểu đồ các ca sử dụng của portal 50

4.2 Các ca sử dụng quản trị portal 50 4.2.1 Ca sử dụng Quản trị người dùng 51

Trang 5

4.2.2 Ca sử dụng cấu hình tham số portal 53

4.2.3 Ca sử dụng Truy cập hệ thống lưới 54

4.3 Các ca sử dụng hệ thống 62 4.3.1 Ca sử dụng quản lý thông tin cá nhân 62

4.3.2 Ca sử dụng quản lý tài liệu cá nhân 64

4.3.3 Ca sử dụng tìm kiếm văn bản 68

4.3.4 Ca sử dụng so khớp văn bản 72

4.4 Biểu đồ lớp cho các ca sử dụng 75 4.4.1 Biểu đồ lớp Ca sử dụng Quản lý thông tin cá nhân 75

4.4.2 Biểu đồ lớp ca sử dụng Quản lý ủy quyền lưới 75

4.4.3 Biểu đồ lớp Ca sử dụng Quản lý tài liệu cá nhân 76

4.4.4 Biểu đồ lớp Ca sử dụng Tìm kiếm tài liệu 77

4.4.5 Biểu đồ lớp Ca sử dụng So khớp tài liệu 78

CHƯƠNG 5: TRIỂN KHAI HỆ THỐNG 79

5.1 Hệ thống triển khai 79 5.2 Kết quả triển khai portal 80 5.2.1 Giao diện trang chủ của portal 80

5.2.2 Nhóm các chức năng quản trị 80

5.2.3 Nhóm các chức năng sử dụng hệ thống 82

5.3 Đánh giá kết quả triển khai84 TỔNG KẾT 86

1 Đánh giá kết quả công việc 86 2 Hướng phát triển 86 TÀI LIỆU THAM KHẢO 87

Trang 6

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 - Mô hình kiến trúc hệ thống 16

Hình 1.2 - Mô hình các thành phần của hệ thống 18

Hình 1.3 – Mô hình phân cấp truy nhập dữ liệu liên trường 19

Hình 1.4 – Quản lý ủy quyền lưới sử dụng kho lưu trữ ủy quyền 20

Hình 1.5 - Mô hình quản lý người dùng với VOs 21

Hình 1.6 – Mô hình các thành phần của portal 22

Hình 2.1 - Minh hoạ về tính toán lưới 25

Hình 2.2 - Minh họa một portal 27

Hình 2.3 - Các thành phần chức năng của portal 28

Hình 2.4 - Ví dụ một số portlet 30

Hình 3.1 - Mô hình kiến trúc Gridsphere 35

Hình 3.2 - File mô tả các xếp đặt trong Gridsphere 36

Hình 3.3 - Biểu đồ trình tự hiển thị một portlet của Gridsphere 36

Hình 3.4 – Sơ đồ lớp khi phát triển một portlet của Gridsphere 38

Hình 3.5 - Sơ đồ lớp khi phát triển portlet JSR 168 39

Hình 3.6 - Mô hình portlet services của Gridsphere 40

Hình 3.7 - File XML mô tả portlet services của Gridsphere 41

Hình 3.8 - Tạo một project mang tên Gridsphere 43

Hình 3.9 - Build project Gridsphere sử dụng ant plugin 44

Hình 3.10 - Chọn đích build cho project 44

Hình 4.1 – Các tác nhân của hệ thống 49

Hình 4.2 – Các ca sử dụng của hệ thống 50

Hình 4.3 – Các ca sử dụng quản trị portal 51

Hình 4.4 – Biểu đồ trình tự Quản lý người dùng 53

Hình 4.5 – Các ca sử dụng truy cập hệ thống lưới 55

Hình 4.6 – Biểu đồ trình tự Liệt kê giấy phép ủy quyền 57

Hình 4.7 – Lược đồ trình tự Tạo mới giấy phép ủy quyền 58

Hình 4.8 – Các ca sử dụng hệ thống 62

Hình 4.9 – Biểu đồ trình tự Cập nhật thông tin thành viên nhóm 64

Hình 4.10 – Biểu đồ trình tự Quản lý tài liệu cá nhân 67

Hình 4.11 – Biểu đồ trình tự Thay đổi thuộc tính tài liệu 68

Hình 4.12 – Biểu đồ trình tự Tìm kiếm tài liệu 71

Hình 4.13 – Biểu đồ trình tự Xem tài liệu từ kết quả tìm kiếm 72

Hình 4.14 – Biểu đồ trình tự So khớp tài liệu 74

Hình 4.15 – Biểu đồ lớp Quản lý thông tin cá nhân 75

Hình 4.16 – Biểu đồ lớp Quản lý giấy phép ủy quyền lưới 76

Hình 4.17 – Biểu đồ lớp Quản lý tài liệu cá nhân 77

Trang 7

Hình 4.18 – Biểu đồ lớp Tìm kiếm tài liệu 77

Hình 4.19 – Biểu đồ lớp So khớp tài liệu 78

Hình 5.1 – Giao diện trang chủ GoodAs portal 80

Hình 5.2 – Giao diện Quản lý người dùng 80

Hình 5.3 – Giao diện Thay đổi thông tin người dùng 81

Hình 5.4 - Giao diện Quản lý giấy phép ủy quyền lưới 81

Hình 5.5 – Giao diện Quản lý tệp trên hệ thống lưới 81

Hình 5.6 – Giao diện Đệ trình công việc 82

Hình 5.7 – Giao diện Quản lý tài liệu cá nhân 82

Hình 5.8 – Giao diện Tìm kiếm tài liệu 83

Hình 5.9 – Giao diện Xem kết quả tìm kiếm & đề xuất 83

Hình 5.10 – Giao diện So khớp tài liệu 84

Hình 5.11 – Giao diện Quản lý thông tin cá nhân 84

Trang 8

DANH MỤC CÁC TỪ VIẾT TẮT

ACLs Access Control Lists Danh sách điều khiển quyền truy cậpÁCP The Astrophysics

Simulation Collaboratory Portal

CSS Cascading Style Sheets các tập tin định kiểu theo tầng

DCOM Distributed Component

Object Model

Mô hình Đối tượng có Thành phần Phân tán

FTP File Transfer Protocol Giao thức truyền file

GPDK Grid Portal Development

Kit

Công cụ phát triển portal cho lưới

HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn bản JSR Java Specification Requests Mô tả yêu cầu kỹ thuật Java (cho

portlet)MVC Model View Controller (Mẫu thiết kế) Thực thể - Khung nhìn

– Điểu khiểnOGCE Open Grid Computing

Enviroment

Môi trường điện toán lưới mở

SOA Service Oriented

Architecture

Kiến trúc hướng dịch vụSSP Storage Service Provider Nhà cung cấp dịch vụ lưu trữ

Trang 9

VOMRS Virtual Organization

Management Registration Service

Dịch vụ quản lý đăng ký tổ chức ảo

VOMS Virtual Organization

Trang 10

ĐẶT VẤN ĐỀ

Thực trạng ở Việt Nam và tính cấp thiết của đề tài

Hiện nay, nhu cầu tra cứu và chia sẻ tài liệu phục vụ cho công tác nghiên cứu

& giảng dạy trong các trường đại học là rất lớn Các sinh viên không chỉ muốn chiasẻ tài liệu với nhau trong cùng khóa, mà còn muốn tra cứu và tham khảo thêm tàiliệu, luận văn từ các khóa trước hay từ các trường đại học khác thuộc cùng lĩnh vựcnghiên cứu Tuy vậy, việc tiếp cận các tài liệu này, đặc biệt là các luận văn, các tàiliệu, bài báo chuyên khảo, ở Việt Nam hiện nay là không dễ dàng, và thường đượcthực hiện qua các con đường không chính thống như tải về từ mạng internet, hayqua sao chép giữa các cá nhân với nhau Đó là chưa kể đến việc một số trường cònthiết lập các chính sách hạn chế truy cập đến một số tài liệu nội bộ, như chỉ đượclưu hành trong phạm vi trường, khoa, nhóm nghiên cứu…

Bên cạnh đó, các hiện tượng gian lận, sao chép trong học tập diễn ra ngàymột nhiều và ngày càng tinh vi hơn khiến cho việc phát hiện các gian lận là rất khókhăn Một số sinh viên không chỉ sao chép tài liệu từ các bạn cùng khóa, mà còn từcác khóa khác, hay thậm chí là từ các tài liệu, luận văn của các trường đại học khác.Phương pháp sao chép cũng ngày một tinh vi hơn, không chỉ cóp nguyên xi cả tàiliệu, mà còn thay đổi trật tự các đề mục, các câu trong tài liệu, hay sử dụng các từđồng nghĩa, đa nghĩa để thay thế Một khó khăn nữa đặt ra cho các giảng viên đó là

họ thường chỉ có thể phát hiện sao chép với nguồn là từ các tài liệu trong nội bộtrường, mà không phát hiện được sao chép từ các nguồn tài liệu bên ngoài Việc giatăng ngày một nhiều các hành vi gian lận đã ảnh hưởng tiêu cực đến chất lượng tàiliệu, luận văn nói riêng, và tới chất lượng giáo dục nói chung Do vậy, nhu cầu cần

có một hệ thống chia sẻ tài liệu vừa hỗ trợ tốt cho công tác nghiên cứu, vừa cungcấp khả năng so khớp, phòng chống gian lận trong học tập là rất cấp thiết

Xuất phát từ những nhu cầu trên, nhóm nghiên cứu thuộc Trung tâm tínhtoán hiệu năng cao quyết định xây dựng một hệ thống tìm kiếm và so khớp tài liệuliên trường đại học Hệ thống cho phép người sử dụng, là những sinh viên, giảngviên của các trường đại học, có thể chia sẻ các tài liệu nghiên cứu của mình, cũngnhư tìm kiếm, tra cứu các tài liệu từ trong phạm vi trường mình cũng như từ cáctrường khác tham gia liên minh Với lợi thế về kho tài liệu liên trường đại học, hệthống còn cung cấp giải pháp so khớp tài liệu, dựa trên hướng tiếp cận ngữ nghĩa,nhằm giải quyết vấn đề gian lận trong học tập

Trang 11

Để xây dựng được một hệ thống mạnh và đạt yêu cầu cần có một nền tảngcông nghệ thích hợp Nền tảng công nghệ này cần có khả năng kết hợp sức mạnhtính toán, lưu trữ của nhiều máy tính, thuộc các trường đại học nằm phân tán về mặtđịa lý Qua quá trình nghiên cứu, nhóm thấy rằng công nghệ tính toán lưới, mà cụthể là công nghệ lưới dữ liệu là phù hợp với những yêu cầu đặt ra cho một hệ thốngnhư vậy Tuy nhiên, tính toán lưới và các vấn đề liên quan đến nó vốn không đơngiản thậm chí với cả những người nghiên cứu và hoạt động trong lĩnh vực này.Chính vì thế để giúp đỡ những người sử dụng trong việc tiếp cận hệ thống, việc xâydựng một cổng thông tin điện tử ( portal ) là hết sức cần thiết, điều này sẽ che dấu đikiến trúc phức tạp bên dưới và cung cấp giao diện thân thiện dễ sử dụng tới ngườidùng, giúp họ có thể tiếp cận hệ thống và sử dụng nó như một công cụ hữu íchtrong công việc nghiên cứu của mình.

Tên của hệ thống - GOODAS – được lấy từ các chữ cái đầu của cụm từ tiếng

Anh: Grid Oriented Online Document Analysing System.

Mục tiêu nghiên cứu

Mục đích của đồ án là phân tích thiết kế kiến trúc tổng thể của hệ thống vàxây dựng thành phần cổng thông tin dựa trên nền lưới (grid portal) cho hệ thống,cung cấp một cách tiếp cận tới hệ thống dựa trên giao diện web, che dấu đi kiến trúcphức tạp bên dưới và đưa tới người dùng khả năng sử dụng hệ thống một cách dễdàng

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

Kiến trúc tổng thể của hệ thống được xây dựng dựa trên việc nghiên cứu cáckiến trúc hệ thống sử dụng các phương pháp tiếp cận truyền thống cho bài toánquản lý tài liệu phân tán, đánh giá ưu nhược điểm và lựa chọn giải pháp phù hợp.Bên cạnh đó, cũng nghiên cứu tìm hiểu mô hình kiến trúc của các hệ thống ứngdụng khác được phát triển dựa trên nền công nghệ lưới dữ liệu (như hệ thống dựbáo thời tiết, cảnh báo sóng thần…)

Với mục đích xây dựng portal cho hệ thống như đã trình bày ở trên, sử dụngcách tiếp cận tìm hiểu kiến trúc gridportal của các trung tâm tính toán hiệu năng caotrên thế giới, các frame work hỗ trợ xây dựng grid portal

Phạm vị và kết quả nghiên cứu

Đồ án chỉ trình bày các vấn đề liên quan đến kiến trúc hệ thống và gridportal,các kết quả nghiên cứu và triển khai cũng như các công nghệ được sử dụng để xâydựng nên portal cho hệ thống

Trang 12

Cấu trúc đồ án

Để giúp người đọc có được cái nhìn từ khái quát đến chi tiết công việc cũngnhư kết quả của đồ án, cấu trúc đồ án được trình bày như sau

Chương 1 Giới thiệu về vấn đề quản lý tài liệu phân tán & các phương pháp

tiếp cận truyền thống Trình bày hướng tiếp cận của hệ thống GoodAs, mô hìnhkiến trúc của hệ thống & vị trí của thành phần portal trong hệ thống

Chương 2 Trình bày tổng quan về grid portal, trong chương này các vấn đề

như lưới và grid portal sẽ được đề cập, các công nghệ để xây dựng một grid portalcũng được trình bày trong phần này

Chương 3 Chương này giúp người đọc hiểu rõ Gridsphere Portal Frame

Work, đó là framework đã được chọn để xây dựng portal cho hệ thống

Chương 4 Trình bày về Portal của hệ thống, cung cấp cho người đọc thông

tin chi tiết các chức năng của portal cũng như các kết quả đã triển khai được trongthời gian thực hiện đồ án trên portal

Chương 5 Trình bày những kết quả triển khai portal trên hệ thống.

Cuối cùng là phần Tổng kết, trong phần này sẽ đưa ra kết luận, cũng nhưhướng mở rộng của đồ án

Trang 13

CHƯƠNG 1: KIẾN TRÚC HỆ THỐNG TÌM KIẾM & SO KHỚP TÀI LIỆU LIÊN TRƯỜNG ĐẠI HỌC GOODAS

Bài toán quản lý tài liệu phân tán trên các trường đại học có thể phát biểunhư sau:

Cho các trường đại học với hệ thống máy tính được nối mạng, cùng với các kho lưu trữ tài liệu điện tử phục vụ học tập, nghiên cứu, thuộc nhiều lĩnh vực, nằm phân tán ở mỗi trường Cần xây dựng một hệ thống chương trình ứng dụng cho phép kết nối các tài nguyên phân tán từ các trường, hỗ trợ người dùng dễ dàng chia

sẻ & tra cứu các tài liệu khoa học, bên cạnh đó, hỗ trợ đắc lực giảng viên các trường trong việc phát hiện các tài liệu, luận văn sao chép từ các nguồn trong hệ thống.

Vấn đề quản lý tài liệu điện tử nằm phân tán trên mạng đặt ra rất nhiều tháchthức Đặc điểm của các tài liệu điện tử đó là các tài nguyên động Tính chất độngkhông chỉ thể hiện về mặt dữ liệu (các tài liệu có thể được thêm, bớt, hay sửa đổi),

mà còn về mặt sở hữu Các tài liệu thuộc sở hữu của các cá nhân nằm trong các tổchức khác nhau Mỗi tổ chức lại có các chính sách quản lý tài nguyên và truy cậpriêng Trong khi đó, yêu cầu về một hệ thống quản lý tài liệu phân tán trên mạng đòihỏi tính mềm dẻo (khả năng dễ dàng thêm bớt các tài nguyên lưu trữ, tính toán),tính bảo mật cho dữ liệu thuộc các tổ chức, và tính cộng tác chia sẻ dữ liệu trongcác nhóm hay trong các lĩnh vực nghiên cứu Việc giải quyết các yêu cầu đặt ra nàytrên một tập các tài nguyên động là rất phức tạp

Cho đến này, đã có rất nhiều các giải pháp sử dụng các công nghệ tính toánphân tán khác nhau để giải quyết vấn đề trên Tuy nhiên các cách tiếp cận này chưaxây dựng được một giải pháp đầy đủ cho vấn đề chia sẻ tài nguyên động, đáp ứngyêu cầu cho mô hình cộng tác giữa các tổ chức Sau đây, xin được điểm qua một vàicông nghệ tính toán phân tán đã được áp dụng:

Công nghệ Internet & tính toán ngang hàng (Peer-to-peer Computing) (được

triển khai trong các dự án như Napster, Freenet hay SETI@home ) thường tập

Trang 14

trung vào các giải pháp tích hợp theo chiều dọc cho các vấn đề chuyên biệt, thay vìđịnh nghĩa một giao thức chung cho phép chia sẻ tài nguyên và làm việc cộng tác.Hơn nữa, hình thức chia sẻ cũng còn nhiều hạn chế, như chia sẻ tệp tin không cókiểm soát truy nhập, hay chia sẻ tính toán với một máy chủ tập trung Khi các ứngdụng trở nên phức tạp hơn và yêu cầu làm việc cộng tác trở nên rõ ràng hơn, thìcông nghệ Internet và tính toán ngang hàng cho thấy nhiều hạn chế Ví dụ, khả năngtruy cập một lần (single sign-on), ủy quyền và các công nghệ chứng thực khác trởnên rất quan trọng và cần thiết khi các dịch vụ chia sẻ dữ liệu và tính toán phải cộngtác với nhau, hay khi chính sách điểu khiển truy nhập đến các tài nguyên trở nênphức tạp.

Các công nghệ điện toán doanh nghiệp như CORBA, Enterprise JavaBeans,

Java 2 Enterprise Edition, hay DCOM đều được thiết kế để phát triển các ứng dụngphân tán Các công nghệ này cung cấp các giao diện truy cập tài nguyên chuẩn, các

cơ chế triệu gọi phương thức từ xa cũng như các cơ chế giúp đơn giản hóa việc traođổi tài nguyên trong phạm vi một tổ chức đơn Tuy nhiên, các cơ chế này lại khônggiải quyết được các yêu cầu đặt ra với các tổ chức ảo Việc chia sẻ thường mangtính chất tĩnh & gói gọn trong phạm vi một tổ chức Dạng thức chủ yếu của các liêntác là theo mô hình Client-server, thay vì là sự phối hợp hoạt động của nhiều tàinguyên

Các nhà cung cấp dịch vụ ứng dụng (ASPs), các nhà cung cấp dịch vụ lưu trữ (SSPs) và các công ty cung cấp các dịch vụ hosting khác thường triển khai các

ứng dụng doanh nghiệp cũng như cung cấp khả năng lưu trữ cho các khách hàngcủa mình Công nghệ VPN thường được sử dụng để mở rộng hệ thống mạng củakhách hàng, bổ sung thêm các tài nguyên được quản lý và điều khiển bởi các ASPshay SSPs Một số SSPs cung cấp các dịch vụ chia sẻ file, truy cập thông qua HTTP,FTP, hay WebDAV với cơ chế mật khẩu hay danh sách điểu khiển truy nhập Chínhviệc sử dụng VPN hay các cơ chế cấu hình tĩnh này khiến cho việc thực hiện hóacác mô hình chia sẻ tài nguyên giữa các tổ chức trở nên rất khó khăn

Dựa trên việc tìm hiểu các giải pháp công nghệ đang được sử dụng để giảiquyết vấn đề quản lý tài liệu phân tán, đánh giá ưu nhược điểm của các phươngpháp trên, nhóm nghiên cứu đã quyết định sử dụng một hướng tiếp cận mới cho vấn

đề này Qua quá trình nghiên cứu, nhóm nhận thấy công nghệ tính toán lưới [1].,với nhiều ưu điểm trong việc kết hợp sức mạnh tính toán và lưu trữ của các tàinguyên nằm phân tán, là phù hợp với những yêu cầu đặt ra cho một hệ thống quản

lý tài liệu như vậy

Ưu điểm của công nghệ lưới

Trang 15

Khả năng kết hợp các tổ chức tham gia vào hệ thống

Trong điều kiện cơ sở hạ tầng tại Việt Nam còn thấp, kinh phí đầu tư chomột hệ thống lớn còn rất khó khăn, do đặc trưng của hệ thống lưu trữ và chia sẻ dữliệu đòi hỏi một lượng lớn tài nguyên phần cứng, ta khó có thể xây dựng một hệthống tập trung đạt chất lượng cao cho người dùng Một khó khăn nữa đặt ra với bàitoán quản lý tài liệu liên trường đại học đó là số lượng các trường đại học là rấtnhiều, và việc một trường mới đăng ký tham gia hệ thống phải không ảnh hưởngnhiều đến hệ thống đã có Giải pháp lưới dữ liệu có khả năng giải quyết được nhữngkhó khăn trên bằng cách kết hợp tài nguyên tính toán và khả năng lưu trữ sẵn có củacác trường đại học, tạo thành một hệ thống chung

Hơn nữa, với đặc tính khả mở sẵn có của lưới, khi một trường đại học haymột tổ chức muốn tham gia vào hệ thống, tổ chức đó chỉ việc triển khai hạ tầng lưới

và đăng ký kết nạp vào lưới thông qua việc cài đặt các cơ chế bảo mật để tin tưởnglẫn nhau trong quá trình chia sẻ tài nguyên Hệ thống lưới với các dịch vụ quản lý

và phát hiện tài nguyên có thêm đảm bảo việc thông tin về các tài nguyên trên hệthống (kể cả mới tham gia) liên tục được cập nhật đến các site

Tính ổn định, vững vàng & bảo mật cao

Trong những năm trở lại đây, tính toán lưới nói chung và lưới dữ liệu nóiriêng đã có những bước tiến không ngừng trên phạm vi toàn thế giới Tính toán lướicho phép kết hợp sức mạnh tính toán của nhiều máy tính đơn lẻ, tạo thành sứcmạnh tính toán tổng hợp Các kiến trúc về lưới được phát triển và ứng dụng vàonhiều các dự án lớn trên thế giới, cho thấy khả năng ứng dụng vào thực tế của côngnghệ lưới là rất lớn

Công nghệ tính toán lưới được xây dựng với mục tiêu kết hợp các máy tính

có kiến trúc khác nhau Vì vậy, việc thay đổi, nâng cấp của các nút lưới không

hề ảnh hưởng tới sự tham gia vào hệ thống của nút lưới đó Các thành phần tronglưới cũng độc lập với nhau tạo nên tính ổn định cho hệ thống, tránh lỗi thắt cổ chaicho toàn hệ thống

Khả năng tạo lập bản sao, dự phòng dữ liệu

Lưới cung cấp một khả năng rất mạnh cho hệ thống lưu trữ là tạo lập và quản

lý bản sao Bản sao được tạo ra để nâng cao hiệu năng truy cập và tính sẵn dùng

Đặc trưng cơ bản của lưới là các tổ chức tham gia nằm cách nhau về mặt địa

lý và dữ liệu được phân bố phân tán trên các máy tính khác nhau Với việc tạo ranhiều bản sao ở các vị trí khác nhau, người dùng có thể lựa chọn và thực hiện truycập tới bản sao dữ liệu có hiệu năng cao hơn Việc lựa chọn bản sao dựa trên nhiều

Trang 16

tiêu chí: khoảng cách giữa người dùng và tài nguyên, băng thông mạng, tải của máylưu trữ v.v Các yếu tố trên đều có ảnh hưởng tới tốc độ và độ trễ từ người dùngđến máy lưu trữ dữ liệu

Đặc trưng này là đặc biệt phù hợp với hệ thống quản lý tài liệu phân tán nhưGoodAs, bởi các trường đại học tham gia hệ thống có thể nằm rải rác trên khắp cảnước Bên cạnh đó, nếu các trường đại học, các tổ chức tin tưởng lẫn nhau và chophép tài liệu của tổ chức mình được sao lưu dự phòng sang các tổ chức bạn sẽ làmtăng tính sẵn sàng và tin cậy của hệ thống Trong trường hợp tài nguyên trên nútlưu trữ dữ liệu nào đó không truy cập được, người dùng có thể truy cập tới bản saocủa dữ liệu và tiếp tục thực hiện công việc mà không bị gián đoạn

Với những lý do trên, công nghệ tính toán lưới đã được lựa chọn làm hướngtiếp cận để thiết kế mô hình kiến trúc cho hệ thống, và được sử dụng để xây dựng

hạ tầng tính toán và lưu trữ cho hệ thống GoodAs

Với hướng tiếp cận dựa trên công nghệ tính toán lưới, giải pháp hệ thống đưa

ra kết nối các tài nguyên tính toán, lưu trữ của các trường đại học thành một lưới dữliệu, mỗi trường là một nút lưới Người dùng truy cập và sử dụng các chức năng của

hệ thống thông qua cổng thông tin của mỗi trường Hình 1 minh họa Mô hình kiếntrúc của hệ thống Mô hình này mô tả các module chức năng của hệ thống Cácmodule này được phân chia thành các tầng, ứng với nhiệm vụ và phương thức hoạtđộng của chúng

Hình 1.1 - Mô hình kiến trúc hệ thốngTheo đó, kiến trúc hệ thống gồm 4 tầng:

Trang 17

Tầng tài nguyên: là tầng thấp nhất của hệ thống, bao gồm tất cả các tàinguyên cơ bản, như các hệ thống tính toán, hệ thống lưu trữ của các trường đại họccũng như hạ tầng mạng kết nối các tài nguyên lại với nhau về mặt vật lý.

Tầng Middleware (hay tầng phần mềm nền): bao gồm rất nhiều các dịch vụ,các giao diện lập trình ứng dụng (APIs), cung cấp khả năng quản lý các tài nguyêntính toán & lưu trữ nằm phân tán Tầng middleware giúp triển khai hạ tầng lưới mộtcách toàn diện, tạo cơ sở để phát triển những ứng dụng trên nền lưới Hiện nay,Globus Toolkit là một trong những grid middleware được sử dụng rộng rãi nhấttrong các dự án tính toán lưới

Một số dịch vụ được cung cấp bởi tầng Middleware như:

- Hạ tầng bảo mật lưới

- Dịch vụ truyền file

- Dịch vụ quản lý bản sao

- Dịch vụ thông tin hệ thống

- Dịch vụ quản lý giấy phép ủy quyền

Tầng dịch vụ ứng dụng: dựa trên cơ sở hạn tầng lưới (các dịch vụ nền, cácAPIs được cung cấp bởi tầng middleware), tầng dịch vụ ứng dụng cung cấp cácdịch vụ lưới mà các nhà phát triển có thể triển khai, hướng ứng dụng & hướngngười dùng, nhằm tận dụng sức mạnh mà hạ tầng lưới mang lại Trong phạm vi hệthống quản lý tài liệu điện tử, tầng ứng dụng triển khai các dịch vụ tiện ích nhưquản lý tài liệu, tìm kiếm, đánh chỉ mục, so khớp văn bản…

Tầng trình diễn: được triển khai theo mô hình cổng thông tin trên nền lưới(grid portal), kết nối người dùng với hệ thống lưới Cung cấp một điểm truy nhậpchung nhất, thông qua giao diện web, cho toàn bộ các tài nguyên tính toán, lưu trữphân tán, cũng như các dịch vụ lưới tiện ích của hệ thống Có thể nói, tầng trìnhdiễn làm trong suốt sự phức tạp của lưới tới người dùng

Việc triển khai các thành phần của hệ thống được minh họa bởi sơ đồ sau:

Trang 18

Hình 1.2 - Mô hình các thành phần của hệ thống

Người dùng truy cập & sử dụng các tính năng của hệ thống bằng giao diệnweb, thông qua grid portal Portal đóng vai trò là tầng trung gian, giúp người dùng

có thể triệu gọi và sử dụng các dịch vụ hay thậm chí truy cập thẳng đến các tàinguyên lưới

Người dùng truy cập hệ thống thông qua portal của các trường, từ đó kết nốiđến các dịch vụ lưới trên các site cục bộ và thực hiện các yêu cầu của người dùng,như tìm kiếm, so khớp văn bản…Với mỗi yêu cầu của người dùng, site cục bộ sẽliên hệ với Information Server để lấy về thông tin các site khác trên hệ thống &đồng thời gửi các yêu cầu xử lý (như tìm kiếm hay so khớp một văn bản) tới cácsite đó Sau khi nhận được kết quả từ các site khác, site cục bộ phải tổng hợp kếtquả và trả về cho người dùng qua portal Việc tổng hợp kết quả yêu cầu cần có cácthông tin về dữ liệu mô tả từ các site, được hỗ trợ bởi dịch vụ dữ liệu mô tả từInformation Server

Dữ liệu văn bản trong hệ thống được lưu trữ phân tán trên nhiều trường, do

đó vấn đề là phải xây dựng một tầng dịch vụ lưu trữ theo mô hình lưới dữ liệu [3] Dịch vụ lưu trữ này kết nối các tài nguyên từ các trường, tạo thành một kho tài liệuchung nhất và trong suốt với người sử dụng, qua đó cung cấp các tiện ích trên dữliệu như tìm kiếm, so khớp, download, upload Trên mỗi site - tương ứng với hệthống máy tính của mỗi trường đại học, ngoài việc tổ chức cơ sở dữ liệu về tài liệucủa người dùng cục bộ, còn triển khai hạ tầng lưới, cung cấp các tiện ích dưới dạngcác dịch vụ lưới Các dịch vụ trên mỗi site kết nối với nhau qua môi trường lưới cho

Trang 19

phép người dùng tiếp cận thông tin trên toàn hệ thống mà chỉ thông qua một giaodiện dịch vụ duy nhất.

Hình 1.3 – Mô hình phân cấp truy nhập dữ liệu liên trườngBên cạnh đó, dựa trên một nền tảng dịch vụ rất mạnh từ tầng phần mềm nền

là dịch vụ quản lý bản sao, lưới dữ liệu hệ thống GoodAs còn cung cấp khả năngnhân bản dữ liệu giữa các nút lưới giúp tăng độ tin cậy và tăng hiệu năng trongtrường hợp download dữ liệu Để đảm bảo tính tự trị của mỗi trường thì việc nhânbản là do các trường tự nguyện Sau khi quản trị của hai trường thỏa thuận vớinhau, họ có thể tạo bản sao tại nhiều trường cũng như nhân bản từng nhóm dữ liệuhoặc toàn bộ dữ liệu

Để quản lý các tài nguyên trên môi trường phân tán như lưới, hệ thống triểnkhai một Information Server, trên đó cung cấp dịch vụ Giám sát & quản lý thông tintoàn hệ thống (Monitoring & Discovery Service) và Dịch vụ dữ liệu mô tả, là nơilưu trữ tập trung dữ liệu mô tả về văn bản được cập nhật từ tất cả các trạm Thôngqua Information Server, các site sẽ nắm được thông tin về hệ thống (các site thamgia khác, tình trạng hoạt động, các dịch vụ), đồng thời sử dụng dịch vụ dữ liệu mô

tả trong việc tổng hợp các kết quả tìm kiếm, so khớp từ các site khác

Một tính năng nữa mà hệ thống hỗ trợ đó là khả năng truy cập thẳng đến cáctài nguyên lưới trông qua giao diện portal Nếu như việc đăng nhập vào portal và sửdụng các tính năng của hệ thống thông qua triệu gọi các dịch vụ lưới là khá dễ dàngvới người dùng thì việc truy cập đến các tài nguyên lưới là không hề dễ dàng

Với hạ tầng bảo mật lưới được xây dựng dựa trên cơ sở hạ tầng khóa côngkhai PKI, người dùng muốn truy cập vào hệ thống lưới phải có giấy ủy nhiệm lưới.Giấy ủy nhiệm lưới là một cặp gồm giấy chứng nhận và một khóa mã hóa còn gọi làkhóa bí mật Giấy chứng nhận một thực thể là kết nối giữa tên định danh của thựcthể đối với khóa bí mật của họ Sự kết nối này được thực hiện nhờ chữ kí điện tửcủa bên thứ ba đáng tin cậy gọi là nhà thẩm quyền (hay CA)

Trang 20

Dựa trên hạ tầng bảo mật đó, các thực thể trên lưới xác thực nhau qua cơ chếbắt tay ba bước Khi truy xuất bất kỳ nguồn dữ liệu nào, người dùng phải thực hiệncác bước sau:

- Trình cho tài nguyên giấy chứng nhận để chứng tỏ mình là người sử dụngthực sự có thẩm quyền trên lưới

- Tài nguyên cũng phải trình ra một giấy chứng nhận, để người dùng tintưởng đây là tài nguyên thực sự đã được chứng nhận, không phải là giảmạo

- Khi tin tưởng nhau, quá trình truy xuất tài nguyên được diễn ra

Khó khăn đặt ra không chỉ ở quy trình xác thực phức tạp mà còn ở việckhông phải lúc nào người dùng lưới cũng có những giấy ủy quyền bên mình Môđun quản lý ủy quyền lưới được xây dựng nhằm giải quyết các vấn đề trên, cungcấp cho người dùng một giao diện bảo mật thống nhất, trong đó người sử dụng đượcxác định bằng hai thông tin là tài khoản và mật khẩu truy cập Giải pháp đưa ra,thực chất là sử dụng kho lưu trữ giấy phép ủy quyền Kho lưu trữ này không chỉđóng vai trò lưu trữ giấy ủy quyền lưới của người dùng, mà còn hỗ trợ họ trong việcthực hiện các quy trình xác thực một cách tự động Người dùng chỉ việc trình mậtkhẩu truy nhập đến giầy ủy quyền của họ đặt trên kho, các quy trình xác thực cònlại sẽ được thực hiện một cách tự động & trong suốt đến người dùng

Hình 1.4 – Quản lý ủy quyền lưới sử dụng kho lưu trữ ủy quyền

Khi một site mới gia nhập lưới, ngoài việc phải triển khai các hạ tầng tínhtoán lưới như Global Toolkit, Portal , site đó còn phải đăng ký hoạt động với lưới,

mà thực chất là thông qua việc đăng ký người dùng lưới mới, được thực hiện bởicác người quản trị của mỗi site Ở các hệ thống lưới vừa và nhỏ, người dùng lưới sẽphải tự đăng ký sử dụng tài nguyên với từng cụm máy thực thi Quá trình này là thủcông, đòi hỏi tốn nhiều thời gian và công sức cho cả phía người dùng cũng nhưngười quản trị các cụm máy thực thi

Trang 21

Hình 1.5 - Mô hình quản lý người dùng với VOs

Ở hệ thống quản lý tài liệu, nơi có sự tham gia của nhiều đơn vị, kéo theo sốlượng lớn người dùng cũng như nhiều loại tài nguyên, thì quy trình thủ công nhưvậy không thể đáp ứng được Yêu cầu đặt ra là: cần phải nâng mức quản lý ngườidùng lên 1 cấp (Hình 2.5) bằng cách gom nhóm việc đăng ký sử dụng tài nguyênvào một đầu mối thống nhất cho toàn bộ lưới, hệ thống sẽ phải tự động cập nhật cácngười dùng trên site này lên toàn bộ hệ thống tài nguyên bên dưới Quy trình đăng

ký và cập nhật phải đảm bảo tính trong suốt cho lưới với người dùng Từ các yêucầu trên, giải pháp được chúng tôi lựa chọn là: hệ thống quản lý thành viên tổ chức

ảo VOMS [4] (Virtual Organization Membership Service)

Xét trên quan điểm của VO (Virtual Organization), việc người dùng tham gialưới cũng chính là tham gia VO của tổ chức lưới; việc người dùng đăng ký lướicũng chính là đăng ký vào VO Để đáp ứng các yêu cầu về tính trong suốt với lướicho người dùng, VOMS, hệ thống quản lý thành viên tổ chức ảo, được phát triển đểhiện thực hóa quy trình quản lý người dùng trong môi trường lưới Với việc áp dụngVOMS, quy trình đăng ký mới một site với hệ thống được đơn giản hóa rất nhiều.Người quản trị của site đó chỉ việc truy cập vào trang đăng ký của VOMS Servercủa hệ thống để đăng ký người dùng lưới cho site mình, hệ thống sẽ tự động cậpnhật thông tin người dùng lưới mới trên tất cả các trạm thực thi khác trên lưới

Như đã nói trong các phần trước, những hệ thống xây dựng trên công nghệlưới thường có độ phức tạp cao và rất khó để triển khai rộng rãi ra bên ngoài Hệthống đã xây dựng cũng không phải là một ngoại lệ hơn nữa phải đưa những kết quảcủa hệ thống phổ biến ra bên ngoài cho người dùng Để giải quyết khó khăn này,giải pháp được lựa chọn là xây dựng một portal cho hệ thống, cung cấp khả năngtruy cập hệ thống qua trình duyệt web

Trang 22

Portal được xây dựng phải trình diễn các kết quả hệ thống sinh ra cho ngườidùng, cho phép người dùng sử dụng các công cụ hệ thống cung cấp và phải tuân thủcác quy tắc bảo mật lưới Với mục đích như vậy, mô hình thành phần của portal nhưsau:

Hình 1.6 – Mô hình các thành phần của portal

Với đặc điểm của lưới là yêu cầu cao về tính bảo mật, người dùng muốn truycập lưới phải thông qua một máy tính cài đặt môi trường lưới hoặc sử dụng dònglệnh truy cập từ xa Điều này gây một số phiền toái cho người dùng như giao diệnkhông thân thiện hay tính không cơ động

Để giải quyết vấn đề trên, portal hệ thống lưới sẽ hỗ trợ người dùng truy cập

hệ thống lưới và thực hiện các công việc quản trị lưới thông qua giao diện web của

Trang 23

portal Người dùng chỉ việc đăng nhập vào portal từ bất kỳ đâu thông qua giao diệnweb, lấy giấy phép ủy quyền truy cập lưới là có thể truy cập và thực hiện các côngviệc trên lưới (quản lý tệp, đệ trình công việc) như người dùng lưới có ủy quyềntương ứng.

Hệ thống cung cấp khả năng tìm kiếm tài liệu theo nội dung Người dùngnhập vào một câu truy vấn, hệ thống sẽ tiến hành tìm kiếm trên tất cả các site (cáctrường đại học tham gia) và trả lại kết quả cho người dùng (danh sách các tài liệuliên quan đến câu truy vấn đó) một cách trực quan Người dùng có thể lựa chọndownload hoặc xem tài liệu đó trực tiếp ngay trên portal

Khi người dùng xem một văn bản, hệ thống sẽ tự động tiến hành so khớp vănbản đó với các văn bản khác trong kho dữ liệu hiện có trên tất cả các site, tìm ra cácvăn bản tương tự với văn bản mà người dùng lựa chọn xem, từ đó đưa ra danh sáchcác văn bản tương tự để hỗ trợ người dùng trong quá trình tra cứu và tìm ra tài liệumong muốn

Cung cấp chức năng quản lý không gian cá nhân của người dùng, các thôngtin cá nhân được quản lý bao gồm mật khẩu, email, người dùng hoạt động trong tổchức nào,

Bên cạnh đó, mỗi người dùng sẽ có một kho tài liệu riêng, hệ thống hỗ trợ họtrong việc quản lý các tài liệu này Cho phép họ xem trực tiếp trên portal, haydownload về máy, chỉnh sửa các thuộc tính (tên, thẻ, chế độ truy cập ,…) cho cáctài liệu

Trang 24

CHƯƠNG 2: TỔNG QUAN VỀ GRID PORTAL

Công nghệ lưới tuy không còn mới mẻ nhưng chính sự phức tạp của nó đãgây không ít trở ngại trong việc phổ biến lưới tới cộng đồng Những ứng dụng dựatrên lưới ít được phổ biến vì nó đòi hỏi người dùng phải có kiến thức chuyên sâu vềlưới, tuy nhiên nhược điểm này có thể khắc phục bằng cách xây dựng một portalcho hệ thống để che dấu đi kiến thức phức tạp bên dưới, không đòi hỏi người dùng

có kiến thức chuyên sâu, cho phép họ truy cập tới hệ thống từ bất cứ đâu bỏ lại cáckhó khăn về truy cập mạng, tường lửa, vv Chương này sẽ giúp người đọc có mộtcái nhìn bao quát hơn về lưới cũng như portal dùng trong lưới

Tính toán lưới [2]., hiểu một cách đơn giản là sự phát triển tiếp theo của tínhtoán phân tán Mục đích là tạo ra một máy tính ảo lớn mạnh từ một tập lớn các hệthống không đồng nhất nhằm nâng cao khả năng tính toán, chia sẻ các tài nguyênkhác nhau

Như vậy tính toán lưới hướng đến việc chia sẻ và sử dụng hiệu quả cácnguồn tài nguyên thuộc về nhiều tổ chức trên một quy mô rộng lớn (thậm chí là quy

mô toàn cầu) Chính các công nghệ mạng và truyền thông phát triển mạnh mẽ trongnhững năm qua đã biến những khả năng này dần trở thành hiện thực Các nghiêncứu về tính toán lưới đã và đang được tiến hành là nhằm tạo ra một cơ sở hạ tầnglưới cho phép dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trongmôi trường lưới

Trang 25

Hình 2.7 - Minh hoạ về tính toán lưới

Hình 2.1 là một ví dụ về lưới, như một mạng liên kết các tài nguyên phân tán

về mặt địa lý, các tài nguyên rất phong phú, đa dạng, bao gồm tập các siêu máytính, các thiết bị truyền thông vệ tinh, các kho lưu trữ, các cụm (cluster) tính toánhiệu năng cao, các tổ chức liên kết ảo trong lưới Người dùng trong lưới cũng hếtsức đa dạng, từ các người dùng thông thường, cho tới các người dùng chuyên dụng,

có kiến thức sâu về chuyên môn như các nhà nghiên cứu, các nhà khoa học Vàlưới chính là sự tập hợp, chia sẻ, chọn lựa các nguồn tài nguyên này thông qua mộtchính sách thống nhất, phân phối các siêu máy tính và các hệ cluster để đạt hiệunăng tốt hơn trong tương lai.Sau đây là một số đặc điểm của tính toán lưới:

- Các tài nguyên hết sức đa dạng, không đồng nhất, tài nguyên ở đây đượchiểu theo nghĩa tổng quát Đó có thể là các tài nguyên phần cứng: tài nguyên tínhtoán, tài nguyên lưu trữ, các thiết bị đặc biệt khác ; các tài nguyên phần mềm: cácCSDL, các phần mềm đặc biệt và đắt giá ; các đường truyền mạng Các tàinguyên này có thể rất khác nhau về mặt kiến trúc, giao diện, khả năng xử lý Việctạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các nguồntài nguyên này là hoàn toàn không dễ dàng

- Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổchức tham gia lưới Các tổ chức chỉ phải tuân thủ một số quy định chung khi thamgia vào lưới còn nói chung là hoạt động độc lập Do vậy các tài nguyên này đều cóquyền tự trị tương đối Các tổ chức khác nhau có chính sách sử dụng hay cho thuêtài nguyên của họ khác nhau và do vậy cũng gây khó khăn cho việc quản lý

Trang 26

- Các tài nguyên phân tán rộng khắp về mặt địa lý, chính từ đặc điểm này màphải có các cơ chế quản lý phân tán.

Từ thủa ban đầu của World Wide Web, ở một thời điểm người dùng chỉ cóthể truy cập được một trang web khi đó nảy sinh ra mong muốn làm thể nào để cóthể kết nối được tất cả mọi người thông qua truy cập mạng hay kết nối internet, tuynhiên mong muốn đó có vẻ như không tưởng vì gặp nhiều khó khăn về công nghệ.Thời gian sau, nhiều công nghệ mới nổi lên như java, java script, các ứng dụngdạng server cung cấp nhiều chức năng, dễ sử dụng và có độ tin cậy cao trở thànhnền tảng của kết nối internet toàn cầu, là công cụ đắc lực để biến mong muốn trướcđây thành hiện thực

Ngày nay, các công ty và tổ chức sử dụng internet cần nhiều hơn thế, họmuốn cùng một lúc người dùng có thể duyệt nhiều trang web khác nhau mà khôngphải trải qua quá nhiều các thao tác phức tạp, và portal chính là câu trả lời cho vấn

đề này

Vậy portal là gì? Portal là một ứng dụng chạy trên nền web mà có khả năngtích hợp và cá nhân hoá các ứng dụng, thông tin và các dịch vụ cộng tác Portalcung cấp cho người dùng một điểm truy cập đơn tới các nguồn dữ liệu, nội dung vàcác dịch vụ đa dạng của một đơn vị nghiệp vụ (business) hay các tài nguyên trênmạng internet

Theo JSR 168 định nghĩa Portal: Là một ứng dụng Web thường bao gồm cáctính năng: Cá nhân hóa giao diện người dùng (Personalization), Đăng nhập một lần(Single sign-on), tích hợp thông tin từ nhiều nguồn khác nhau và đưa vào tầng trìnhdiễn (Presentation) của hệ thống thông tin Tích hợp thông tin nghĩa là tích hợp nộidung từ nhiều nguồn khác nhau vào trong một trang Web Portal có tính năng cánhân hóa linh hoạt để người dùng có thể tùy biến nội dung theo sở thích Một sốportal nổi tiếng trên internet như Excite, Yahoo, American Online, CNN.com hayFrendster vv

Tuy nhiên, một Website bình thường cũng có thể cung cấp các truy cập tớicác nguồn thông tin trên Internet và chứa các ứng dụng hợp tác nhờ vào các liênkết Vậy Portal khác một Website thông thường ở điểm nào? Portal có khả năng cánhân hóa thông tin theo nhu cầu người dùng Chẳng hạn, một người dùng thườngquan tâm đến các lĩnh vực thể thao, thời sự và các ứng dụng như email, chat, … cóthể khai báo các dịch vụ và các nguồn thông tin chỉ thuộc về hai lĩnh vực thể thao

và thời sự này trên giao diện Portal Hình ảnh dưới đây là ví dụ về một portal

Trang 27

Hình 2.8 - Minh họa một portalPortal cho phép hiển thị các ứng dụng hay các trang web trong những cửa sổriêng của nó gọi là các portlet, một cửa sổ trình duyệt có thể chứa nhiều portlet Ví

dụ một trang portal ở trên có thể chứa các portlet login, tìm kiếm, hiển thị các feedmới, hay quản lý các cuộc hẹn với một ứng dụng dạng lịch

Portlet được bố trí trên các trang của portal, người dùng có thể duyệt từportlet này đến portlet khác một cách dễ dàng thông qua các tab, menu kéothả vv…Portal trong hình trên bao gồm các trang chính như là Blog, Games, Tintức,

Với các trang web tĩnh và các trang web động truyền thống, các bố cục đểhiển thị thông tin được thiết kế ngay từ ban đầu Sau khi website đã được phát triển,việc chỉnh sửa nội dung thông tin có thể dễ dàng thực hiện, nhưng việc chỉnh sửa vềmặt bố cục lại rất khó khăn Mặt khác khả năng mở rộng website về chức năng làhạn chế Muốn thay đổi cách bố trí thông tin hay mở rộng thêm một chức năng nào

đó cho website thì thường phải sửa đổi thiết kế và cấu trúc chương trình

Trang 28

Hình 2.9 - Các thành phần chức năng của portal

Trong sơ đồ trên, ngoài thành phần lõi của portal còn có thêm các thành phầnphát triển thêm, các thành phần được phát triển thêm này tùy thuộc vào mục đíchcủa tổ chức sử dụng portal Portal được truy nhập thông qua các trình duyệt web

Các dịch vụ cơ bản của một portal:

- Quản lý các đối tượng người dùng : Có ba loại đối tượng người dùng: ngườidùng đăng ký chỉ có thể xem các nội dung thông tin được phép; người dùng cóquyền hiệu chỉnh, cập nhật các nội dung thông tin và người quản trị portal

- Quản lý phân quyền : Với mỗi đối tượng sử dụng sẽ có các quyền tương ứngvới các chức năng

- Quản lý các Tab : Các Tab được sử dụng để bố trị hiển thị nội dung thôngtin Mỗi Tab đều được phân quyền cho phép truy cập Đồng thời có khả năng tạomới,chỉnh sửa các Tab, xóa một Tab đã tồn tại, bố trí nội dung thông tin trên Tab

- Quản lý module : Các module được định nghĩa để đưa vào hệ thống Khikhông sử dụng, module sẽ được gỡ bỏ mà không ảnh hưởng đến cấu trúc của hệthống và các module khác Các module được quản lý dựa trên một cơ chế phânquyền chặt chẽ, chỉ một vài đối tượng người dùng cụ thể mới được quyền thao táctrên một module nhất định

- Quản lý Layout : Portal có khả năng bố trí để hiển thị thông tin một cách linhhoạt Để làm được điều này, Portal được tổ chức thành tập hợp các tab, mỗi tab sẽchứa các module (ví dụ như module quảng cáo, module tin tức, module tìmkiếm…) Vị trí của các module sẽ không nằm cố định mà có thể nằm bất kỳ đâutrong tab Về cơ bản một tab được chia làm 3 phần : phần bên trái(left panel), phầngiữa(content panel) và phần bên phải(right panel) Với cách chia này thì tab rất linhhoạt để trình bày bố cục thông tin

Trang 29

Phân loại portal

- Portal cũng được phân chia làm nhiều loại, khi nhìn từ góc độ mục đích sửdụng nó được phân thành 4 loại như sau:

- Cổng thông tin công cộng (Public portals) : Ví dụ Yahoo, loại cổng thông tinnày thường được sử dụng để ghép nối các thông tin lại với nhau từ nhiều nguồn,nhiều ứng dụng và từ nhiều người, cho phép cá nhân hoá (personalization) các Website theo tuỳ từng đối tượng sử dụng

- Cổng thông tin doanh nghiệp (“Enterprise portals” hoặc “CorporateDesktops”) : được xây dựng để cho phép các thành viên của doanh nghiệp sử dụng

và tương tác trên các thông tin và ứng dụng nghiệp vụ tác nghiệp của doanh nghiệp

- Cổng giao dịch điện tử (Marketplace portals) : ví dụ như eBay và ChemWeb,cổng thông tin này là nơi liên kết giữa người bán và người mua

- Cổng thông tin ứng dụng chuyên biệt (Specialized portals) : ví dụ như SAPportal, cổng thông tin loại này cung cấp các ứng dụng chuyên biệt khác nhau

Cuối tháng mười năm 2003, thị trường portal bị chấn động mạnh mẽ khi mộtgiao diện ứng dụng lập trình (Application Programming Interface -API)ra đời vàđược biết đến như là yêu cầu đặc tả java (Java Specification Request -JSR) và đượccông nhận bởi hầu hết các nhà cung cấp nền tảng portal lớn trên thế giới bao gồmIBM, SUN, Oracel, BEA Portlet API ra đời là kết quả của sự mong muốn tạo ra cácthành phần web có thể chia sẻ và trao đổi lẫn nhau giữa các nhà cung cấp nền tảngportal Nếu như trước đây, các nhà cung cấp portal tự mình tạo ra mô hình riêng để

sử dụng trong portal xác định mà không thể sử dụng với portal của các hãng khácthì portlet API ra đời giống như là sự hội tụ trong hệ điều hành nếu có khiWindows, Apple, Linux sát nhật làm một Việc tạo ra chuẩn chung giúp cho các nhàcung cấp phần mềm độc lập tập trung vào tính năng của sản phầm hơn là giành thờigian cho việc tương thích sản phầm của họ với các nhà cung cấp portal Portlet rađời là một cuộc cách mạng phát triển ứng dụng web, cung cấp một chuẩn chung,

mô hình công thức rõ ràng hỗ trợ thiết kế MVC

Portlet định nghĩa thành phần ứng dụng web với một tập hợp các phươngthức chu kỳ sống đã được định nghĩa rõ ràng từ trước giống như là một giao diệntrực quan để chứa nội dung hay cung cấp dịch vụ Theo góc nhìn của một chuyêngia kỹ thuật thì portlet giống như một module, một thành phần phần mềm có thể tái

sử dụng được phát triển độc lập với kiến trúc portal phổ biến, chúng có một tập cácphương thức đã được định nghĩa

Ví dụ, một portlet có thể cung cấp cho người dùng trích dẫn một danh sáchkho hàng hay nội dung từ một feed mới Portlet trực quan giống với một của sổ thu

Trang 30

nhỏ với một trang portal có thanh tiêu đề cho phép thiết lập chế độ của portlet vàtrạng thái của cửa sổ giống như hình chụp của một số portlet dưới đây:

Hình 2.10 - Ví dụ một số portletGiống với các trình chứa servlet cung cấp môi trường lúc chạy để nạp vàquản lý các servlet, trình chứa portlet cũng chịu trách nhiệm khởi tạo và quản lý cácportlet Trình chứa portlet này hoạt động giống như một người điều vận thông minh,

nó chuyển yêu cầu của trình duyệt tới portlet cần thiết trong suốt một chu kỳ hỏiđáp

Portal được sử dụng cho mục đích tính toán khoa học đã chứng minh đượclợi ích của nó khi được triển khai trên các dự án khoa học có quy mô lớn Các ứngdụng lưới sử dụng portal có thể đưa các giải pháp lưới phức tạp tới người dùng ởbất cứ nơi nào có kết nối internet Họ có thể sử dụng một trình duyệt web để sửdụng ứng dụng lưới mà không cần thiết phải download hay cài đặt các phần mềmđặc biệt cũng như không phải lo lắng về việc cài đặt mặng, tường lửa, hay cácchính sách cồng truy nhập Do đó lưới hỗ trợ portal đã được chứng minh là một môhình hiệu quả để đưa tài nguyên tính toán và hệ thống phân tán đến với cộng đồngngười dùng thông thường mà không yêu cầu họ phải hiểu kiến trúc phức tạp bêndưới của hệ thống

Các portal khoa học ngày nay là sự hợp tác của tin học với các ngành khác,

ví dụ như hóa học, thiên văn học, vật lý, thiên văn học, công nghệ nano và lĩnh vực

dự báo thời tiết

Tính toán lưới và portal lưới [5] thường bị nhầm lẫn với các web site thôngthường khác, trong phần này sẽ làm rõ hơn sự khác biệt giữa chúng bằng cách xem

Trang 31

xét các đặc trưng của một hệ thống portal tích hợp các phần mềm trung gian, chedấu đi sự phức tạp đối với người dùng.

Giao diện người dùng lưới portal

Tiến trình xác thực người dùng là một trong những đặc trưng riêng có của hệthống portal Khi người dùng đăng nhập vào hệ thống, portal sẽ tạo ra một ngữ cảnhlưới đối với người dùng, bao gồm thư mục trên server, chú giải và các file log tươngứng Đồng thời, portal cũng cung cấp cho người dùng các công cụ để truy nhập đếncác nguồn tài nguyên ở xa, cấu hình vào vào các nhóm, các tổ chức tham gia hệthống, tham gia vào các tổ chức ảo

Portal cho lưới cũng có những yêu cầu tương tự như các portal hướng ngườitiêu dùng như Yahoo, CNN, Amazon Các dịch vụ điển hình bao gồm hỗ trợ đăngnhập, khả năng tự điều chỉnh, cá nhân hóa; chỉ với một trình duyệt, có thể truy nhậpđến hệ thống từ bất cứ nơi đâu mà không gặp phải bất cứ trở ngại nào về tường lửahay kết nối mạng

Các portal khoa học cần tích hợp các ứng dụng liên quan đến lĩnh vựcnghiên cứu vào môi trường của người dùng Hệ thống phải quản lý các ứng dụngthực thi hàng ngày, thậm chí thời gian chạy có thể lên tới hàng tuần trên hàng ngànnốt, dữ liệu có thể lên tới hàng terabyte , do đó portal phải đảm bảo việc quản lýgiấy chứng nhận, quản lý file và thực thi công việc và dấu đi sự phức tạp của tínhtoán lưới

Kiến trúc dịch vụ của portal cho lưới bao gồm các dịch vụ

- Bảo mật: Người dùng đăng nhập vào hệ thống sử dụng tài khoản được cấp vàmật khẩu thông qua một trình duyệt web, grid portal ánh xạ tài khoản này tươngứng với một giấy ủy nhiệm lưới

- Quản lý dữ liệu: Cung cấp khả năng truy nhập tới các file địa phương và file

ở xa, quản lý các bộ sưu tập dữ liệu, hỗ trợ việc truyền file

- Đệ trình công việc: Cung cấp khả năng đệ trình công việc vào lưới, nhận kếtquả trả về

- Dịch vụ thông tin: Cung cấp thông tin về các thư mục , trạng thái của cáccông cụ

- Giao diện ứng dụng: Ẩn đi sự phức tạp của lưới đối với người dùng

- Hợp tác: Portal giống như một gateway để các tổ chức ảo chia sẻ thông tin

- Dòng công việc: Cho phép người dùng biết được trạng thái công việc củamình đang được thực hiện như thế nào

- Trực quan: Cung cấp các công cụ trực quan cho phép người dùng truy nhập

dữ liệu, mô phỏng dữ liệu trực quan

Trang 32

Dịch vụ của grid portal phải được đặt trong một framework lớn theo mô hìnhkiến trúc hướng dịch vụ SOA (Service Oriented Architecture) được sử dụng để xâydựng hệ thống lưới, nhờ phát triển dựa trên dịch vụ thông điệp (message-base) nên

nó có khả năng tích hợp vào nhiều framwork Do tính ổn định của ngữ nghĩa thôngđiệp nên mô hình này cung cấp một môi trường lập trình mềm dẻo Kiến trúc củalưới có thể được định nghĩa lại theo nghĩa là một tập hợp các dịch vụ SOA lưới ở xa

để tận dụng khả năng này Tuy nhiên, việc đưa tất cả các dịch vụ lưới vốn rất phứctạp lên trên portal cho người dùng là điều rất khó để thực hiện được trong một sớmmột chiều với tất cả các grid portal framework, chính vì thế những người xây dựngportal vẫn phải thực hiện một phần việc này nhờ việc sử dụng bộ thư viện Java CoGKit ( Java Commodity Grid Kit) để chuyển các hàm, thủ tục của bộ công cụ xâydựng lưới Globus Toolkit lên portal

Cùng với sự phát triển mạnh mẽ của tính toán lưới, Grid Portal càng chứngminh được vai trò của mình trong việc đưa tính toán lưới vào đời sống cộng đồng.Chính vì tầm quan trọng của nó mà đã có nhiều dự án xây dựng Grid PortalFramework được triển khai, kết quả là cũng có không ít Portal Framework ra đời đểphục vụ cho việc xây dựng Grid Portal Trong phạm vi đồ án xin được giới thiệuđôi nét về một số Grid Portal Framework hiện đang được cộng đồng lưới đánh giácao

Đây là một trong nhưng framework khá quen thuộc đối với các nhà nghiêncứu về lưới, không chỉ có giao diện đẹp, dễ sử dụng, Gridsphere còn có cộng đồng

sử dụng lớn, nhiều dự án liên quan được triển khai, nâng cấp phiên bản mới đềuđặn Hơn thế nữa, Gridsphere [7] còn hộ trợ tập hợp các portlet phục vụ cho cácdịch vụ lưới gọi là các grid portlet, tuy nhiên có một điểm đáng tiếc là phiên bảnmới nhất của các grid portlet này mới chỉ tương thích với thư viện lập trình củaGlobus Toolkit 3.0 Một đặc điểm quan trọng của Gridsphere là các portlet của nótương thích hoàn toàn với websphere portlet của IBM và chuẩn JSR 168

Framework này đã gây được tiếng vang lớn đối với cộng đồng phát triển lướitrong việc cố gắng cung cấp các thành phần có khả năng tái sử dụng cho phép truycập dịch vụ lưới dựa trên Globus Toolkit Grid Portal Development Kit (GPDK)[10] có thể coi như một portal có thể được mở rộng và cải tiến các chức năng vềquản lý file, đệ trình công việc và khả năng giám sát công việc Chủ trương củaGPDK là tách riêng phần logic và trình diễn, việc triển khai các chức năng mới cóthể được thực hiện dễ dàng hơn nhờ việc tuân theo các công thức mô tả trước.Chính vì vậy, để sử dụng được GPDK người dùng cần phải được đào tạo một cách

Trang 33

bài bản, để có thể xây dựng portal dựa trên GPDK người phát triển phải hiểu được

mã nguồn từ đó xây dựng thêm các tính năng mới Một hạn chế nữa của GPDK làkhả năng tái sử dụng thấp trên tầng trình diễn Người phát triển phải tự mình tạo racác trang trình diễn trên portal

Portal được phát triển với mục đích cung cấp một web portal cho cộng đồngvật lý học thiên thể cho phép biên dịch và thực thi các ứng dụng mô phỏng trên cácnguồn tài nguyên lớn Về mặt thiết kết, ASCP [6] cũng có thiết kế tương tự vớiGPDK nhưng tính năng và dịch vụ của nó hướng tới mục đích ban đầu nhiều hơn,

nó cho phép các nhà vật lý học sử dụng các ứng dụng mô phỏng trên các nguồn tàinguyên phân tán thông qua giao diện web thay vì sử dụng dòng lệnh như trước đây.Tuy nhiên, điểm hạn chế của nó cũng giống với GPDK là việc triển khai quá phứctạp, muốn xây dựng portal dựa trên ASCP cần phải trải qua các khóa học hết sứcbài bản

Như vậy, đứng trên góc độ dễ sử dụng và kết thừa thì Gridsphere PortalFramework là công cụ hỗ trợ xây dựng portal nhanh hơn các bộ framework khác,hơn nữa do tương thích hoàn toàn với chuẩn JSR 168 và portlet của websphere nênkhông sợ tụt hậu về công nghệ khi sử dụng Gridsphere để phát triển portal cho cácứng dụng lưới Trong phần sau, đồ án sẽ trình bày chi tiết hơn về framework này

Trong chương này chúng ta đã có một cái nhìn bao quát về lưới cũng nhưportal dùng trong lưới Công nghệ lưới tuy không còn mới mẻ nhưng chính sự phứctạp của nó đã gây không ít trở ngại trong việc phổ biến lưới tới cộng đồng Nhữngứng dụng dựa trên lưới ít được phổ biến vì nó đòi hỏi người dùng phải có kiến thứcchuyên sâu về lưới, tuy nhiên nhược điểm này có thể khắc phục bằng cách xây dựngmột portal cho hệ thống để che dấu đi kiến thức phức tạp bên dưới, không đòi hỏingười dùng có kiến thức chuyên sâu, cho phép họ truy cập tới hệ thống từ bất cứđâu bỏ lại các khó khăn về truy cập mạng, tường lửa, vv

Có thể nói portal chính là một công cụ hữu hiệu để phổ biến các ứng dụngtrên lưới, giúp cho cộng đồng sử dụng lưới trở nên đông đảo hơn

Trang 34

CHƯƠNG 3: GRIDSPHERE – CÔNG NGHỆ XÂY DỰNG

PORTAL CHO LƯỚI

Chương này sẽ giúp người đọc hiểu rõ về Gridsphere Portal Frame Work[7]., đây cũng chính là framework đã được chọn để xây dựng portal cho hệ thốngtìm kiếm và so khớp tài liệu GoodAs

Gridsphere là một dự án đầu tiên được phát triển bởi EU Gridlab năm 2002nhằm một số mục đích chính đó là tạo ra một portal framwork mở, chuẩn và thíchhợp nhất trước nhu cầu cần thiết của cộng đồng người sử dụng lưới, mang đến sựkết hợp của hai công nghệ là Web và Grid và cuối cùng là tạo ra cộng đồng người

sử dụng và các nhà phát triển trên framwork đó để hướng đến những mục tiêu caohơn

Trước Gridsphere không phải là dự án đầu tiên xây dựng portal cho lưới,trước đó cũng đã có một số dự án như GridPortal Development KIT, HotPage,Astrophysics Simulation Collaboratory, song hành với chúng là các khái niệm vềportlet, điển hình trong số đó là jetspeed 1.0

Dưới đây là một số mốc phát triển chính của Gridsphere

- Mùa xuân năm 2002: Hoàn thiện tài liệu phân tích và thiết kế hệ thống dựatrên các portlet sẵn có ở thời điểm đó

- Tháng 8/2002 Viết dòng code đầu tiên

- Tháng 12/2002 sử dụng nguyên mẫu portal mượn từ portlet API của IBMWebsphere

- Năm 2003 hoàn thiện các chức năng của portal với các core portlet ( các coreportlet này sẽ được để cập trong phần sau), mô hình dịch vụ phức tạp và thư việnthẻ trực quan (visual tag library)

- Tháng 1/2004: Cài đặt chuẩn JSR 168 portlet API

- Tháng 2/2004: Gridsphere lần đầu tiên xuất hiện trong một bài báo của IBMNetwork Developers

- Tháng 8/2004: Gridsphere tương thích với công cụ phát triển tích hợp củaSUN

- Tháng 11/2004: OGCE ( Open Grid Computing Enviroment) tương thíchhoàn toàn với JSR 168

Trang 35

- Tháng 12/2005: Tổ chức phát triển Gridsphere trở thành thành viên củaExpertGroup, nghiên cứu và phát triển để đưa ra chuẩn portlet mới JSR 268.

Khi phát triển grid portal dựa trên nền tảng của Gridsphere ta hoàn toàn cóthể tin tưởng và yên tâm vì Gridsphere có cộng đồng người sử dụng và phát triển rấtđông đảo Mailing list của Gridsphere có hơn 250 chuyên gia sẵn sàng trả lời bất kỳcâu hỏi nào của bạn, hơn nữa đã có rất nhiều dự án đã, đang được phát triển dựatrên nền tảng của Gridsphere:HPC Europa, D-Grid, P-Grade, BIRN, Telescience,Australian Virtual Observatory, UK E-Science Gridsphere hỗ trợ đa ngôn ngữ nhưnhư tiếng Anh, tiếng Trung Quốc, Tiếng Nhật, tiếng Ý, Hiện chưa có tiếng Việtnhưng đồ án đã việt hóa framework này và gửi lại nhóm phát triển Gridsphere, hyvọng họ sẽ cập nhật trong phiên bản mới Gridshere cũng được nâng cấp phiên bảnđều đặn Với sự phát triển mạnh mẽ như vậy, hàng năm có rất nhiều các hội thảo vềGridsphere diễn ra ở nhiều nước trên thế giới

Gridsphere là phần mềm mã nguồn mở hoàn toàn, bất kỳ ai quan tâm cũng

có thể tải mã nguồn tại trang chủ của dự án: http://www.gridsphere.org hoặc trên hệthống svn của dự án ở địa chỉ http://svn.gridsphere.org

Gridsphere cung cấp thực thi các portlet, trình chứa portlet, tập hợp các dịch

vụ cốt yếu và các portlet được trình bày dưới đây:

Hình 3.11 - Mô hình kiến trúc GridsphereHình vẽ trên thể hiện các thành phần chính, đó là một trình chứa servlet kếthợp với một server ứng dụng web Một yêu cầu tới portal sẽ được kích hoạt bởitrình duyệt web của người dùng sẽ gọi tới Gridsphere servlet và hành động giốngnhư người điều vận điều khiển tới bộ máy xếp đặt chịu trách nhiệm tô chát đưa tacác kết quả thích hợp tới trình duyệt web của người dùng Cả Gridsphere servlet và

Trang 36

bộ máy xếp đặt đều sử dụng các dịch vụ nhân, bao gồm cả cơ quan đăng ký portlet,

để triệu gọi chính xác các portlet ở trang portal hiện tại của người dùng

Sơ đồ trình tự UML dưới đây thể hiện một portlet được tô chát và hiển thị trên trangportal như thế nào:

Hình 3.13 - Biểu đồ trình tự hiển thị một portlet của Gridsphere

Trang 37

Sơ đồ trên cho thấy một trang portal đơn giản chỉ gồm một tabbed Pane,trong tabbedPane này chỉ có một tab, và trong tab này cũng chỉ có một frame

Thông thường, một trang portal của Gridsphere gồm hai tabbedPane, mỗitabbed pane này lại có nhiều tab và frame khác giúp điều hướng dễ dàng giống nhưportal của Amazon hay trang web của Apple

Như đã trình bày ở trên, một tình huống được gây ra bởi một lần kích chuộtlên một thành phần thực thi hành động trên các xếp đặt, khi đó nó sẽ liên hệ tới gốccủa cây xếp đặt, sau đó thành phần của cây xếp đặt sẽ được tô chát lại, tuy nhiên chỉ

có những thành phần nằm trên tab gây ra hành động của cây xếp đặt chứ không phảitất cả các thành phần trên cây đều được tô chát lại

Bộ máy xếp đặt hỗ trợ khả năng mềm dẻo và tùy chỉnh toàn phần, nhữngthành phần mới có thế được thêm vào rất đơn giản bằng cách sử dụng một thànhphần miêu tả XML và lớp thành phần tương ứng thực thi giao diệnPortletComponent Thực tế đã cho thấy mô hình bộ máy sử dụng trên Gridsphere đãđược mở rộng bởi các dự án phục vụ cho các mục đích xác định sử dụng các thànhphần trực quan để tô chát iFrame, XHTML và các xếp đặt khác

Cũng có thể thấy rằng các portal khác không hỗ trợ việc tạo ra và sử dụngthành phần xếp đặt, hầu hết mới chỉ dừng lại ở chỗ cho phép tùy chỉnh thủ công vàgiới hạn ở một mức nào đó giống như chỉnh sửa các trang web mẫu, chúng khônghỗ trợ người phát triển tạo ra và sử dụng các thành phần xếp đặt mới và trình diễntrên portal

Khi dự án xây dựng Gridsphere được đề xuất thì chuẩn JSR 168 Portlet APIchưa ra đời, lúc này có hai lựa chọn đề xây dựng Gridsphere Hướng thứ nhất là dựatrên dự án mã nguồn mở Jakarta Jetspeed để phát triển, thực tế ở thời điểm đóJetspeed là công cụ xây dựng portal mã nguồn mở nổi tiếng và đã có những bướcphát triển rất đáng kể, nó đang cố gắng xây dựng nên mô hình portlet API Tuynhiên, nhìn xa hơn thì Jetspeed phụ thuộc và rất nhiều các dự án nguồn mở khác củaJakarta, mà các dự án này thì thay đổi rất nhanh, đơn cử như Jakarta Turbine Thêmvào đó, portlet API được cung cấp khá phức tạp và không đủ mạnh giúp phát triểnportlet dễ và đóng gói các portlet của nhà cung cấp portal khác

Tuy nhiên, khi xem xét IBM Websphere 4.1 Portlet API đội dự án đã nhìnthấy giải pháp cho mình, tài liệu miêu tả portlet API của Websphere phần nào dựatrên portlet API của Jetspeed nhưng đã có những cải tiến đáng kể, điều này khiếnnhóm phát triển Gridsphere tin tưởng rằng mô hình portlet API tương lai sẽ tương

tự như Websphere API Do đó, nhóm phát triển đã lựa chọn giải pháp dựa trên java

Trang 38

doc và hướng dẫn Websphere cho các nhà phát triển như là điểm khởi đầu Trongnăm đầu tiên, họ đã bổ xung Websphere Portlet API và xây dựng các portlet lõi củaGridsphere nhằm phục vụ cho mô hình đã xác định, một trong những điểm thuận lợicủa Websphere là mô hình đóng gói rõ ràng, cho phép tích hợp portlet của nhà cungcấp thứ ba như Web Archive hay WAR file theo cách tương tự như đặc tả ServletAPI.

Theo mô hình portlet của Websphere thì không có giao diện định nghĩa mộtportlet, để xây dựng portlet mong muốn ví dụ MyPortlet người phát triển phải kếthừa từ lớp trừu tượng AbstractPortlet như trong biểu đồ dưới đây

Hình 3.14 – Sơ đồ lớp khi phát triển một portlet của Gridsphere

Mô hình portlet của Websphere tạo ra sự phân biệt giữa các portlet ứng dụng

và portlet cụ thể, trong khi portlet cụ thể là một thể hiện tham số của portlet ứngdụng Ví dụ một portlet trích dẫn kho có thể có nhiều thể hiện cụ thể, mỗi thể hiệnbiểu diễn cho các tham số khác nhau là các trích dẫn khác nhau của một kho hoặcnhiều kho khác nhau Như đã trình bày trong biểu đồ trình tự, một portlet ứng dụng

có nhiều thể hiện cụ thể của nó được khởi tạo trong phương thức init() vàinitConcrete() Tương tự, các portlet được hủy qua phương thức destroyConcrete()

và destroy() Những phương thức vừa nên chỉ được triệu gọi duy nhất một lần trongxuốt vòng đời của portlet trong khi phương thức actionPerformed() và doView()được triệu gọi mỗi khi có yêu cầu của trình duyệt phía khách Phương thứcactionPerformed() được triệu gọi mỗi khi có một hành động xảy ra trên portlet,thông thường như là đệ trình form, kích chuột vào một nút nhấn hay một siêu liênkết Phương thức doView() thì được gọi thường xuyên hơn mặc dù mỗi portletthường có ba chế độ khác nữa là sửa, cấu hình và giúp đỡ tương ứng với cácphương thức doEdit(), doConfigure() và doHelp()

Trang 39

Giống như xếp đặt của portal được định nghĩa trong một file miêu tả thì cũng

có một file miêu tả portlet là portlet.xml, định nghĩa các thông tin cấu hình và cungcấp cho trình chứa portlet những chi tiết cần thiết cho một thể hiện CảPortletConfig và PortletSetting đều được sử dụng trong quá trình khởi tạo portlet,chúng chứa thông tin đọc được từ file triển khai mô tả của portlet

JSR 168 Portlet API thì tương tự với Websphere portlet API, tuy nhiên mộtportlet trong JSR 168 được định nghĩa bởi một giao diện portlet và được cài đặt bởimột lớp dựa trên GenericPortlet giống như mô tả theo sơ đồ dưới đây:

Hình 3.15 - Sơ đồ lớp khi phát triển portlet JSR 168

Một người phát triển Portlet kế thừa lớn GenericPortlet để tạo ra MyPortletnhư trong ví dụ Giao diện chu kỳ sống được cung cấp trong JSR 168 tương tự vớiWebsphere API, tuy nhiên không có sự phân biệt giữa portlet cụ thể và portlet ứngdụng Chỉ duy nhất một portlet tồn tại và được khởi tạo Thay vì sử dụng phươngthức actionPerformed() để xử lý các hành động, JSR 168 sử dụng phương thứctương tự là processAction() Không khó để tạo ra sự tương ứng giữa WebsphereAPI và JSR 168 mặc dù Websphere hỗ trợ thêm một vài giao diện khác cho thôngđiệp portlet và tốt hơn về vấn đề địa phương hóa

Sau khi JSR 168 được ghi nhận, nhóm phát triển Grisphere đối mặt với vấn

đề phải làm thế nào để hỗ trợ JSR 168 Portlet API mà vẫn quản lý các portlet đượctạo ra theo mô hình trước đó, để giải quyết cần hoàn thành danh sách công việc sau:

- Cho phép những nhà phát triển portlet tiếp tục sử dụng những portlet trước

đó theo mô hình của Websphere mà không cần thiết phải thay đổi chúng cho phùhợp với JSR 168

- Tiếp tục hỗ trợ sự tương thích với Websphere , cho phép người dùngWebsphere sử dụng Gridsphere như một giải pháp portal mã nguồn mở

Trang 40

- Không tác động nhiều vào mã nguồn của lõi Gridsphere framework trongkhoảng thời gian ngắn trước mắt.

- Cho phép phát triển portlet theo mô hình portlet API của JSR 168

Nền tảng dịch vụ portlet xác định một kiến trúc cho phép phát triển các dịch

vụ portlet cung cấp chức năng cho portlet Các dịch vụ portlet được thiết kế nhiềuchức năng cung cấp bởi các portlets từ các dịch vụ trong đó chúng cần tương tác vớinhau Các dịch vụ portlet cung cấp sự đóng gói theo mô hình dịch vụ có thể dùnglại được nó có thể được dùng lại được bởi một hoặc nhiều portlet TrongGridSphere, các dịch vụ được dùng để quản lý mọi thứ từ sự ưu tiên sắp xếp, nhữngthông tin người dùng, người dùng truy cập điều khiển như là portlet đăng ký thảoluận trước đây

Portlet Services API IBM WebSphere API cung cấp một tập hợp giao diệncho việc xác định những dịch vụ portlet và cho phép nhà phát triển lấy các thể hiệndịch vụ portlet thông qua đối tượng PortletContext Mặc dù JSR portlet API không

đề cập đến những dịch vụ portlet, chúng ta có thể cung cấp truy cập tới các dịch vụbằng việc dùng chính “cải tiến” portlet cái mà phân lớp từ GenericPortlet cơ bản.Trong mô hình hiện tại, một dịch vụ portlet được tạo ra từ PortletServiceFactory.Một PortletService xác định giao diện trắng được cải tiến bởi giao diệnPortletServiceProvider xác định một vòng đời gồm các phương thức init và destroyđược dùng khi dịch vụ được khởi tạo và kết thúc Một file cấu hình dịch vụ portletđược dùng để cung cấp thông tin lớp và khởi tạo các tham số được truy cập thôngqua đối tượng PortletServiceConfig PortletServiceFactory cũng chịu trách nhiệmkhởi tạo và phá hủy các dịch vụ Một sơ đồ lớp UML dịch vụ portlet được chỉ ratrong hình vẽ dưới đây

Hình 3.16 - Mô hình portlet services của Gridsphere

Ngày đăng: 06/05/2015, 10:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Viktors Berstis, “Fundamentals of Grid Computing”, IBM Redbooks, 2002 Sách, tạp chí
Tiêu đề: “Fundamentals of Grid Computing”
[2]. Ian Foster, Carl Kesselman, and Steven Tuecke, “The Autonomy of the Grid, Enabling Scalable Virtual Organizations,” Int. J. Supercomput.Appl. 2002 Sách, tạp chí
Tiêu đề: “The Autonomy of the Grid, Enabling Scalable Virtual Organizations,”
[3]. Ann Chervenak, Ian Foster, Carl Kesselman, Charles Salisbury, and Steven Tuecke, “The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Datasets”, Journal of Network and Computer Applications, 2001 Sách, tạp chí
Tiêu đề: “The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Datasets”
[4]. R. Alfieri, R. Cecchini, V. Ciaschini, L. dell’Agnello, A´. Frohner, A. Gianoli, K. L˝orentey, and F. Spataro, “VOMS, an Authorization System for Virtual Organizations” , 2003 Sách, tạp chí
Tiêu đề: “VOMS, an Authorization System for Virtual Organizations”
[5]. M. P. Thomas, J. Burruss, L. Cinquini, G. Fox, D. Gannon, L. Gilbert, G.Von Laszewski, K. Jackson, D. Middleton, R. Moore, M. Pierce, B.Plale, “Grid Portal Architectures for Scientific Applications” Sách, tạp chí
Tiêu đề: “Grid Portal Architectures for Scientific Applications
[6]. Ruxandra Bondarescu, Gabrielle Allen, “The Astrophysics Simulation Collaboratory Portal: a framework for effective distributed research” Sách, tạp chí
Tiêu đề: “The Astrophysics Simulation Collaboratory Portal: a framework for effective distributed research
[7]. JasonNovotny,MichaelRussell,OliverWehrens, “ GridSphere: An Advanced Portal Framework” Sách, tạp chí
Tiêu đề: “ GridSphere: An Advanced Portal Framework
[8]. GridSphere - http://www.gridsphere.org [9]. Globus Toolkit Project - www.globus.org Link
[10]. Grid Portal Development Kit - http://doesciencegrid.org/projects/GPDK/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1.2 - Mô hình các thành phần của hệ thống - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 1.2 Mô hình các thành phần của hệ thống (Trang 18)
Hình 1.5 - Mô hình quản lý người dùng với VOs - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 1.5 Mô hình quản lý người dùng với VOs (Trang 21)
Hình 2.1 là một ví dụ về lưới, như một mạng liên kết các tài nguyên phân tán - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 2.1 là một ví dụ về lưới, như một mạng liên kết các tài nguyên phân tán (Trang 25)
Hình 2.8 - Minh họa một portal - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 2.8 Minh họa một portal (Trang 27)
Hình 2.9 - Các thành phần chức năng của portal - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 2.9 Các thành phần chức năng của portal (Trang 28)
Hình 2.10 - Ví dụ một số portlet - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 2.10 Ví dụ một số portlet (Trang 30)
Hình 4.24 – Biểu đồ trình tự Quản lý người dùng - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.24 – Biểu đồ trình tự Quản lý người dùng (Trang 53)
Hình 4.25 – Các ca sử dụng truy cập hệ thống lưới - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.25 – Các ca sử dụng truy cập hệ thống lưới (Trang 55)
Hình 4.29 – Biểu đồ trình tự Cập nhật thông tin thành viên nhóm - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.29 – Biểu đồ trình tự Cập nhật thông tin thành viên nhóm (Trang 64)
Hình 4.30 – Biểu đồ trình tự Quản lý tài liệu cá nhân - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.30 – Biểu đồ trình tự Quản lý tài liệu cá nhân (Trang 66)
Hình 4.31 – Biểu đồ trình tự Thay đổi thuộc tính tài liệu - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.31 – Biểu đồ trình tự Thay đổi thuộc tính tài liệu (Trang 67)
Hình 4.33 – Biểu đồ trình tự Xem tài liệu từ kết quả tìm kiếm - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.33 – Biểu đồ trình tự Xem tài liệu từ kết quả tìm kiếm (Trang 70)
Hình 4.35 – Biểu đồ lớp Quản lý thông tin cá nhân - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.35 – Biểu đồ lớp Quản lý thông tin cá nhân (Trang 73)
Hình 4.36 – Biểu đồ lớp Quản lý giấy phép ủy quyền lưới - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.36 – Biểu đồ lớp Quản lý giấy phép ủy quyền lưới (Trang 74)
Hình 4.37 – Biểu đồ lớp Quản lý tài liệu cá nhân - Đồ án tốt nghiệp XÂY DỰNG CỔNG THÔNG TIN CHO HỆ THỐNG LIÊN THƯ VIỆN GOODAS
Hình 4.37 – Biểu đồ lớp Quản lý tài liệu cá nhân (Trang 75)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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