Implementation issues of a grid service markup language - IEEE Xplore

0 downloads 0 Views 373KB Size Report
Implementation Issues of a Grid Service Markup Language. Bingchen Li, Wei Li, Zhiwei Xu. Institute of Computing Technology, Chinese Academy of Sciences, ...
Implementation Issues of a Grid Service Markup Language Bingchen Li, Wei Li, Zhiwei Xu Institute of Computing Technology, Chinese Academy of Sciences, Beijing, 100080, China Email: {lihingchen, liwei, zxu] @ict.ac.cn Web: http://www.ict.ac.cn Abstract-’ To facilitate end users programming in a Grid environment, the Vega Grid team at Institute of Computing Technology, Chinese Academy of Sciences developed a new high-level language called GSML (Grid Service Markup Language). This paper discusses the essential issues involved in implementing GSML and associated software tools, and presents a prototype implementation with the Java language. The GSML software suite and the implemented prototype are evaluated with real-world applications use cases from the Railways industry. The results demonstrate that the GSML software suite can he implemented with high efficiency and relatively small footprint. Furthermore, the GSML tool suite enables users not only to read contents, bust also to write and to operate grid resources, all in a WYSIWYG way. Keywords: Grid, GSML, GSML tool suit, Grid community.

page. Section 2 discusses the essential implementation issues involved. The details of a prototype implementation are described in Section 3. We evaluate in Section 4 the GSML software suite and the implemented prototype, with use cases from real-world applications in the Railways industry. Section 5 summarizes our research.

11. Main Issues of Implementation

I. Introduction GSML (Grid Service Markup Language) is a new high-level language developed by the Vega Grid research team at Institute of Computing Technology, Chinese Academy of Sciences to facilitate end users programming in a Grid environment. An XML-based language, GSML is aimed to helping users utilize markup tags to specify and integrate grid resources and services (such as OGSA grid services [41, Globus Toolkit 3 grid services [lll, and Web services [12]) in a wide-area distributed environment. Like HTML [71,GSML is rather high-level and easy to use. A non-technical home user or oflice user could easily compile or read contents on the Web in terms of HTML pages. GSML is comparable to HTML in terms of ease of use. But unlike HTML, which mainly enables users to read contents, GSML allows users to write to and operate the grid resources and services as well. The -concepts and design principles of GSML are discussed in detail else where [I]. This paper focuses on implementation of GSML and associated software tools. This tool suite includes a GSML grid “browser” as end users’ interface to the grid, a GUI editor (called composer) for compose a application from a number of grid resources and services, a resources “mapper” for a technical staff to map physical resources and services into a virtual form understandable by the end users, a database server for database connection between GSML and DBMS, and a GSML server that handles requests issued from a GSML

In implementing the GSML tool suite, we considered the following issues: Compatibility. GSML is a machine independent language. The associated GSRP protocol, which serves for connecting end-users and Grid environment, also has such property. However, there are many hosting environments for grid and Web services. For instance, the recently announced Globus Toolkit 3 speculates four hosting environments. It would he ideal if the GSML implementation, both the client side and the server side, were compatible on all hosting environments. At a minimum, we expect that the GSML tool suite can be used on all common OS platforms such as Linux, UNIX, even Microsoft Windows. User-Friendliness. Grid user can use common text editors such as VI, Emacs or Notepad to edit GSML when he or she is familiar with the specification of GSML. But with such text editors, the result of access to remote Grid resources cannot he displayed immediately at programming stage. We would like to have GUI tools that can help users to program in a WYSIWYG way. Effkiency. The implemented GSML software runtime system and tools should have low cost, both in time and space. We should consider the entire life cycles of developers and users, and my to minimize the bottlenecks. Furthermore, we should consider pervasive devices such as PDAs and cellular phones, which are resource limited and require small footprints. Capability. We design the GSML as a Grid programming language. A salient feature of grid applications is dynamic resources and requirements. The requirements of a grid application and the grid system itself are not closed or predetermined. Therefore, the GSML Tool Suite must have an open architecture, allowing expandability to meet the changing requirements.

111. Implementation of the GSML Tool Suite The architecture of our implementation of the GSML Tool Suite is depicted in Figure 1 .

’ This work is supported in pan by the National Natural Science

Foundation of China (Grant No. 69925203, the China Ministry of Science and Technology 863 Program (Grant No. 2002AA104310), and the Chinese Academy of Sciences Oversea Distinguished Scholars Fund (Grant No. 20014010). 0-7803-7840-7/03/$17.00 02003 IEEE. -620-

Srri.i?g g e ~ < ; % T . (voi.dj ; Sni;GSMI, ( S i r i n g gcrnl) ;

I

Comuoser

fl

The function of the first interface is to get the GSML text from visual components and the function of the second interface is to set the GSML text of visual components.

t

j I

I

Pages

Web Service

... Fig 1 The architecture of our implementation of the GSML Tool Suite The entire software suite is implemented with Java, running on a Java Runtime Environment (JRE). The GSML runtime consists of a server side and a client side. The GSML grid browser “Bluebird” consists of the client-side GSML runtime and a client-side application program. The GSML server Gserver consists of the server-side GSML runtime and a server-side application program. The grid resource mapper maps physical grid resources and services into virtual resources in Grid Community. The end user can then use the grid composer to organize the virtual resources into a GSML page. We discuss each tool below.

~~

Squirrel GSML Editor Fig. 2 the architecture of “Squiml” ~

~~

~

The visual component can notify the text editor what it is displaying and the text editor can direct the visual component what it should display. How to display is decided by visual component. For example, we use table control to display structured data, if users want to display it as a tree control, they can replace the file named StructureData.class or just modify it. The GSML itself does not care ahout how to display it.

B. Grid Browser “Bluebird” “Bluebirs‘ is a single-document GSML browser. It simplifies the various sets of text editing component. The browsing procedure is expressed simply as following figure 3.

A. Grid Resource Composer “Squirrel” “Squirrel” is a visual multi-document editor for GSML. The base class of its viewer is a Rich-Text control; it obeys the Z-order layout management. There are rich sets of huttons’ on each tool bar, which help users in editing GSML. In its multi-document frame window, every child window can edit the source code of GSML and keep visual editing mode at the same time. The “Squirrel” also supports input through drag-and-drop mode. Users can drag any GSML component into its “preview” window easily. This window has the capability of browser; user can see the display of this GSML component directly. The “SquirreP’ can handle all layout management, so users do not need to care about such tags as “New Line”, “align left”, “align right” and so on. The visual editor can he seemed as a container. The main framework deals with the arrangement of invisible tags such as and . And it is the function of supporting class to display some special tags. The two core interfaces between the editor and supporting class are

U Fig. 3 the browsing procedure of “Bluebird“ “Bluebirs‘ can process a few common protocols, such as HTTP, FTP, etc, but the core protocol it supports is the GSRF’ (Grid Service Request Protocol). We use GSRP to connect the GSML servers and client-side browsers. In this prototype implementation of GSML tool suit, we realized partial functions of GSRP, we’d prefer calling it ‘GSTP’ (Grid Service Transportation Protocol). The GSTP is a request-response liked protocol. The format of request and response message is as following figure 4.

HEAD

’ The button images came from the Java Look and Feel of Sun Corp.

-621-

in

\n

BODY

The length of the HEAD section is limited to 4KB while the BODY section does not have such limit. A typical request message looks as follows: ,.c.,7,7. i r ;

/iridex.g:;n:l

~ S ‘ r P i.l( j ”

And a typical response message looks as follows: ” 2 0 0 \nI,engi-:?: 7 6 5 3 \a\ I i .q.;ni > . .-. !g:mI>’’ There are three kinds of request mode: PUT, GET, and EXEC. A little different are list as follows:

EXEC

The ‘GET’ request indicates that the client side wants to get some information such as GSML pages from the server. The ‘PUT’ request indicates that the client side wants to put some data to the server, for example the data of a cell in a certain database. The ‘EXEC’ request is used when the result comes from a Grid service or a Grid application such as time service.

C. GSML Server “Gserver” “Gservei’ is the server side application which responses the GSTP request and deploys the GSML page files. We implemented the function as a GUI application, which can lisi all service information and connection information in its list control. A “Gservei’ can’manage a root document directoty of the host where it was installed. There are only a few differences on the directory expression between Microsoft Windows and UNIX.

.,.

.

.

..

Fig. 6 data stream

All data requests were unified in the FSRP layer. Database mid-ware in our tool suite is responsible to replace GSRP request with local database SQL request and transform the query result into the unified format that GSML structure data component can process. A “Dbserver” can connect multi-database if it knows how to connect with them and has enough permission to connect to. With different usages or different security policy, one database can connect to several “Dbservers”.

D. Grid Resource Mapper We call it “mappei’ because it looks like a map that can collect the Grid information of a certain Grid Community. “Mapper“ is the essential part to realize the Grid Resource Space Hierarchy in our VEGA Grid project. We assume that there is a database resource in a certain Grid Community, which is a basic physical resource in the community. The process that the database resource registers to the “mapper” implements the transform from Physical Resource to Virtual Resource. In “mapper” one resource can be seen as an icon or a folder if it is a container. The “mapper” gives the information of resource using a GSML expression instead of using the physical property.

...

DBMS

Fig. 5 how GSML access databases For the instance of Train Information System, data are stored in heterogeneous, distributed database. The GSML would display them in one page; some cases need to arrange data coming from different hosts, different tables or different columns. Depending upon the demand, we developed a mid-ware between each DBMS and GSML browser. The relationship between them is illustrated as fig.4. One data stream above in such process is as following figure:

(\GSRP

Protocol

BJ

Database mid-ware

DB connections

(JDBC ODBC etc.) -1

Fig. 7 from physical resource to GSML component

IV. Evaluation The implemented GSML Tool Suite has been used to realize a middleware called the Vega Railways Information Grid Platform, in cooperation with the Zhengzhou Railways Administration, the largest railway bureau in China. Samples from the use cases of this middleware are shown in Figure 7-10. As expected, the GSML language allows users to read contents from multiple databases in multiple sites, all from a single GSML page. Furthermore, the GSML suite enables users to write to and to execute services on grid resources,

unaware of the locations and other physical details. For compatibility, we choose Java as the developing language. The Sun Java virtual machine is supported by almost all common operating system platforms, including Microsoft Windows. We choosc J2SE as the developing environment as it is widely supported. Our practice shows that the GSML tool suite can tun on Linux, Sun Solaris and Microsoft Windows in both English and Simplify-Chinese, with little modification. For the user friendliness issue, we developed CUI tools such as the grid browser, the grid resource mapper, and the grid resource composer. Together, they allow users to program a grid application (in the form of a GSML page) in a WYSIWYG way. It allows users to insert Grid resources in a drag-and-drop mode. Such tools are suitable for users who are not expert in computer operations. Our implementation also attains good efficiency. The main time cost is only in initializing the Java run-time environment. The run-time cost is small. Response time of a typical GSML request is in the range of a couple of seconds. Our code has quite a small footprint. Composed by several JAR tiles, the GSML tool suite only costs 1MB hard disk space. To balance the increasing capability and its influence on usability and efficiency of GSML, the GSML tool suite supports dynamic application plug-in in client side and will support dynamic function deployment on server side. This function supports plugging-in of custom components into the GSML browser by adding a class for a tag. This class which supports the display of such a tag and the handling of the customized tag in GSML pages.

V. Conclusion In this paper, we discussed the issues of compatibility, user-friendliness, efficiency, and capability, for implementation of the GSML suite of software for grid programming. We used the National Railways Information System as a use case to test OUT implementation and proof-test our Grid Community model. The results indicate that om GSML tool suite can meet most requirements of information sharing in a wide-area environment in the Railways industry. The high-level GSML language facilitates information sharing, and at the same time, achieves this goal without having to programming with scripting as is the case with web programming (e.g., using JSP or ASP). The implementation shows that the GSML suite has small footprint of 1 MB and fast response time of a couple of seconds. The current implementation can he easily ported to any platform that supports Java, such as Linux, Unix, and Windows.

Reference [I] Z. Xu and W. Li Research on Vega Grid Architecture Journal of Computer Research and Development Vol 39, No 8, pp. 923 - 929 [2] A. Reinefeld, E Schintke, Concepts and Technologies for a Worldwide Grid Infrastructure Euro-Par 2002 Parallel Processing, Springer LNCS 2400, pp 62-71.

-623.

[31 I. Foster, C. Kesselman, and S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations”, International J. of High Performance Computing Applications, 2001, lS(3): pp. 200-222. 141 I. Foster, C. Kesselman, J.M. Nick, S. Tuecke, The Physiology of the Grid An Open Grid Services Architecture for Distributed Systems Integration. Grid Service Infrastructure WG, Global Grid Forum, June 22, 2002. [51 N.W. Paton, M.P. Atkinson, V. Dialani, D. Pearson, T. Storey, P. Watson, Database Accsss and Integration Services on the Grid Manchester University, 2002. [6] P. Watson, Databases and the Grid Technical Report CS-TR, University of Newcastle, 2001. [71 “HTML specification 4.0” W3C Working Draft 17-Sep-1997 [SI Remote Data Access Architecturss, Grid Forum Data Access Working Group [9] J. Apgar, A. Grimshaw, S. Hanis, M. Humphrey, A. Nguyen-Tuong, Secure Grid Naming Pmtocol (SGNP): Dra) Specification for Review and Comment, Global Grid Forum, 5 February 2002. [IO] W. Hoschek, G. McCance, Grid Enabled Relational Database Middleware, Global Grid Forum Frascati, Italy, 7-10 October 2GQ1. [ I l l S. Tuecke, K. Czajkowski, I. Foster, J. Frey, S. Graham, C. Kesselman, “Grid Service Specification”; Open Grid Service Infrastructure WG, Global Grid Forum, Draft 2,7/17/2002. [I21 E. Christensen, F. Curbera, G. Meredith, S. Weerawarana Web Services Description Language (WSDL) 1.1 W3C Note I5 March 2001.

i-----

. . ... %...... . . . . . . . . .. L ..,I -: ......... __li___ .+:;: . . . . . . . l . .. ._ .......... .......>

----

i

.-

:.**,a.

.ma!?.

.

%..

I.

I

~~,

...........

-624-