Introduction to caBIG

The cancer Biomedical Informatics Grid (caBIG) is a voluntary, virtual informatics infrastructure that connects data, research tools, scientists, and organizations. Its goal is to speed the delivery of innovative approaches for the prevention and treatment of cancer.

caBIG is called the World Wide Web of cancer research by National Cancer Institute's Andrew von Eschenbach, M.D. and it is envisaged as the solution to the "Informatics tower of Babel" that is stifling the cancer research community. An overwhelming volume of data is available from a multitude of sources in a variety of proprietary and incompatible data representation formats. Integration is seen as critical to achieving the promise of personalized medicine. By combining shared vocabulary, data elements, and data models caBIG is expected to become the lingua franca: a common-standard informatics platform used for all cancer research supported by NIH grants. This is a requirement resulting from the NIH's new policy on data sharing.

It is very likely that caBIG will become a significant – perhaps the authoritative – source of knowledge related to cancer. In Dr. von Eschenbach's own words, "today nothing is more critical, not even discovery of new gene or new medicine than productive use of the data tsunami generated by cancer research."

Why .NET?

Visual Studio programming, debugging, and profiling tools – especially the Excel integrated design-time experience – facilitate high developer productivity.

The .NET framework provides robust security, easy, managed deployment and rich support for XML. Managed .NET code allows updates (in the form of DLLs) to be detected and downloaded from servers but also allows the user to exercise strong control over how the code will be executed. The document-centric model means updates will not be a new version of the document, just a version of the DLLs.

Office's extendibility with the Document Actions Task Pane and Windows Form Contextual GUI allows caBIG data to be accessible by scientists in an intuitive manner. The .NET framework runs on a wide range of Microsoft Windows operating systems including Microsoft Mobile 5.0. This translates into caBIG access on a wide range of computing devices including PDAs and mobile phones. This "data intimacy" allows on-the- spot hypothesis testing no matter where is the spot; thus replacing the proverbial "restaurant napkin sketches".

caBIG dotNET Architecture

caGrid 0.5, the current test architecture of caBIG, confirms to Open Grid Services Architecture (OGSA) grid infrastructure standards. caGrid leverages the Globus Toolkit by providing the required core services (e.g. caDSR and EVS), toolkits, and wizards for the development and deployment of community provided services and APIs for building client applications. The Globus Toolkit is written in Java 1.4 as are the caGrid high-level APIs and toolkits.

caBIG dotNET bridges the gap between clients' .NET code and caBIG Java API hooks using Caucho's Hessian Protocol. Hessian is a binary, language independent, (including Java and C#) protocol providing RMI and data serialization. The caBIG dotNET server is a a Java servlet running under Tomcat exposing a Hessian protocol wrapper around caBIG's high-level API.

In addition to the caBIG dotNET server, we provide a caBIG dotNET Client API written in C# and linked against HessianC# that C# .NET Framework applications, including xl-caBIG Smart Clients and xl-caBIG Smart Clients Mobile, can use to gain connectivity to caBIG resources.

caBIG dotNET Architecture Schematic
caBIG dotNET's depends on Caucho's Hessian Protocol, the Hessian C# project, and Apache Tomcat

caBIG dotNET servers, because of their strong dependencies on caGRID 0.5 and underlying toolkits, are much more difficult to install and configure than xl-caBIG Smart Clients. We are hosting the official caBIG dotNET Server (67.15.68.28) as the default server that xl-caBIG Smart Clients connect with. Advance users with special needs in terms of performance or availability can host their own caBIG dotNET servers.

Progress, Releases

The official caBIG dotNET server is publicly accessible (67.15.68.28) and provides caBIG connectivity to xl-caBIG Smart Clients.

The caBIG dotNET API documentation was generated with NaturalDocs. Source-code to the caBIG dotNET Java Servlet and to the C# Client API is available on CVS.