The Grid Browser: Improving Usability in Service-Oriented Grids by Automatically Generating Clients and Handling Data Transfers Steffen Heinzl, Markus Mathes, Bernd Freisleben Department of Mathematics and Computer Science, University of Marburg Hans-Meerwein-Str. 3, D-35032 Marburg, Germany {heinzl, mathes, freisleb}@informatik.uni-marburg.de

Abstract This paper presents a Grid Browser as a familiar environment for accessing a service-oriented Grid. To relieve the service developer from developing a graphical user interface and a Grid service client, and to relieve the service provider from installing and maintaining a Grid portal, the proposed Grid Browser can be used instead of a Grid portal. A Grid Browser is a web browser that renders WSDL files similar to HTML files. Surfing to the location of the WSDL description of a Grid service results in the automatic generation of a graphical frontend in the Grid Browser which a user can easily fill out to invoke a service or submit a job. Furthermore, data transfers are integrated into the Grid Browser by integrating an implementation of the Flex-SwA architecture, such that data transmission and service invocation can be done efficiently in a single step. An implementation of the proposed Grid Browser to improve the usability of a service-oriented Grid is presented. A use case points out the advantages of the Grid Browser.

1

Introduction

Grid Computing is not only very popular in the scientific community, but it more and more also attracts industrial and even private users. Service-oriented Grid computing technology has paved the way for developing Grid applications in a standardized manner, consisting of several Grid services based on the Web Services Resource Framework (WSRF) [6]. However, the complexity of Grid service development is still very high. For example, developing the first Grid service (without complex logic) for the Globus Toolkit 4 without tool assistance takes up to a week even for a skilled computer scientist. With more experience, the development of a Grid service can be performed in a few hours up to a day. With tool assistance – for example, by using the Grid

Development Tools (GDT) [5] – the development time for a Grid service decreases to perhaps an hour for the first service and several minutes for consecutive services. This is a huge improvement, but still a lot of work has to be done. Client programs have to be written, often including a graphical user interface. If a service provider does not offer a client for its services, it is impossible for a user without programming experience to use it. Even portals do not solve this problem, since they only provide an interface to Grid service clients and not to the services directly, such that the clients still have to be developed. Furthermore, the transfer of large data sets is a problem. If done via SOAP, data transmission and service invocation is performed in a single step, but the processing of SOAP messages is very memory- and time-consuming. Consequently, service invocation and data transmission has been divided into two steps. In the first step, data and sometimes executables are moved to the service location. In the second step, the service is invoked and then works with the data (e.g. by executing the binaries). Since the service invocation can only be started after the data has arrived at the service location, moving large amounts of data results in the user waiting a non-negligible amount of time, before (s)he can eventually invoke the service. Furthermore, the user has to learn how to transfer the data to the service location. The difficulty of this task ranges from quite simple to fairly complex depending on the transfer method used. Probably, the simplest way of sending data in a Grid is opening a SSH session to the Grid node and then transferring the data via SFTP, which is easy for computer scientists, but may be hard for computer novices. A wide-spread, but more complex alternative is GridFTP. Using GridFTP, the user has to learn how to generate a proxy certificate and how to use the command line GridFTP client to transfer data. The use of GridFTP is alleviated by using a portal like Gridsphere [11]. Either way, the user has to know where the data has to be sent to and how to achieve this. Both problems, the lack of a (public) client to call existing services and the problem of how and where to transfer data, complicate the use of the

Grid for new users considerably. To solve these problems, we suggest to use the Grid Browser as a familiar environment for accessing a serviceoriented Grid. When a user browses to a WSDL description of a Grid service, a graphical frontend is generated, via which the user is able to easily invoke the service. From the view of the user, data transfers are handled as usual. In the background, our implementation of the Flex-SwA architecture [7] has been integrated into the Grid Browser and is used to efficiently transmit the data in the same step as the service invocation takes place. Thus, the user is able to “enter” and use the Grid with significantly less effort. Since Grid service clients are automatically generated on the fly, there is no need for the service developer to develop a graphical user interface for the service user anymore. The service provider does not need to host and maintain a portal. A use case points out the benefits of the proposed Grid Browser. The paper is organized as follows: Section 2 describes the components of the proposed Grid Browser. Section 3 presents implementation issues. Section 4 shows a use case from the area of multimedia analysis. Section 5 discusses related work. Section 6 concludes the paper and outlines areas for future work.

2

on open standards such as SOAP and WSDL and (countless) other WS-specifications such as WS-Security, WSSecureConversation, WS-Addressing, Web Services Resource Framework, etc., the Grid Browser needs access to (or a (partial) reimplementation of) an extensive web and Grid service stack implementing these specifications. Fourth, a way of handling large amounts of data has to be integrated into the Grid Browser. The data transfer and service invocation should be done in one step. Fifth, the result has to be displayed in a user-friendly, human-readable manner. Figure 1 shows a detailed sequence of actions, from searching and selecting the service, to displaying the results. The user sends a query to the Grid service search engine (1), and several matching results are returned (2). After selecting the service to invoke, the WSDL document is requested by the browser (3) and returned to the Grid Browser Extension (4). The extension lets a User Interface Generator Service interpret the WSDL description (5) and provide a graphical description of the input parameters needed by the service (6). The graphical description is displayed in the browser and the user is required to enter the information needed to invoke the service (7). The data for service invocation is submitted to an Execution Engine (8) which then invokes the Grid service (9). The result (10) is returned to the execution engine and handed back to the browser extension (11) which invokes a Result Presentation Service (12). The generated graphical representation of the result is returned to the browser extension (13). The browser extension hands the values back to the browser or starts a visualization engine by itself (14). Finally, the user may rate the service (15) to help other users in the selection of services.

The Grid Browser

If a Grid user wants to invoke a Grid service, (s)he normally has to download Grid middleware like the Globus Toolkit, Unicore, or gLite, unzip and/or install it, probably set a few environment variables, read the middleware documentation to program a client able to invoke the service, compile the client with the correct dependencies, and start the client. If Grid middleware like the Globus Toolkit 4.x is involved, the user furthermore has to have deep knowledge of the security mechanisms of the middleware. The goal of the Grid Browser is to make the access to Grid services as easy as browsing the web. Therefore, several requirements have to be satisfied to build the Grid browser. First, users need to be able to find services. In the Grid context, this is mainly done by browsing repositories. Thus, a Grid service search engine is needed which is connected to several repositories, so that the repositories do not need to be searched one by one. Second, the user needs to be able to provide the parameters for the service to be invoked. Therefore, a graphical user interface has to be created from the WSDL description. The browser needs to be capable of visualizing the elements described, thus making it possible for human users to select their service and operation, fill out a generated form, set security settings if not described by the service and invoke the service. Third, the parameters have to be serialized and put into a SOAP message. Since Grid services are based

Some of the steps and components are examined more closely in the following sections.

2.1

Grid Services Search Engine

A Grid user leverages the Grid service search engine to see whether services (s)he is interested in already exist. The Search Engine should be conceptually located on remote servers to allow full concentration on (1) “crawling” Grid repositories and Grid nodes for services and (2) caching those services to provide a faster search. A search engine can use different strategies to find services. The first one is to use existing search engines like Google. But with web search engines, it is hard to find descriptions of Grid services. The second strategy is to search existing Grid service repositories. This works well as far as services are registered in repositories and the repositories are known to the search engine. The third possibility is to query the Grid nodes directly whether they offer services. 2

Figure 1. Invoking a service from the Grid Browser.

2.2

User Interface Generator Service

parameter changes are performed like in nested for-loops or whether all parameters are changed at once per loop.

To avoid that every service provider has to offer a web interface on their servers and/or a client able to invoke their services, a facility that generates a graphical user interface from the WSDL description of a service is needed. For this reason, a User Interface (UI) Generator Service is used which can be a service on the web or directly integrated into the browser. This allows a user to choose between local (client-side) processing and remote (server-side) processing and also to select different providers with respect to which graphical representation (s)he likes best for service invocation. From the types section of the WSDL description, different fields can be created. By using the XML Schema appInfo element or the documentation tag of XML Schema or WSDL, information can be provided about which graphical element to use for which field and which texts to display to help the user fill out the forms. If a Reference type from Flex-SwA is used, the Grid Browser uses Flex-SwA’s data transfer capabilities. For some Grid applications, parameter sweeps are relevant. An easy way to do parameter sweeps is when the service provides a suitable interface, such that the definition of start and end values and the step size are defined as parameters of the service or as a file containing this information. If the service has no information about parameter sweeps, then the Grid Browser should offer possibilities to specify a start value, an end value, and a step size for each parameter of a service. Then, the user has to specify whether the

2.3

Execution Engine

After providing the parameters needed by the service, the service has to be invoked. This can be done by an Execution Engine, which can again be a local or remote component. Local processing may have the advantage that data does not have to be transferred to the Execution Engine and then again to the service. To transfer data from the browser to the Execution Engine, SOAP is a good choice, because then there is no need to encode the data at the Execution Engine again. Adding SOAP capabilities to the browser can be done by implementing a SOAP stack for the browser, by using a SOAP stack in one of the languages the browser understands and reimplementing missing Grid functionality, or by executing existing code of an existing SOAP stack written in another language from the browser. Furthermore, the Execution Engine has to perform the parameter sweeps. It converts the parameter ranges and step sizes to the corresponding service invocations.

2.4

Result Presentation and Visualization

When the result is returned, it has to be displayed in a human-readable manner. This is done by the Result Presentation Service. It generates graphical elements from the 3

WSDL description looking at the operations’ output messages. This service can again be executed locally or remotely allowing the user to select a provider with the best suiting graphical representations. Here again, annotations, an appinfo tag, or a documentation tag can be provided to help the presentation service choose the best graphical element to represent the content of the message. For complex computation results, it may be necessary to implement applications for the visualization of the result. In order to plug the visualization application into the browser, a visualization interface is provided.

directly added to the browser’s search engines. This way, a user can easily search for Grid services without having to use unaccustomed search engines which mainly find normal search results and only rarely Grid services. To allow an easy to use interface for the user, several mechanisms (as well as the combinations of these) are possible. First, it is possible to create a browser overlay with XUL and JavaScript. Second, new windows with input fields can be created (again by using XUL and JavaScript). Third, HTML forms can be used with the advantage of providing a very familiar look to the user.

2.5

3.1

Rating System

A browser in the Web 2.0 age must be able to communicate with related communities. Service users have the opportunity to rate the services they have used and leave comments to services for future users. The rating system should be a centralized component which maintains all the ratings. The rating can be used to distinguish between responsible providers with clear service descriptions and providers who violate their promised service quality. The comments may even help to use the service, if the documentation of a service is poor or not available.

3

Firefox Add-on

The proposed Grid Browser is designed as a Firefox addon working with Firefox 2 and Firefox 3. Two XPCOM components have been developed. The first one is an observer, the second one a stream converter. The first goal is to enable Firefox to show the user a generated web page with input fields instead of the WSDL file the user clicked on. Therefore, the http-on-examine-response topic has to be observed. It allows to change the content type of the received document to a custom content type for which we register the stream converter. To make the observer work correctly, it has to be registered at the observer service. However, it is not sufficient to register the observer at the service in the registering process of the XPCOM component, since this process only takes place when the add-on is installed or when changes to other add-ons occur. Thus, when Firefox starts the next time, the observer is no longer registered at the observer service. The correct registering process is more complex. The observer has to subscribe to the xpcom-startup topic. In order to make the subscription persistent, the subscription is done by adding a category entry to the category manager during the registration process of the add-on (i.e. when the add-on is installed). After the registration, the observe function of the observer is called whenever the XPCOM component is loaded, which happens whenever Firefox is started, but before the browser window(s) is/are opened. In the observe function it is checked. If the topic is xpcom-startup, then the topics http-on-examine-response and http-on-modify-request (to which we will refer later) are registered with the observer service. Now, whenever a HTTP response arrives, the content type can be changed from text/xml to text/mywsdl; text/mywsdl is a custom content type for which the stream converter component is called. The stream converter is an XPCOM component which is registered at the category manager. The stream converter essentially offers three functions: onStartRequest, on-

Implementation Issues

A Grid user needs a familiar environment to work with Grid services. This can be achieved by extending a popular web browser like Microsoft Internet Explorer or Mozilla Firefox. Both web browsers offer extension points to add functionality to them. Since the Internet Explorer can only be used on Windows operating systems, we have decided to create an Add-on/Plugin for Mozilla Firefox. To extend Firefox’ functionality, an overlay for parts of the browser can be defined in the XML User Interface Language (XUL) and the additional functionality can be provided by JavaScript functions. Furthermore, a Cross Platform Component Object Model (XPCOM) component – handling the registration process of the add-on and the event processing taking place before the GUI of the browser is loaded – can be written in JavaScript or C++. In order to avoid a complete reimplementation of a web/Grid service stack, it is desirable to use an existing widespread SOAP engine which can be used in conjunction with the Firefox add-on. Since the Globus Toolkit is the most popular Grid middleware for Grid services at present, we decided to try to interconnect the add-on development in JavaScript (or C++) and the existing middleware code written in Java with the goal to reimplement as few existing features as possible. Since Firefox offers the capability to use custom search engines, a search engine for finding Grid services can be 4

DataAvailable, and onStopRequest. When the actual remote web page is downloaded, onStartRequest is called. In this function, the content type is changed to */* to make Firefox process the result of the stream converter normally. The onDataAvailable function is called when data from the remote web page is available for processing. In this function, a (scriptable) input stream is opened and the data from the remote web page is saved as a string. In the onStopRequest function, the processing of the completely downloaded document starts. If the document is a WSDL document, user interface generation will take place. The document will be replaced by a HTML page that contains HTML forms for the corresponding fields in the WSDL description. The generation of the HTML page is done in Java. The advantage of this approach is that we can trigger the generation remotely by sending an XMLHttpRequest to a Java Servlet or locally by directly calling the generate() method. Since we wanted to use an available SOAP engine like Apache Axis or a Grid middleware like the Globus Toolkit, we need Firefox to build a bridge to Java anyway.

3.2

An overlay does not only provide the opportunity to run initialization code but also overlay elements. Thus, an overlay was used to provide an Options menu, where the user can enter URLs for the user interface generator, the Execution Engine, the Result Presentation Engine and the location of certificates for the Globus Toolkit.

3.4

With a bridge to Java available, when the document in the onStopRequest method is really a WSDL document, it is possible to generate a user interface locally or remotely. The interface can, for example, be based on HTML forms, but it is also possible to select different (remote) user interface generators offering a more sophisticated UI. The generator returns a string containing the HTML page with JavaScript and some HTML forms. A Flex-SwA Reference type in the WSDL indicates a bulk data transfer. For each Reference a file input is generated which allows the selection of the file to transfer. The actual transfer is started by the service which pulls the bulk data from the client. JavaScript allows the user to select which port and port type to use, which operation to invoke, and assists the user which type to use for a message part. All inputs are collected when the user clicks the invoke button, and put into a SOAP message which is transmitted via an XMLHttpRequest to an Execution Engine. We decided to rebuild some of the SOAP functionality of the SOAP engine in JavaScript. This has the advantage that no further encoding is needed and the SOAP body can be reused in the execution engine and does not need to be generated from encoded input field values. The use of an XMLHttpRequest indicates that the Execution Engine is executed remotely. This is possible, but not necessary. If the Execution Engine is executed remotely, the result is presented as usual. For local execution, the third topic the observer subscribed to, comes into play. The http-on-modify-request allows the observer to change an HTTP request before Firefox submits it to the remote site. If local processing is desired, we use Firefox’ capability to cancel the current request and start the Execution Engine by using the Java Bridge. In Firefox 2, the request is still executed but the response is dropped. This behaviour is sufficient most of the time. In Firefox 3, the request is directly canceled. Unfortunately, Firefox provides no means to return a result from the observe function where the canceling of the request is realized. Thus, we need to find a way to return the result to the browser. This can be done by identifying the tab that made the XMLHttpRequest and change its content. To achieve this, several steps are executed the first time a document is identified as a WSDL document in the onStopRequest method: First, to each already opened

Java Bridge

To enable Firefox to execute Java code, the Java Firefox Extension from the SIMILE project [9] was adapted from Firefox 1 to Firefox 3 and then used as a third XPCOM component. The extension uses LiveConnect to execute Java code from JavaScript. The extension loads all the Globus libraries and the self-written libraries and classes. It offers to generate an object by calling a classes’ constructor, or to call an object’s method, or write to or read from an object’s field. Even static methods are supported. The Java Bridge is implemented as a singleton, added to the category manager upon registration and can be requested as a service. Thus, the Java Bridge can be obtained from anywhere in the add-on and Java code can be executed from there. At the time of writing, Firefox 3 has some problems when invoking the constructor of a Java object with different types. So, we added another function which allows to instantiate a Java object only with strings. Constructors only taking strings have been added to the UI generator, the execution engine and the result presentation engine. To initialize the Java Bridge, we need a browser overlay.

3.3

User Interface Generation

Browser Overlay

Firefox offers the opportunity to overlay elements of the browser with newly defined elements. This overlay code is executed directly after the code of the overlayed element has been executed. This mechanism can be used to execute code directly after the browser’s main window has opened. At this particular time, the Java Bridge is initialized. 5

tab, an attribute named gridbrowser-tab is assigned with a consecutive number as its value. Second, three event listeners are added to the tab container for the events TabOpen, TabMove, and TabClose. At the moment, only the TabOpen listener is used, which also adds the gridbrowser-tab with a consecutive number to each newly created tab. This guarantees that each tab has an associated number that cannot be altered by moving or closing existing tabs or opening new tabs. Right before the generation of the client, the stream converter retrieves the current tab by requesting a reference to the window mediator’s most recent window. The associated gridbrowser-tab number is then given to the user interface generator which adds the tab number to the generated code of the XMLHttpRequest’s request headers. When the user clicks the invoke button and the XMLHttpRequest is sent, it possesses a request header with a reference to the tab that sent it. This tab number can then be obtained by the observer from the HTTP request when it reacts to the http-on-modify-request. When the Execution Engine returns the result of the service invocation, this result can then be shown in the result section of the referenced tab.

3.5

certificate folder by hand.

3.7

Every component (except the browser itself) can also be used remotely. We use Java servlets running inside a remote Apache Tomcat to provide these services. The servlets use the same Java code as the Grid Browser for the generation of the UI, the invocation of the service, and the presentation of the results. The location of the engines can be configured in the Options menu and persisted as preferences.

4

Use Case: Multimedia Analysis

In this section, we investigate a use case from the area of multimedia analysis, namely face detection in videos. Three different Grid services are used to realize face detection. First, an MPEG decoder service produces a series of video frames from a given input video. After a frame has been decoded, it is processed by a face detection service using the algorithms proposed by Viola and Jones [12] provided by the Open Source Computer Vision Library [1]. In the frames where faces have been detected, these faces are marked by a rectangle and then handed over to a collector service which writes these frames to disk as PNG files, which are then hosted by an HTTP server, and returns an array of Flex-SwA References pointing to the PNG files. Furthermore, a face detection workflow service is provided which invokes these services and returns the result. For a user, it would be very time consuming to build a client for the face detection workflow service, especially if the client has to be written by a person not involved in the creation of the service. Imagine the user wants to use the Globus Toolkit. First (s)he has to download the Globus Toolkit or at least the Java WS-Core and set the GLOBUS LOCATION environment variable. Then, the WSDL description of the face detection workflow service has to be downloaded, and stubs for the service have to be generated by a program like wsdl2java. If security is needed, a security descriptor has to be written or the Axis Call object has to be configured correctly (which is really burdensome when done for the first time). The factory service has to be invoked which returns an instance of the service. Next, when using resources, normally a resource has to be created and then the service can be invoked by using the stubs generated earlier. The invocation will only work if the user has valid proxy credentials. Otherwise, (s)he has to create them first by running a batch file of the Globus Toolkit. Files have to be transferred beforehand using GridFTP (or SSH, if the user has an account on the machine the service is running on). To invoke the face detection workflow service with the Grid Browser, the user simply surfs to the location of the

Search Engine

Since a user might want to search Grid services directly, we have developed a simple Grid service search engine which queries the MDS of a preconfigured set of Grid nodes. The search engine can only be used remotely. It is automatically added when Firefox is started for the first time after the add-on has been installed. For this purpose, the sidebar’s addSearchEngine function is executed in the browser overlay’s initialization code, and then persisted as a preference.

3.6

Remote Components

Proxy Certificate Generation and Execution Engine

When invoking a Grid service, a part of the form contains possible security settings. Here, GSI Transport, GSI Secure Message, and GSI Secure Conversation are supported. The user needs to have a valid certificate in a folder configured in the Options menu. It is also possible to use the certificate from the security device. The user then has to additionally enter the password for the security device. If no valid proxy certificate is found, one is created programmatically by the execution engine (if it is running locally). The execution engine is responsible for the resource creation and the correct configuration of the Axis’ Call-object, which includes setting of the service’s endpoint, operation, the service credentials, and security parameters. When Secure Message is used, the user needs to put the host certificate into his or her 6

WSDL description, as shown in Figure 2.

receives a Reference-Array with MIME types indicating image formats, then an image visualizer plugin is used to create a resulting HTTP page. Figure 3 shows how the results of the face detection workflow service for a Meat Loaf music video are rendered in the Grid Browser. Instead of the Grid Browser, the user could have also used a portal to experience a similar behaviour. But from the perspective of the service developer, an additional client, a portlet which calls the client code, and a user interface would have to be written. This increases the development effort of a service considerably. Furthermore, maintenance of a portal would be required by the service provider. By using the Grid Browser, only the WSDL file of the service has to be hosted.

5

Related Work

There is related work in the areas of browser integration and data integration. Gemstone [4] is an application based on the Mozilla Application Framework and XULRunner that allows users to browse a set of web services and enables dynamic integration of the user interface elements. The service providers have to specify the service and user interface. Gemstone is used to select services from a proprietary repository. Thus, Gemstone lacks a real browser integration. Furthermore, Gemstone only provides the integration of web services for which visualization code is written in XUL and JavaScript. This limits the use of Gemstone to service providers offering visualization code to their services and using the proprietary repository format supported by Gemstone. Since Gemstone is built on top of the Mozilla Framework, it only supports Transport Layer Security (TLS) and PKCS12 certificates. The lack of proxy certificate support considerably limits its use in Grid environments. Gemstone strictly supports client-side processing. For slow clients, it would be better if an option for server-side processing was available. Web and Grid portals like GridSphere [11] provide access to a collection of services and a set of tools such as single-sign on, data management, and certificate management or collaboration capabilities (sharing, interlinking, and integrating multi-disciplinary datasets) like the GEON portal [10] directly through the browser. However, in order to operate portals, maintenance and administration efforts are needed. Furthermore, for each new service to add to the portal, a portlet has to be written. The Web Services Remote Portlet (WSRP) specification [8] addresses part of the problem. A user interface defined at a remote site can be included in the portal. Still, each provider has to define the user interface for each of its service descriptions on the web or in a repository. Compared to portals and to Gemstone, the proposed Grid

Figure 2. Screenshot of the Grid Browser while selecting a file.

Figure 3. Screenshot of the results of the Face Detection Workflow Service for a Meat Loaf music video. By clicking on the browse button, a regular file selector dialog opens which allows the selection of an arbitrary file from the hard disk. This file is hosted by a FlexSwAServer and can be pulled even automatically (depending on the Flex-SwA configuration for the service) by the service when it is invoked. On the right side, the standard security mechanisms can be selected and a proxy certificate can be created. By clicking on “Invoke service”, the invocation of the service is started. When the Grid Browser 7

Browser extension has several benefits with respect to installation effort, ease of use, functionality, integration into the Web browser, whether processing takes place locally or on service-side, supported security level, GridFTP support and supported types of certificates. However, there are also a few disadvantages. The Grid Browser depends on the Firefox releases of the Mozilla Foundation. It cannot be expected that an Add-on running on Firefox 3 also runs on Firefox 4 without slight modifications. From the client’s perspective, it is more effort to invoke the first service because the client must be installed, whereas portals are installed by the responsible administrator. But since the installation is very easy, the disadvantage is only minimal. Complex user interfaces might be better when they are tailored to the application than automatically generated. To integrate data transfers using GridFTP, Reliable File Transfer (RFT) [2] is often used. RFT is a service wrapper for GridFTP. The installation of the RFT service with a GridFTP server is an extra effort for the service provider. Integrating the RFT capabilities into a Grid service or a client is a very hard task for the service developer. Using Flex-SwA’s data transfer and integration capabilities really simplifies the development of services and clients. OGSADAI [3] provides services to access data from different sources like databases, files etc., but does not allow to simply integrate data transfers into the service invocation.

6

Language (JSDL) and support for the Grid Laboratory Uniform Environment (GLUE) information model is planned. Beside certificates, other authentication mechanisms like a simple username/password will be added in the future.

7

Acknowledgments

This work is partly supported by the German Ministry of Education and Research (BMBF) (D-Grid Initiative).

References [1] OpenCV, 2008. http://www.intel.com/ technology/computing/opencv/. [2] W. E. Allcock, I. Foster, and R. Madduri. Reliable Data Transport: A Critical Service for the Grid. In Building Service Based Grids Workshop, Global Grid Forum 11, 2004. [3] M. Antonioletti, N. P. Chue Hong, A. C. Hume, M. Jackson, K. Karasavvas, A. Krause, J. M. Schopf, M. P. Atkinson, B. Dobrzelecki, M. Illingworth, N. McDonnell, M. Parsons, and E. Theocharopoulos. OGSA-DAI 3.0 The Whats and the Whys. In Proceedings of the UK e-Science All Hands Meeting 2007, 2007. [4] K. Bhatia, B. Stearn, M. Taufer, R. Zamudio, and D. Catarino. Extending Grid Protocols onto the Desktop using the Mozilla Framework. In 2nd International Workshop on Grid Computing Environments (GCE 2006), 2006. [5] T. Friese, M. Smith, and B. Freisleben. GDT: A Toolkit for Grid Service Development. In Proceedings of the 3rd International Conference on Grid Service Engineering and Management, pages 131–148, 2006. [6] S. Graham, A. Karmarkar, J. Mischkinsky, I. Robinson, I. Sedukhin, J. Treadwell, L. Srinivasan, T. Banks, T. Maguire, D. Snelling, L. Liu, and S. Meder. Web Services Resource Framework (WSRF), 2006. [7] S. Heinzl, M. Mathes, T. Friese, M. Smith, and B. Freisleben. Flex-SwA: Flexible Exchange of Binary Data Based on SOAP Messages with Attachments. In Proc. of the IEEE International Conference on Web Services, Chicago, USA, pages 3–10. IEEE Press, 2006. [8] A. Kropp, C. Leue, R. Thompson, C. Braun, J. Broberg, M. Cassidy, M. Freedman, T. N. Jones, T. Schaeck, and G. Tayar. Web Services for Remote Portlets Specification. OASIS Standard, August 2003. [9] Massachusetts Institute of Technology (MIT). Semantic Interoperability of Metadata and Information in unLike Environments (SIMILE). http://simile.mit.edu/. [10] U. Nambia, B. Ludaescher, K. Lin, and C. Baru. The GEON Portal: Accelerating Knowledge Discovery in the Geosciences. In 8th ACM International Workshop on Web Information and Data Management (WIDM 2006), pages 83 – 90. ACM, November 2006. [11] The GridSphere Project. GridSphere Portal Framework. http://www.gridsphere.org/. [12] P. Viola and M. J. Jones. Robust real-time face detection. Int. J. Comput. Vision, 57(2):137–154, 2004.

Conclusions

In this paper, we have introduced the Grid Browser as a familiar entry point for end users to “enter” and use a service-oriented Grid. A Grid Browser extends the functionality of portals and renders WSDL files directly in addition to normal HTML files, so that a service developer does not need to develop a client anymore and a service provider does not need to host and maintain a portal. For the end user, a graphical frontend is generated which eases the invocation of a Grid service or the submission of a job. A user does not need to create a client programmatically anymore. Data transfers are integrated into the service invocation using an implementation of the Flex-SwA architecture, so that a user does not need to know the location (s)he has to transfer data to and does not need to learn how to use data transfer mechanisms like GridFTP. All of these contributions simplify the use of a service-oriented Grid significantly. In the future, it is planned to add several other features to the Grid Browser. A visualization plugin could be realized using Java3D. Since Java code can be executed via LiveConnect and arbitrary libraries can be added to the class path, it should be straightforward to execute Java3D applications for complex visualizations. A user-friendly way to define job descriptions in the Job Submission Description 8

The Grid Browser: Improving Usability in Service ...

Automatically Generating Clients and Handling Data Transfers. Steffen Heinzl ..... egory manager during the registration process of the add-on (i.e. when the ...

2MB Sizes 3 Downloads 142 Views

Recommend Documents

Improving the Usability of Intrusion Detection Systems - CiteSeerX
The resulting system was tested on two corpora of data: Web access logs ..... 13See e.g. 'http://builder.com.com/5100-6387 14-1044883-2.html', verified ...

Improving the Usability of Intrusion Detection Systems - CiteSeerX
Current advanced intrusion detection systems that benefit from utilising machine learning ... server access requests, and a subset of a data set with system call traces. We also ...... Technology/National Computer Security Center. [WFP99] ...

The challenges of six sigma in improving service ... - Semantic Scholar
The current issue and full text archive of this journal is available at ... Recently, a number of articles has focused on the importance of six sigma for ...... Rylander, D.H. and Provost, T. (2006), “Improving the odds: combining six sigma and onl

pdf-1439\service-operations-management-improving-service ...
pdf-1439\service-operations-management-improving-service-delivery.pdf. pdf-1439\service-operations-management-improving-service-delivery.pdf. Open.

pdf-1469\service-operations-management-improving-service ...
Connect more apps... Try one of the apps below to open or edit this item. pdf-1469\service-operations-management-improving-service-delivery-4th-edition.pdf.

The Web Service Browser: Automatic Client ...
particular problems associated with handling Grid services have been published in ... WSDL file with their browser (like browsing to a HTML file) and then see a ...

browser fuzzing in 2014 - SyScan360
HITB (x2) – Deepsec – nuit du hack – phDays – swiss cyber storm. • https://sites.google.com/site/tentacoloviola/ ..... xhr/WS. Nodejs app js. Eval. (JS). • This evaluation of the js fragment is influenced by: ▫ synch DOM mutations that

Isolating Web Programs in Modern Browser Architectures
browser plug-ins like Adobe Flash, since plug-ins are effec- tively black boxes to the rest of the ... arguments, as documented online [Google 2008d]. • Monolithic: ...

Isolating Web Programs in Modern Browser Architectures
classroom use is granted without fee provided that copies are not made or distributed ... erating systems. OSes like MS-DOS and MacOS only sup- ported a single address space, allowing programs to interfere with each other. Modern operating systems is

Isolating Web Programs in Modern Browser Architectures
Keywords Web browser architecture, isolation, multi-process browser, reliability .... A registry-controlled domain name is the most general part of the host name.

improving the quality of service (qos) in wsn routing ...
In this module Cluster-based WSNs allows for the great savings of energy .... Conference on Information Processing in Sensor Networks (IPSN'04), Apr. 2004.

improving the quality of service (qos) in wsn routing using trust and ...
The multi-hop routing in wireless sensor networks (WSNs) offers little protection against identity deception through replaying routing information. An adversary can exploit this defect to launch various harmful or even devastating attacks against the

The challenges of six sigma in improving service quality
Department of Management, The College of New Jersey, Ewing, .... The concept of service quality is a technical term in the marketing literature that usually.

Enhance Security and Usability Security and Usability ...
Drag-and-drop is perhaps the most obvious method, but not typically ..... of the 1999 International Workshop on Cryptographic Techniques and E-Commerce.

NodeWiz: Fault-tolerant grid information service
ture built on top of an XMPP (eXtensible Messaging and Presence Protocol) stack [26]. The NodeWiz pro- totype is currently being used as the GIS of the. OurGrid middleware [6, 20]. It incorporates all the optimizations discussed in Section 6, except

PDF The Grid - Audiobooks
PDF The Grid - Audiobooks

Read The Grid - Download
Read The Grid - Download

Specification and Execution of Declarative Policies for Grid Service ...
Specification and Execution of Declarative Policies for Grid Service Selection. 103 ... keeps a look-up table containing all available services. At that stage, URIs ...

Secure Grid Service Engineering for Industrial Optimization Problems ...
Many industrial optimization problems require high computational power and hence are ideally executed in a Grid environment. Since the development and configuration of. Grid Services – especially the security configurations – is a very complex ta

A Decentralized Grid Market Infrastructure for Service ...
computing, and has proposed a great variety of market models and tools for the ... period, the initiator selects from the set of collected proposals the best one, .... economic-aware resource management tool by means of the the DataMining Grid.

DWDM-RAM: A data intensive grid service architecture ...
DWDM-RAM is an architecture for data- intensive services enabled by next generation dynamic optical networks. It develops and demonstrates a novel architecture for new data communication services, within the OGSA context, that allows for managing ext

Improving Energy Performance in Canada
Sustainable Development Technology Canada –. NextGen ..... through education and outreach, as well as through .... energy science and technology by conducting ...... 171 026. Oct. 11. 175 552. Nov. 11. 167 188. Dec. 11. 166 106. Jan. 12.

A Decentralized Grid Market Infrastructure for Service ...
Automatic and adaptive resource management is the solution to these chal- ... based software development, and as a mean to integrate different component ...

Secure Grid Service Engineering for Industrial Optimization Problems ...
security configuration, and allow the orchestration of services. Keywords: Optimization in Industrial Engineering, Grid Computing, Security, Workflow,. Service Orchestration, Service-Oriented Architecture (SOA), Model Driven Development. 1 Introducti