26
SOA, WEB Service in Grid Computing Phạm Hùng Tiến 00708210 Đặng Hoài Đức 00708190 1

SOA WEB SERVICE REPORT

Embed Size (px)

Citation preview

SOA, WEB Service in GridComputing

Phạm Hùng Tiến 00708210Đặng Hoài Đức 00708190

1

Mục lục

1 GIỚI THIỆU CHUNG..................................................3

2 SERVICE ORIENTED ARCHITECTURE.....................................3

2.1 SERVICE.........................................................32.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA SERVICE.....................................32.3 SERVICE ORIENTED ARCHITECTURE......................................4

2.3.1 Các actor trong SOA..............................................................................................................42.3.2 Ích lợi khi sử dụng SOA........................................................................................................52.3.3 Thông điệp (message) trong SOA........................................................................................5

3 WEB SERVICE.......................................................6

3.1 CẤU TRÚC WEB SERVICE..............................................63.2 SIMPLE OBJECT ACCESS PROTOCOL – SOAP...............................7

3.2.1 Các đặc điểm của SOAP........................................................................................................73.2.2 SOAP Message Structures.....................................................................................................7

3.3 WEB SERVICE DESCRIPTION LANGUAGE – WSDL.............................9

4 GRID SERVICE.....................................................10

4.1 CÁC ĐẶC ĐIỂM CỦA GRID SERVICE.....................................10

5 OPEN GRID SERVICE ARCHITECTURE (OGSA)............................11

5.1 OGSA LÀ GÌ?...................................................115.2 OPEN GRID SERVICES INFRASTRUCTURE..................................12

5.2.1 Các đặc tính của OGSI........................................................................................................125.2.1.1...................Grid service descriptions and instances

125.2.1.2................Service state, metadata, and introspection

125.2.1.3.................................Naming và name resolution

125.2.1.4........................................Service life cycle

135.2.1.5................................................Fault type

135.2.1.6............................................Service groups

13

2

5.2.1.7..........................................NotificationSink14

5.2.1.8......Định nghĩa tác vụ cho việc phân phối các thông điệp notification đến service instance..............................14

5.3 CÁC CORE SERVICE CỦA OGSI.......................................145.4 DATA AND INFORMATION SERVICES.....................................145.5 RESOURCE AND SERVICE MANAGEMENT....................................145.6 HIỆN THỰC OGSA - GLOBUS TOOLKIT 3................................15

6 WEB SERVICE RESOURCE FRAMEWORK...................................16

6.1 TỔNG QUAN VỀ WSRF..............................................166.2 HIỆN THỰC WSRF.................................................19

Tài liệu tham khảo..................................................19

1 Giới thiệu chungBá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 Architecture2.1 Service

Về mặt định nghĩa, service là một hệ thống có khả năng nhậnmộ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ĩatrước đó. Thông thường việc giao tiếp này được thực hiện trên cácinterface đã được chuẩn hóa và sử dụng rộng rãi.

3

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 đangtiế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 ănkhá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ờigian chờ. Ở đây, yêu cầu chính là món ăn mà khách hàng muốnthưởng thức, còn kết quả trả về của service phục vụ nhà hàngchính là từ chối (nếu nhà hàng không đáp ứng được yêu cầu củakhá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 (serviceoriented) 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ácservice trong hệ thống giao tiếp với nhau thông qua việc gởi nhậncá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 rabê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 ClassVề 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 )

4

Service Compatibility Is Based on PolicySự 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.

2.3 Service Oriented ArchitectureService 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ể giaotiếp với nhau.

Một hệ thống được xây dựng theo mô hình SOA bao gồm cácservice thỏa mãn các tính chất của service ở mục 2.2. Mỗi servicetrong hệ thống có thể được sửa đổi một cách độc lập với cácservice khác nhằm mục đích đáp ứng một yêu cầu mới từ thực tế.2.3.1 Các actor trong SOA

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

5

Figure 1: SOA actorsService 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 ServiceRegistry. 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 ServiceProvider 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ậpkênh giao tiếp trực tiếp với Service Provider nhằm sử dụngservice hoặc tiến hành thương lượng thêm (về mặt giá cả, resourcesử dụng, ...)

2.3.2 Ích lợi khi sử dụng SOASử 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ìmkiếm các giải pháp cho các bài toán liên quan đến kinh tế.

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

6

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

2.3.3 Thông điệp (message) trong SOASo 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 tronghệ thống (service) sử dụng thông điệp (message) dựa trên cácchuẩn giao tiếp đã được chuẩn hóa (HTTP, FTP, SMTP, ...). Chínhnhờ đặ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ácplatform khác nhau vẫn có thể giao tiếp với nhau nhờ vào cácinterface giao tiếp đã được chuẩn hóa để cộng tác xử lý một tácvụ 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ácnhau 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.

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ữ

7

(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áccô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ượngdữ 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ấpkhả năng điều khiển liên quan đến security như authentication and authorization.

3 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.3.1 Cấu trúc Web service

8

Figure 2: Web service protocol stackFigure 2 mô tả các layer hình thành nên Web service. Figure

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ìmkiế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ứcgiá ...) 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.

9

Figure 3: Web service actors3.2 Simple Object Access Protocol – SOAP

SOAP là một protocol giao tiếp dùng trong Web service đượcxây dựng dựa trên XML. SOAP được sử dụng để đặc tả và trao đổithông tin về các cấu trúc dữ liệu cũng như các kiểu dữ liệu giữacá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áytí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, 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ũngnhư 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 StructuresFigure 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

10

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 servicesẽ nhận và phân tích yêu cầu sau đó trả về kết quả thích hợp.

Figure 4: Messaging using SOAPFigure 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:

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.

11

Figure 5: SOAP message structureSau đâ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 ‘intdoubleAnInteger (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/encoding/"

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

<SOAP-ENV:Body> <ns1:doubleAnInteger

xmlns:ns1="urn:MySoapServices"> <param1 xsi:type="xsd:int">123</param1>

12

</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.3.3 Web Service Description Language – WSDL

Việc đặc tả chức năng, interface giao tiếp của một webservice đượ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úcvà định dạng dữ liệu dùng để giao tiếp...

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

13

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 6: 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 haymộ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ácthô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 logicalpart đượ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.

14

4 Grid ServiceVề 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.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ầnlư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 (stateinformation) (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 Open Grid Service Architecture (OGSA)5.1 OGSA là gì?

Open Grid Services Architecture (OGSA) đượ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 hướng đến việc chuẩn

15

hóa các service trong ứng dụng lưới bằng cách đưa các interface chuẩn cho các service này.

Hình dưới cho thấy mô hình của OGSA

Figure 7: Mô hình OGSA

OGSA gồm 3 thành phần chính: Open Grid Services Infrastructure, OGSA services OGSA schemas

OGSA được xây dựng dựa trên Web services. OGSA có thể được triển khai trên nhiều môi trường khác nhau, giao tiếp với nhau thông qua các giao thức (protocol). Ta sẽ tìm hiểu chi tiết hơn các thành phần này trong các phần tiếp theo.

Web services là công cụ được sử dụng khá phổ biến tuy nhiên bản thân Web services vẫn còn một số những hạn chế như:

Khởi tạo webservice Thời gian sống của webservice Quản lý lỗi

OGSA giải quyết các vấn đề trên và được hiện thực ở lớp cơ sở hạng tầng (OGSI). Web services tuân theo các chuẩn OGSI được gọi là Grid Service.

16

OGSI định nghĩa các chuẩn của giao tiếp và các hành vi phục vụ cho việc mô tả và tìm kiếm dịch vụ, khởi tao instance, quản lýthời gian sống, nhóm service…

5.2 Open Grid Services Infrastructure

5.2.1 Các đặc tính của OGSI

5.2.1.1 Grid service descriptions and instancesTrong mô hình Web services chuẩn, service được tạo ra cũng

như bị hủy nằm ngoài phạm vi của bản thân Web services. Tuy nhiêntrong 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 instance của service. Phần mô tả định nghĩa các interface và hànhvi của service. Các service instance sẽ hiện thực các hành vi này.

5.2.1.2 Service state, metadata, and introspectionWSDL 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.

Ứ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ủaservice…

OGSI cung cấp hai cơ chế truy xuất trạng thái ứng dụng: pullvà 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ạngthái mình mong muốn thông qua các interface NotificationSource, NotificationSubscription, và NotificationSink. Khi trạng thái service thay đổi,

17

service sẽ thực hiện hành vi callback thông báo cho client biết.

5.2.1.3 Naming và name resolutionVì 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.

Figure 8: Cơ chế phân giải tên

5.2.1.4 Service life cycleMộ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ảnlý 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:

18

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 giansống của service instance bằng cách gửi thông điệp “keepalive” đến server.

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

5.2.1.6 Service groupsOGSI cung cấp cơ chế tổ chức service instance theo nhóm.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 GSRNotificationSource Cho phép client đăng ký các

thông điệp notificationNotificationSubscription Quản lý thời gian sống và các

thuộc tính của các subscription.

5.2.1.7 NotificationSink 5.2.1.8 Đị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

19

instanceServiceGroup Quản lý nhóm các service

instanceServiceGroupRegistration Cho phép thêm hoặc xóa Grid

service ra khỏi ServiceGroup

5.3 Các Core Service của OGSICore 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

5.4 Data and Information Services Data naming and access Replication Metadata and provenance

5.5 Resource and Service Management Provisioning and resource management Service orchestration Transactions Administration and deployment

5.6 Hiện thực OGSA - Globus Toolkit 3Phiê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.

20

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.

Figure 70: Kiến trúc GT3

21

6 Web Service Resource Framework

6.1 Tổng quan về WSRFOGSI cung cấp một cơ cấu cho phép phát triển, triển khai và

quản lý thời gian sống (lifetime management) các dịch vụ lưới. Tuy nhiên, OGSI vẫn còn để lộ nhiều điểm yếu như:

Giải quyết quá nhiều vấn đề trong cùng một bản đặc tả. GWSDL không theo chuẩn của Web service khiến các công cụ

có sẵn trong Web service không sử dụng được. Sự nhập nhằng giữa Web service không trạng thái

(stateless) và Web service có trạng thái (stateful). WSRF trên cơ sở nhóm lại các tác vụ của OGSI đồng thời sử

dụng các chuẩn mới hình thành của kiến trúc Web services như WS-Addressing, WS-Notification để giải quyết các nhược điểm của OGSI. 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 tinnà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ịchvụ (endpoint references) khi các thông tin hiện tại trở thành không hợp lệ.

22

WS-ServiceGroup: đặc tả giao tiếp cho phép một tài nguyêntham 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ôngtin 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).

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.

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 11 đư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).

Figure 81: Một Web service đại diện cho nhiều resources, mỗiresource là một 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.

23

Figure 92: Kết hợp giữa Web service và Resources trong WSRF

6.2 Hiện thực WSRFWSRF được hiện thực trong phiên bản thứ 4 của Globus

Toolkit. Hình 13 cho thấy quan hệ giữa các phần hiện thực của WSRF.

24

Figure 103: Hiện thực của GT4

Tài liệu tham khảo http://docs.oasis-open.org/wsrf/wsrf-primer-1.2-primer-cd-

02.pdf http://wikipedia.org / http://gdp.globus.org/gt3-tutorial/ http://gdp.globus.org/gt4-tutorial/ WS-ResourceProperties:

http://docs.oasis-open.org/wsrf/wsrf-ws_resource_properties-1.2-spec-os.pdf

http://www.ibm.com/developerworks/library/specification/ws- resource/

25

Representational State Transfer: http://en.wikipedia.org/wiki/Representational_State_Transfer

26