PHGridFAQ

This FAQ is not exhaustive, just the best one we have. Please post questions if you are wondering something and post answers if you think you know something useful.

  1. What is the PHGrid? The public health grid is a network of connected nodes sharing resources using web services standards as required by Globus and NHIN. In addition to PHGrid, there is also the Public Health Informatics Research Grid (PHIRG) which is operated out of the NCPHI Lab that performs grid related research projects with its partners. The PHIRG uses only sample/synthetic data. PHGrid is currently configured for the sharing of Low sensitivity data. The first Node, hosted at CDC, is currently progressing through the CDC Certification & Accredation Process.
  2. What software do you build? PHGrid directly produces reference implementations for software used by CDC and partner nodes. We rely heavily on existing open source projects and communities and extend them to provide public health specific functionality. A full list of active projects is maintained on this wiki and the source code is maintained on sourceforge. While these components are released for production use (which entails security and vulnerability scans) they are not intended as full-fledged products, merely as reference implementations to serve as a functioning example of PHGrid capability.
  3. How do you build it? We develop software using an agile, open and collaborative method, as described on this wiki. This is from an immediately practical philosophical and functional standpoint, not necessarily a manifesto-driven mandate. We use this method because it allows us to easily collaborate with known (and unknown) partners and it works. CDC & NCPHI are currently going through the process of developing an open, collaborative methodology. We expect that when this official method is released, PHGrid will adopt it. The software produced by the lab is under the Apache Open Source License (specifically V2) although some of the software produced by partners is under the LGPL license. Again, this isn't necessarily abiding by an official mandate, rather by necessity. Other projects at CDC such as Epi-Info are released under an Apache License. Other projects at HHS operating divisions such as caBIG/cagrid are released under an Apache/BSD style license. Once CDC & NCPHI develop an official open source license, PHGrid will adopt it. The current licensing under Apache allows for this adoption.
  4. Why Globus? The Globus Toolkit v4 was selected on how it aligns with core public health / PHIN requirements. Generally: security, community, sustainability, diversity, extensibility. Specifically PHGrid needed a standards compliant service container that had a full-fledged security stack implementation that didn't require any customization by PHGrid. As basic as this sounds, most application servers (JBoss, Geronimo, Glassfish, Tomcat, WebLogic, WebSphere, etc.) provide a security framework and rely on the group using the app server to implement security components as necessary. The Globus Toolkit has a long history of over 10 years for providing PKI based security around grid services. This is extended by the active community around Globus, such as the cagrid team with their security products geared toward Globus. An active, independent community was also part of the selection. Globus has a mature community that is funded by a diverse group of government agencies and vendors. No single commercial organization controls the roadmap for features and maintenance. Sustainability translates to an open license, low cost implementation and support options available. The Globus Toolkit is licensed under the Apache License which means it is compatible with virtually every open source project. Low cost means that the Globus Toolkit runs on a lightweight hardware spec. Since Java is used for the WS-Core implementation, any operating system with Java is able to run a Globus node. Globus is supported by multiple third party support vendors who can meet the support requirements of PHGrid partners. Using a Java service container provides a diversity of tool sets available and easy extensibility by programmers at CDC and partners who have Java programming skills.
  5. What is the Service Registry? The PHGrid Service Registry is the location where partners can discover production and in-development services available to PHGrid and the grid-enabled applications and clients that help to use these services. Initially the service registry is hosted on this wiki as unstructured data entered by the developers to help coordinate development efforts. In the coming year, PHGrid will implement a machine interface to allow run-time discovery and description. This will likely be UDDI and service based. It's also very likely that we'll map to the discovery services defined in NHIN so that PHGrid services can be found and called by NHIN gateways.
  6. Why do you use Sourceforge? / Collaboration Portal X is way better than Sourceforge. Yes Collaboration Portal X is probably better. We use sourceforge because it is free and good enough to store source code and tracker items. CDC & NCPHI is in the process of developing a collaboration portal. Once this official portal is available, PHGrid will likely transition over to this portal. Until then, we deal with how slow sourceforge is.
  7. What security does PHGrid use? PHGrid currently uses digital certificates to identify nodes and authenticate users. Each user on PHGrid is issued a digital certificate that is then allowed to access specific services hosted at PHGrid partner nodes. Each organization hosting nodes controls which users and nodes can access services they host. This fits in with the whole "local autonomy of data" ideal that PHGrid seeks to facilitate. Over time, it is likely that PHGrid will use something like cagrid's Dorian (or just use Dorian) to allow username and password in addition to digital certificates.
  8. What's the difference between PHGrid & NHIN? PHGrid is a means of hosting services that provide access to resources. NHIN is a nationwide standard for providing a gateway to federal health networks that meet the standards for subject discovery and query. The real question is how they are similar. PHGrid and NHIN both are web services based systems of systems based on XML, SOAP, WSDL and PKI. The short answer is that PHGrid and NHIN can interoperate by calling each others services. So a PHGrid node is really a little mini-NHIN Gateway. The long answer is forthcoming, so watch the blog.