proof of your article attached, please read carefully

4 downloads 0 Views 1MB Size Report
support, such as the JBoss portal, Liferay and Gridsphere. .... requests, and then executes the required actions in the underlying Grid computational environment ...
JOHN WILEY & SONS, LTD., THE ATRIUM, SOUTHERN GATE, CHICHESTER P019 8SQ, UK

*** PROOF OF YOUR ARTICLE ATTACHED, PLEASE READ CAREFULLY *** After receipt of your corrections your article will be published initially within the online version of the journal.

PLEASE NOTE THAT THE PROMPT RETURN OF YOUR PROOF CORRECTIONS WILL ENSURE THAT THERE ARE NO UNNECESSARY DELAYS IN THE PUBLICATION OF YOUR ARTICLE READ PROOFS CAREFULLY ONCE PUBLISHED ONLINE OR IN PRINT IT IS NOT POSSIBLE TO MAKE ANY FURTHER CORRECTIONS TO YOUR ARTICLE § §

This will be your only chance to correct your proof Please note that the volume and page numbers shown on the proofs are for position only

ANSWER ALL QUERIES ON PROOFS (Queries are attached as the last page of your proof.) §

List all corrections and send back via e-mail to the production contact as detailed in the covering e-mail, or mark all corrections directly on the proofs and send the scanned copy via e-mail. Please do not send corrections by fax or post

CHECK FIGURES AND TABLES CAREFULLY § § § §

Check sizes, numbering, and orientation of figures All images in the PDF are downsampled (reduced to lower resolution and file size) to facilitate Internet delivery. These images will appear at higher resolution and sharpness in the printed article Review figure legends to ensure that they are complete Check all tables. Review layout, titles, and footnotes

COMPLETE COPYRIGHT TRANSFER AGREEMENT (CTA) if you have not already signed one §

Please send a scanned signed copy with your proofs by e-mail. Your article cannot be published unless we have received the signed CTA

AUTHOR SERVICES §

If you have registered this article in Wiley-Blackwell Author Services, the article's status will be updated shortly after you have returned your proof corrections (you will also receive an e-mail alert if you have opted to receive them). You are entitled to free access to the PDF from Author Services when your article is published online. This free access is considered your PDF offprint, and you will only have access from within Author Services; you will not be sent a PDF. You may also nominate up to 10 colleagues for free access. All accesses from Author Services count towards the usage of your article. For options to order print copies or additional electronic access, please see below.

OFFPRINTS §

Free access to the final PDF offprint of your article will be available via Author Services only. Please therefore sign up for Author Services if you would like to access your article PDF offprint and enjoy the many other benefits the service offers.

Additional reprint and journal issue purchases § § §

§

Should you wish to purchase additional copies of your article, please click on the link and follow the instructions provided: http://offprint.cosprinters.com/cos/bw/ Corresponding authors are invited to inform their co-authors of the reprint options available. Please note that regardless of the form in which they are acquired, reprints should not be resold, nor further disseminated in electronic or print form, nor deployed in part or in whole in any marketing, promotional or educational contexts without authorization from Wiley. Permissions requests should be directed to mailto: [email protected] For information about 'Pay-Per-View and Article Select' click on the following link: http://www3.interscience.wiley.com/aboutus/ppv-articleselect.html

CPE 1664 pp: 1–15 (col.fig.: Nil)

ED: Senthil

PROD. TYPE: COM PAGN: Babu -- SCAN:

CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. (2010) Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cpe.1664

1

Generating web-based user interfaces for computational science

F

5

Jano van Hemert1, ∗, † Jos Koetsier1 , Livia Torterolo2,3, Ivan Porro2,3 , Maurizio Melato4 and Roberto Barbera5 1 National 2 Department

OO

7

e-Science Centre, School of Informatics, University of Edinburgh, Edinburgh, U.K. of Communication, Computer and System Sciences of the University of Genoa, Genova, Italy 3 Nextage srl, Genova, Italy 4 Nice srl, Asti, Italy 5 Department of Physics and Astronomy of the University of Catania, Italy

9

SUMMARY

15 17

D

13

Scientific gateways in the form of web portals are becoming the popular approach to share knowledge and resources around a topic in a community of researchers. Unfortunately, the development of web portals is expensive and requires specialists skills. Commercial and more generic web portals have a much larger user base and can afford this kind of development. Here we present two solutions that address this problem in the area of portals for scientific computing; both take the same approach. The whole process of designing, delivering and maintaining a portal can be made more cost-effective by generating a portal from a description rather than programming in the traditional sense. We show four successful use cases to show how this process works and the results it can deliver. Copyright 䉷 2010 John Wiley & Sons, Ltd.

TE

11

PR

3

23 25 27

portals; life sciences; portal development; computational science

CO RR

21

KEY WORDS:

INTRODUCTION

Scientific gateways, mostly in the form of web portals, are becoming the way forward for bringing together communities of researchers around a certain topic [1]. The aim is to share knowledge and resources. For the latter, this often involves sharing of data and tools that may even operate on these shared data. The scientific community has long since recognized the advantages and potential of using portal technology in scientific applications such as described in [2], especially as a tool to improve upon the slow uptake in use of utility computing infrastructure and high-performance computing (HPC) facilities [3]. Instead of learning command-line methods to upload and execute applications, users

UN

19

EC

Received 12 March 2010; Revised 27 July 2010; Accepted 27 July 2010

∗ Correspondence

to: Jano van Hemert, National e-Science Centre, School of Informatics, University of Edinburgh, Edinburgh, U.K. † E-mail: [email protected] Copyright 䉷 2010 John Wiley & Sons, Ltd.

CPE 1664 2

15 17 19 21 23 25 27 29

31 33 35 37 39 41

F

OO

13

PR

11

D

9

TE

7

EC

5

CO RR

3

would have one web-based point of access to the available computational resources. Users can select the applications that are of interest to them and use a graphical user interface to execute a particular task, substantially lowering the barrier to using the available computing resources. Unfortunately writing new scientific portlets is not an easy task. They are usually written in Java or JavaScript and, for more advanced portlets, require the use of several so-called middleware packages. Once written, they need to be maintained as depending technologies may be updated or changed. An easy solution is to program a few portlets that are very general in their application and cover a wide range of possible end-uses. Unfortunately, this means they necessarily closely resemble the underlying technical infrastructure of compute-job submission systems, thereby providing little appeal to a wide range of domain specialists. Scientific web portals differ much in terms of users when compared with web portals that facilitate commercial ventures (e.g. Amazon and eBay) or social activities around a less focussed task (e.g. LinkedIn and FaceBook). These portals can expect many thousands or even millions of users, and therefore can afford to spend much of their resources on maintenance and further development. Their success also allows them to hire people with the necessary set of skills. For scientific web portals to become successful the main problems to overcome are the high cost of development and maintenance, and the difficulty in finding people with the diverse skills required. In this paper we describe two separate solutions to these problems that both use the same idea. Instead of hiring software engineers to develop a web portal by using traditional programming, scientists can easily create a computational science portal themselves using the tools we present next. The two approaches described here can be used to develop web portals that facilitate scientific computing on remote compute resources. This kind of web portal differs much from the conventional Content Management Systems (CMS), of which there are hundreds out there. The most general definition of a CMS is that it is a collection of procedures used to manage work flow in a collaborative environment. A scientific computing portal enables the execution of software applications on remote compute facilities. It may make use of workflow technology to define how this execution takes place. The major difference is that a scientific computing portal can communicate with back-end computer facilities.

RAPID

Rapid is an open-source framework designed to develop computational web applications using a minimum of programming that make submitting compute jobs as easy as purchasing a book or booking a flight on the web. Instead of programming applications from scratch, the system relies on one configuration file, written in XML that defines both the user interface and the control flow inside that interface. Essentially, this declarative configuration binds elements in a user interface to options available in the domain-specific application. A basic example is shown in Figure 1. This example is included with Rapid’s installation along with more advanced examples that actually submit a compute job. To develop a new web application both functionality and user interface are specified in an XML file using an editor of choice after which the Rapid translator is invoked to create a self-contained target object. Rapid produces standards-based JSR168 compliant portlets, which are packaged as Java Web Archives.

UN

1

J. VAN HEMERT ET AL.

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664 3

PR

OO

F

GENERATING WEB-BASED USER INTERFACES

Figure 1. A basic example of Rapid XML that will generate a portlet with two pages and buttons to switch between the pages.

9 11 13 15 17

19 21 23

D

TE

7

Architecture of rapid

EC

5

In Figure 2, we depict a high-level overview of a portlet produced and deployed with Rapid. The outer top layer depicts a JSR 168 compliant portal infrastructure, in which Rapid Portlets have to be deployed. Many frameworks are freely available, some with the possibility to purchase commercial support, such as the JBoss portal, Liferay and Gridsphere. Commercial offerings include IBM’s WebSphere and Oracle’s Portal server. Each portlet is a self-contained module containing both the user interface and the job manager. The job manager orchestrates the actual business logic of the portlet and consequently is responsible for data management, configuring and submitting the computational job. Usually, submitting a computational job entails copying data and applications into the computational resource, initiating and monitoring execution and copying results to a resource where they can be visualized as specified in [4].

CO RR

3

The resulting portlet can be deployed in one of the many open source or commercial JSR168 compliant portals. If the organization already has such a portal, the new portlet can simply be deployed in the existing infrastructure. Furthermore, live portlets—those already deployed in a JSR framework—can be shared by directly embedding them in other JSR frameworks. This is made possible because Rapid supports the Web Services for Remote Portlets specification approved by OASIS.

Rapid’s user interface

UN

1

The mark-up of the user interface is specified using tags from the standard XHTML namespace. This gives a portal developer a wide range of options to design the user interface using familiar tags. For example, a portal developer with basic XHTML knowledge can easily create tables, use different fonts and incorporate images in the Rapid Portlet without the need to learn a new computer language. Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664 4

Figure 2. The conceptual architecture involved in Rapid portlets.

7 9 11 13

D

TE

5

EC

3

Tags from the Rapid namespace are used to enter new values and to communicate with the job submission engine. Parameters can be requested in different ways, such as text boxes, list structures and radio buttons. Default values can be set in advance and are retained during the session. As HTTP is a stateless protocol this would normally have to be programmed explicitly by tying each variable into the session set-up by the portal. Values entered can be checked whether they are valid by comparing them with a regular expression. This ensures that users cannot, for example, enter text where a number is expected. Using Rapid tags, the portlet can be subdivided into a set of ‘pages’. This allows the portal developer to guide the user through the process of submitting a task. Instead of displaying all available information at once, a small amount of information can be requested of the user at one time. When all required information has been supplied, the user clicks on a button and navigates to a new page, which in turn can ask for more information, request confirmation or display monitoring information.

CO RR

1

Rapid’s job manager

17 19 21 23

The Job Manager decides what happens with the values entered in the User Interface. Rapid maintains a very general model of a job submission, which is flexible enough to allow a wide range of possible scenarios and specific enough to ensure creating a new job submission portlet is as simple as possible. Rapid’s job submission architecture is based around two Open Grid Forum standards: the Basic Execution Engine (BES) [4] and Job Submission Description Language (JDSL) [5]. These standards, which describe a general framework for submitting compute jobs, were carefully designed based on years of experience with a variety of different kinds of computational resources. This ensures our model can cope with most computational scenarios and underlying computational

UN

15

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

Color Online, B&W in Print

PR

OO

F

J. VAN HEMERT ET AL.

CPE 1664 5

GENERATING WEB-BASED USER INTERFACES

1

infrastructures. Together these standards define a procedure of job submission that involves the following stages:

3

• Stage In, a number of files are transferred into a computational resource that is expected to execute the compute jobs that belong to the task. • Execute, the computational resource is executing the task. • Stage Out, the task has finished and the results of the task are transferred to another site. • Error, this state is entered whenever an error has occurred in one of the previous states.

5 7

19 21 23 25 27 29 31 33 35

37 39 41

OO

PR

D

17

TE

15

EC

13

CO RR

11

If so desired, the compute job can be performed on the same computer the actual portal is running on, but in the majority of the cases the compute job is to be offloaded to a dedicated resource. This can either be a single computer accessed through SSH or a compute cluster running a workload management system that distributes and monitors the jobs. Rapid has an internal engine that can access several high performance and high throughput cluster technologies. These include Condor, Sun Grid Engine and the Portable Batch System (PBS). All of these manage compute jobs on local clusters. The computational task manager of Rapid communicates directly with all these solutions, initiates the data transfers and polls the resources to determine which state the execution is in. It is possible to define several computational resources in the Rapid XML file and let the Portal User choose between them. On the other hand, GridSAM can be used to bypass most of Rapid’s internal job manager. GridSAM is an implementation of the BES and provides a Web Service interface that consumes JSDL XML documents and performs data staging and job submission to several Grid Computing infrastructures. When submitting to a GridSAM web service, Rapid creates a JSDL document and hands it to a GridSAM service, which will perform the actual data staging, job submission and monitoring. GridSAM supports an increasing number of Grid technologies such as Globus, gLite and Unicore. Data transfers are abstracted through the Apache Virtual File System, which provides a common interface to different file systems. It allows Rapid to transfer files between heterogeneous file servers using protocols such as FTP, SFTP, HTTP and grid based protocols such as GSIFTP. If the computation takes place on the portal itself, simple operating system level ’copy’ commands can be used. Filenames can be represented as variables in Rapid and therefore different input scenarios can be taken into account. In addition, unique identifiers are generated for each job that can also be used in these variables to allow operating on distinct sets of files and directories. Rapid provides a flexible approach to authentication and security, mostly relying on SSH. It also supports using a heterogeneous set of authentication methods. For example, the portal may allow a specific set of users, where a Rapid portlet in that portal allows a user to connect to their own FTP server using a username and password independent from the portal. A guide to using rapid

UN

9

F

Resources and rapid

The portal developer specifies a job template in the Rapid XML file along the lines of the JSDL specification. This includes the name and location of the application itself and the file transfers before and after the execution. The application itself is described as a POSIX job such as used in most UNIX systems: the name of an executable, and a set of parameters and environment variables. Rapid XML allows a portal developer to make use of variables that can be linked directly Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664 6 1 3 5 7

to interface elements such as text boxes, file browsers and radio buttons, which in turn allows developers to make use of information captured from the users, for example, to change the name of input files appropriately. Rapid has many advanced features, all of which are explained in its manual. For example, it provides complete persistence of state to allow full recovery of all running and completed jobs as well as partially filled-in fields, which is useful for when a users’ browser terminates or loses connection, and even in the event the portal server is restarted. Rapid also supports sending MPI jobs to clusters. Last, but not least, if the Rapid XML is too limiting, a portal developer can invoke Python scripts through Rapid’s Jython interface, which essentially allows a developer to do anything they want.

11

21 23 25 27 29 31 33 35 37 39 41

PR

D

TE

19

EnginFrame’s architecture

The EF Grid portal receives incoming requests from the Web, authenticates and authorizes the requests, and then executes the required actions in the underlying Grid computational environment. Then it gathers the results and transforms them into a suitable format before sending the response to the client. Transformation of results is performed according to the nature of the client: HTML for Web browsers and XML for Web-services based client applications. EF’s architecture is layered in three tiers, as shown in Figure 3. The Client Tier consists of the user’s Web browser. In EF, this interface is based on well established Web standards such as XHTML and JavaScript. This tier is independent of the specific software and hardware environment used by the end user. The Client Tier also integrates remote visualization technologies. The Server Tier consists of a Server that interacts with the EF Agents and manages the interaction with the users. EF Server is a Java Web application and must be deployed inside a Java Servlet Container (e.g. Apache Tomcat). It takes care of exposing services to users. The Resource Tier consists of one or more EF Agents deployed on the back-end infrastructure. EF Agents are stand-alone Java applications that manage computing resources on a user’s behalf and interact with the underlying operating system, job scheduler, and Grid infrastructure to execute the portal services (e.g. starting jobs, moving data, retrieving cluster load, etc.). EF allows exposure of computing services solutions on the Web. This is done by developing XML-based descriptions of the services and scripts representing the actual services implementations. Most of the information managed by EF is described by dynamically generated XML

EC

17

CO RR

15

EnginFrame (EF) is a framework that allows virtual organizations to provide application-oriented computing and data services both to users via web browsers and in-house applications via SOAP/WSDL-based web services, hiding all the complexity of the underlying Cluster, Grid, or Cloud infrastructure. Using EF it is possible to build distributed systems where multiple EnginFrame servers, belonging to different organizations, share resources and services. EF aims to play a central role in the integration of data and computational Grids; it provides a powerful interface to seamlessly and securely access and manage data stored on different kinds of data Grids and distributed file systems [6]. EF supports several open and vendor neutral standards, distributed file systems, GUI virtualization tools and different kinds of authentication systems.

UN

13

ENGINFRAME

OO

F

9

J. VAN HEMERT ET AL.

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664 7

TE

Figure 3. EnginFrame Grid Portal Architecture.

5

EC

3

documents. The source of such information is typically the service execution environment: an XML abstraction layer aims to submit service actions and translate raw results (from the computational environment) into XML structures. The XML abstraction layer is designed to decouple the portal from the actual Grid environment. This characteristic allows to extend the functionalities of the portal by developing ad hoc plugins for specific Grid middleware and legacy applications. EF’s features

9 11 13 15 17

A flexible authentication delegation offers a wide set of preconfigured authentication mechanisms: Linux Operating system, NIS, HTTP, PAM, LDAP, Active Directory, MyProxy, Globus, AFS, etc. It can also be extended through the plugin mechanism that allows to write new custom authentication modules without writing java code. In case of Grid environment based on Global Security Infrastructure (GSI) model, the authentication and authorization processes are simplified by using an Applet component integrated into the Portal that allows:

UN

7

CO RR

1

• to create user proxy file, with or without VOMS Extensions, using its personal certificate and private key from its local computer. The proxy consists of a new certificate, with a new public key in it, and a new private key, where the new certificate contains the owner’s identity, modified to indicate that it is a proxy. Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

Color Online, B&W in Print

D

PR

OO

F

GENERATING WEB-BASED USER INTERFACES

CPE 1664 8

J. VAN HEMERT ET AL.

• to transfer the proxy file to the server installed on the portal, by means of an encrypted and mutually authenticated connection (GSI model).

3

Thanks to the Proxy Applet, users can authorize themselves on the Grid environment without moving their personal certificate from their pen drive or equivalent storage device. This is a very important feature because there is no transfer through the network of any file about personal certificate (.p12 or .pem format). Another portal feature able to make Grids more appealing for new users has recently been achieved with the adoption of robot certificates. The robot certificate (also known as portal certificate) is associated with a specific application (function) the application developer/provider wants to share with all the Grid community and can be installed in a smart card, or a USB key and used through web a portal. They can be used to securely generate and store X.509 certificates and/or SSH keys. The public part of an X.509 certificate can be accessed by an application but the corresponding private key can never be copied off the smart card or USB key. Users PIN is requested. This makes such kind of devices ideal for storing sensitive data such as digital certificates. Robot certificates are a valuable tool to ease the access to e-Infrastructures for many virtual research communities and keep the certificate protected and safe. Besides authentication, EF provides an authorization framework that allows to define or inherit from the underlying system group of users, access control lists (ACLs) and to bind ACLs to resources, services, service parameters and service results. The Web interface of the services provided by the Portal can be authorized and thus tailored to the specific users roles or access rights. EF supports a wide variety of compute environments such as the MAUI and Torque scheduler, PBS (both OpenPBS and PBS Pro), the Platform LSF product suite, Sun Grid Engine, and Grid middleware such as Globus, gLite, etc. An XML virtualization layer invokes specific middleware commands and translates results, jobs and Grid resources descriptions into a portable XML format called GridML that abstracts from the actual underlying Grid technology in use. Concerning data management, the EF framework allows users to browse and handle data on the client side or remotely archived on the Grid and then to host service working environments in filesystem areas called Spoolers. On the Grid side, the approach we followed is twofold: both SRB/iRODS and gLite Grid middleware can be integrated as DataGrid layers. A client with pluggable image processing and visualization tools is available through the Web portals powered by EF. Traditional 2D visualization of graphics and GUI-based applications is possible thanks to the VNC Plug-in for EF. A client with pluggable image processing and visualization tools is available through the Web portals powered by EF. Traditional 2D visualization of graphics and GUI-based applications is possible thanks to the VNC Plug-in for EF.

17 19 21 23 25 27 29 31 33 35

OO

15

PR

13

D

11

TE

9

EC

7

CO RR

5

F

1

Resources and EF

39 41 43

Resource discovery systems are essential components in every Grid environment because they provide information about Grid resources and their status, with the possibility to use this information for monitoring and accounting purposes. EF has the capability to internally monitor the availability of new resources. Every time the administrator of the portal publishes a new resource (plugins, computing and storage nodes, services, features, etc.), it can be automatically seen and used by the other users entitled to do so. gLite Information System and iRODS Resource Monitoring System are just two examples of solutions we have tested. Another example is given by the successful results obtained in the

UN

37

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664

F OO

3

A-WARE project (http://www.a-ware-project.eu/), whose major focus was on developing a useroriented workflow orchestration and management system combining the EF portal technology as a front-end to the UNICORE Atomic Services (UAS) layer.

D

1

PR

Figure 4. EnginFrame: fragment of SDF code (left) and service interface for data upload and analysis options selection (right).

9 11 13

15

EC

7

From the developer point of view, EF services are made of an XML description, input parameters and the action to be executed. Normally, all the services exported by EF are described in an XML file called Services Definition File (SDF). For the sake of completeness and clearness, a fragment of SDF file for Survival analysis service (described in Use Cases section) is reported in Figure 4. EF enables writing services in different languages: Java, JavaScript, Python, etc. This means that if you already have your code available, you can integrated it in EF without changes. It is quite easy to integrate existing Web applications, RDBMS, WebServices and other Java-enabled back-ends. It also enables rich and highly interactive interface development: the application user interface can dynamically change depending on custom requirements by using, for example, Javascript, Google Web Toolkit or AJAX.

CO RR

5

TE

A guide to using EF

USE CASES

Use case 1: EF and survival analysis

19 21 23

We present an example of bioinformatics application integrated in a portal based on EF and successfully tested and used in production mode by the Functional Genomics laboratory of the National Cancer Research Institute of Genoa. The service developed, Survival Online, is a novel method to perform correlations between microarray gene expression data and clinic-pathological data through a combination of available and newly developed processing tools. Microarray data analyses procedures are usually made of several steps ranging from preprocessing (background correction, normalization, summaries) to the statistical analysis of differential gene expressions.

UN

17

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

Color Online, B&W in Print

9

GENERATING WEB-BASED USER INTERFACES

CPE 1664 10

17 19 21

F

Color Online, B&W in Print

15

OO

13

PR

11

D

9

TE

7

EC

5

CO RR

3

This may involve different computer programs, ranging from specialized tools and statistical software environments to simple spreadsheets. It is therefore difficult for single researchers to analyse large data sets just using their local resources and, even if it is possible, it requires time, costs and skills. As the first step, microarray data are preprocessed (using background correction and normalization methods) and gene expression values are obtained by running a parallel version of dChip [7]. dChip software is able to run on both cluster environments and distributed Grid infrastructures, like EGEE. In this scenario, the added value of using Grid technologies is the possibility to analyse a large number of arrays in parallel thus reducing computational times and data transfers. The following processing steps further evaluate expression values by means of several R/Bioconductor methods [8]. First, under/over-expressed genes are filtered so that only a set of genes defined by a user is retained. Then, specific phenodata are associated with samples. Finally, a Cox regression analysis, possibly combined with a multivariate analysis, is performed and the Kaplan–Meier survival plot is computed [9]. The Kaplan–Meier model graphically describes a step function with sudden changes in the estimated probability whenever an event is observed. It estimates the survival function from life-time data. In this context, it is used to measure the fraction of patients living for a certain amount of time after treatment. An example of resulting Kaplan–Meier plot is shown in Figure 5. Thanks to the user-friendly portal interface, the process complexity is hidden and the analysis can be executed in an automated way. The user is first enabled to select—remotely or locally—data sets or single samples thereof, as well as single genes or lists of genes. Expression values of selected genes are then correlated with sample annotation data by running mono- or

UN

1

J. VAN HEMERT ET AL.

Figure 5. EnginFrame: results visualized in the spooler area of a microarray portal.

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664

F OO

1

multi-variate Cox regression, depending on user preferences. Survival analyses results, together with the Kaplan–Meier plot, are shown in the spooler area of the portal. Execution status of the analysis (DONE) is visible as well.

D

3

PR

Figure 6. EnginFrame: the user interface for a Quality Assessment service (left) and the output of quality assessment analysis visualized in the spooler area of the portal (right).

11 13 15 17 19 21 23 25

EC

9

CO RR

7

Another example of EF service developed concerns quality assessment of gene expression microarray data. A new methodology has been developed and integrated in the portal in order to provide biologists with an easy tool to automatically identify low quality arrays (outliers) in large data set experiments, overcoming technological limitations and long computational times. As a result, outliers could be flagged and excluded from the substantive biological analysis, or the downstream analysis could be adjusted to account for the outlier arrays (by weighting for example). It depends on user preferences and experience, so it is entrusted to biologists. The analysis model involves complex statistical procedures and techniques such as MDS (Multi Dimensional Scaling) and cluster algorithms and the analysis workflow has been parallelized in order to exploit the behind computational infrastructure. Once more, the service interface developed allows users to perform the complete quality control procedure by setting the desired options and pressing a button. Figure 6 shows the portal interface for input selection and displays one of the possible results obtained. The plot visualized in the portal spooler area is showing the MDS analysis result by running a small subset of 14 Human Gene 1.0 ST Arrays. For validation purposes, the subset has been built in order to have 13 arrays of high quality and 1 array of low quality. For annotation simplicity, data files have been renamed by means of alphabetic letters, from a to n. It is quite clear that the low quality array, indicated by letter ‘g’, is well identified by the system, thanks to its distance from the high quality data set. The proposed methodology for quality assessment has been tested on Human Gene 1.0 ST Arrays hybridized for breast cancer research at Functional Genomics Unit, National Cancer research Institute, Genoa.

UN

5

TE

Use case 2: EF and quality assessment of microarray data

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

Color Online, B&W in Print

11

GENERATING WEB-BASED USER INTERFACES

CPE 1664 12

OO

Figure 7. Rapid: visualizing the structure of an ammonium molecule (left) and using a plugin on a waveform from seismic monitoring data (right).

9 11 13 15 17 19 21 23 25

PR

D

TE

7

EC

5

Chemists from the joint Chemistry Research School of the Universities of Edinburgh and St. Andrews (EaStCHEM) have recently used Rapid to create portlets both for teaching and research purposes. Technological barriers prevented many researchers from using specific chemistry applications and produced large overheads in teaching these applications to students. To overcome these barriers, the Rapid project showed EaStCHEM how to create portlets with Rapid. This training led to a technology transfer, where the most ICT adapt chemist was able to create several portlets without the help of a software developer within a period of two weeks. To help scientists develop their own portlets and deploy their own portal we provide training material in several forms. A comprehensive manual exists that consists of a short explanation of how a portlet should be deployed for different portal products and for the rest explains the syntax of the Rapid XML, where short examples are provided for every XML tag and concept. Also, a basic tutorial is provided with exercises that will get a novice user develop a simple job submission portlet incrementally. From experience in running the tutorial, most novice users can finish the tutorial within an hour and a half. Furthermore, videos are available of previously developed portals as well as a video that shows how to get the examples that come with Rapid to work with the recommended portal container LifeRay. One of the portlets is now used to teach over 140 chemistry students. This user-friendly portlet, which is shown in Figure 7 hides the complexity of the tutorial (such as, command line options, authentication protocols and job submission commands) from the student, so that they can concentrate on learning both the conceptual use of the application and the chemistry associated with it. A screencast is available at http://research.nesc.ac.uk/node/396. Portlets do not just make applications more user friendly. Future work with EaStCHEM will make more resources available to the chemists, such as those supplied by the National Grid Service. This will overcome difficulties in securing time on the resources available within the universities and will harness more computational power for the chemists.

CO RR

3

Use case 3: rapid and chemistry

UN

1

27

Use case 4: rapid and seismology

29

The Seismological Research community has used Rapid to assist in the analysis of seismic waveform data. Two portlets were generated that were embedded in an existing community gateway Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

Color Online, B&W in Print

F

J. VAN HEMERT ET AL.

CPE 1664 13

GENERATING WEB-BASED USER INTERFACES

7 9 11 13 15 17

F

5

OO

3

called the NERIES Data Portal. The NERIES portal has functionality that enables its users to access seismic data which is made available in the Orfeus Data Center; the primary European centre for this kind of data. Seismic waveforms can be viewed and selected into a so-called ‘shopping cart’ for further processing. Two Rapid portlets were generated and deployed in the NERIES portal. They allow users to define and perform mathematical operations on waveforms they selected in their shopping cart. Each operation is defined in a fragment of code stored as a plugin in a central repository. Using the first portlet a seismologist can create new and edit existing plugins. The code in a plugin is loaded from the remote repository and can be modified using a feature rich editor, which supports functionality such as syntax highlighting and code formatting. Once the Seismologist has finished editing the new plugin, it can be uploaded to the repository where it is made available to other members of the research community. The second portlet uses plugins written with the first portlet to analyse data selected in the shopping cart. The portlet reads the plugin from the repository and dynamically adapts the user interface to show the required parameters and input boxes. Each input box is annotated with a description that clarifies the usage of the parameter and a logical default is given. This portlet is shown in Figure 7. When submitted, the requested operations are performed on the data in the shopping cart and the resulting waveform is returned to the user in the web browser.

PR

1

27 29 31 33 35 37 39 41 43

TE

EC

25

CO RR

23

Web portals, also known as scientific gateways, are seen [1] as the best solution to enable users novice to computing to make use of remote compute resources as they can hide much of the underlying technical intricacies and do not require any software installation at the client, i.e. user’s, side. Note, the web portals we refer to here are tied into scientific computing infrastructures, which make them distinctive from CMS. The latter focuses on the management of data, whereas these web portals primarily enable (remote) access to scientific applications. Several different solutions have been developed to provide web portals, which can be broadly categorized into three categories general purpose job submission portals, job submission portal development toolkits and job submission generators. The two solutions described so far belong to the latter category. We describe several solutions and highlight the differences with our solutions. Most solutions depend on a portal container, a framework that provides the execution environment for several web applications. These applications are often called portlets or widgets. Popular containers used for scientific portals are GridSphere, LifeRay, JetSpeed and uPortal. All of these containers depend on Apache Tomcat and hence the development against these portals is in Java. Portal development frameworks or toolkits provide building blocks in terms of software development from which a web portal can be developed. This development requires programming in conventional programming languages, most often Java or Python. The advantage is that a competent software developer can produce any bespoke solution given sufficient resources. The disadvantage is that such a developer must be found. Also in most cases the web portal solution is delivered towards the end of a project, soon after the developer is on a new project or even in a new job. Any updates or repairs to the portal will be difficult as no sufficient resources and skills will be available to the community that owns the portal. Examples of portal development frameworks are the Open Grid Computing Environments Portal and Gateway Toolkit (OGCE; http://www.collab-ogce.org/), GridPortlets (http://www.

UN

21

RELATED WORK

D

19

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664 14

13 15 17 19 21 23 25

F

11

OO

9

PR

7

D

5

TE

3

gridsphere.org) GridPort (http://gridport.sourceforge.net/) and the Vine Toolkit (http://vinetoolkit.org/). See [10] for a comparison between OGCE and GridPortlets, which also highlights the inflexibility of these toolkits to facilitate easily a task-specific user interface. They have predefined components that when used in a manual workflow allows the use of remote compute resources. Note, it is up to the user to use the right component at the right time in the right way. P-GRADE [11] takes a different approach. It is also a portal-based job submission system, but instead provides a workflow approach. In spirit, this system comes closest to ours. However, this system aims to be a generic solution, where the users have to create and use a workflow in order to accomplish task. Although a very flexible approach, it does burden users with a great deal of technical jargon and their relatively complicated user interface. Furthermore, it targets a specific community which depends on highly dependent parallel (i.e. MPI) jobs. The GEMCLA project [12] has extended P-GRADE to a more general approach by encapsulating legacy applications as grid services and then using the workflow system to steer these applications. Several generic portals solutions were developed that can be described best as running out of the box. These solutions basically have a predefined user interface and only require an installation and basic configuration to enable access to the remote compute resources. Prominent examples are in the UK the JSDL Application Repository/Job Submission Portal hosted by the UK National Grid Service [13], in Australia the Nimrod Portal hosted by the Monash eScience and Grid Engineering Laboratory and in the USA the UC Grid Portal hosted by the University of California. These solutions offer one generic user interface to run compute jobs. This means that the user is responsible for filling in forms with both domain-specific and infrastructure-specific information in order to set up the job properly. Many users are unable or unwilling to do the latter, and moreover, to correctly set up the domain-specific information, they must have in-depth knowledge on how to use the commandline versions of the tools. This kind of solution presented in this paper prevents this dependence as one portal developer will do this for them, after which only the most relevant parameters will be shown in the user interface on a scientific budget.

EC

1

J. VAN HEMERT ET AL.

27

33 35 37

39 41

CO RR

31

We have introduced two solutions that aim to make the design, deployment and management of web portals for scientific computing more cost-effective and easier as opposed to the traditional approach to using traditional programming with added software libraries. It is impossible to make a direct and quantitative comparison between these solutions and the traditional approach as no accurate statistics exist about the resources invested in scientific gateway development. From anecdotal data we know that these investments vary wildly from one to several years. The solutions discussed here have been used to deliver many portals, four of these are described as use cases. Each use case took several weeks of effort to develop. In the case of the chemistry portal, the whole portal was developed and is maintained by a chemist. These cases indicate that portals can be developed by experts in the community and for that community, which helps to scale the portal development business.

UN

29

SUMMARY

REFERENCES

1. Getov V. e-science: The added value for modern discovery. Computer 2008; 41(11):30–31. 2. Wege C. Portal server technology. IEEE Internet Computing 2002; 6(3):73–77. Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

CPE 1664 15

GENERATING WEB-BASED USER INTERFACES

15 17 19 21 23 25

F

OO

13

PR

11

D

9

TE

7

EC

5

CO RR

3

3. Thomas MP, Burruss J, Cinquini L, Fox G, Gannon D, Gilbert L, von Laszewski G, Jackson K, Middleton D, Moore R, Pierce M, Plale B, Rajasekar A, Regno R, Roberts E, Schissel D, Seth A, Schroeder W. Grid portal architectures for scientific applications. Journal of Physics: Conference Series 2005; 16:596–600. 4. Foster I, Grimshaw A, Lane P, Lee W, Morgan M, Newhouse S, Pickles S, Pulsipher D, Smith C, Theimer M. OGSA Basic Execution Service Version 1.0. Available at: https://forge.gridforum.org/sf/go/doc15062?nav=1 [February 2007]. 5. Anjomshoaa A, Brisard F, Drescher M, Fellows D, Ly A, McGough S. Job Submission Description Language (JSDL) Specification, Version 1.0. Technical Report, Global Grid Forum, November 2005. Available at: http://www.ogf.org/documents/GFD.56.pdf. 6. Beltrame F, Maggi P, Melato M, Molinari E, Sisto R, Torterolo L. Srb data grid and computer grid integration via the enginframe grid portal. SRB Workshop at San Diego Supercomputing Center, 2006. 7. Corradi L, Fato M, Porro I, Scaglione S, Torterolo L. A web-based and grid-enabled dchip version for the analysis of large sets of gene expression data. BMC Bioinformatics 2008; 9. 8. Schadow. Bioinformatics and computational biology solutions using R and bioconductor. Gentleman R, Huber W, Carey VJ, Irizarry RA, Dudoit S (eds.). Briefings in Bioinformatics 2007; 8(2):136–137. 9. Kaplan EL, Meier P. Nonparametric estimation from incomplete observations. Journal of the American Statistical Association 1958; 53(282):457–481. 10. Zhang C, Kelley I, Allen G. Grid portal solutions: A comparison of gridportlets and ogce: Research articles. Concurrency and Computation: Practice and Experience 2007; 19(12):1739–1748. 11. Kacsuk P, Sipos G. Multi-grid, multi-user workflows in the P-GRADE grid portal. Journal of Grid Computing 2005; 3(3):221–238. System available at: http://www.lpds.sztaki.hu/pgrade/. 12. Delaitre T, Kiss T, Goyeneche A, Terstyanszky G, Winter S. GEMLCA: Running legacy code applications as grid services. Journal of Grid Computing 2005 3:75–90. 13. National Grid Service. JSDL Application Repository/Job Submission Portal. System operational at https://portal.ngs.ac.uk/ February 2008.

UN

1

Copyright 䉷 2010 John Wiley & Sons, Ltd.

Concurrency Computat.: Pract. Exper. (2010) DOI: 10.1002/cpe

Q1

Q2 Q3 Q4 Q5

Author Query Form Journal Name : Query No

Proof Page/lineno

CPE

Article Number: 1664

Details required

Q1

Please provide access date for Refs [4,5,13].

Q2

Please provide place of proceedings for Ref. [6].

Q3

Please provide page numbers for Ref. [7].

Q4

Please provide publisher name and location for Ref. [8].

Q5

Please provide initial of the author for Ref. [8].

Authors response

COPYRIGHT TRANSFER AGREEMENT

Wiley Production No. ....................................................... Re:

Manuscript entitled ...........................................................................................................................................................................................................................

(the “Contribution”) written by ............................................................................................................................................................................................................................. (the “Contributor”) for publication in..................................................................................................................................................................................................................... (the “Journal) published by John Wiley & Sons Ltd (“Wiley”).

In order to expedite the publishing process and enable Wiley to disseminate your work to the fullest extent, we need to have this Copyright Transfer Agreement signed and returned to us with the submission of your manuscript. If the Contribution is not accepted for publication this Agreement shall be null and void.

A. COPYRIGHT The Contributor assigns to Wiley, during the full term of copyright and any extensions or renewals of that term, all copyright in and to the Contribution, including but 1.

2.

not limited to the right to publish, republish, transmit, sell, distribute and otherwise use the Contribution and the material contained therein in electronic and print editions of the Journal and in derivative works throughout the world, in all languages and in all media of expression now known or later developed, and to license or permit others to do so. Reproduction, posting, transmission or other distribution or use of the Contribution or any material contained therein, in any medium as permitted hereunder, requires a citation to the Journal and an appropriate credit to Wiley as Publisher, suitable in form and content as follows: (Title of Article, Author, Journal Title and Volume/Issue Copyright © [year] John Wiley & Sons Ltd or copyright owner as specified in the Journal.)

B. RETAINED RIGHTS Notwithstanding the above, the Contributor or, if applicable, the Contributor’s Employer, retains all proprietary rights other than copyright, such as patent rights, in any process, procedure or article of manufacture described in the Contribution, and the right to make oral presentations of material from the Contribution.

C. OTHER RIGHTS OF CONTRIBUTOR 1.

2.

3. 4.

5.

Wiley grants back to the Contributor the following: The right to share with colleagues print or electronic “preprints” of the unpublished Contribution, in form and content as accepted by Wiley for publication in the Journal. Such preprints may be posted as electronic files on the Contributor’s own website for personal or professional use, or on the Contributor’s internal university or corporate networks/intranet, or secure external website at the Contributor’s institution, but not for commercial sale or for any systematic external distribution by a third party (eg: a listserver or database connected to a public access server). Prior to publication, the Contributor must include the following notice on the preprint: “This is a preprint of an article accepted for publication in [Journal title] Copyright © (year) (copyright owner as specified in the Journal)”. After publication of the Contribution by Wiley, the preprint notice should be amended to read as follows: “This is a preprint of an article published in [include the complete citation information for the final version of the Contribution as published in the print edition of the Journal]” and should provide an electronic link to the Journal’s WWW site, located at the following Wiley URL: http://www.interscience.wiley.com/. The Contributor agrees not to update the preprint or replace it with the published version of the Contribution. The right, without charge, to photocopy or to transmit on-line or to download, print out and distribute to a colleague a copy of the published Contribution in whole or in part, for the Contributor’s personal or professional use, for the advancement of scholarly or scientific research or study, or for corporate informational purposes in accordance with paragraph D2 below. The right to republish, without charge, in print format, all or part of the material from the published Contribution in a book written or edited by the Contributor. The right to use selected figures and tables, and selected text (up to 250 words) from the Contribution, for the Contributor’s own teaching purposes, or for incorporation within another work by the Contributor that is made part of an edited work published (in print or electronic format) by a third party, or for presentation in electronic format on an internal computer network or external website of the Contributor or the Contributor’s employer. The abstract shall not be included as part of such selected text. The right to include the Contribution in a compilation for classroom use (course packs) to be distributed to students at the Contributor’s institution free of charge or to be stored in electronic format in datarooms for access by students at the Contributor’s institution as part of their course work (sometimes called “electronic reserve rooms”) and for in-house training programmes at the Contributor’s employer.

D. CONTRIBUTIONS OWNED BY EMPLOYER If the Contribution was written by the Contributor in the course of the Contributor’s employment (as a “work-made-for-hire” in the course of employment), the 1.

2.

Contribution is owned by the company/employer which must sign this Agreement (in addition to the Contributor’s signature), in the space provided below. In such case, the company/employer hereby assigns to Wiley, during the full term of copyright, all copyright in and to the Contribution for the full term of copyright throughout the world as specified in paragraph A above. In addition to the rights specified as retained in paragraph B above and the rights granted back to the Contributor pursuant to paragraph C above, Wiley hereby grants back, without charge, to such company/employer, its subsidiaries and divisions, the right to make copies of and distribute the published Contribution internally in print format or electronically on the Company’s internal network. Upon payment of the Publisher’s reprint fee, the institution may distribute (but not re-sell) print copies of the published Contribution externally. Although copies so made shall not be available for individual re-sale, they may be included by the company/employer as part of an information package included with software or other products offered for sale or license. Posting of the published Contribution by the institution on a public access website may only be done with Wiley’s written permission, and payment of any applicable fee(s).

E. GOVERNMENT CONTRACTS In the case of a Contribution prepared under US Government contract or grant, the US Government may reproduce, without charge, all or portions of the Contribution and may authorise others to do so, for official US Government purposes only, if the US Government contract or grant so requires. (Government Employees: see note at end.)

F. COPYRIGHT NOTICE The Contributor and the company/employer agree that any and all copies of the Contribution or any part thereof distributed or posted by them in print or electronic format as permitted herein will include the notice of copyright as stipulated in the Journal and a full citation to the Journal as published by Wiley.

G. CONTRIBUTOR’S REPRESENTATIONS The Contributor represents that the Contribution is the Contributor’s original work. If the Contribution was prepared jointly, the Contributor agrees to inform the coContributors of the terms of this Agreement and to obtain their signature(s) to this Agreement or their written permission to sign on their behalf. The Contribution is submitted only to this Journal and has not been published before, except for “preprints” as permitted above. (If excerpts from copyrighted works owned by third parties are included, the Contributor will obtain written permission from the copyright owners for all uses as set forth in Wiley’s permissions form or in the Journal’s Instructions for Contributors, and show credit to the sources in the Contribution.) The Contributor also warrants that the Contribution contains no libelous or unlawful statements, does not infringe on the right or privacy of others, or contain material or instructions that might cause harm or injury.

Tick one box and fill in the appropriate section before returning the original signed copy to the Publisher Contributor-owned work Contributor’s signature

Date

Type or print name and title Co-contributor’s signature

Date

Type or print name and title Attach additional signature page as necessary Company/Institution-owned work (made-forhire in the course of employment) Contributor’s signature

Date

Type or print name and title Company or Institution (Employer-for Hire) Authorised signature of Employer

Date

Type or print name and title US Government work Note to US Government Employees A Contribution prepared by a US federal government employee as part of the employee’s official duties, or which is an official US Government publication is called a “US Government work”, and is in the public domain in the United States. In such case, the employee may cross out paragraph A1 but must sign and return this Agreement. If the Contribution was not prepared as part of the employee’s duties or is not an official US Government publication, it is not a US Government work.

UK Government work (Crown Copyright) Note to UK Government Employees The rights in a Contribution by an employee of a UK Government department, agency or other Crown body as part of his/her official duties, or which is an official government publication, belong to the Crown. In such case, the Publisher will forward the relevant form to the Employee for signature.

WILEY AUTHOR DISCOUNT CARD As a highly valued contributor to Wiley’s publications, we would like to show our appreciation to you by offering a unique 25% discount off the published price of any of our books*. To take advantage of this offer, all you need to do is apply for the Wiley Author Discount Card by completing the attached form and returning it to us at the following address: The Database Group John Wiley & Sons Ltd The Atrium Southern Gate Chichester West Sussex PO19 8SQ UK In the meantime, whenever you order books direct from us, simply quote promotional code S001W to take advantage of the 25% discount. The newest and quickest way to order your books from us is via our new European website at:

http://www.wileyeurope.com Key benefits to using the site and ordering online include: • Real-time SECURE on-line ordering • The most up-to-date search functionality to make browsing the catalogue easier • Dedicated Author resource centre • E-mail a friend • Easy to use navigation • Regular special offers • Sign up for subject orientated e-mail alerts So take advantage of this great offer, return your completed form today to receive your discount card. Yours sincerely,

Verity Leaver E-marketing and Database Manager

*TERMS AND CONDITIONS This offer is exclusive to Wiley Authors, Editors, Contributors and Editorial Board Members in acquiring books (excluding encyclopaedias and major reference works) for their personal use. There must be no resale through any channel. The offer is subject to stock availability and cannot be applied retrospectively. This entitlement cannot be used in conjunction with any other special offer. Wiley reserves the right to amend the terms of the offer at any time.

REGISTRATION FORM

FOR 25% BOOK DISCOUNT CARD To enjoy your special discount, tell us your areas of interest and you will receive relevant catalogues or leaflets from which to select your books. Please indicate your specific subject areas below. Accounting • Public • Corporate

[] [] []

Architecture

[]

Business/Management

[]

Chemistry • Analytical • Industrial/Safety • Organic • Inorganic • Polymer • Spectroscopy

[ [ [ [ [ [ [

] ] ] ] ] ] ]

Computer Science • Database/Data Warehouse • Internet Business • Networking • Programming/Software Development • Object Technology

[ [ [ [ [ [ [

] ] ] ] ] ] ]

Encyclopedia/Reference • Business/Finance • Life Sciences • Medical Sciences • Physical Sciences • Technology

[ [ [ [ [ [

] ] ] ] ] ]

Engineering • Civil • Communications Technology • Electronic • Environmental • Industrial • Mechanical

[ [ [ [ [ [ [

] ] ] ] ] ] ]

Earth & Environmental Science

[]

Hospitality

[]

Finance/Investing • Economics • Institutional • Personal Finance

[ [ [ [

] ] ] ]

Genetics • Bioinformatics/Computational Biology • Proteomics • Genomics • Gene Mapping • Clinical Genetics

[ [ [ [ [ [ [

Life Science

[]

Landscape Architecture

[]

Mathematics/Statistics

[]

Manufacturing

[]

Material Science

[]

Psychology • Clinical • Forensic • Social & Personality • Health & Sport • Cognitive • Organizational • Developmental and Special Ed • Child Welfare • Self-Help

[ [ [ [ [ [ [ [ [ [

Physics/Physical Science

[]

] ] ] ] ] ] ]

Medical Science • Cardiovascular • Diabetes • Endocrinology • Imaging • Obstetrics/Gynaecology • Oncology • Pharmacology • Psychiatry

[ [ [ [ [ [ [ [ [

] ] ] ] ] ] ] ] ]

Non-Profit

[]

] ] ] ] ] ] ] ] ] ]

[ ] I confirm that I am a Wiley Author/Editor/Contributor/Editorial Board Member of the following publications:

SIGNATURE: ………………………………………………………………………………………………………………………………………………… PLEASE COMPLETE THE FOLLOWING DETAILS IN BLOCK CAPITALS: TITLE AND NAME: (e.g. Mr, Mrs, Dr) ………………………………………………………………………………………………………… JOB TITLE: …………………………………………………………………………………………………………………………………………………… DEPARTMENT: …………………………………………………………………………………………………………………………………………….. COMPANY/INSTITUTION: …………………………………………………………………………………………………………………………… ADDRESS: ……………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… TOWN/CITY: ………………………………………………………………………………………………………………………………………………… COUNTY/STATE: …………………………………………………………………………………………………………………………………………. COUNTRY: …………………………………………………………………………………………………………………………………………………… POSTCODE/ZIP CODE: ………………………………………………………………………………………………………………………………… DAYTIME TEL: ……………………………………………………………………………………………………………………………………………… FAX: ……………………………………………………………………………………………………………………………………………………………… E-MAIL: ………………………………………………………………………………………………………………………………………………………… YOUR PERSONAL DATA We, John Wiley & Sons Ltd, will use the information you have provided to fulfil your request. In addition, we would like to: 1.

Use your information to keep you informed by post, e-mail or telephone of titles and offers of interest to you and available from us or other Wiley Group companies worldwide, and may supply your details to members of the Wiley Group for this purpose.

[ ] Please tick the box if you do not wish to receive this information 2.

Share your information with other carefully selected companies so that they may contact you by post, fax or e-mail with details of titles and offers that may be of interest to you.

[ ] Please tick the box if you do not wish to receive this information. If, at any time, you wish to stop receiving information, please contact the Database Group ([email protected]) at John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, UK. E-MAIL ALERTING SERVICE We offer an information service on our product ranges via e-mail. If you do not wish to receive information and offers from John Wiley companies worldwide via e-mail, please tick the box [ ]. This offer is exclusive to Wiley Authors, Editors, Contributors and Editorial Board Members in acquiring books (excluding encyclopaedias and major reference works) for their personal use. There should be no resale through any channel. The offer is subject to stock availability and may not be applied retrospectively. This entitlement cannot be used in conjunction with any other special offer. Wiley reserves the right to vary the terms of the offer at any time.

Ref: S001W