Table of Contents
The caGrid Portal is a Web-based application that enables you to discover and interact with the services that are available on the caGrid infrastructure. The portal serves as the primary visualization tool for the caGrid middleware and provides a standards-based platform for hosting caBIG® -related tools. It also serves as a caBIG® information source. Using the caGrid portal, you have instant access to information about caBIG® participants, caGrid points of contact (POCs), and caGrid-related news and events.
|Portal home page at http://cagrid-portal.nci.nih.gov|
One of the goals of the caGrid infrastructure is to enable you to easily discover and access services. To achieve this goal, caGrid services register with a central index service. This service allows other applications to locate caGrid services and retrieve the necessary information for interacting with those services.
The caGrid Portal uses caGrid component APIs to provide an interface that you can use to query information gathered from one or more index services. Regardless of whether you are a service developer or non-developer, you can use this interface to determine how to use and benefit from caGrid.
In addition to service information, the Portal also provides information about caBIG® participant institutions and caGrid points of contact (POCs). The goal is to enable you to quickly determine who the point of contact is for specific activities and easily obtain contact information for that person.
The process of locating services, participants, and POCs is known as discovery. The Portal provides the following modes of discovery: map view, directories, and keyword search. The following subsections describe these modes.
The Portal home page displays a map of the U.S. that shows the geographic location of services and participant institutions. You can click the icon for a service or institution and link to more detailed information.
Services, participants, and POCs are grouped into categories. You can browse these categories and click hyperlinks that lead to more detailed information.
The Portal provides an intuitive keyword search interface that enables you to enter one or more keywords and match them against one or more fields.
EVS Based Discovery
The portal lets users specify concept names from the NCI Thesaurus. It then finds services that are related to these concepts. The Portal maintains information about concepts that are used by all services in the Portal. The concept-based Discovery portlet uses an intuitive Autocompleter text field for looking up concepts. The autocompleter first loads concepts that are relevant to the services in the Portal. If it doesn't find a match, it looks up concepts directly in the NCI Thesaurus. The concept-based Discovery portlet then shows the concept code, concept definition, and relevant services for the selected concept in the autocompleter.
To support the caBIG® goals of syntactic and semantic interoperability, caGrid services expose a rich, standard set of metadata. This metadata not only describes the operations that the services support; it also links the data types that those operations use to concepts defined in the NCI Enterprise Vocabulary Services (EVS), common data elements defined in the Cancer Data Standards Repository (caDSR), and XML schemas defined in the Global Metadata Exchange (GME) service.
caGrid services that support the caGrid Query Language (CQL) also expose an XML representation of the UML domain model that the service supports. This model is also linked to the EVS, caDSR, and GME. While caGrid services support standard Web service APIs for retrieving metadata, the caGrid project provides client API components that facilitate the process.
The Portal uses caGrid client APIs to build an interface that enables you to explore caGrid service metadata. You can view the semantic descriptions that come from the EVS, the data type descriptions from the caDSR, and XML schemas that are registered with the GME. The interface makes it easier for you to determine whether a service meets your needs and what is necessary to interact with the service.
caGrid services that support CQL are known as data services. They expose a UML domain model, support a query operation that processes CQL queries against that domain model, and return XML documents that contain serialized instances of the UML classes defined in the domain model. These serialized instances conform to the XML schemas that are registered with the GME.
The Portal provides an interface that enables you to select a service and target UML class, build a query, execute the query, and view the results in both tabular and XML form. While using the discovery tool or while exploring service metadata, you can select the service and UML class to query. You can then use a graphical query-building interface to construct CQL or you can manually type the CQL query text.
If you are a registered caGrid Portal user (discussed under caGrid Account Registration on this page), the Portal maintains a complete history of your queries so that you can always retrieve and work with previously executed queries. The results of all queries that you execute during a single session (while your browser is open) are available for viewing in tabular or XML format. You can also export to Microsoft Excel.
Although data service domain models are linked to semantic metadata and data type specifications, you still need to do a fair amount of exploring to construct useful queries. If you have query-building knowledge, the Portal enables you to share that knowledge with the rest of the community. Any Portal user can publish CQL queries and provide documentation to accompany the query. Others can search for CQL queries based on the target service, the target UML class, the creator of the query, or the associated name and description of the query.
caGrid supports federated queries through a infrastructure service called the Federated Query Processor (FQP) and a language known as Distributed caGrid Query Language. FQP service supports the execution of DCQL queries. The Portal has a graphical user interface to build these DCQL queries, then asynchronously executes these DCQL queries against an available FQP service. There are two main types of DCQL queries that can be constructed in the Portal.
See this detailed documentation (with a video) about DCQL.
These are queries that run against two or more data services and return an aggregated result set. Aggregate queries are essentially CQL that is run against multiple data services and have the result returned from these data services aggregated into a single result set.
For example: Get me all ArrayDesigns from the caArray data service hosted at Georgetown and the caArray data service hosted at NCI CBIIT.
These are queries that link domain objects across multiple data services. These joins are done based on semantic equivalence of domain objects across data models. More information about federated joins can be found here. These DCQL queries can be constructed manually and executed through a command line. The Portal helps in visualizing the possible joins and then letting users build DCQL queries that contain cross-service joins through a simple point and click interface.
See this detailed documentation (with a video) about DCQL.
The caGrid security infrastructure, known as GAARDS, uses an authentication approach that is based on Public Key Infrastructure (PKI). PKI requires that users have an X.509 certificate and private key, also known as grid credentials.
The caGrid Dorian service is used to provide users with grid credentials. To obtain grid credentials, you must register either with the Dorian service or another Identity Provider (IdP) that has established a trust relationship with Dorian.
Secure caGrid services apply an authorization policy to incoming requests based on the identity of the client (i.e., the user who is making the request). The identity is determined through the authentication process by inspecting the client's grid credentials. So, in order to interact with secure services, caGrid users need to obtain grid credentials.
While nearly all the functionality that the Portal provides is available to un-authenticated users, only authenticated users can share queries and maintain a query history across browser sessions. The Portal uses GAARDS to authenticate users. So, to use the query sharing and persistent query history features, you need to obtain grid credentials.
The Portal provides an interface that enables you to register for an account with the caGrid Dorian service that is hosted by NCI CBIIT. This service provides a Level of Assurance 1 (LOA1), which means anyone can request an account and the request is automatically approved. Once your request is approved, you can log in to the Portal using your user name and password. The Portal then uses the grid credentials obtained from Dorian when interacting with secure caGrid services.
This page describes how to request an account using the Portal.
The caGrid Portal provides a quick, visual description of the scale and activity of caGrid. The map on the front page of the Portal not only indicates where services are being hosted, but whether those services are currently running. Icons of various colors indicate the service status.
In addition to the map, a status portlet presents up-to-date counts of all participants, services, data services, and analytical services. It also provides links to more information about the five most recently registered services.
In addition to discovery and query of caGrid services, the Portal also maintains a comprehensive list of caBIG® applications and tools. These applications are grouped by caBIG® workspace, caGrid compatibility, area of focus, and so on.
caGrid Portal version 2.1 (released 10/15/2008) added a separate section in the caGrid Portal for portlets developed by the caBIG® community. Developers in the caBIG® community may create Java Specification Request 168compliant portlets and then deploy them to the caGrid Portal. This provides an instant hosting environment for custom applications that may be of value to the entire caBIG® community.
See the Community Portlets for more information.
The Service Diagnostics portlet runs basic diagnostic tests on any caGrid service, allowing service developers to check the health of their service or diagnose service advertisement issues.
The Service Diagnostics portlet runs the following tests:
- Checks the status of the caGrid service in the Portal. A status in the Portal can be one of the following:
- Active – Service is valid and responding.
- Inactive – Service is not online or not advertising to the Index Service.
- Banned – Service has been banned from the Portal by the Portal admin. Contact CBIIT Application Support for banning/unbanning services in the Portal.
- Dormant – Service has not been active for a prolonged period of time. Dormant and banned services are not visible in the Portal. See this caGrid Wiki page for more information on service status.
- Checks that the service that is being diagnosed is available by trying to query it for the caGrid Metadata resource property. This diagnosis will fail if any of the following is true:
- caGrid service being diagnosed is not online or not accessible on the Internet.
- caGrid Service being diagnosed is not configured.
- caGrid Service being diagnosed is configured with a host certificate not trusted by caGrid Portal. See this page for more details.
- Retrieves the caGrid service metadata and validates the service metadata against the expected XML Schema.
- Checks the caGrid Index service to ensure that the service is advertising correctly.
The News portlet on the caGrid Portal home page provides the latest caGrid-related news. News headlines appear as links with the posting date and time, as well as a portion of the text following each headline from the article. Clicking a link opens the News page, where you can read the full article. You can also click a link to subscribe to the news feed using your browser or any other RSS 2.0-compliant news feed reader.
The Portal provides a news feed editor application that is available to the Portal administrator. This application can be used to maintain one or more RSS news channels.
The Portal home page also includes a full-featured calendar application. This application enables you to browse through caGrid-related events by day, week, month, and year. A Portal administrator can import and export calendar events using the standard iCal format http://tools.ietf.org/html/rfc2445.
The caGrid Portal gives you the latest caGrid-related news through an RSS news feed.