caBIG Architecture Workspace .NET Working Group

Since August 2008, the eScience Research Group in the Department of Computer Science at the University of Virginia has been participating in the cancer Biomedical Informatics Grid (caBIG) Architecture Workspace .NET Working Group to create a design to support caBIG and caGrid using .NET. More specifically, we have prototyped .NET-based clients and services that show proof-of-concept for future .NET-based caGrid services. This project produces a comprehensive plan for how to utilize .NET in the future of caGrid. Clearly, a .NET-based implementation of caGrid would greatly enhance the options available to caGrid developers and deployers.

In the .NET Working Group gforge site, we have the following available:

·         Presentations

·         Tutorials

·         Open-Source Visual Studio projects

Please contact me (Marty Humphrey) for more information!

[update – November 6, 2010] We just attended the caBIG Tissue Banks and Pathology Tools Face-to-Face Meeting in Houston (Nov 2-4). While there, we were asked by Dr. Ian Fore, NCI Coordinator for the workspace, if we could create functionality that would allow a Microsoft Excel user to create Global Specimen Identifiers while still using Excel. It’s still a prototype and needs to be cleaned up a bit, but here’s a 2-minute video of it in action…..

 

 

[update – Oct 9, 2010] We led a session at the hack-a-thon at the 2010 caBIG Annual Meeting! We created a lab based on the use of Windows Azure for caBIG. We will put those materials and a screencast of that up shortly. In the meantime, here’s a screencast of our most recent development work for caBIG using .NET (these materials will also be up shortly).

In the following screencast, the scenario is that an enterprise has a database of Tissue Samples, and they want to make the existence of these samples known to the caBIG cancer research community. So they want to participate as a service in the Common Biorepository Model (CBM) effort in caBIG.  So the problem they are facing is: how can they best leverage their existing expertise with .NET, Microsoft SQL Server, Visual Studio, etc., and can they use their existing DB (because it basically contains the same information as in the CBM effort, albeit in a slightly different schema)?

In this screencast, we show how to use Visual Studio 2010 Ultimate with the Visualization and Modeling Feature Pack, along with some code that our research group at the University of Virginia has written, to:

1.    Create a new “modeling project” in Visual Studio and import the CBM UML (XMI)

2.    Map the UML model onto the existing SQL Server 2008 DB (without changing the schema of the DB)

3.    Auto-generate the .NET service “guts” from this UML model (resulting in a .NET CBM DLL tailored to the schema of the back-end DB)

4.    Create a Windows Azure service (note: in the screencast, we just use the Windows Azure development fabric, but we could have used Windows Azure itself)

a.    We first store this DLL and a “configuration” file in Windows Azure storage

b.    We then configure our Windows Azure service to read its “guts” from Windows Azure storage (the DLL and configuration file from the previous step)

c.    We then deploy the service

We then run a “tissue sample searcher” application to show that the new .NET-based service answers CBM queries (e.g., “Which Prostate Gland samples do you have?”)

The entire screencast runs just under 20 minutes.

 

 

Last year, we were one of the three leaders of the hack-a-thon at the 2009 caBIG Annual Meeting! We created three labs for the hack-a-thon:

1.    .NET 3.5 Console Application Client for caBIO caGrid Service

2.    .NET 3.5 Graphical Application Client for caBIO caGrid Service

3.    .NET 3.5 Graphical Application Client for secure caTissue caGrid Service

Here’s a screencast of the first lab:

 

Here’s a screencast of the second lab:

 

Here’s a screencast of the third lab: