isas mid/end sem project submission formptvu/gc/2010/grid-soa.doc · web viewviệc đặc tả...

44
ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH BÀI TẬP LỚN GRID COMPUTING ĐỀ TÀI: Applications of SOA and Web Services in Grid Computing Người thực hiện: Phạm Hồng Thanh Mã số học viên : 09070462 Người thực hiện: Lê Hoàng Ngọc Quỳnh Mã số học viên : 09070460 1

Upload: others

Post on 04-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH

KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

BÀI TẬP LỚN GRID COMPUTING

ĐỀ TÀI: Applications of SOA and Web Services in Grid Computing

Người thực hiện: Phạm Hồng Thanh

Mã số học viên : 09070462

Người thực hiện: Lê Hoàng Ngọc Quỳnh

Mã số học viên : 09070460

TPHCM, tháng 6/2010

1

Page 2: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

MỤC LỤC

I. Giới thiệu chung_____________________________________________________4

II. Service Oriented Architecture__________________________________________4

1. Service________________________________________________________________4

2. Các đặc điểm chính của service_____________________________________________5

3. Service Oriented Architecture______________________________________________6

III. Web Service________________________________________________________9

1. Cấu trúc Web service_____________________________________________________9

2. Simple Object Access Protocol – SOAP______________________________________12

3. Web Service Description Language – WSDL__________________________________15

IV. Grid Service________________________________________________________17

1. Các đặc điểm của Grid service_____________________________________________17

V. Open Grid Service Architecture (OGSA)__________________________________18

1. OGSA là gì_____________________________________________________________18

2. OGSA, Web Service và Grid service_________________________________________19

3. Open Grid Services Infrastructure__________________________________________21

4. OGSA và Stateful service_________________________________________________25

5. Hiện thực OGSA - Globus Toolkit 3_________________________________________25

2

Page 3: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

VI. Web Services Resource Framework (WSRF)______________________________26

1. Đặc tả WSRF___________________________________________________________28

2. WSRF đã giải quyết vấn đề cũ như thế nào?_________________________________30

3. WSRF phát biểu lại OGSI_________________________________________________30

4. Hiện thực WSRF________________________________________________________31

VII. Thay cho lời kết____________________________________________________32

VIII. Tài liệu tham khảo________________________________________________32

3

Page 4: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

I. Giới thiệu chungTrong những năm gần đây Tính toán lưới được các nhà nghiên cứu đầu tư và cho

ra nhiều kết quả quan trọng. Trong bài báo cáo này sẽ đi vào giới thiệu những ứng dụng

của Service Oriented Architecture (SOA), Web service trên môi trường Tính toán lưới.

Ngoài ra kiến trúc Open Grid Service Architecture(OGSA) cũng được giới thiệu. Phần

cuối cùng của báo cáo sẽ trình bày về Web Service Resource Framework (WSRF).

II. Service Oriented Architecture

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ậc đượ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 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

4

Page 5: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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).

Figure 1: Mô hình kiến trúc một hệ thống thông tin trường đại học

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

5

Page 6: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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 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.

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ỗ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ế.

a. Các actor trong 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.

6

Page 7: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Figure 2: 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, ...)

b. Í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ế

o 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ế.

7

Page 8: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

o 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

o 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).

o Ở 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.

o 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).

c. 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 đó.

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.

8

Page 9: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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.

III. Web ServiceWeb 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.

1. C u trúc Web serviceấ

9

Page 10: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Figure 3: Web service protocol stack

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.

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.

10

Page 11: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Figure 4: Web service actors

11

Page 12: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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 đó.

a. 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, 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.

b. SOAP Message Structures

Figure 5 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.

Page 13: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Figure 5: Messaging using SOAP

Figure 6 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:

o SOAP Header: Chứa các SOAP header.

o 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.

Trang 13

Page 14: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Figure 6: 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:

Request <?xml version="1.0" encoding="UTF-8" standalone="no" ?>

<SOAP-ENV:Envelope

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encodi

ng/"

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/

encoding/ xmlns:xsi="http://www.w3.org/1999/XMLSchema-

instance"

xmlns:xsd="http://www.w3.org/1999/XMLSchema">

Trang 14

Page 15: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

<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=http://schemas.xmlsoap.org/soap/

envelope/

xmlns:xsi=http://www.w3.org/1999/XMLSchema-instance

xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<SOAP-ENV:Body>

<ns1:doubleAnIntegerResponse

xmlns:ns1="urn:MySoapServices"

SOAP-ENV:

encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

>

<return

xsi:type="xsd:int">246</return> </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.

Trang 15

Page 16: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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...

Figure 7 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.

Figure 7: Overview of WSDL

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

Trang 16

Page 17: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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.

IV. 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.

1. 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 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ó

Trang 17

Page 18: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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.

V. Open Grid Service Architecture (OGSA)

1. OGSA là gì

Trong một ứng dụng Grid, thường có khá nhiều dịch vụ (service) khác nhau. Ví

dụ, “VO Management Service”, “Resource Discovery and Management Service”, “Job

Management Service”, và các dịch vụ khác như bảo mật, quản lý dữ liệu, v.v... Các

dịch vụ này không ngừng tương tác với nhau, 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. Để các dịch vụ này có thể làm việc chung với nhau, cần một chuẩn chung thống

nhất. 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

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), được phát triển bởi The Global Grid Forum 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 interface chuẩn cho các service này.

Cụ thể, OGSA định nghĩa một tập các giao tiếp cốt lõi (core interface), và 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 ứng dụ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 dưới cho thấy mô hình của OGSA

Trang 18

Page 19: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Mô hình OGSA

4. OGSA, Web Service và Grid service

Cũng 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, RMI, ...

Tuy nhiên, dịch vụ web được chọn vì có những ưu điểm nổi trội, mà ta sẽ bàn đến sau

đây.

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

- đượ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 hỗn tạp như Grid.

Trang 19

Page 20: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

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 là Persistent), thiếu sự hỗ trợ cho dịch vụ về thông báo, quản lý thời gian

sống, v.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ụ grid), 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 trong, cho 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.

Mối quan hệ giữa OGSA và OGSI với Grid service, Web service

Trang 20

Page 21: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

5. Open Grid Services Infrastructure

Web Services Messaging, Security, Etc.

Open Grid Services Infrastructure

Domain-Specific Services

Core Services

ProgramExecution Data Services

Sta

ndar

diza

tion

Vị trí của OGSI trong mô hình OGSA

Các khái niệm đáng lưu ý 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. 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ụ. Phần mô tả sẽ định nghĩa các interface và hành vi của dịch vụ.

Các thể hiện sẽ hiện thực các hành vi này.

b. Service state, metadata, and introspection

WSDL chuẩn không có khái niệm “trạng thái” của service. Vì thế OGSI

đưa ra khái niệm 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ừ service instance.

Trang 21

Page 22: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Ứ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ể 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 callback thông báo cho client

biết.

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.

Trang 22

Page 23: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Figure 8: 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.

Kết thúc tường minh(Explicit termination): client chủ động gửi yêu cầu

hủy grid service instance.

Yêu cầu điều chỉnh thời gian sống(Requesting a lifetime modification):

client có thể yêu cầu điều chỉnh thời gian sống của service instance bằng

cách gửi thông điệp “keepalive” đến server.

e. Fault type

OGSI định nghĩa chuẩn các kiểu chuẩn cho tất cả các thông điệp lỗi

được trả về bởi Grid service.

f. Service groups

OGSI cung cấp cơ chế tổ chức service instance theo nhóm.

Trang 23

Page 24: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

OGSI định nghĩa các interface (WSDL portTypes). Mỗi loại portType

đưa ra tập các tác vụ và OGSI quy định hành vi cụ thể cho các tác vụ này. Bảng

dưới liệt kê một số các portType

PortType Mô tả

GridService Cung cấp các hành vi chính bao gồm phần dữ liệu và

quản lý thời gian sống của service.

HandleResolver Ánh xạ từ GSH sang GSR

NotificationSource Cho phép client đăng ký các thông điệp notification

NotificationSubscription Quản lý thời gian sống và các thuộc tính của các

subscription.

NotificationSink Định nghĩa tác vụ cho việc phân phối các thông

điệp notification đến service instance.

Factory Tác vụ chuẩn tạo grid service instance

ServiceGroup Quản lý nhóm các service instance

ServiceGroupRegistration Cho phép thêm hoặc xóa Grid service ra khỏi

ServiceGroup

g. Các Core Service của OGSI

Core service cung cấp các dịch vụ về phân giải tên, tìm kiếm dịch vụ,

bảo mật, chính sách, và truyền thông điệp.

Các dịch vụ cơ bản:

Name resolution and discovery

Service domains

Security

Policy

Messaging, queuing, and logging

Events

Metering and accounting

Data and Information Services

Trang 24

Page 25: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Data naming and access

Replication

Metadata and provenance

Resource and Service Management

Provisioning and resource management

Service orchestration

Transactions

Administration and deployment

6. OGSA và Stateful service

Tuy nhiên, kiến trúc dịch vụ đc coi là phù hợp nhất, nhưng vẫn chưa thỏa mãn

được yêu cầu quan trọng của OGSA: middleware phải là stateful. Dịch vụ web theo lí

thuyết có thể là stateful hoặc stateless, nhưng thường vẫn là stateless, và không có

cách thức chuẩn nào để làm cho nó thành stateful. Do đó, dẫn tới sự ra đời WSRF, mà

ta sẽ nói ở phần sau.

7. Hi n th c OGSA - Globus Toolkit 3ệ ựPhiên bản Globus 3.0 (GT3) ngoài việc kế thừa các chức năng quan trọng để

xây dựng các giải pháp gird, GT3 dựa trên cơ sở hạ tầng mới tuân theo chuẩn OGSA

và hiện thực các chức năng lõi được định nghĩa trong OGSI.

GT3 bao gồm các thành phần sau:

Hiện thực toàn bộ portType đặc tả trong OGSI.

Cơ chế bảo mật: dựa trên GSI, cung cấp các service: mã hóa, authentication,

and authorization.

Các service mức hệ thống: Amin, Logging và Monitoring.

Các service nền (Base services).

User-defined services

Grid Service Container.

Hosting environment

Hình dưới minh họa mô hình của GT3.

Trang 25

Page 26: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Kiến trúc GT3

VI. Web Services Resource Framework (WSRF)Như đã nói ở phần trên, OGSA với sự định nghĩa Grid service và stateful

resource, trên nền tảng OGSI, tuy có những ưu điểm lớn, nhưng vẫn bộc lộ những hạn

chế. Ba hạn chế được biết đến của OGSI có thể kể ra là:

- đặc tả quá phức tạp, cồng kềnh;

- làm việc thiếu hiệu quả với những công cụ sẵn có của dịch vụ web; và không

tương thích với nó (ví dụ ngôn ngữ WSDL mở rộng); và

Trang 26

Page 27: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

- quá “hướng đối tượng”, qua việc có nhiều thể hiện, và lưu giữ trạng thái. Mặc

dù hướng đối tượng là một cách thức được ưu chuộng từ lúc ra đời cho tới nay, nhưng

trong dịch vụ web, nó lại không như thế. Điều này dẫn tới những bất đồng trong việc

phát triển và sử dụng grid trong môi trường web, giữa các nhóm phát triển.

Nhằm đạt được một sự “hội tụ” giữa dịch vụ web và dịch vụ lưới, một chuẩn

mới đã được đưa ra trong GlobusWORLD 2004 (tháng 1/2004), thay thế cho OGSI.

Đó là Web Services Resource Framework (WSRF). WSRF cho phép đem tính chất

stateful vào dịch vụ web, cũng như thêm nhiều chức năng hữu ích khác. Sự ra đời của

WSRF sau một nỗ lực chung của cộng đồng Grid và Web Serivice. Cộng đồng Web

Service vốn sử dụng dịch vụ web từ lâu, và không quen với việc dịch vụ web lại có

trạng thái, như đặc tả của OGSI. WSRF cho phép vẫn giữ nguyên đặc trưng ban đầu

của dịch vụ web, nhưng vẫn thỏa mãn yêu của của cộng đồng Grid khi sử dụng trạng

thái trong các dịch vụ. Như trên hình dưới đây, WSRF mở rộng Web Service.

Để dễ hình dung, mối liên hệ giữa WSRF và OGSA là như thế nào? Rất đơn

giản, WSRF cung cấp dịch vụ có trạng thái (stateful service) mà OGSA cần. Trên

hình, WSRF xác định stateful service (chứ không phải là dịch vụ được yêu cầu bởi

Trang 27

Page 28: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

OGSA). Nói cách khác, OGSA là kiến trúc (architecture), trong khi WSRF là hạ tầng

(infrastructure) mà trên đó, kiến trúc được xây dựng nên.

Như vậy, WSRF trở thành một phần của các dịch vụ web, thay vì một sự chỉnh

sửa, chắp vá (patch) trên những cái hiện có như cách OGSI đã làm.

Trong khái niệm WSRF, có cặp Web Service – Resource kết hợp. Đó là Web

Service và Stateful Resource. Nghĩa là trạng thái bây giờ đã được gắn vào tài nguyên,

chứ không phải dịch vụ nữa. Mỗi cặp như vậy có một định danh duy nhất. Khi thao tác

với dịch vụ web, mà cần dùng tới tài nguyên nào đó, nó sẽ được triệu gọi qua định

danh này. Trạng thái có thể được cụ thế hóa qua XML. Mỗi cặp Web Service -

Resource như thế có thể được sử dụng bởi nhiều dịch vụ web khác nhau.

1. Đ c t WSRFặ ảWSRF chứa tất cả các chức năng của OGSI và cải tiến OGSI ở ba bước sau:

Giới thiệu khái niệm WS-Resource

Tách biệt giữa chức năng dịch vụ và việc kích hoạt dịch vụ

Dịch vụ notification theo chuẩn WS-Notification của Web services.

WSRF nhóm lại các chức năng của OGSI thành năm nhóm chính sau:

WS-ResourceProperties: đặc tả các dữ liệu của tài nguyên, tương tự như Grid

Data Elements của OGSI, và các cơ chế cho phép truy cập, xóa hoặc thay đổi các

thông tin này.

WS-ResourceLifetime: cơ chế kết thúc một WS-Resource; các đặc tả về thông tin

trao đổi giữa người yêu cầu dịch vụ và WS-Resource nhằm kết thúc dịch vụ ngay

lập tức hoặc là một thời điểm định sẵn.

WS-RenewableReferences: dựa trên chuẩn WS-Addressing của Web service để

cập nhật các thông tin mới về địa chỉ dịch vụ (endpoint references) khi các thông

tin hiện tại trở thành không hợp lệ.

WS-ServiceGroup: đặc tả giao tiếp cho phép một tài nguyên tham gia vào nhóm;

đặc tả các tác vụ cho phép lấy thông tin tài nguyên của một thành viên của nhóm

cũng như thông tin về các nhóm. Một nhóm là một tập các Web services và WS-

Resources của một lĩnh vực cụ thể (domain specific).

Trang 28

Page 29: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

WS-BaseFault: định nghĩa các kiểu chuẩn của lỗi và cách sử dụng chúng trong

WSDL.

Ngoài ra còn có:

WS-Notification: đây là bộ đặc tả khác, tuy không thuộc về WSRF, nhưng

có quan hệ rất mật thiết, nên không thể không kể đến ở đây.

WS-Addressing: cung cấp cách thức để tìm dịch vụ web.

WSRF tách biệt giữa Web services (không trạng thái) và Resource (có trạng

thái) và định ra một cơ chế cho việc kết hợp giữa hai thành phần này lại với nhau.

Hình sau đưa ra một ví dụ về hai thành phần can bản nhất của WSRF: Web

Service cung cấp một giao tiếp cho phép truy cập vào các tài nguyên (resources) có

trạng thái (các file).

WSRF sẽ quy định cách thức kết hợp để người dùng từ xa, thông qua

giao tiếp Web service có thể truy cập vào tài nguyên yêu cầu. Việc kết hợp này

được mô tả trong Hình 12.

Trang 29

Page 30: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

8. WSRF đã gi i quy t v n đ cũ nh th nào?ả ế ấ ề ư ế- về sự phức tạp và cồng kềnh của đặc tả. WSRF đã chia và gom nhóm đặc tả

lại thành 5 nhóm chính và nhóm WS-Notification bổ sung;

- thiếu tính tương thích với công cụ có sẵn của web service: WSRF quay trở lại

dùng ngôn ngữ WSDL 1.1 cho việc mô tả interface, thay vì GWSDL, một phiên bản

vá (patched) của WSDL dùng cho OGSI.

- quá “hướng đối tượng”: WSRF đã tách bạch giữa “service” và stateful

“resource”. Các dịch vụ web bây giờ trở lại như ban đầu, không phải mang thông tin

trạng thái nữa. Điều này hẳn làm hài lòng cộng đồng “chung thủy” với dịch vụ web.

9. WSRF phát bi u l i OGSIể ạWSRF vẫn giữ mối quan hệ gắn bó của nó và OGSA/OGSI. Bảng sau đây cho

thấy sự tương quan đó.

OGSI WSRF

Grid Service Reference (GSR) WS-Addressing Endpoint Reference

Grid Service Handle (GSH) WS-Addressing Endpoint Reference

Trang 30

Page 31: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

HandleResolver portType WS-RenewableReferences

Service data elements (SDE) WS-ResourceProperties

GridService lifetime managementt WS-ResourceLifeCycle

Notification portTypes WS-Notification

Factory portType Treated as a pattern

ServiceGroup portTypes WS-ServiceGroup

Base fault type WS-BaseFaults

10. Hiện thực WSRF

WSRF được hiện thực trong phiên bản thứ 4 của Globus Toolkit. Hình sau cho

thấy quan hệ giữa các phần hiện thực của WSRF.

Trang 31

Page 32: ISAS MID/END SEM PROJECT SUBMISSION FORMptvu/gc/2010/Grid-SOA.doc · Web viewViệc đặc tả chức năng, interface giao tiếp của một web service được thực hiện

Hiện thực của GT4

WSRF là một cải tiến lớn, có hiệu quả trong việc phát triển hệ thống lưới, bằng

việc tiếp tục kế thừa những ưu điểm và khắc phục hạn chế của OGSI/OGSA. Hiện

WSRF được hỗ trợ bởi những công ty lớn, và đang được ứng dụng phổ biến ở những

phiên bản mới của GT.

VII. Thay cho lời kếtTính toán lưới vẫn đang trong giai đoạn phát triển và tìm những hướng đi cho

riêng mình, vì tính chất đặc thù của nó. Với sự hỗ trợ, chuẩn hóa của kiến trúc OGSA,

OGSI và gần đây là WSRF, hệ thống lưới ngày càng trở nên thân thiện và phổ biến

hơn trong cộng đồng sử dụng. Nhất là với sự ra đời của WSRF, người ta có thể tin vào

sự “hội tụ” của nền tảng dịch vụ web truyền thống vốn đã phát triển mạnh, và sức

mạnh của hệ thống tính toán lưới. Trong khi chờ đợi các kiến trúc này trở nên ổn định

hơn, thì Globus Toolkit vẫn là một chuẩn phổ biến, nhưng chưa chính thức (trong

tiếng latin là de facto) và là một trong những phần mềm quan trọng trong sự phát triển

hệ thống lưới.

VIII. Tài liệu tham khảo[1] The Physiology of the Grid, Ian Foster, Carl Kesselman, Jeffrey M. Nick,

Steven Tuecke, 2002

[2] Towards a service-oriented Grid, Borja Sotomayor, University of Deusto, 2004

[3] SOA, Web Service In Grid Computing, Phạm Hùng Tiến, Đặng Hoài Đức, K2008

[4] Open Grid Services Architecture, Ian Foster, University of Chicago, 2003

[5] WS-Resource Framework: Globus Alliance Perspectives, Ian Foster, University of

Chicago, 2003

[6] OGSA, WSRF, and the Foundations of Grid, David Snelling, Fujitsu Laboratories

of Europe, 2005

[7] Global Globus Forum http://www.globus.org

[8] Wikipedia: http://wikipedia.org/

[9] IBM: http://www.ibm.com/developerworks/library/ws-resource/

Trang 32