Tuesday, October 27, 2009
Friday, October 23, 2009
PHGrid Community Update
To the PHGrid Community:
Related to significant organizational change currently underway, the internal team supporting the PHGrid activities within NCPHI has transitioned to other projects. To assist in this transition, we have provided many updates to PHGrid documentation (technical and project) posted to the PHGrid wiki (http://wiki.phgrid.net), and to PHGrid-related software in the Google code repository. If anyone has any questions relating to this change, or PHGrid software / services, please don't hesitate to contact me. We look forward to continued PHGrid research activities upon completion of the reorganization. It has been my sincere pleasure to work with the NCPHI PHGrid team (Brian, John, Peter, Dan, Chris, Moses, Joseph).
-- Tom
Related to significant organizational change currently underway, the internal team supporting the PHGrid activities within NCPHI has transitioned to other projects. To assist in this transition, we have provided many updates to PHGrid documentation (technical and project) posted to the PHGrid wiki (http://wiki.phgrid.net), and to PHGrid-related software in the Google code repository. If anyone has any questions relating to this change, or PHGrid software / services, please don't hesitate to contact me. We look forward to continued PHGrid research activities upon completion of the reorganization. It has been my sincere pleasure to work with the NCPHI PHGrid team (Brian, John, Peter, Dan, Chris, Moses, Joseph).
-- Tom
Monday, October 19, 2009
So long and thanks for all the fish...
Thank you to everyone I've worked with over the years as part of the public health informatics research grid project. I've met some extremely bright individuals and had a chance to collaborate with some extremely rare organizations and groups.
Although moving off the project formally (i.e. I won't get paid for contributing), I'll still be participating through the loose system of collaboration that the project uses to create the blog, wiki and software elements.
Although moving off the project formally (i.e. I won't get paid for contributing), I'll still be participating through the loose system of collaboration that the project uses to create the blog, wiki and software elements.
Saturday, October 17, 2009
Grid Computing Technologies for Geospatial Apps
Grid Computing Technologies for Geospatial Applications:
http://ifgi.uni-muenster.de/0/agile/
The gallery is here: http://ifgi.uni-muenster.de/0/agile/gallery.html
Standing room only !! or maybe just grab an open seat....
http://ifgi.uni-muenster.de/0/agile/
The gallery is here: http://ifgi.uni-muenster.de/0/agile/gallery.html
Standing room only !! or maybe just grab an open seat....
Friday, October 16, 2009
Project statistics
While creating the transition documentation, I ran some stats on the active code base (not including everying in old-projects) using cloc.
I'm not really a fan of measuring quality by number of lines of code (since good programmers produce fewer lines of code than bad but busy programmers), and a lot of this is boilerplate, etc. But I think it's worth noting that with just a limited team, we made 282 classes with 25k lines of Java, 2k lines of JSP, 6k lines of comments and documentation. Nothing massive, but it's a decent body of work.
I'm not really a fan of measuring quality by number of lines of code (since good programmers produce fewer lines of code than bad but busy programmers), and a lot of this is boilerplate, etc. But I think it's worth noting that with just a limited team, we made 282 classes with 25k lines of Java, 2k lines of JSP, 6k lines of comments and documentation. Nothing massive, but it's a decent body of work.
| Language | files | blank | comment | code |
| HTML | 579 | 19160 | 9724 | 161640 |
| Java | 282 | 5420 | 5594 | 25656 |
| Javascript | 35 | 3098 | 2779 | 14490 |
| XML | 136 | 956 | 998 | 9448 |
| XSD | 20 | 146 | 99 | 4228 |
| SQL | 126 | 425 | 769 | 3840 |
| JSP | 20 | 357 | 95 | 2368 |
| CSS | 12 | 158 | 140 | 1460 |
| Bourne Shell | 1 | 2 | 0 | 7 |
| SUM: | 1211 | 29722 | 20198 | 223137 |
Wednesday, October 14, 2009
Enhanced PHGrid portal wireframe
So, as a step better than a jpg, the PHGrid portal demo is now web-based. Kudos to Chris.
Click HERE to launch...
Click HERE to launch...
Code transfer
I finished moving all of the active source projects from sourceforge to google code to support our transitioning off the project.
The following subprojects have been successfully moved (GIPSEPoisonService, GIPSEService, GIPSEServiceInstaller, gmap-polygon, gridviewer were all moved prevously:
The sf projects will be left intact so as not to break any links, but all activity will be made on the google side from today onward.
The following subprojects have been successfully moved (GIPSEPoisonService, GIPSEService, GIPSEServiceInstaller, gmap-polygon, gridviewer were all moved prevously:
- GridMedlee: from sf to gc.
- PHGridLanding: from sf to gc.
- SecureSimpleTransfer: from sf to gc.
- gipse-dbimporter: from sf to gc.
- gipse-store: from sf to gc.
- gipse-poly-web: from sf to gc.
- loader-gmaps-poly: from sf to gc. (this includes the CSVs for settng up the gridviewer GIS tables)
- npds-gmaps: from sf to gc.
- npds-gmaps-web: from sf to gc.
- poicondai: from sf to gc.)
- schemas: from sf to gc. (this includes the schemas and example xml for the GIPSE services)
The sf projects will be left intact so as not to break any links, but all activity will be made on the google side from today onward.
Labels:
googlecode,
sourceforge,
subversion,
transition
Successful GIPSEService test
Forgot to post that last week Ron Price and I successfully tested a deployment of the GIPSEService at the Denver DOH.
Ron, working with Art Davidson, set up a synthetic aggregate data set and then he deployed an instance of the GIPSEService (8/31 gipse spec from the SVN repository).
I was then able to submit a test query from the NCPHI Lab using lab credentials that was successfully processed by the GIPSEService and sent back a response document containing the relevant observation set. Also, I tested with inappropriate credentials from unauthorized locations and I was not able to access the service (as expected since Ron's security controls prevent access by unauthorized users or locations).
Ron, working with Art Davidson, set up a synthetic aggregate data set and then he deployed an instance of the GIPSEService (8/31 gipse spec from the SVN repository).
I was then able to submit a test query from the NCPHI Lab using lab credentials that was successfully processed by the GIPSEService and sent back a response document containing the relevant observation set. Also, I tested with inappropriate credentials from unauthorized locations and I was not able to access the service (as expected since Ron's security controls prevent access by unauthorized users or locations).
Friday, October 9, 2009
Thursday, October 8, 2009
GAARDS Security implementation.
So, my next task for the coming months is to learn, tinker-with, and hopefully implement some cool bits of the GAARDS service as made by the folks up at Ohio State and their work with CaBIG and CaGrid. After a few preliminary readings of white papers and discussions with other people who have investigated various security models, I'm going to try and summarize things as I understand them, and invite people to correct my summarizations...
Globus works with X.509 certificates. To save a lot of complicated two-stepping, I'd say the easiest way to think of a certificate is as a licence with a special key embedded in them. Two nodes wanting to talk to each other have to present their certificates order to access services and establish secure communication, and the nodes have to "trust" each others certificates.
The way to get "automatic" trust without having to add keys into individual trust stores would be to have all the certificates issued by a trusted third party like Verisign or Thawte. This is like getting a passport or a drivers license as ID instead of having a business card with your name on it. It is also expensive, and to have to do it for every node on the grid beyond 5-node grids is pretty much unscalable.
Enter Dorian. Dorian is a GAARDS component and is essentially a Grid Service that allows other authentication methods to be used to access the grid. On one hand, it allows for someone to say "people authenticated by [method] at [node] are allowed to access these grid services". Thus, instead of having to have a certificate, one might just need to enter a username and password, or use their operating system credentials, or use a certificate issued by the Node itself instead of a larger third party.
The other critical component is Grid Trust Services (GTS) which allows for grids with different certificate sets to talk to each other and delegate which services on each grid are available to others. It also performs important syncing functions so that updates to access and authentication chains are propagated through the different grids.
There are other bits too, like GridGrouper which allows for simpler group paradigms (members of the group 'Gridviewer' would be able to access various gridviewers on different nodes... ) and Web Service Single Sign On which would allow an easy port for web applications to gain access to grid services... and you can read about it at the GAARDS website
Either way, I am at the periphery of understanding right now. I hope within a couple of days to have a really good grip on how security works now (and it's limitations) use cases for what we need, and a stronger correlation to how GAARDS will answer those use cases and which components are needed to do it.
Then, over the next couple of months, I'll need to implement those pieces and see what service modifications are needed to use them.
Globus works with X.509 certificates. To save a lot of complicated two-stepping, I'd say the easiest way to think of a certificate is as a licence with a special key embedded in them. Two nodes wanting to talk to each other have to present their certificates order to access services and establish secure communication, and the nodes have to "trust" each others certificates.
The way to get "automatic" trust without having to add keys into individual trust stores would be to have all the certificates issued by a trusted third party like Verisign or Thawte. This is like getting a passport or a drivers license as ID instead of having a business card with your name on it. It is also expensive, and to have to do it for every node on the grid beyond 5-node grids is pretty much unscalable.
Enter Dorian. Dorian is a GAARDS component and is essentially a Grid Service that allows other authentication methods to be used to access the grid. On one hand, it allows for someone to say "people authenticated by [method] at [node] are allowed to access these grid services". Thus, instead of having to have a certificate, one might just need to enter a username and password, or use their operating system credentials, or use a certificate issued by the Node itself instead of a larger third party.
The other critical component is Grid Trust Services (GTS) which allows for grids with different certificate sets to talk to each other and delegate which services on each grid are available to others. It also performs important syncing functions so that updates to access and authentication chains are propagated through the different grids.
There are other bits too, like GridGrouper which allows for simpler group paradigms (members of the group 'Gridviewer' would be able to access various gridviewers on different nodes... ) and Web Service Single Sign On which would allow an easy port for web applications to gain access to grid services... and you can read about it at the GAARDS website
Either way, I am at the periphery of understanding right now. I hope within a couple of days to have a really good grip on how security works now (and it's limitations) use cases for what we need, and a stronger correlation to how GAARDS will answer those use cases and which components are needed to do it.
Then, over the next couple of months, I'll need to implement those pieces and see what service modifications are needed to use them.
Labels:
dorian gridgrouper introduce gaards,
GBC PoC,
GlobUS
Subscribe to:
Posts (Atom)