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

CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 3 ppsx

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 (723.94 KB, 23 trang )









Chương 2. Tổng quan về công nghệ Grid Computing
- 32 -
thể nào mà thực hiện quản lý toàn cục, tập trung vào các giao tác giữa các tập tài
nguyên.
Tầng Collective có thể bổ sung thêm nhiều loại hoạt động chia sẻ mới ngoài
những gì đã có từ tầng Resource mà không cần bổ sung thêm các yêu cầu mới cho
các tài nguyên đang được chia sẻ. Ví dụ:
+ Directory service
Cho phép các thành phần tham gia VO phát hiện sự tồn tại và/hoặc đặc
tính của các tài nguyên trong VO. Một directory service có thể cho phép người
truy vấn tài nguyên qua tên và/hay các thuộc tính như kiểu, khả năng, tải, …
+ Co-allocation, scheduling, và broker service
Cho phép các thành phần tham gia VO yêu cầu cấp phát các tài nguyên
cho các mục đích cụ thể và lập lịch cho các tác vụ trên các tài nguyên tương
ứng.
+ Monitoring ang dianostics sevice
Hỗ trợ việc kiểm soát các tài nguyên của VO, kiểm tra xem có bị lỗi, bị
tấn công, bị quá tải,… hay không.
+ Data replication service
Hỗ trợ quản lý tài nguyên lưu trữ của VO để tối ưu hiệu suất truy cập dữ
liệu theo các độ đo như thời gian đáp ứng, tính toàn vẹn, tin cậy, chi phí,…
+ Grid-enable programming system
Cho phép các sử dụng các mô hình lập trình hiện tại trong môi trường


Grid, sử dụng nhiều loại dịch vụ Grid để giải quyết các vấn đề như phát hiện,
tìm kiếm tài nguyên, bảo mật, cấp phát tài nguyên,…
+ Workload management system and collaboration framework
Cung cấp khả năng đặc tả, sử dụng, quản lý các luồng công việc đa thành
phần, bất đồng bộ và qua nhiều bước.
+ Software discovery service
Tìm kiếm và chọn ra các cài đặt phần mềm tốt nhất và môi trường thực
thi dựa theo ứng dụng cần được giải quyết.
+ Community authorization server








Chương 2. Tổng quan về công nghệ Grid Computing
- 33 -
Thực hiện các chính sách công cộng quản lý truy cập tài nguyên, cho
phép các thành viên của cộng đồng truy cập đến các nguyên dùng chung. Các
server này sử dụng các dịch vụ xây dựng trên các protocol thông tin, quản lý tài
nguyên của tầng Resource và protocol bảo mật ở tầng Connectivity.
+ Community accounting and payment service
Thu thập các thông tin sử dụng tài nguyên để tính toán chi phí, thực hiện
chi trả và/hoặc giới hạn việc sử dụng tài nguyên của người dùng trong cộng
đồng.
+ Collaboratory service
Hỗ trợ việc trao đổi thông tin đồng bộ và bất đồng bộ trong cộng đồng
người dùng.


Các ví dụ trên đây cho thấy các protocol và dịch vụ tầng Collective rất phong
phú, đa dạng. Lưu ý rằng trong khi các protocol tầng Resource phải là các protocol
tổng quát và triển khai rộng rãi, thì các protocol tầng Collective có thể trải dài từ
việc phục vụ các vấn đề chung trong Grid đến việc phục vụ cho các lĩnh vực ứng
dụng cụ th
ể, có thể chỉ tồn tại trong các VO cụ thể. Theo nguyên tắc, càng phục vụ
nhiều người dùng thì các protocol và API của tầng Collective càng phải được dựa
theo chuẩn.
Các chức năng của tầng Collective có thể được cài đặt như các service (với các
protocol tương ứng), hay như các bộ SDK(với các API tương ứng) được thiết kế để
liên kết với ứng dụng. Trong cả hai trường hợp, các cài đặt này có thể được xây
dựng trên các protocol và API của tầng Resource và Connectivity.
2
2
.
.
6
6
.
.
2
2
.
.
5
5
.
.







T
T


n
n
g
g


A
A
p
p
p
p
l
l
i
i
c
c
a
a
t

t
i
i
o
o
n
n


Tầng trên cùng của kiến trúc Grid bao gồm các ứng dụng của người dùng chạy
trong một trường VO. Hình 2-9 minh hoạ quan điểm của các lập trình viên về kiến
trúc Grid. Các ứng dụng được xây dựng theo cách sẽ gọi các dịch vụ định nghĩa bởi
các tầng phía dưới.








Chương 2. Tổng quan về công nghệ Grid Computing
- 34 -
Ví dụ : một chương trình phân tích bộ gen người cần phải chạy hàng ngàn tác vụ
độc lập, mỗi tác vụ cần nhiều file chứa thông tin từng phần của bộ gen có thể sử
dụng các chức năng Grid sau:
+ Lấy các thông tin, thẻ chứng thực (các protocol tầng Connectivity).
+ Truy vấn hệ thống thông tin Grid và các danh mục để tìm các tài nguyên
thích hợp và vị trí các file dữ liệu đầu vào. (các dịch vụ tầng Collective).
+ Gửi các yêu cầu đến các tài nguyên để th

ực hiện tính toán, di chuyển dữ
liệu,… và kiểm soát quá trình thực thi công việc, thông báo cho người dùng khi mọi
thứ hoàn tất, dò tìm và phản ứng với các điều kiện gây lỗi (tầng Resource).

Hình 2-9 Quan điểm của các lập trình viên về kiến trúc Grid.
Giải thích hình 2-9 : Các hàm API được cài đặt bằng các bộ công cụ phát triển phần mềm (SDK), tới
lượt nó, các bộ SDK sử dụng các Grid protocol để giao tiếp với các service cung cấp các chức năng cho
người dùng cuối. Các SDK cấp cao có thể cung cấp các chức năng mà không gọi trực tiếp một protocol cụ
thể nào, chúng có thể kết hợp nhiều hoạt động của các prtocol khác nhau bằng các gọi các hàm API cũng như
cài đặt các chức năng cục bộ. Các m
ũi tên đặc đại diện cho các lời gọi trực tiếp, các mũi tên ngắt quãng đại
diện cho việc giao tiếp giữa các protocol
.

Các tầng trong kiến trúc trên có thể được hiện thực hóa bằng nhiều sản phẩm
khác nhau, được phát triển bởi nhiều nhà phát triển phần mềm, các tổ chức, cộng
đồng mã nguồn mở, các nhà sản xuất máy tính trên khắp thế giới.








Chương 2. Tổng quan về công nghệ Grid Computing
- 35 -
2
2
.

.
6
6
.
.
3
3
.
.




K
K
i
i
ế
ế
n
n


t
t
r
r
ú
ú
c

c


G
G
r
r
i
i
d
d


t
t
r
r
o
o
n
n
g
g


t
t
h
h



c
c


t
t
ế
ế


Trong thực tế, kiến trúc Grid tổng quan đã được cài đặt và xây dựng như hình
2-10. Kiến trúc gồm 4 tầng tương ứng với các tầng của kiến trúc tổng quát như sau:


Hình 2-10 Kiến trúc Grid trong thực tế với các thành phần.
+ Tầng Fabric (tầng Fabric)
Giống như tầng Fabric trong kiến trúc tổng quát.
+ Tầng Core Middleware (Connectivity và Resource và nửa dưới của
Collective)
Cung cấp các dịch vụ như quản lý tiến trình ở xa, kết hợp, phân phối các tài
nguyên, quản lý truy cập không gian lưu trữ, đăng ký và tìm kiếm thông tin, bảo
mật và các khía cạnh của QoS như đặt trước, mua bán và trao đổi tài nguyên,… Các
dịch vụ này là sự trừu tượng hoá tính phức tạp và đa dạng của các tài nguyên bằng
cách cung cấp một phương pháp chung để truy cập tài nguyên.
+ Tầng User-level Middleware (Collective)









Chương 2. Tổng quan về công nghệ Grid Computing
- 36 -
Tận dụng các giao diện ở tầng Core Middleware để cung cấp các dịch vụ có
mức độ trừu tượng cao hơn. Tầng này bao gồm các môi trường phát triển phần
mềm, công cụ lập trình, resource broker, bộ lập lịch,…
+ Tầng Application và Portal (Application)
Giống như tầng Fabric trong kiến trúc tổng quát.

Dưới đây là một số dự án Grid tương ứng với các tầng khác nhau.

Hình 2-11 Các dự án Grid tương ứng với các tầng.
2
2
.
.
7
7
.
.


C
C
h
h
u

u


n
n


h
h
o
o
á
á


G
G
r
r
i
i
d
d


Một trong những vấn đề lớn của bất kỳ công nghệ tính toán nào là làm sao để
các thành phần khác nhau có thể “nói chuyện” được với nhau. Không có gì quan
trọng hơn việc làm cho các nền tảng khác nhau giao tiếp được với nhau. Đây cũng
là một trong những thách thức của công nghệ Grid Computing. Bởi vì công nghệ
Grid computing cần phải đáp ứng nhiều nhu cầu khác nhau, hỗ trợ nhiều loại công

nghệ, tài nguyên, trải rộng khắp thế giớ
i, do nhiều tổ chức tham gia xây dựng, nên
để các thành phần Grid, ứng dụng Grid tương thích được với nhau cần phải có một
chuẩn chung, một ngôn ngữ chung thống nhất cho toàn bộ nền công nghệ.
Trong công nghệ Grid Computing, việc thiếu chuẩn hóa sẽ dẫn đến toàn bộ các
công ty, tổ chức, nhà phát triển xây dựng, phát triển công nghệ với các kỹ thuật và








Chương 2. Tổng quan về công nghệ Grid Computing
- 37 -
giải pháp khác nhau. Trong thế giới riêng của mỗi nhóm phát triển Grid thì có thể
không là vấn đề lớn, nhưng khi mở rộng môi trường Grid, liên kết các nhóm vào thế
giới rộng hơn thì đây lại là vấn đề lớn, nó sẽ gây ra sự chia cắt, bất đồng và nhiều
hạn chế khác.
Việc xây dựng và áp dụng các chuẩn trong Grid mang lại lợi ích rất lớn, cơ bản
nhất là mang lại khả năng mở r
ộng các số lượng tài nguyên sẵn sàng cho Grid. Bên
cạnh đó, còn mang lại nhiều lợi ích khác như :
+ Liên kết hoạt động
Cho phép các hệ thống Grid có thể được thiết kế và phát triển theo nhiều
ngôn ngữ lập trình, nhiều môi trường, nhiều nền tảng khác nhau một cách dễ dàng
và hiệu quả.
+ Tăng tính mềm dẻo
Với sự chuẩn hóa, người dùng có thể chuyển đổi qua lại giữa các hệ thống

Grid, có nhiều lựa chọn hơn trong việc xây dựng các dự án.
+ Tăng năng lực của Grid
Khi có nhiều môi trường và nền tảng được hỗ trợ hơn, khả năng phát hành
các dịch vụ sẽ dễ dàng hơn, và từ đó sẽ làm tăng năng lực của hệ thống Grid.
+ Tăng tốc độ phát triển ứng dụng
Sử dụng các bộ toolkit được chuẩn hóa sẽ làm giảm thời xây dựng, phát
triển các hệ thống Grid. Thay vì dành nhiều thời gian cho việc xây dựng các chức
năng giao tiếp, các hệ thống quản lý, với việc sử dụng các hệ thống chuẩn hoá có
sẵn, các nhà phát triển ứng dụng sẽ có nhiều thời gian hơn để tối ưu các chức năng
xử lý dữ liệu.
Phân tích như trên cho thấy việ
c xây dựng các chuẩn là cần thiết. Để đáp ứng
nhu cầu đó, tổ chức Global Grid Forum(GGF) ra đời với thành viên là hầu hết các
nhà nghiên cứu, các tổ chức hàng đầu trong việc xây dựng công nghệ Grid
Computing. GGF đã và đang phát triển các chuẩn về Grid Computing như : Open
Grid Services Architecture (OGSA), Open Grid Services Infrastructure (OGSI),
Web Services Resource Framework (WSRF).








Chương 2. Tổng quan về công nghệ Grid Computing
- 38 -
Các chuẩn trên đây cũng là chuẩn duy nhất hiện nay trong ngành công nghệ Grid
Computing. Các chuẩn này vẫn trong giai đoạn phát triển.
Mục tiêu của OGSA và OGSI nhằm xây dựng một nền tảng để hỗ trợ việc xây

dựng một tập các dịch vụ có thể được tìm thấy và được gọi bởi bất kỳ hệ thống nào
trong Grid. Mục tiêu chính là định nghĩa được các giao diện dịch vụ(service
interface) hoàn toàn độc lập vớ
i các cài đặt cụ thể bên dưới, điều đó sẽ giúp cung
cấp các dịch vụ OGSA trên bất kỳ thiết bị tính toán nào kết nối với Grid.
1. Open Grid Services Architecture (OGSA)
Chuẩn Open Grid Services Architecture (OGSA) xác định toàn bộ các kết
cấu, cấu trúc, dịch vụ cơ bản của một ứng dụng Grid và có thể được áp dụng trong
bất kỳ một hệ thống Grid nào. Về thực chất, OGSA định nghĩa các dịch vụ Grid
(Grid service) là gì, chúng cần có những khả năng gì, được xây dựng trên những
công nghệ nào. Nó cũng xác định mô hình lập trình cho Grid service. Tuy nhiên,
OGSA không đi sâu vào mặt kỹ thuật của vấn đề
, nó chỉ giúp phân biệt cái gì là
Grid và cái gì không phải.
OGSA xác định Grid service phải được xây dựng dựa trên các chuẩn về Web
service hiện hành, xem Grid service như là các Web service được chỉnh sửa để đáp
ứng các yêu cầu mới. Ví dụ, bản thân các Grid service được định nghĩa bằng chuẩn
WSDL (Web Services Definition Language) với một số mở rộng. Điều này rất quan
trọng, vì nó cung cấp một loạt các công nghệ dựa theo một chuẩn chung và mở để
truy cập nhiề
u loại Grid service dựa trên các chuẩn hiện hành như SOAP, XML, và
WS-Security. Với điều kiện như vậy, có thể thêm và tích hợp các Grid service mới
một cách đơn giản, dễ dàng. Nó cung cấp một phương pháp chung nhất để tìm
kiếm, xác định, sử dụng các service mới khi chúng có mặt. Từ đó, giải quyết được
vấn đề liên kết hoạt động giữa các Grid và các tài nguyên.
2. Open Grid Services Infrastructure (OGSI) phiên bản 1.0
OGSI là một bản đặc tả chính thức các khái niệm được mô tả trong OGSA.
OGSI version 1.0 xác định một một tập các service cơ bản, xác định cách xây dựng
một Grid service, định nghĩa các hoạt động chung nhất của tất cả các Grid service,









Chương 2. Tổng quan về công nghệ Grid Computing
- 39 -
vạch ra các cơ chế để tạo lập; quản lý các Grid service, cơ chế trao đổi thông tin
giữa các Grid service.
Chuẩn OGSI dựa trên các chuẩn khác như XML, Web service, WSDL, … do
đó, nó cũng là một chuẩn mở.
3.Web Services Resource Framework (WSRF)
Là một bước phát triển của OGSI, nó kết hợp kiến trúc Grid vào công nghệ
Web service hiện hành. Thay vì xây dựng một kiểu Grid service mới, những đặc tả
này cho phép các service xác định trong OGSI được xây dựng hoàn toàn dựa trên
Web service.
Tóm lại
, các hệ thống Grid đều cần phải được xây dựng trên một chuẩn chung.
Hiện nay chỉ có một chuẩn chung đang được phát triển và được khuyến cáo là nên
sử dụng khi xây dựng các hệ thống Grid. Chuẩn đó là OGSA và bản đặc tả của nó,
OGSI. Theo chuẩn OGSA, các hệ thống Grid được xây dựng xung quanh khái niệm
Grid service. Grid service cần phải xây dựng dựa trên các công nghệ chuẩn hiện
hành, do đócông nghệ Web service được chọn trong hàng loạt các công nghệ
như
CORBA, RMI, RPC,… Và hiện nay, toàn bộ bản đặc tả OGSI version 1.0 đã được
cài đặt cụ thể trong bộ Globus Toolkit từ version 3.0 trở đi, và UNICORE cũng bắt
đầu cài đặt lại theo OGSA, OGSI.
Hình 2-12 tóm tắt mối quan hệ giữa các chuẩn trên:


Hình 2-12 Mối quan hệ giữa các chuẩn về Grid Service.
Giải thích hình 2-12: OGSA định nghĩa và dựa trên Grid service, OGSI đặc tả Grid service
theo OGSA, Grid service lả một mở rộng của Web service, một công nghệ cho phép các thành
phần phân tán giao tiếp với nhau, GT là một bản cài đặt hoàn chỉnh OGSI với ngôn ngữ Java.









Chương 2. Tổng quan về công nghệ Grid Computing
- 40 -

Chi tiết về các chuẩn sẽ được giới thiệu cụ thể hơn trong phần sau
, khi giới thiệu
về bộ Globus Toolkit.
2
2
.
.
8
8
.
.



G
G
i
i


i
i


t
t
h
h
i
i


u
u


c
c
á
á
c
c



d
d




á
á
n
n


G
G
r
r
i
i
d
d


m
m
i
i
d
d
d
d

l
l
e
e
w
w
a
a
r
r
e
e


c
c
h
h
í
í
n
n
h
h


Ứng với từng tầng trong kiến trúc Grid, có rất nhiều dự án phát triển bởi nhiều
nhà nghiên cứu, tổ chức, tập đoàn thương mại lớn nhằm đưa Grid trở thành hiện
thực. Để hoàn thành được các mục tiêu của Grid, các phần mềm Grid middleware
cần phải giải quyết được các vấn đề cơ bản của Grid. Grid middleware là phần mềm

cho phép tổ chức, tích hợp các tài nguyên và các chức năng vào Grid, nhiệm vụ

chính của là thực hiện tự động hóa các “thỏa thuận giữa máy với máy”(machine-to-
machine negotiation) để ghép mọi thứ lại với nhau. Đã có rất nhiều nỗ lực từ khắp
nơi trong việc thiết kế và cài đặt các phần mềm middleware để xây dựng Grid. Hiện
nay đã có nhiều gói phần mềm triển khai thành công, có thể xây dựng được các
Grid vượt ra khỏi giới hạn mạng cục bộ.
Phần này s
ẽ giới thiệu 4 dự án Grid middleware phổ biến hiện nay là
UNICORE, Globus, Legion và Gridbus.
2
2
.
.
8
8
.
.
1
1
.
.




U
U
N
N

I
I
C
C
O
O
R
R
E
E


UNICORE là một môi trường Grid tích hợp theo chiều thẳng đứng nhằm hỗ trợ:
+ Khả năng truy cập tài nguyên một cách đơn giản, an toàn, bảo mật, trực
quan trong môi trường phân tán cho người dùng.
+ Tích hợp các cơ chế chứng thực trong các thủ tục quản trị, nhằm giảm chi
phí đào tạo và hỗ trợ cho các Grid site.
+ Phân phối dễ dàng các công việc trên nhiều nền tảng khác nhau.
1. Kiến trúc của UNICORE
Là kiến trúc 3 tầng (three-tier) như hình 2-13. Bao gồm một client chạy trên
một máy trạm hoặc PC có hỗ trợ Java; nhiều thể hiện của Network Job Supervisors
(NJS) chạy trên các server dành riêng; và nhiều thể hiện của Target System









Chương 2. Tổng quan về công nghệ Grid Computing
- 41 -
Interfaces (TSI) chạy trên các node để cung cấp giao diện sử dụng các hệ quản trị
tài nguyên cục bộ như các hệ điều hành, các hệ xử lý theo lô,…

Hình 2-13 Mô hình kiến trúc hoạt động của UNICORE
Theo quan điểm của người dùng, UNICORE là một hệ thống dựa trên mô hình
client-server có 3 lớp.
+ Lớp người dùng : Người dùng chạy UNICORE Client trên máy trạm cục
bộ hoặc PC.
Giao diện của UNICORE Client gồm 2 thành phần : JPA (Job Preparation
Agent) và JMC (Job Monitor
Component). Các công việc được xây dựng bằng JPA,
trạng thái và kết quả các công việc được lấy từ JMC. Các công việc và các truy vấn
về trạng thái, kết quả của chúng được định dạng bằng Abstract Job Object (AJO).

+ Lớp server : Ở mức cao nhất, mỗi trung tâm máy tính thành viên phải xác
định một hoặc nhiều UNICORE Grid site (USite) để người dùng kết nối vào.
+ Lớp Target System : Một Usite cho phép truy cập đến các tài nguyên tính
toán và lưu trữ. Chúng được tổ chức thành các site ảo (Vsite) đại diện cho các hệ
thống thực thi và/hoặc lưu trữ trong trung tâm máy tính. Một UNICORE VSite cũng
gồm 2 thành phần:
NJS (Network Job Supervisor) and TSI (Target System
Interface). NJS Server quản lý tất cả các công việc UNICORE và thực hiện phân
quyền bằng cách tìm ánh xạ tương ứng giữa chứng chỉ người dùng và tài khoản









Chương 2. Tổng quan về công nghệ Grid Computing
- 42 -
đăng nhập trong UUDB (UNICORE User Data Base). NJS chuyển đổi các định
nghĩa AJO thành các lệnh tương ứng cho hệ thống thực thi được chọn dựa trên các
đặc tả trong Incarnation Data Base (IDB). UNICORE TSI chấp nhận các công việc
xây dựng bởi NJS và chuyển chúng cho hệ thống thực thi cục bộ để xử lý.
Client kết nối đến UNICORE USite gateway, đây là điểm vào duy nhất cho tất
cả các kết nối UNICORE đến USite. Nó cung cấp một địa chỉ IP và số hiệ
u cổng để
người dùng có thể kết nối vào thông qua protocol SSL.
2. Các chức năng và đặc tính chính của UNICORE:
+ Tạo lập và đệ trình các công việc hướng người dùng.
Cung cấp giao diện GUI hỗ trợ người dùng tạo những công việc phức tạp
có thể chạy trên bất kỳ UNICORE Site nào mà không cần thay đổi đặc tả công
việc.
+ Có hệ thống quản lý công việc
Cho phép người dùng toàn quyền điều khiển công việc và dữ liệu.
+ Có hệ thống quản lý dữ liệu
Trong quá trình tạo lập các công việc, người dùng có th
ể xác định các tập
dữ liệu đầu vào và đầu ra từ USpace (USpace là tập các file sẵn sàng cho một
công việc UNICORE) và các tập dữ liệu nào cần phải truyền qua lại giữa các
USpace. UNICORE sẽ thực hiện các việc di chuyển dữ liệu trong thời gian thi
hành mà không cần sự can thiệp của người dùng.
+ Hỗ trợ ứng dụng
Để hỗ trợ các ứng dụng khoa học đặc biệt của các nhà khoa học, giao
diệ

n người của UNICORE được xây dựng dưới dạng mở để có thể thêm các
thành phần mới cho phép nhập liệu hướng ứng dụng.
+ Điều khiển luồng
Một công việc của người dùng có thể được mô tả dưới dạng một tập các
đồ thị có hướng không vòng.
+ Cho phép đăng nhập một lần
UNICORE cho phép đăng nhập một lần thông qua các chứng chỉ
X.509V3.








Chương 2. Tổng quan về công nghệ Grid Computing
- 43 -
+ Hỗ trợ các công việc kế thừa lại
UNICORE hỗ trợ công nghệ xử lý theo lô truyền thống bằng cách cho
phép người dùng đính kèm các công việc trước đó vào công việc hiện hành.
+ Có hệ thống quản lý tài nguyên
Người dùng chọn các hệ thống đích và xác định các yêu cầu tài nguyên.
Hệ thống UNICORE Client sẽ kiểm tra tính đúng đắn của các công việc, báo lỗi
ngay lập tức và thực hiện cấp phát tài nguyên.
2
2
.
.
8

8
.
.
2
2
.
.




G
G
l
l
o
o
b
b
u
u
s
s


Dự án Globus cung cấp một bộ toolkit mã nguồn mở, có thể được sử dụng để
xây dựng các Grid Tính toán và các ứng dụng dựa trên Grid. Nó cho phép chia sẻ
năng lực tính toán, dữ liệu, các công cụ khác một cách bảo mật, an toàn trực tuyến
giữa các tập đoàn, viện nghiên cứu mà không cần loại bỏ các chính sách quản trị
cục bộ. Các service, interface, protocol nền tảng trong bộ Globus Toolkit cho phép

người dùng truy cập đến các tài nguyên ở xa một cách đơn giả
n trong khi vẫn giữ
được quyền điều khiển cục bộ cho phép ai được dùng tài nguyên và khi nào.
Chi tiết về Globus Toolkit sẽ được trình bày trong chương sau
.
2
2
.
.
8
8
.
.
3
3
.
.




L
L
e
e
g
g
i
i
o

o
n
n


Legion là một middleware ch phép kết hợp một lượng rất lớn các host, hệ thống
lưu trữ dữ liệu, các mã thực thi và các đối tượng hỗn tạp được quản lý độc lập thành
một nền tảng tính toán chặt chẽ thống nhất. Legion có khả năng gom nhóm các
thành phần rải rác này thành một siêu máy tính dựa trên đối tượng (object-based
metacomputer), đưa ra mức độ cao hơn về tính mềm dẻo và tự trị.
Hình 2-14 cho thấy kiế
n trúc của Legion. Nó được cấu trúc như là một hệ thống
các “đối tượng phân tán” – các tiến trình hoạt động giao tiếp với nhau sử dụng một
dịch vụ gọi hàm từ xa thống nhất. Tất cả các tài nguyên phần cứng và phần mềm
trong hệ thống Grid đều được đại diện bởi các đối tựơng Legion. Mô hình đối tượng
cơ sở của Legion được mô tả bởi ngôn ngữ đặc t
ả giao diện (interface description
language (IDL)), và được dịch và liên kết với ngôn ngữ lập trình được chọn.








Chương 2. Tổng quan về công nghệ Grid Computing
- 44 -
Hướng tiếp cận này cho phép liên kết hoạt động các thành phần của nhiều ngôn
ngữ lập trình khác nhau, trên nhiều nền tảng thực thi khác nhau. Khi tất cả các thành

phần trong hệ thống đều là các đối tượng, chúng có thể giao tiếp với nhau không
phân biệt chi tiết về vị trí, cài đặt.
Một “đối tượng lớp” (class object) được sử dụng để định nghĩa và quản lý các
Legion object tương ứng. Class object được gán các trách nhiệm cấp hệ
thống; nó
điều khiển việc tạo lập các thực thể (instance) mới, lập lịch thực thi, kích hoạt và
huỷ kích hoạt các thực thể, cung cấp các thông tin về vị trí hiện tại của nó cho các
đối tượng client muốn liên lạc với các thực thể. Nói một cách khác, các lớp hoạt
động như là nhà quản lý và hoạch định chính sách cho hệ thống. Các siêu lớp
(metaclass) được sử dụng để định nghĩa các thực thể lớp.


Hình 2-14 Kiến trúc của Legion.

Legion định nghĩa một tập các kiểu đối tượng nòng cốt cung cấp các dịch vụ cơ
bản của hệ thống như đặt tên và kết nối, tạo lập, kích hoạt, huỷ kích hoạt và xoá các
đối tượng. Những đối tượng này đưa ra các cơ chế giúp cho các lớp triển khai các
chính sách thích hợp cho các thực thể của chúng. Legion cũng cho phép người dùng
định nghĩa và xây dựng các “đối tượng lớp” của riêng mình.
Mộ
t số đối tượng nòng cốt :
+ Host object : đại diện cho các bộ xử xý.
+ Vault object : đại diện cho hệ thống lưu trữ ngoài.









Chương 2. Tổng quan về công nghệ Grid Computing
- 45 -
+ Context object : Ánh xạ “context name” vào LOID (Legion Object
Identifiers).
+ Binding Agents : Ánh xạ LOID vào
LOA (Legion Object Address).
+ Implement object : duy trì như một file thực thi mà host object có thể thực
thi được khi nó nhận được một yêu cầu hay tạo ra một object.
Host object cung cấp một giao diện thống nhất để tạo lập các đối tượng (nhiệm
vụ), Vault object cung cấp một giao diện thống nhất để cấp phát tài nguyên lưu trữ,
mặc dù có nhiều cài đặt khác nhau cho mỗi loại.
Legion sử dụng hệ thống tên 3 cấp. Các chuỗi ký tự, được gọi “context name”,
tạo điều kiện thuận lợi cho người dùng sử dụng một dải rộng lớn các tài nguyên, ở
cấp cao nhất. Context object ánh xạ context name vào LOID là cấp tiếp theo. LOID
độc lập với vị trí, do đó không thể sử dụng để thực hiện giao tiếp. Vì vậy, LOID tiếp
tục được chuyển thành LOA phục vụ giao tiếp. LOA là một địa chỉ vật lý (hoặc tập
các địa chỉ vật lý trong trường hợp có các đối tượng nhân bản) chứa các thông tin
cần thiết cho phép các đối tượng giao tiếp được với nhau.
2
2
.
.
8
8
.
.
4
4
.

.




G
G
r
r
i
i
d
d
B
B
u
u
s
s


Dự án Gridbus là một dự án mã nguồn mở, thuộc nhiều cơ quan dẫn đầu bởi
GRIDS Lab thuộc University of Melbourne, Australia. Nó là cho phép kết hợp các
cluster hướng dịch vụ (service-oriented cluster) với các Grid middleware để hỗ trợ
các ứng dụng eScience và eBusiness. Nó kết hợp các phần mềm liên quan và đưa ra
một tầng trừu tượng nhằm che đi tính đa dạng, hỗn tạp của các tài nguyên và các
công nghệ middleware tầng thấp từ góc nhìn của các nhà phát triển ứng dụng. Bên
cạnh đó, nó tập trung hiện thực hoá mô hình tính toán tiện ích (ultility computing)
trải dài từ các cluster đến Grid và các hệ thống tính toán ngang hàng (peer-to-peer).
Gridbus sử dụng mô hình kinh tế trong việc quản lý các tài nguyên chia sẻ và nâng

cao tính tiện nghi của các dịch vụ. Từ đó làm tăng khả năng thương mại của các
dịch vụ Grid, cho phép quản lý hiệu quả việc cung và cầu tài nguyên.
Gridbus hỗ trợ các tiện nghi ở nhiều mức khác nhau:
+ Mức tài nguyên thô (ví dụ : bán các chu kỳ CPU và tài nguyên lưu trữ)








Chương 2. Tổng quan về công nghệ Grid Computing
- 46 -
+ Mức ứng dụng (ví dụ : các hoạt động phân tích phân tử cho các ứng dụng
thiết kế thuốc).
+ Tập các dịch vụ đã được kết hợp (ví dụ : môi giới và bán lại các dịch vụ
qua nhiều vùng khác nhau).
Ý tưởng tính toán kinh tế (computational economy) giúp cho việc tạo nên kiến
trúc tính toán hướng dịch vụ trong đó, các người dùng dịch vụ phải trả tiền cho các
ứng dụng và nhà cung cấp dựa trên những yêu cầu nhất đị
nh, người dùng có thể tối
ưu hóa công việc bằng cách chọn các dịch vụ cần thiết trong một giới hạn về chi
phí.
Hình 2-15 mô tả kiến trúc Gridbus phân tầng:

Hình 2-15 Kiến trúc GridBus
Hình vẽ cho thấy các thành phần của Gridbus trong việc liên kết với các công
nghệ middleware khác như Globus, UNICORE và Alchemi. Gridbus cung cấp các
phần mềm trong các lĩnh vực sau :

• Enterprise Grid Infrastructure (Alchemi)
Mặc dù phần lớn các tính toán khoa học đều sử dụng các hệ điều hành
dòng Unix, nhưng phần lớn hạ tầng tính toán trong các tổ chức thương mại vẫn
còn dựa trên Microsoft Windows. Do đó, Alchemi được phát triển để phục vụ








Chương 2. Tổng quan về công nghệ Grid Computing
- 47 -
nhu cầu thực hiện các giải pháp Grid tận dụng các khả năng tính toán dư thừa ở
các máy trạm và máy tính cá nhân chạy Windows trong các tổ chức. Alchemi
được xây dựng trên nền Microsoft .NET Framework, cung cấp khả năng xây
dựng các “desktop Grid”, nó cũng cung cấp mô hình lập trình hướng đối tượng
cùng với giao diện Web service cho phép truy cập đến các service từ bất kỳ môi
trường lập trình nào hỗ trợ SOAP và XML.
• Cluster Economy and Resource Allocation (Libra)
Libra là một hệ thống lập lịch cho cluster để đảm bảo rằng các tài nguyên
chia sẻ cho các công việc của người dùng để chúng có thể hoàn thành trong một
giới hạn về ngân sách do người dùng xác định.
• Grid Economy and Virtual Enterprise (Grid Market Directory,
Compute Power Market)
Đây có thể gọi là một thể hiện của cơ chế thị trường cho ngành tính toán
kinh tế. Grid Market Directory (GMD) là một dịch vụ đăng ký cho phép các nhà
cung cấp dịch vụ có thể đăng ký và phát hành các dịch vụ họ cung cấp và cho
phép người tiêu dùng có thể truy vấn để tìm ra dịch vụ phù hợp với nhu cầu.

Một số thuộc tính của dịch vụ là điểm truy cập(Access point), cơ chế đầu vào, và
chi phí khi sử dụng nó.
Compute Power Market (CPM) là một hệ thống lập lịch và quản lý tài
nguyên theo cơ chế thị trường. Nó cho phép trao đổi năng lực tính toán nhàn rỗi
trong mạng máy tính ngang hàng. Các thành phần của CPM đại diện cho thị
trường, nhà cung cấp và tiêu thụ là Market Server, Market Resource Agent, và
Market Resource Broker (MRB). Nó hỗ trợ nhiều mô hình kinh tế cho phép trao
đổi tài nguyên, tìm kiếm nhà phân phối và tiêu thụ, cho phép đưa vào nhiều cơ
chế lập lịch khác nhau.
• Grid Trading and Accounting Services (GridBank)
GridBank là một dịch vụ kế toán và chi trả trong Grid cung cấp một hạ
tầng bảo mật, an toàn cho phép người tiêu dùng dịch vụ (Grid Service
Consumers (GSC))
chi trả cho nhà cung cấp dịch vụ (Grid Service Providers
(GSP)) về việc sử dụng dịch vụ của mình.








Chương 2. Tổng quan về công nghệ Grid Computing
- 48 -
• Grid Resource Brokering and Scheduling (Gridbus Broker)
Gridbus Resource Broker cung cấp một giao diện trừu tượng đối với sự
phức tạp của Grid bằng cách làm trong suốt quá trình truy cập tài nguyên để
thực thi công việc trên Grid. Nó sử dụng các yêu cầu của người dùng để tạo ra
một tập các công việc, tìm kiếm tài nguyên, lập lịch, thực thi và kiểm soát, và

lấy kết quả về khi các công việc kết thúc.
Gridbus broker có khả năng định vị và lấy các dữ liệu cần thiết t
ừ nhiều
nguồn và chuyển tới nơi xử lý. Nó cũng có khả năng chọn lựa nơi chứa dữ liệu
tốt nhất trong nhiều site dựa trên sự có mặt của file và chất lượng đường truyền
dữ liệu.
• Grid Portals (GMonitor)
G-Monitor là một web-portal để kiểm soát và điều khiển tính toán trên
Grid. G-Monitor giao tiếp với các resource broker như Gridbus và Nimgrod-G
và sử dụng các dịch vụ của chúng để khởi tạo và kiểm soát việc thực thi ứng
dụng. Nó cung cấp các thông tin cập nhật về tiến trình thực thi từ mức chi tiết
các công việc đến mức tổng quát toàn bộ ứng dụng. Khi kết thúc, người dùng có
thể tập hợp các file kết quả thông qua G-Monitor.
• Grid Simulation (GridSim)
Bộ toolkit GridSim cung cấp các tiện ích cho việc mô hình, giả lập các tài
nguyên và kết nối mạng với các khả năng, cấu hình, vùng quản lý khác nhau. Nó
hỗ trợ các thành phần cơ bản xây dựng các ứng dụng, dịch vụ thông tin phục vụ
việc tìm kiếm tài nguyên, cung cấp giao diện phục vụ việc cấp phát tài nguyên
cho các tác vụ và quản lý việc thực thi. Nó cũng cung cấp một một giao diện mô
hình hoá trực quan để tạo các người dùng và tài nguyên. Các tính n
ăng này có
thể được sử dụng để giả lập các hệ thống song song và phân tán như resource
broker hoặc Grid scheduler để lượng giá hiệu quả của các giải thuật lập lịch,…

2
2
.
.
8
8

.
.
5
5
.
.




S
S
o
o


s
s
á
á
n
n
h
h


Hình 2-16 so sánh các middleware trên đây theo các dịch vụ được cung cấp
theo mô hình phân tầng kiến trúc Grid trong thực tế. UNICORE và Legion tích hợp









Chương 2. Tổng quan về công nghệ Grid Computing
- 49 -
các dịch vụ theo chiều sâu và có sự kết hợp chặt chẽ giữa các thành phần client và
server. Globus đi theo hướng tiếp cận “túi dịch vụ” (bag of service), cung cấp một
tập các công cụ cơ bản phong phú để có thể chọn lựa nhằm xây dựng các hệ thống
Grid. Các thành phần của Gridbus trải rộng hết toàn bộ kiến trúc Grid, mà không
liên kết, tích hợp chặt chẽ như UNICORE và Legion, chúng có thể được sử dụng
độc lập v
ới nhau.

Hình 2-16 So sánh giữa UNICORE, Globus, Legion và GridBus.
Bảng 2-2 so sánh các middleware dựa theo kiến trúc, mô hình cài đặt,…
Thuộc tính\
Middleware
UNICORE Globus Legion Gridbus
Tập trung vào
Mô hình lập trình
cấp cao
Các service cấp
thấp
Mô hình lập
trình cấp cao
Trừu tượng hoá
và các mô hình

thị trường tính
toán
Lĩnh vực

Tập trung vào thực
thi và kiểm soát job.
Mô hình tính
toán chung, tổng
quát
Mô hình tính
toán chung, tổng
quát
Mô hình tính
toán chung, tổng
quát
Kiến trúc
Hệ thống đa tầng
theo chiều sâu
Bộ toolkit có
phân tầng và
module hoá
Hệ thống tích
hợp theo chiềo
sâu.
Hệ thống các
thành phân tầng.
Chuẩn sử dụng
Mới bắt đầu áp dụng
OGSA, OGSI vào
phiên bản hiện đang

phát triển.
OGSA,OGSI. Không có Không có.
OGSA,OGSI
nếu sử dụng với
Globus
Mô hình triển
khai
Abstract Job Object Mô hình đồng hồ
cát ở mức độ hệ
thống
Siêu hệ thống
hướng đối tượng
Mô hình đồng hồ
cát ở mức độ hệ
thống
Công nghệ cài
đặt
Java C và Java C++ C, Java, C# và
Perl
Nền tảng thực
thi
Unix Unix Unix Unix và
Windows với
.NET
Môi trường lập
trình
Môi trường
workload
Thay thế các thư
viện của Unix và

C. Các thư viện
Legion API và
các công cụ
command line.
Broker Java API,
Ngôn ngữ tham
số dựa trên








Chương 2. Tổng quan về công nghệ Grid Computing
- 50 -
MPI đặc biệt
(MPICH-
G),CoG
(Commodity
Grid) kits với
Java, Python,
CORBA,
Matlab, Java
Server Pages,
Perl và Web
Services

XML.

Mô hình Grid
Thread trong
Alchemi.

Mô hình phân
phối
Mã nguồn mở Mã nguồn mở Mã nguồn đóng,
có các phiên bản
thương mại.
Mã nguồn mở
Sử dụng trong
một số ứng
dụng và người
dùng
+EuroGrid
+Grid
Interoperability
Project (GRIP)
+OpenMolGrid
+ Japanese NAREGI
+ AppLeS
+ Ninf
+ Nimrod-G
+ NASA IPG
+ Condor-G
+ Gridbus
Broker
+ UK eScience
Project
+ GriPhyN

+ EU Data Grid.
+ NPACI
Testbed
+ Nimrod-L
+NCBioGrid.

+ ePhysics
Portal + Belle
Analysis Data
Grid
+ NeuroGrid
+ Natural
Language
Engineering
+HydroGrid
+Amsterdam
Private Grid.
Quản lý tài
nguyên
Không có Có broker
service
Có broker
service
Gridbus broker
Cách thức liên
lạc
Mô hình AJO, không
hỗ trợ chuyển
message đồng bộ.
Thư viện Nexus Hỗ trợ nhiều loại

giao tiếp RMI
thông qua LOID
Không có thông
tin
Bảo mật
Sử dụng Secure
Socket Layer (SSL)
protocol và chứng
chỉ chứng thực
X.509V3.
Thông qua GSI,
cũng dựa trên
SSL và X.509V3
Không có thông
tin
+Dựa trên GSI
của Globus
+ Sử dụng các
chức năng bảo
mật của
Microsoft .NET
Framework
(Alchemi).
Bảng 2-2 Bảng so sánh các đặc tính của các middleware
Tóm lại :
Trên đây vừa giới thiệu một số middleware chính để xây dựng các hệ thống
Grid. Các middleware này cũng đã giải quyết cơ bản các vấn đề một hệ thống Grid
đặt ra, theo các cách khác nhau. Hiện nay bộ Globus Toolkit đang vươn lên và trở
thành chuẩn thực tế (de factor standard), trở thành nền tảng để xây dựng các hệ
thống Grid trong khoa học và thương mại. Globus được xây dựng trên các chuẩn

chung về hệ thống Grid như OGSA, OGSI,…(do tổ ch
ức Global Grid Forum xây








Chương 2. Tổng quan về công nghệ Grid Computing
- 51 -
dựng), được sự hỗ trợ và tài trợ của nhiều tổ chức, tập đoàn công nghệ thông tin lớn
trên thế giới. Với mục đích nghiên cứu về công nghệ Grid Computing, bộ Globus
Toolkit được chọn để nghiên cứu với mục đích tìm hiểu và nắm vững nền tảng xây
dựng các hệ thống Grid, làm điều kiện để xây dựng các dịch vụ, ứng dụng tầng cao
h
ơn của riêng mình. Do đó, toàn bộ phần sau của luận văn sẽ trình bày về Grid
trong ngữ cảnh là bộ Globus Toolkit.








Chương 3. Giới thiệu bộ Globus Toolkit phiên bản 3.2
- 52 -
C

C
h
h
ư
ư
ơ
ơ
n
n
g
g


3
3
.
.




G
G
i
i


i
i



t
t
h
h
i
i


u
u


b
b




G
G
l
l
o
o
b
b
u
u
s

s


T
T
o
o
o
o
l
l
k
k
i
i
t
t


p
p
h
h
i
i
ê
ê
n
n



b
b


n
n


3
3
.
.
2
2


3
3
.
.
1
1
.
.




G

G
i
i


i
i


t
t
h
h
i
i


u
u


3
3
.
.
1
1
.
.
1

1
.
.




G
G
i
i


i
i


t
t
h
h
i
i


u
u


Globus Toolkit là một bộ toolkit mã nguồn mở được sử dụng để xây dựng các hệ

thống và các ứng dụng Grid. Globus Toolkit hiện đang được phát triển bởi tổ chức
Globus Alliance và nhiều tổ chức khắp nơi trên thế giới. Globus Alliance là một
cộng đồng các cá nhân và tổ chức tham gia phát triển các công nghệ nền tảng cho
Grid.
Globus Toolkit cho phép hiện thực hoá các ý tưởng, mục tiêu đằng sau khái
niệm Grid. Bộ toolkit bao gồm các dịch vụ và thư vi
ện phục vụ việc bảo mật, hạ
tầng thông tin Grid, quản lý tài nguyên, quản lý dữ liệu, liên lạc, phát hiện lỗi, Nó
được đóng gói như một tập các thành phần có thể sử dụng độc lập hoặc kết hợp với
nhau. Mỗi tổ chức đều có những hoạt động, chính sách khác nhau, việc kết hợp,
chia sẻ tài nguyên từ nhiều tổ chức bị cản trở bở
i tính không tương thích giữa các tài
nguyên. Globus Toolkit được xây dựng để loại bỏ những trở ngại này. Các service,
interface, và protocol của nó cho phép người dùng truy cập đến các tài nguyên ở xa
như thể nó đang nằm trong máy tính của họ trong khi vẫn cho phép các tổ chức thiết
lập các chính sách cục bộ của mình như quản lý việc ai được phép dùng tài nguyên
và khi nào,
Mặc dù Globus được phát triển để phục vụ các dự án về khoa học và kỹ thuật,
nhưng hiện nay Globus cũ
ng đã được áp dụng vào lĩnh vực thương mại. Từ năm
2000, Các công ty hàng đầu thế giới trong lĩnh vực công nghệ thông tin như Avaki,
DataSynapse, Entropia, Fujitsu, Hewlett-Packard, IBM, NEC, Oracle, Platform, Sun
và United Devices, Microsoft đã bắt đầu xây dựng các chiến lược về Grid
Computing trên nền tảng Globus.









Chương 3. Giới thiệu bộ Globus Toolkit phiên bản 3.2
- 53 -
3
3
.
.
1
1
.
.
2
2
.
.




L
L


c
c
h
h



s
s




p
p
h
h
á
á
t
t


t
t
r
r
i
i


n
n


Cuối năm 1994, Rick Stevens ( Argonne National Laboratory) và Tom DeFanti
(Electronic Visualization Laboratory, University of Illinois, Chicago) đề nghị tạo

một đường kết nối tạm thời giữa 11 mạng nghiên cứu tốc độ cao để tạo ra một Grid
xuyên quốc gia (I-WAY) trong 2 tuần trước và trong hội nghị Supercomputing ’95.
Một đội ngũ phát triển nhỏ đứng đầu là tiến sỹ Ian Foster (Argonne National
Laboratory) đã tạo nên các protocol cho phép người dùng của I-WAY chạy các ứng
dụng trên các máy tính nằm rải rác khắp nước Mỹ. Thành công này đã được sự
tài
trợ của tổ chức Defense Advanced Research Projects Agency (DARPA) để tiếp tục
nghiên cứu và phát triển.
Đến năm 1997, phiên bản đầu tiên của Globus Toolkit ra đời.
Rồi tiếp theo là sự phát hành của Globus Toolkit Version 1 (GT1-1998), Globus
Toolkit Version 2 (GT2-2002), Globus Toolkit Version 3 (GT3-2003) và hiện nay
là Globus Toolkit Version 4 (GT4-2005). GT1 và GT2 là các phiên bản xây dựng
theo các mô hình và giao thức độc quyền của tổ chức Globus, đến GT3, GT4 thì
chuyển sang xây dựng các Grid service theo các chuẩn OGSA và OGSI.
Luận văn này giới thiệu về bộ Globus Toolkit version 3.2. Các thành phần cấu
thành bộ GT 3.2 được phát triể
n dưới 2 hình thức khác nhau, giữ lại toàn bộ các
thành phần của GT2 nhằm đảm bảo tính tương thích, phát triển mới các thành phần
dựa trên các chuẩn OGSA, OGSI và Web service với mô hình kiến trúc Service
Oriented Architeture (SOA). Bộ GT3.2 là một bước trung gian để chuyển từ mô
hình cũ sang mô hình mới. Tiếp theo dưới đây là một số công nghệ, chuẩn làm nền
tảng cho GT3.
3
3
.
.
2
2
.
.



C
C
á
á
c
c


c
c
ô
ô
n
n
g
g


n
n
g
g
h
h


,
,



c
c
h
h
u
u


n
n


l
l
i
i
ê
ê
n
n


q
q
u
u
a
a

n
n


3
3
.
.
2
2
.
.
1
1
.
.




S
S
e
e
r
r
v
v
i
i

c
c
e
e


O
O
r
r
i
i
e
e
n
n
t
t
e
e
d
d


A
A
r
r
c
c

h
h
i
i
t
t
e
e
t
t
u
u
r
r
e
e


(
(
S
S
O
O
A
A
)
)



Phần này giới thiệu đôi nét về một số khái niệm và thành phần cơ bản của kiến
trúc Service Oriented Architecture (SOA). SOA là kiến trúc của Web service và sau
đó là Grid Service.








Chương 3. Giới thiệu bộ Globus Toolkit phiên bản 3.2
- 54 -

3
3
.
.
2
2
.
.
1
1
.
.
1
1
.
.







G
G
i
i


i
i


t
t
h
h
i
i


u
u


S
S

O
O
A
A


SOA là một hướng tiếp cận mới trong kiến trúc phần mềm ứng dụng, trong đó,
một ứng dụng được cấu thành từ một tập các thành phần độc lập, phân tán, phối hợp
hoạt động với nhau được gọi là các service. Các service có thể được phân tán bất cứ
nơi nào, cả bên trong và ngoài một tổ chức. Xa hơn nữa, các thành phần service có
thể tồn tại trên nhiều nền tảng khác nhau, và có thể
được cài đặt bởi các ngôn ngữ
lập trình khác nhau.
Điểm mấu chốt của SOA là các chức năng của service được công bố dưới dạng
một giao diện chuẩn. Chi tiết cài đặt cụ thể các chức năng được che dấu, và người
dùng service cũng không cần quan tâm đến; người dùng chỉ gọi sử dụng các chức
năng của service thông qua các phương thức công bố trên giao diện. Có thể thấy
tính đóng gói này đượ
c kế thừa từ phương pháp lập trình hướng đối tượng.
Cùng với sự hỗ trợ của các service cơ bản như lập lịch truy xuất tài nguyên
(scheduler service), chỉ mục (index service), tìm kiếm tài nguyên (discovery
service),…, ứng dụng có thể xác định trong thời gian thực thi các service có chức
năng giống nhau từ nhiều nguồn, từ đó chọn ra service tốt nhất để sử dụng, đáp ứng
nhu cầu của ứng dụ
ng.
3
3
.
.
2

2
.
.
1
1
.
.
2
2
.
.






K
K
i
i
ế
ế
n
n


t
t
r

r
ú
ú
c
c


c
c


a
a


S
S
O
O
A
A


Gồm các thành phần và các thông điệp hoạt động trao đổi giữa chúng.
1. Các thành phần
SOA có 3 thành phần cơ bản là : Service Provider, Service Requestor và
Service Registry như trên hình 3-1.

Hình 3-1 Các thành phần của kiến trúc SOA.

×