Authors: Bill Stephens (caGrid Knowledge Center), Saba Bokhari (caGrid Knowledge Center) and Sarah Honacki (caGrid Knowledge Center)
Table of Contents
|This Article is presented in BETA status.|
We appreciate any and all feedback on this article. If you wish to provide feedback, please email email@example.com
Many caGrid developers are involved in the creation of data services and analytical services to share and analyze data on the Grid. Although these services provide invaluable data retrieval and analysis functionality, there is a need to develop standalone graphical user interfaces to interact with these services. In particular, users of Grid applications desire to use graphical user interfaces that hide the details of grid service interaction. For this reason, the caGrid distribution provides Java clients and APIs that can be used to interact with grid services included in the caGrid distribution. Several client applications that utilize caGrid services are available to the caGrid community. These applications are built using the Grid clients and APIs presented in this guide and provide an excellent reference for the grid client application developer.
This guide explains and displays the use of Grid APIs and service client Jars to create a prototype grid client application. We note that this guide introduces how to utilize client APIs bundled with caGrid and also demonstrates how to use clients of community-contributed services developed using Introduce. This guide illustrates the steps to build a Grid client application. In each part of the guide, additional functionality is added. The final Grid application has the following features:
- Login to the Grid.
- Discover available Grid services.
- Obtain grid service endpoints.
- Query data services to obtain data in XML format
- Query data services to obtain data as Java objects.
- Pass data to an analytical service to perform data analysis.
Example code will interact with several grid services, including a grid data service for the caCORE SDK-like service used in the NCI's caCORE Developer Boot Camp. This data service provides an interface to perform queries against the Boot Camp data model. This model contains the definition of various proteins, genes and organisms and has been semantically annotated with caDSR data element IDs. These caDSR IDs, or Public IDs, will be used in the Discovery section of this guide to identify available grid services deployed to the Grid.
Note: this application guide uses the Community Training Grid.
This guide is intended for software developers wishing to create grid client applications. It is not intended for typical grid users.
This guide is focused on providing the information necessary to develop applications that access Grid services. This guide will not focus on the use of specific graphical application frameworks or business logic.
In order to fully understand the information in this guide you should complete the following prerequisites.
The caBIG Developer Boot Camp provides developers with the opportunity to learn about the process of creating a semantically annotated logical model. Then students learn how to use the caCORE SDK to create an application to store this data and use caGrid to create a service to query the data over the Grid. This guide uses two Grid services that interact with the model used in the NCI Boot Camp. First, query a Grid data service that provides access to data in the BootCamp model. Second, use a Grid analytical service to filter data retrieved from the boot camp data service.
As a result, it is essential that you become familiar with the boot camp data model. The data model used for the Boot Camp defines protein, gene, and organism information and the relationships between each.
The classes useed in this guide include the Organism and Protein classes. Note that each organism has a one-to-many association to the Protein class (i.e., indicating one or more proteins for each Organism).
If you would like to review the complete Boot Camp Data Model, you can access it at the following URL: http://software.cagrid.org/knowledgecenter/bootcamp/BootCampModel.zip
Boot Camp caCORE SDK Application:
The caCORE SDK Boot Camp web application has been deployed to the caGrid Training Grid. Feel free to use this application to explore the data in the Boot Camp database.http://tutorials.training.cagrid.org:8080/BootCamp
You can find additional materials for the May, 2009 NCI BootCamp at the following URL:https://wiki.nci.nih.gov/pages/viewpage.action?pageId=13504764
In order to understand how caBIG semantically annotated domain models can be used to discover Grid data repositories and services, please read the following article. It focuses on using caBIG Common Data Element IDs to find data that is made available on the Grid.
- Part One - Download and Install Software
- Part Two - Create Your Eclipse Project
- Part Three - Set up the Target Grid
- Part Four - Authentication
- Part Five - Discovery of Services on the Grid
- Part Six - Data Service Querying
- Part Seven - Analysis using Bootcamp Services
- Part Eight - Get Grouper Groups for User
- Part Nine - Invoke COPPA PO Service