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

BÁO CÁO SEMINAR MÔN HỌC TÍNH TOÁN LƯỚI Tìm hiểu về Applications of SOA and Web Services in

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 (1.48 MB, 39 trang )

Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 1










Applications of SOA and Web Services in
Grid Computing





GVHD: TS. Phạm Trần Vũ
HVTH:
Trần Anh Điền 10070475
Lương Ngọc Nhơn 09070456
Bùi Thị Thu Giang 10070476
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 2


MỤC LỤC
1 GIỚI THIỆU CHUNG 3
2 SERVICE ORIENTED ARCHITECTURE 3
2.1 SERVICE 3
2.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA SERVICE 4
2.3 SERVICE ORIENTED ARCHITECTURE 5
2.3.1 Định nghĩa SOA 5
2.3.2 Yêu cầu 5
2.3.3 Nguyên tắc 6
2.3.4 Các actor trong SOA 6
2.3.5 Ích lợi khi sử dụng SOA 7
2.3.6 Thông điệp (message) trong SOA 8
3 WEB SERVICE 9
3.1 CấU TRÚC WEB SERVICE 10
3.2 SIMPLE OBJECT ACCESS PROTOCOL – SOAP 11
3.2.1 Các đặc điểm của SOAP 11
3.2.2 SOAP Message Structures 12
3.3 WEB SERVICE DESCRIPTION LANGUAGE – WSDL 15
4 GRID SERVICE 16
4.1 ĐịNH NGHĨA GRID SERVICE 16
4.2 CÁC ĐẶC ĐIỂM CỦA GRID SERVICE 16
5 KIẾN TRÚC DỊCH VỤ LƯỚI MỞ (OPEN GRID SERVICE ARCHITECTURE (OGSA)) 17
5.1 GIớI THIệU TổNG QUAN 17
5.2 LIÊN QUAN GIỮA OGSA, WEB SERVICE VÀ GRID SERVICE 19
5.3 OPEN GRID SERVICES INFRASTRUCTURE 21
a. Grid service descriptions and instances 22
b. Service state, metadata, and introspection 23
c. Naming và name resolution 25
d. Service life cycle 25
e. Fault type 26

f. Service groups 26
g. Các Core Service của OGSI 27
h. OGSA và Stateful service 28
5.4 OGSA HIệN THỰC TRONG GT3 28
6 WEB SERVICE RESOURCE FRAMEWORK 33
6.1 TỔNG QUAN VỀ WSRF 33
6.2 HIỆN THỰC WSRF 36
TÀI LIỆU THAM KHảO 38

Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 3


1 Giới thiệu chung
Báo cáo cung cấp những khái niệm cơ bản về Service Oriented Architecture
(SOA), Web service và chi tiết hóa Grid service.
Bố cục của báo cáo bao gồm những phần sau:
Service Oriented Architecture
Định nghĩa SOA, các thành phần của một hệ thống thiết kế theo SOA và
những lợi ích khi thiết kế hệ thống theo SOA.
Web Service
Định nghĩa Web service, các đặc điểm chính, các protocol được áp dụng
trong Web service
Open Grid Service Architecture(OGSA)
Web Service Resource Framework
2 Service Oriented Architecture
2.1 Service
Về mặt định nghĩa, service là một hệ thống có khả năng nhận một hay nhiều

yêu cầu xử lý và sau đó đáp ứng lại bằng cách trả về một hay nhiều kết quả. Quá
trình nhận yêu cầu và trả kết quả về được thực hiện thông qua các interface đã
được định nghĩa trước đó. Thông thường việc giao tiếp này được thực hiện trên các
interface đã được chuẩn hóa và sử dụng rộng rãi.
Một ví dụ đơn giản của service chính là hoạt động của một nhà hàng. Khi khách
hàng vào nhà hàng và gọi thức ăn, khách hàng đang tiến hành gởi yêu cầu cho
service “phục vụ khách hàng” của nhà hàng. Nhân viên nhà hàng nhận được yêu
cầu của khách, nếu món ăn khách hàng yêu cầu nhà hàng không có hoặc đã hết,
nhân viên nhà hàng sẽ từ chối hoặc đề nghị khách hàng gọi món khác. Nếu nhà
hàng có thể đáp ứng được yêu cầu của khách, món ăn sẽ được chế biến và mang ra
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 4

cho khách hàng thưởng thức sau một khoảng thời gian chờ. Ở đây, yêu cầu chính
là món ăn mà khách hàng muốn thưởng thức, còn kết quả trả về của service phục
vụ nhà hàng chính là từ chối (nếu nhà hàng không đáp ứng được yêu cầu của
khách) hay là món ăn mà khách hàng cần.
Một hệ thống được thiết kế theo kiểu hướng service (service oriented) là một
hệ thống trong đó các chức năng của hệ thống được xây dựng dựa trên các service
có độ kết dính thấp. Các service trong hệ thống giao tiếp với nhau thông qua việc
gởi nhận các thông điệp (message).
2.2 Các đặc điểm chính của service
Có ranh giới rõ ràng (Boundaries Are Explicit)
Mỗi service được xây dựng dựa trên các interface chuẩn hóa đã được sử
dụng rộng rãi.
Chi tiết hiện thực của mỗi service sẽ không được thể hiện ra bên ngoài.
Mỗi service chỉ công bố một số các interface của nó cho user có thể dùng
để gởi các yêu cầu và nhận kết quả trả về.

Tính tự trị (Autonomous)
Về mặt lý thuyết, mỗi service có tính độc lập cao, có thể được build và
đưa vào sử dụng mà không phụ thuộc vào các service khác.
Share the Schema and Contract, Not the Class
Về mặt trao đổi dữ liệu, các service không truyền các class và type. Thay
vào đó, các class và type sẽ được đặc tả hình thức (data được đặc tả trong
schema, behavior được đặc tả thành các contract )
Service Compatibility Is Based on Policy
Sự tương thích giữa các service được căn cứ vào các policy.
Tương thích về mặt cấu trúc dựa trên các đặc tả hình thức bao gồm
contract (dựa trên Web Service Description Language (WSDL) hoặc
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 5

Business Process Execution Language for Web Services (BPEL4WS)) và
schema (XSD)
Sự tương thích dựa trên policy cung cấp khả năng phân tích cũng như
đảm bảo sự tương thích giữa các service.
2.3 Service Oriented Architecture
Service Oriented Architecture (SOA) cung cấp cơ chế cho phép các hệ thống
hoạt động trên các platform khác nhau có thể giao tiếp với nhau.
Một hệ thống được xây dựng theo mô hình SOA bao gồm các service thỏa
mãn các tính chất của service ở mục 2.2. Mỗi service trong hệ thống có thể được
sửa đổi một cách độc lập với các service khác nhằm mục đích đáp ứng một yêu cầu
mới từ thực tế.
2.3.1 Định nghĩa SOA
Theo DotNetGuru, là
"Khái niệm về hệ thống trong đó mỗi ứng dụng được xem như một nguồn cung

cấp dịch vụ".
Theo OASIS :
“Một mô hình tổ chức và sử dụng khả năng phân phối có thể được dưới sự kiểm
soát của các ownership domains khác nhau. Nó dùng thống nhất một phương tiện
để cung cấp, khám phá, tương tác và sử dụng khả năng để tạo ra hiệu ứng mong
muốn phù hợp với điều kiện tiên quyết như mong đợi và đo lường được.”
2.3.2 Yêu cầu
Để sử dụng hiệu quả một SOA, các kiến trúc phải đáp ứng các yêu cầu sau đây:
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 6

Khả năng cộng tác giữa các hệ thống khác nhau và ngôn ngữ lập trình làm cơ sở
cho việc hội nhập giữa các ứng dụng trên các nền tảng khác nhau thông qua một
giao thức truyền thông.
Mong muốn tạo ra một liên kết tài nguyên. Thiết lập và duy trì luồng dữ liệu đến
một hệ thống cơ sở dữ liệu liên kết.
2.3.3 Nguyên tắc
Các nguyên tắc sau đây hướng dẫn xác định các nguyên tắc cơ bản để phát triển,
bảo trì, và cách sử dụng của SOA :
tái sử dụng, độ chi tiết , mô đun , composability, cấu thành và khả năng
tương tác .
tuân thủ các tiêu chuẩn (cả hai đều chung và ngành công nghiệp cụ thể).
dịch vụ nhận dạng và phân loại, cung cấp và phân phối, và giám sát và theo
dõi.
2.3.4 Các actor trong SOA
Hình 1 mô tả các actor tham gia trong một hệ thống xây dựng theo SOA.
Service Provider: Cung cấp stateless service phục vụ cho một nhu cầu nào
đó. User (service consumer) không cần quan tâm đến vị trí thực sự mà

service họ cần sử dụng đang hoạt động.
Serive Consumer: User sử dụng service được cung cấp bởi Service Provider
Service Registry: Nơi lưu trữ thông tin về các service của các Service
Provider khác nhau, Service Consumer dựa trên những thông tin này để tìm
kiếm và lựa chọn Service Provider phù hợp.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 7


Hình 1: SOA actors
Service Provider sẽ đăng kí thông tin về service mà mình có thể cung cấp
(các chức năng có thể cung cấp, khả năng của hệ thống (resource, performance),
giá cả dịch vụ, ) vào Service Registry. Service Consumer khi có nhu cầu về một
service nào đó sẽ tìm kiếm thông tin trên Service Registry. Ngoài chức năng hỗ trợ
tìm kiếm, Service Registry còn có thể xếp hạng các Service Provider dựa trên các
tiêu chí về chất lượng dịch vụ, bầu chọn từ các khách hàng đã sử dụng service,
Những thông tin này sẽ hỗ trợ thêm cho quá trình tìm kiếm của Service Consumer.
Khi đã xác định được Service Provider mong muốn, Service Consumer thiết lập
kênh giao tiếp trực tiếp với Service Provider nhằm sử dụng service hoặc tiến hành
thương lượng thêm (về mặt giá cả, resource sử dụng, )
2.3.5 Ích lợi khi sử dụng SOA
Sử dụng mô hình SOA trong việc thiết kế hệ thống mang lại lợi ích về mặt
kinhtế cũng như kỹ thuật.
Lợi ích kinh tế
 Doanh nghiệp có điều kiện tập trung thời gian để tìm kiếm các giải
pháp cho các bài toán liên quan đến kinh tế.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing


Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 8

 Thúc đẩy sự phát triển của hệ thống hiện có cũng như cung cấp
khả năng mở rộng hệ thống trong tương lai.
Lợi ích kỹ thuật
 Hệ thống xây dựng theo mô hình SOA đảm bảo các service trong
hệ thống có tính độc lập cao (độ kết dính thấp) (autonomous và
loose coupling).
 Ở góc nhìn người sử dụng, vị trí các service có tính trong suốt
(transparency), việc di dời các service đến một máy tính khác
không ảnh hưởng khả năng phục vụ yêu cầu khách hàng.
 Hoạt động của các service có tính động, hành vi của các service
tùy thời đểm, tùy yêu cầu cần xử lý mà có sự khác nhau (late
binding).
2.3.6 Thông điệp (message) trong SOA
So với kiểu thiết kế Component-Based, điểm khác biệt chính của SOA là
cung cấp khả năng giao tiếp giữa các thành phần trong hệ thống (service) sử dụng
thông điệp (message) dựa trên các chuẩn giao tiếp đã được chuẩn hóa (HTTP, FTP,
SMTP, ). Chính nhờ đặc điểm này, hệ thống SOA trở nên độc lập với platform
(platform independent). Các service hoạt động trên nền các platform khác nhau vẫn
có thể giao tiếp với nhau nhờ vào các interface giao tiếp đã được chuẩn hóa để
cộng tác xử lý một tác vụ nào đó.
Sử dụng thông điệp (message) để giao tiếp có các lợi thế sau:
Cross-platform: thông điệp (message) trở thành ngôn ngữ chung của các
platform và các ngôn ngữ lập trình khác nhau. Điều này đảm bảo các service
trên các platform khác nhau hoạt động với cấu trúc dữ liệu đặc thù của
platform đó.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing


Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 9

Asynchronous communications: hoạt động gởi nhận thông điệp được thực
hiện theo cơ chế Fire-and-Forget. Sender và Receiver không cần phải chờ
thông điệp trả lời sau khi đã gởi đi một thông điệp. Điều này giúp cho
Sender và Receiver tiếp tục xử lý công việc sau khi gởi thông điệp mà không
cần dừng thực thi để chờ thông điệp trả lời.
Reliable communication: các thông điệp từ Sender có thể được gởi đến một
service trung gian có nhiệm vụ lưu trữ (store) các thông điệp. Service trung
gian sẽ gởi (forward) thông điệp cho Receiver khi Receiver có thể xử lý yêu
cầu tiếp theo. Cơ chế Store-and-Forward này đảm bảo các thông điệp sẽ
không bị thất lạc trong trường hợp Receiver bị quá tải và không thể nhận
thêm yêu cầu mới.
Thread management: Việc trao đổi thông điệp theo cơ chế bất đồng bộ giúp
ứng dụng không cần ngừng thực thi để chờ một tác vụ kết thúc mà có thể tạo
ra các thread xử lý các công việc khác nhau.
Remote communication: Các thông điệp lưu trữ thông tin về các đối tượng
dữ liệu dưới dạng đặc tả hình thức thay thế việc phải serialization and
deserialization các đối tượng dữ liệu truyền qua mạng khi ứng dụng thực
hiện remote call một ứng dụng khác.
End-to-end security: Thông điệp có thể lưu trữ thông tin về security context
của kênh giao tiếp. Điều này cung cấp khả năng điều khiển liên quan đến
security như authentication and authorization.
3 Web Service
Web service là một hiện thực của service sử dụng web protocol để giao tiếp.
Web service cung cấp hệ thống phần mềm hỗ trợ việc giao tiếp giữa các máy tính
trên network.

Báo cáo seminar: Applications SOA and WEB services in Grid Computing


Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 10





3.1 Cấu trúc Web service

Hình 2: Web service protocol stack
Hình 2 mô tả các layer hình thành nên Web service. Hình 3 mô tả các Web
service actor tương ứng với các layer này.
Tương tự với SOA, có 3 actor chính tham gia vào Web service.
Service Provider: Dùng Web Services Description Language (WSDL) để mô
tả dịch vụ mà mình có thể cung cấp cho Service Broker (tương tự với
Service Registry trong SOA).
Service Broker: Lưu trữ thông tin về các service được cung cấp bởi các
Service Provider. Cung cấp chức năng tìm kiếm hỗ trợ Service Requester
(Service Consumer trong SOA) trong việc xác định Service Provider phù
hợp. Thành phần chính của Service Broker là Universal Discovery,
Description, and Integration (UDDI) repositories.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 11

Service Requester: Dùng WSDL để đặc tả nhu cầu sử dụng (loại service,
thời gian sử dụng, resource cần thiết, mức giá ) và gởi cho Service Broker.
Bằng việc sử dụng UDDI và chức năng tìm kiếm của Service Broker,

Service Requester có thể tìm thấy Service Provider thích hợp. Ngay sau đó,
giữa Service Requester và Service Provider thiết lập kênh giao tiếp sử dụng
SOAP để thương lượng giá cả và các yếu tố khác trong việc sử dụng service.

Hình 3: Web service actors
3.2 Simple Object Access Protocol – SOAP
SOAP là một protocol giao tiếp dùng trong Web service được xây dựng dựa
trên XML. SOAP được sử dụng để đặc tả và trao đổi thông tin về các cấu trúc dữ
liệu cũng như các kiểu dữ liệu giữa các thành phần trong hệ thống.
Sử dụng SOAP, ứng dụng có thể yêu cầu thực thi method trên máy tính ở xa mà
không cần quan tâm đến chi tiết về platform cũng như các phần mềm trên máy tính
đó.
3.2.1 Các đặc điểm của SOAP
Khả năng mở rộng (Extensible): Cung cấp khả năng mở rộng phục vụ cho
nhu cầu đặc thù của ứng dụng và nhà cung cấp. Các chức năng về bảo mật,
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 12

tăng độ tin cậy có thể đưa vào phần mở rộng của SOAP. Các nhà cung cấp
dịch vụ khác nhau, tùy vào đặc điểm hệ thống của mình có thể định nghĩa
thêm các chức năng mở rộng nhằm tăng thêm lợi thế cạnh tranh cũng như
cung cấp thêm tiện ích cho người sử dụng.
Có thể hoạt động trên các network protocol đã được chuẩn hóa (HTTP,
SMTP, FTP, TCP, )
Độc lập với platform, ngôn ngữ lập trình hay programming model được sử
dụng.
3.2.2 SOAP Message Structures
Hình 4 mô tả giao tiếp của một ứnng dụng với một web service được thực

hiện qua thông điệp SOAP sử dụng network protocol HTTP. Ứng dụng sẽ đặc tả
yêu cầu trong SOAP message và thông qua network protocol gởi đến cho web
service. Web service sẽ nhận và phân tích yêu cầu sau đó trả về kết quả thích hợp.

Hình 4: Messaging using SOAP

Application

Web Service
SOAP
Network protocols
(HTTP …)
SOAP
Network protocols
(HTTP …)
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 13

Hình 5 mô tả cấu trúc một thông điệp SOAP. Một thông điệp SOAP bao
gồm các thành phần sau:
Protocol Header: Cho biết thông tin về các chuẩn giao thức được sử dụng.
SOAP Envelop: Thông tin chính của message bao gồm:
 SOAP Header: Chứa các SOAP header.
 SOAP body: Thông tin về name và data được đặc tả dưới dạng
XML. Ngoài ra còn có trường lỗi được dùng để gởi các web
service exception.

Hình 5: SOAP message structure

Sau đây là ví dụ về SOAP message, trong đó message request được sử dụng
để yêu cầu web service thực hiện method „int doubleAnInteger (int
numberToDouble)‟ nhằm nhân đôi một số nguyên. Messge request sẽ truyền đối số
123(số nguyên cần nhân đôi) trong phần SOAP body:
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 14

Request
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="
xmlns:SOAP-ENV="
xmlns:SOAP-ENC=
xmlns:xsi="
xmlns:xsd="
<SOAP-ENV:Body>
<ns1:doubleAnInteger xmlns:ns1="urn:MySoapServices">
<param1 xsi:type="xsd:int">123</param1>
</ns1:doubleAnInteger>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Response
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=
xmlns:xsi=
xmlns:xsd="
<SOAP-ENV:Body>

<ns1:doubleAnIntegerResponse
xmlns:ns1="urn:MySoapServices"
SOAP-ENV:
encodingStyle="
<return xsi:type="xsd:int">246</return>
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 15

</ns1:doubleAnIntegerResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Message response mang thông tin kết quả trả về trong phần body. Kết quả
của phép nhân đôi số nguyên 123 (được truyền bởi message request) là 246.
3.3 Web Service Description Language – WSDL
Việc đặc tả chức năng, interface giao tiếp của một web service được thực
hiện dựa vào Web Service Description Language (WSDL). Việc đặc tả này bao
gồm protocol được sử dụng, cấu trúc và định dạng dữ liệu dùng để giao tiếp
Hình 6 mô tả các thành phần cơ bản của một file WSDL dùng để đặc tả một
web service.
Services: Chứa các method có thể được sử dụng thông qua các web protocol.
Ports: Địa chỉ dùng để kết nối đến web service. Thông thường, ports được mô
tả bằng một HTTP URL.

Hình 6: Overview of WSDL

Báo cáo seminar: Applications SOA and WEB services in Grid Computing


Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 16

Port Types: định nghĩa một web service, các tác vụ mà service cung cấp và
định dạng các thông điệp được sử dụng để khởi động các tác vụ này.
Operations: Mỗi operation có thể được xem như một method hay một lời gọi
hàm trong các ngôn ngữ lập trình cổ điển.
Binding: chỉ định port type, các operation, SOAP binding stype
(RPC/Document), SOAP protocol được dùng.
Message: Mỗi message tương ứng với một operation và chứa các thông tin
cần thiết để thực thi operation đó. Mỗi message có một name duy nhất và một
hay nhiều logical part. Các logical part được phân biệt với nhau qua name và
có thể lưu trữ các tham số cần cho operation.
Element: Được định nghĩa trong Types. Mỗi element có một name duy nhất
và kiểu dữ liệu. Element được dùng để đặc tả dữ liệu dùng trong message.
Element có thể đặc tả các dữ liệu đơn giản (string, integer) hay phức tạp hơn
như array, struct,
XSD file: Các element thường được định nghĩa trong các XML Schema
Definition (XSD) file. XSD file có thể ở trong cùng file WSDL hoặc ở file
riêng biệt.
4 Grid Service
4.1 Định nghĩa Grid Service
Về mặt định nghĩa, Grid Service là Web Service được thay đổi cho phù hợp
với môi trường grid.
4.2 Các đặc điểm của Grid service
Transient in Nature (Lifetime, Migration): đối với môi trường grid, khi có
một yêu cầu được gởi đến, một service sẽ được tạo ra để đáp ứng yêu cầu
đó. Khi service đáp ứng xong yêu cầu, service sẽ bị hủy. Đối với web
Báo cáo seminar: Applications SOA and WEB services in Grid Computing


Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 17

service, khi nhận được một yêu cầu mới, service sẽ tạo ra một thread để xử
lý yêu cầu đó.
Stateful Service: Grid service là stateful, grid service cần lưu trữ thông tin về
mỗi session giữa consumer và provider.
So với Web Service, Grid Service sử dụng Service Data nhằm lưu trữ thông
tin về trang thái hiện tại của service (state information) (kết quả cuối cùng
hay kết quả trung gian của các operation, thông tin về runtime của hệ thống,
) hoặc thông tin về chính service (service metadata) (system data, các
interface được hỗ trợ, giá sử dụng service, )
Grid service interface được đặc tả thông qua GWSDL (Grid WSDL).
Cung cấp cơ chế quản lý thời gian sống (lifecycle management).
Grid Service cung cấp cơ chế định nghĩa các portType mở rộng. Mọi grid
service đều phải thừa kế từ portType chuẩn GridService. Ngoài ra, mỗi grid
service có thể thừa kế (extend) các portType của hệ thống cung cấp sẵn
nhằm tăng thêm tính năng của service.
5 Kiến trúc dịch vụ lưới mở (Open Grid Service Architecture (OGSA))
5.1 Giới thiệu tổng quan
Trải qua lịch sử hình thành và phát triển, một ứng dụng phân bố có thể được xây
dựng dựa trên những kỹ thuật khác nhau (Hình 1.1). Từ lập trình socket (Socket
Programming) đến kỹ thuật gọi thủ từ từ xa (Remote Procedure Calls – RPC), … và hiện
nay đang phát triển mạnh mẽ với kỹ thuật dựa trên nền tảng của các dịch vụ web (Web
Services).
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 18



Hình 1.1: Các kỹ thuật xây dựng ứng dụng phân bố
Tuy nhiên, trong một ứng dụng lưới - Grid, thường có khá nhiều dịch vụ (service)
khác nhau. Điển hình như: dịch vụ quản lý tổ chức ảo - VO Management Service, dịch vụ
khám phá và quản lý tài nguyên - Resource Discovery and Management Service, dịch vụ
quản lý các tác vụ - Job Management service, các dịch vụ liên quan đến bảo mật, v.v
Các dịch vụ này không ngừng tương tác với nhau, chẳng hạn như Job Management
service yêu cầu Resource Discovery and Management Service tìm các tài nguyên để thực
thi công việc. Khi đó, để các dịch vụ này có thể làm việc chung với nhau một cách hiệu
quả, đòi hỏi cần phải xây dựng một chuẩn chung thống nhất cho các dịch vụ Grid. Cụ thể,
đó là một giao tiếp chung (common interface) cho mỗi loại dịch vụ. Tương tự như Web,
đó cũng là một ứng dụng chạy trên Internet, xây dựng trên những hạ tầng chuẩn (HTML,
HTTP, v.v ), và được các ứng dụng trình duyệt sử dụng chung. Do đó, nó có thể hoạt
động rộng rãi trên rất nhiều môi trường. Sự chuẩn hóa trong môi trường bất đồng nhất,
hỗn tạp (Heterogeneity) như Grid, là rất cần thiết. OGSA ra đời để đáp ứng nhu cầu đó.
Open Grid Service Architecture (OGSA), tạm dịch là Kiến trúc dịch vụ lưới mở.
Được giới thiệu lần đầu trong bài báo “Physiology of the Grid” (I.Foster, C.Kesselman,
J.Nick, y S.Tuecke), tại Global Grid Forum 4 vào tháng 2 năm 2002 bởi nhóm Globus
và IBM. Với mục đích đưa ra kiến trúc chung, chuẩn và mở cho các ứng dụng tính toán
lưới. OGSA có mục tiêu là chuẩn hóa các service trong ứng dụng lưới bằng cách chỉ định
một tập các giao diện - interface chuẩn cho các dịch vụ này.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 19

Cụ thể, OGSA định nghĩa một tập các giao tiếp lỏi (core interface), và cácc hành vi,
nhằm giải quyết các mối quan tâm chính trong hệ thống Grid. Đó là giúp cho các dịch vụ
khác nhau, trong một ứng dụng và trên nhiều hệ thống khác nhau, có thể được sử dụng
theo cùng một cách, không kể nó thuộc vào tổ chức nào, hay thực thi bên trong ra sao.

Hình 1.2 cho thấy mô hình tổng quát của OGSA

Hình 1.2: Kiến trúc mô hình OGSA
5.2 Liên quan giữa OGSA, web service và grid service
Tương tự như các kiến trúc khác, OGSA cũng cần chọn một middleware phù hợp
cho việc xây dựng hệ phân bố của mình. Trong số đó có thể kể đến CORBA, RPC, RMI,
Tuy nhiên, dịch vụ web được chọn vì có những ưu điểm nổi trội sau:
OGSA dựa trên công nghệ web service đã có từ trước, và trong một chừng mực
nào đó, cải tiến nó để phục vụ cho yêu cầu của mình. Ưu điểm của dịch vụ web có thể kể
đến:
 Sự phân tách rạch ròi giữa interface (giao tiếp, cho biết dịch vụ là gì) và
implementation (thực thi, dịch vụ làm như thế nào)
 Dựa trên ngôn ngữ XML được sử dụng rất rộng rãi và uyển chuyển hiện nay
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 20

 Được sử dụng rộng rãi và có nhiều ứng dụng sẵn có hỗ trợ. Công nghệ SOA
cũng đang rất được ưa chuộng.
Dịch vụ web tỏ ra rất phù hợp, đáp ứng được những yêu cầu của OGSA và hệ
thống lưới nói chung, khi mà nó có thể giải quyết được vấn đề khó khăn khi phải làm
việc trong một môi trường bất đồng nhất, hỗn tạp như Grid.
Tuy nhiên, bên cạnh những ưu điểm kể trên, dịch vụ web cũng có một số hạn chế,
mang tính chất đặc thù. Đó là tính vô trạng thái (stateless), không tạm thời (Non-transient
hay Persistent), thiếu sự hỗ trợ cho các dịch vụ về phản hồi thông tin trạng thái dịch vụ,
cũng như khả năng quản lý thời gian sống của dịch vụ.
Do đó, OGSA đã định nghĩa khái niệm Grid service để khắc phục những hạn chế
trên. Grid service (dịch vụ lưới), thực ra cũng là dịch vụ web cải tiến, và tương thích với
dịch vụ web. Điểm khác biệt chính là nó có thêm trạng thái cho tài nguyên (stateful

resource), đáp ứng yêu cầu của Grid.
Grid service có thể duy trì trạng thái nội tại trong suốt chu trình sống của một dịch
vụ. Việc tạo và hủy là hoàn toàn linh động. Mỗi Grid service có một định danh riêng và
được quản lý toàn cục bằng Grid Service Handle (GSH). Những đặc tả này được định
nghĩa trong lớp cơ sở hạ tầng do OGSA tạo ra: Open Grid Services Infrastructure
(OGSI). Tất cả dịch vụ trong OGSA (ví dụ như Job management, security, v.v…), sẽ dựa
trên và thực thi với Grid service. Như vậy, thực chất OGSA dựa trên Grid service, một
khái niệm mới trong hệ thống lưới.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 21


Hình 1.3: Mối quan hệ giữa OGSA và OGSI với Grid service, Web service
5.3 Open grid services infrastructure
OGSA không đặc tả chi tiết cách hiện thực các dịch vụ lưới trên dịch vụ web, nó
chỉ đặc tả các chuẩn chung cho các dịch vụ hỗ trợ cho dịch vụ lưới. Chúng được phân
thành hai loại: OGSA Platform Service và OGSA Core Service. Để hỗ trợ và chuẩn hoá
các OGSA Core Service này, OGSI được đặc tả như là chuẩn chung cho cách hiện thực
các dịch vụ lỏi này.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 22

Web Services Messaging, Security, Etc.
Open Grid Services Infrastructure
Domain-Specific Services
Core Services

Program
Execution
Data Services
Standardization

Hình 1.4: Vị trí của OGSI trong mô hình OGSA
Một số khái niệm trong OGSI:
a. Grid service descriptions and instances
Trong mô hình Web services chuẩn, các dịch vụ được tạo ra cũng như hủy
bỏ nằm ngoài phạm vi của bản thân Web services. Vì vậy chúng được xem như
không có tính tạm thời (Non-Transient). Tuy nhiên trong thực tế, ứng dụng thường
xuyên khởi tạo service mới và khi các tác vụ đã hoàn tất thì Web services bị hủy
đi.
OGSI cung cấp một cơ chế phân biệt giữa phần mô tả và phần thể hiện của
dịch vụ (Service Instance) . Phần mô tả sẽ định nghĩa các giao diện (Interface)
chuẩn và hành vi của dịch vụ. Các thể hiện (Instances) sẽ hiện thực các hành vi
này.


Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 23


Hình 1.5: Tác vụ của người dùng kích hoạt nhiều thể hiện GS khác nhau
b. Service state, metadata, and introspection
WSDL chuẩn không có khái niệm “trạng thái” của service (Stateless). Vì
thế OGSI đưa ra khái niệm dữ liệu dịch vụ (Service Data) để biểu diễn siêu dữ liệu
và các trạng thái. Các thông tin này được xem như một phần mô tả của service và

có thể được truy xuất từ các thể hiện dịch vụ khác nhau.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 24


Hình 1.6: Sơ đồ phân cấp của service factory,
service data và service data elements
Ứng dụng client có thể yêu cầu service instance trả về các thông tin của
chính service đó. Ví dụ: các interface, đặc tả thông tin trạng thái hiện tại của
service, thời điểm kết thúc của service, …
OGSI cung cấp hai cơ chế truy xuất trạng thái ứng dụng: pull và push.
- Pull mode: OGSI cung cấp tác vụ findServiceData kết hợp với service
interface cho phép client có thể truy vấn (query) thông tin trạng thái ứng
dụng.
- Push mode: client đăng ký các với service thông tin trạng thái mình
mong muốn thông qua các interface NotificationSource,
NotificationSubscription, và NotificationSink. Khi trạng thái service
thay đổi, service sẽ thực hiện hành vi phản hồi (callback) thông báo cho
client biết.
Báo cáo seminar: Applications SOA and WEB services in Grid Computing

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang
Page 25

c. Naming và name resolution
Vì Grid service được khởi tạo động và có trạng thái nên cần phải có cách
thức để phân biệt giữa các instance của grid service. Do đó ta cần phương thức đặt
tên cho các instance này.

OGSI đưa ra cơ chế đặt tên hai mức. Mỗi grid instance sẽ được gán một
Grid Service Handle(GSH) và được quản lý bởi HandleResolver. GSH là toàn cục
và duy nhất tồn tại trong suốt thời gian sống của instance.
Client thể giao tiếp với service instance cũng như các service instance với
nhau thông qua Grid Service Reference (GSR).
Không giống với GSH, GSR được tạo ra, thay đổi, hủy trong suốt thời gian
sống của service instance.
Hình dưới minh họa cơ chế hoạt động của naming.

Hình 1.7: Cơ chế phân giải tên
d. Service life cycle
Một trong những điểm khác biệt chính giữa Grid service và Web service là
Grid service có thể transient (tạo và hủy). OGSI cung cấp cơ chế cho phép các
instance khởi tạo, hủy cũng như quản lý thời gian sống của các instance này.
Service instance có thể quy định thời gian sống bằng các phương thức sau:
- Khởi tạo ban đầu: khi có yêu cầu khởi tạo mới một grid service, client
gửi kèm khoảng thời gian sống cụ thể của service instance.

×