Yesterday I was here for a while trying to get SVN to behave. I found that the "gov/cdc/phgrid/ogsadai/example" path was stuck in the root directory, and since I was trying to create a the same path inside the maven directory structure (under /main/src/java/, I think it was) it refused to add it there. Even after I removed the old gov structure. I was thinking about scouring the old repository, had Brian try a few things, and still hit roadblocks
Then I had the late arriving epiphany to just move the tree, and that worked, and it was good.
Then I gave Anurag a zip of my local repository files, so that he could create a public repository.
I also had a wonderful discussion with Jeremy about a RODS-OGSADAI interface. I had a bit of a paradigm shift, but in the meantime, I have a good idea for what sorts of use cases, test cases, and code I will need to develop. I have also taken up the task of finding out why Tomcat doesn't find the same security credentials that were find for command line operation, as that hurdle will need to be crossed eventually for happy JSP-based items pulling data from the grid.
Cheers, I hope everyone has a wonderful weekend!
Friday, June 6, 2008
Creation of a local repository
After the meeting with Brian, Dan and Peter, I was assigned to figure out the way where we can create a local repository so that anybody can download the code and give one command which will build the project automatically. I got the latest and the greatest copy from the subversion, and a list of jars to be put in the local repo. So next step is to find out how I can direct maven to look into our repository and once done, maybe another blog entry will follow with directions of how to build the project. Good enough material to think about over the weekend.
MyProxy / PURSE moved to lab 1001
The Myproxy installation has been moved to Lab 1001. During the installation process I noticed the $GLOBUS_LOCATION/share/myproxy/etc.services.modifications required an entry of 7512/TCP in the /etc/services file. This port was not on the requested list of opened ports for lab 1002. MyProxy/PURSE will be evaluated on the internal grid before it is tested on PHgrid.
Thursday, June 5, 2008
Programming Playground Rules
The Lab Team (Dan, Peter, Anurag) met this afternoon to discuss some development methodology as we begin to develop more code and scripts to support the PoC Projects. The idea is to stay agile and lightweight enough to continue the rate of innovation, but to add some consistency that will make it easier to scale.
Some recommendations that we've made and decided to follow are:
We'll add/subtract to this list as we get going. Once we're confortable with them, we can put them in a proper document and link to them from the left navigation bar.
Some recommendations that we've made and decided to follow are:
- Use Sourceforge Subversion site to store changes - All changes are checked into the Subversion site on the sourceforge project. Only security related changes (passwords, etc) are not checked in, and these are factored out into a property or configuration file.
- Everything builds - Maven is used to build (compile and package) and deploy changes. This will allow for changes to be made on different desktops without spending time trying to manually configure a new environment. This also means that if the build breaks then the developer who broke it needs to fix it as soon as possible.
- Follow the Sun Code Conventions for Java. These are old, but still applicable for what we're trying to do. We picked this sort of as a default and this can change based on feedback and practice, but we want some uniform style to the project.
- Document code- document code to improve clarity. Use javadocs where necessary. This is not documentation for documentation's sake, but enough so that someone coming across the code will be able to follow. This doesn't absolve a programmer from clean, concise coding but should improve on the clarity of a source file.
- Write a Use Case first- the first step to development should be to make a post on this blog describing the use case. Nothing too formal, just a description of the steps, who will perform them, alternate flows and error handing. This will provide a way to capture the requirements before any code is written.
- Next write a Test Case before coding- after the use case is posted and there's some sort of agreement, then a test case is written while the coding is performed. This speeds up development by institutionalizing testing in a standard manner.
- Each project will have a separate folder in the sourceforge root with a Maven pom.xml file for the build (including dependencies).
We'll add/subtract to this list as we get going. Once we're confortable with them, we can put them in a proper document and link to them from the left navigation bar.
Tagging Posts by Proof of Concept Project
During today's PHGrid call, someone suggested (I cannot remember who precicely) that we add tags for each of the Proof of Concept Projects running through the summer. This will allow a reader to quickly filter and sort posts by the area they are interested in. Some posters are already tagging their writings to allow for this. I want to propose the following tags that writers will assign whenever they write regarding a PoC:
I've linked to the searches in the list above. In the future you can click on these tags to search for posts specific to a PoC project.
- Grid PoC Phase II PoC- CoE PoC
- Secure Reliable Grid Messaging- SRGM PoC
- Leveraging Grid to Enhance Biosurveillance Capacity - GBC PoC
I've linked to the searches in the list above. In the future you can click on these tags to search for posts specific to a PoC project.
HealthGrid 2008 Papers
The HealthGrid 2008 Programme site has links to the related papers. You can reach this site at: https://conferences.healthgrid.org/conferenceTimeTable.py?confId=0&showDate=all&showSession=all&detailLevel=contribution&viewMode=parallel
The conference organizers have said they will post the conference presentations in the near future. When they release the presentations, I'll make a post here.
The conference organizers have said they will post the conference presentations in the near future. When they release the presentations, I'll make a post here.
Programming Java Services
I came across the "Globus Toolkit 4: Programming Java Services" book while searching for Globus deployment best practices information. It appears that this book is a great reference for building Globus Web services.
A preview of this book is available on books.google.com. The preview allows you get a general idea on the contents of each chapter. Click here to view the preview.
There is also a book companion site, www.gt4book.com that has code and commands available for cutting and pasting.
A preview of this book is available on books.google.com. The preview allows you get a general idea on the contents of each chapter. Click here to view the preview.
There is also a book companion site, www.gt4book.com that has code and commands available for cutting and pasting.
Wednesday, June 4, 2008
Maven and it's lovely repository
So, I spent a good part of the day paring down how many libraries my example client code actually needed from globus and ogsadai respectively. The list dropped from 40 to about 8.
Then I spent a lot of time putting one of those 8 into the local maven repository in a way that maven seems to recognize... and adjusting the pom file to point to it as a dependency. I hit "mvn package" (ie. compile) and I got a long, thoughtful message about how the dependency wasn't found and how I can add a file with the helpful "mvn install:install-file" command. They also had a "mvn deploy" command for deploying code to a commonly owned repository... showing that deploying to a central and accessible location is
Then proceeded to add all 8 files in about 30 minutes, along with dependencies to the pom file, and then ran mvn compile successfully.
I am really beginning to like maven!
Tomorrow, I am going to put some of the interface and repository plans for the RODS<->OD interface to paper... perhaps start some of the code for simple things like resource discovery. Then, I will test to see whether the jar produced runs properly when put into the proper environment... then I will start reading up on where to put the JSP files. I will also make an eclipse project file and import it into eclipse.
There is also a meeting to discuss package layouts and plans and the like. I am looking forward to it.
Then I spent a lot of time putting one of those 8 into the local maven repository in a way that maven seems to recognize... and adjusting the pom file to point to it as a dependency. I hit "mvn package" (ie. compile) and I got a long, thoughtful message about how the dependency wasn't found and how I can add a file with the helpful "mvn install:install-file" command. They also had a "mvn deploy" command for deploying code to a commonly owned repository... showing that deploying to a central and accessible location is
Then proceeded to add all 8 files in about 30 minutes, along with dependencies to the pom file, and then ran mvn compile successfully.
I am really beginning to like maven!
Tomorrow, I am going to put some of the interface and repository plans for the RODS<->OD interface to paper... perhaps start some of the code for simple things like resource discovery. Then, I will test to see whether the jar produced runs properly when put into the proper environment... then I will start reading up on where to put the JSP files. I will also make an eclipse project file and import it into eclipse.
There is also a meeting to discuss package layouts and plans and the like. I am looking forward to it.
Some code review
Got the code down from subversion and set it up in eclipse and started reviewing it. Used tortoise to do so, I am going to miss it when I finally reach the CDC lab because tortoise is windows based only. Anyhow, looking forward to meeting Peter and Brian tomorrow to discuss where we are and also to get a perspective on what Peter is doing so that we are not banging our heads on the same wall. I guess we can pick 2 different walls to bang our heads on after tomorrow's meeting.
Daily Lab / POC Activities
Extramural:
- Reviewed Portal-based User Registration for grids document. (Purse)
- Reviewed Myproxy Admin guide
- Updated the myproxy-server.config file on lab1002
- Moved a PURSE/MyProxy installation on lab1001 for internal grid testing
- Tarrent County node back online
Subscribe to:
Posts (Atom)