Wednesday, December 10, 2008
New version of the PowerPoint
There is a new version of the PowerPoint presentation up on SourceForge. It is in both .ppt and .pptx format, although the .ppt is not fully editable due to limitations in the old software. Changes in this version comprise changes Fabio suggested in yesterday's meeting, including a 'flow of information' slide.
Tuesday, December 9, 2008
Venice Framework up and running on VPC server
So we've got almost everything moved over to the VPC server. The embeded app can be found at: http://cityknowledge.org:8088/VeniceWebClient/embed.html
Also running: MySQL server, GlassFish, Web Service, Client application and servlet, ImageMagick script
Also running: MySQL server, GlassFish, Web Service, Client application and servlet, ImageMagick script
Monday, December 8, 2008
Powerpoint presentation is up on SourceForge
Our first draft of the Powerpoint presentation is up on SourceForge. It is complete, content-wise, but still needs to be fleshed out.
Friday, December 5, 2008
First Drafts of all section are up on SourceForge
First drafts of most of the sections are up. Still lots of work to do on everything though:
https://sourceforge.wpi.edu/sf/docman/do/listDocuments/projects.veniceb08/docman.root.mqp_report
Whoops, I was logged into Justin's account for that
-Eric
https://sourceforge.wpi.edu/sf/docman/do/listDocuments/projects.veniceb08/docman.root.mqp_report
Whoops, I was logged into Justin's account for that
-Eric
Initial JavaDocs for VeniceFramework are up on SourceForge
The initial generated JavaDocs are up in a .zip file on Sourceforge. These documents pertain only to the Framework, and not to any pieces of the proof of concept. A good amount of the code is correctly commented, but some more work still needs to be done.
Wednesday, December 3, 2008
Application Creation Document Updated
Revisions have been made to the "Developing Applications on the Venice Framework" document. The document now includes information on how to create web services using the Framework, and how to test those web services. It links to some tutorials that we found to be very well written and informative.
The background document has also been reworked a bit.
The background document has also been reworked a bit.
Monday, December 1, 2008
Developing Applications on the Venice Framework Tutorial, Version Uno
The first version of the "Developing Applications on the Venice Framework" document is up on SourceForge. It details how to build the framework to produce a JAR, and how to include that JAR as a library in an external project.
More work on the paper
After re-reading the report template from Prof. Pollice, we realized that what we had typed for our background would fit better in the methodology section. Today, we reworked the section into the methodology, adding code snippets and talking more about our development process. The document is still very much in draft form and not completed yet, but can be found in the report section of our SourceForge.
https://sourceforge.wpi.edu/sf/docman/do/listDocuments/projects.veniceb08/docman.root.mqp_report
https://sourceforge.wpi.edu/sf/docman/do/listDocuments/projects.veniceb08/docman.root.mqp_report
Work From Home Day
Monday, November 24, 2008
Public Art Clustering

One problem with the map application is that there are tons of public art in any given area, and sometimes there are more than one public art in the exact same place. One way to solve this is to cluster the public art to not only speed up transactions but to create more readability.

Figure 1 -
This image depicts points within a certain radius being connected. From here we calculate how many other points each one touches.

Figure 2 -
The points are sorted by how many connections they have, and then for every point that one connects to, we disable so that another point may not connect to it, and so that it cannot connect to other points. Using this method we can group the most amount of points into each cluster, minimizing the number of clusters. The above image is 'unweighted' such that the circle or cluster point is not at the center of mass.

Figure 3 -
This image depicts the clusters at center of mass.
Sunday, November 23, 2008
Venice Web Client Ported to Maven2
Formerly known as VeniceClient is now the new VeniceWebClient project. It has successfully been ported to the maven2 project. It uses the VeniceWebService to access the database through the framework. It can be accessed here as it has been deployed already here
Saturday, November 22, 2008
Venice Web Service Project Ported to Maven2
Formerly known as VeniceFrameworkWebService is now the new VeniceWebService project. It has just been committed to the repository. We had been thinking about porting the Netbeans project to maven for a while now, seeing that there were two major problems with the status quo.
The VeniceClient is still a Ant/Netbeans project, we are hoping to port this over soon so that all three projects are under the same build tool.
The ultimate benefit is that all projects will be IDE independent as well as cross-platform.
- Integrating the framework and the webservice would be difficult if the projects were using different build tools (one Ant w/convoluted Netbeans artifacts, one with maven2).
- The framework needed to be built seperately, copied over to the webservice folder. There was an anomaly which resulted in ~20mb war file even though the framework was only about 9mb
The VeniceClient is still a Ant/Netbeans project, we are hoping to port this over soon so that all three projects are under the same build tool.
The ultimate benefit is that all projects will be IDE independent as well as cross-platform.
Write once, runanywayanywhere!
One New Web Client
For this week's meeting with Professor Carrera, we made a couple of front ends to demonstrate the extensibility of our framework. The applications show different ways that Municipal Data Objects (Public Art in this case) could be displayed to varying end users.
One of the web clients that we made is a proof of concept of our web service. It is laid out in an archival format, and allows users to search through Public Art objects either by entering an ID or by hitting previous and next buttons. Upon clicking one of the buttons/links, an AJAX request is sent from the .jsp to a servlet (the server-side of the client...yes we know that is kind of confusing). The servlet parses the request and sends a SOAP request to the web service, which in this case is located on the same server as the Client but does not need to be as it is a wholly separate entity. The Web Service is an (proof of concept) application built using the Venice Framework, and thus calls methods in the framework to fulfill the SOAP request. The Web Service then takes the Java objects that it is returned, converts them to XML, and sends them off in a SOAP response to the server-side servlet of the web client. The servlet then parses the XML response and sends out a JSON-encoded AJAX response to the .jsp which displays the results.
This application can be accessed here.Please disregard the absurd loading .gif...it is in the wrong div.
One of the web clients that we made is a proof of concept of our web service. It is laid out in an archival format, and allows users to search through Public Art objects either by entering an ID or by hitting previous and next buttons. Upon clicking one of the buttons/links, an AJAX request is sent from the .jsp to a servlet (the server-side of the client...yes we know that is kind of confusing). The servlet parses the request and sends a SOAP request to the web service, which in this case is located on the same server as the Client but does not need to be as it is a wholly separate entity. The Web Service is an (proof of concept) application built using the Venice Framework, and thus calls methods in the framework to fulfill the SOAP request. The Web Service then takes the Java objects that it is returned, converts them to XML, and sends them off in a SOAP response to the server-side servlet of the web client. The servlet then parses the XML response and sends out a JSON-encoded AJAX response to the .jsp which displays the results.
This application can be accessed here.
Thursday, November 20, 2008
VeniceClient updates
Today we made some progress with the VeniceClient web client. The front-end .jsp now communicates effectively with the VeniceTestServlet (kind of a stupid name in retrospect) using AJAX aided by the technologies JSON and Prototype. The client does not currently display anything, but we will have one or two front ends to demponstrate by the meeting with Professor Carrera tomorrow.
Solution to Blocked MySQL in University
We've had this problem for a while now. When we work in the IUAV, we have excellent internet connection but the MySql connections are blocked off. This makes it hard for us to do testing beyond using HSQLDB + DBUnit + JUnit. The first part of the solution is to tunnel the connection through SSH. In order to do this...
- Ping the server (your.server.net), get the actual IP and copy it somewhere (this will be explained later)
- Start putty
- Put the actual IP into the hostname field
- Under the tree menu, goto Connection-->SSH-->Tunnels
- For Source Port, put the "MySQL port" (default: 3306)
- For Destination, put "localhost:MySQL port" (default: 3306)
- Now connect to the server and login
- Your computer's port MySQL port should now be the server's tunneled MySQL port. You can now connect to it using MySQL admin tools
- For Windows OS', navigate to C:\windows\system32\drivers\etc and find the hosts file
- Open the hosts file with notepad
- Append "127.0.0.1 your.server.net" to the end of the file
- Change all Non-tunneled connections to the actual IP address of your.server.net so as not to connect to yourself at 127.0.0.1 (e.g. pinging your.server.net would not work with the host file changed)
Tuesday, November 18, 2008
Photos up on the server
The photos have all be uploaded and made available on our server (slocketrocket).
http://slocketrocket.res.wpi.net:8080/photos/
We are working right now on getting photo information retrieved properly in our framework (hibernate issues) and we should have everything integrated soon.
http://slocketrocket.res.wpi.net:8080/photos/
We are working right now on getting photo information retrieved properly in our framework (hibernate issues) and we should have everything integrated soon.
Relating Photos and MDOs
We had to make a decision regarding MDO objects and how they would be related to pictures. We decided that pictures will be hosted on the server separately from the database. Each photo has have a unique filename. The Photo table in the database has a unique id, a description, and the unique filename. This table is related to MDO in a relational table that has both ids.
The issue we had was with the initial population of the relational table. Previously, PublicArt objects had a value called 'c2kid' which was also used for the names of the images. They still have this 'c2kid', but the id is no longer used directly to access the images. Instead, we inserted new Photo rows into the Photo table for each PublicArt row, using the 'c2kid' as the name. We then inserted a relation into the relation table for each matching pair of 'c2kids' (PublicArt and Photo).
Using this method, we were able to populate the database while keeping a general format for the relation between the two classes instead of using an arbitrary string ID that is unique to PublicArt.
The issue we had was with the initial population of the relational table. Previously, PublicArt objects had a value called 'c2kid' which was also used for the names of the images. They still have this 'c2kid', but the id is no longer used directly to access the images. Instead, we inserted new Photo rows into the Photo table for each PublicArt row, using the 'c2kid' as the name. We then inserted a relation into the relation table for each matching pair of 'c2kids' (PublicArt and Photo).
Using this method, we were able to populate the database while keeping a general format for the relation between the two classes instead of using an arbitrary string ID that is unique to PublicArt.
Monday, November 17, 2008
Thursday, November 13, 2008
End to End Web Service Working
We were able to get the Framework all .jar'd up and put into the web service. We then did a bunch of compliance testing and got them communicating with each other. The web service can now retrieve data from the database. The client now allows a user to enter an ID, and it will retrieve from the database the PublicArt object of that ID. This marks a giant leap forward because it demonstrates how our framework will be implemented into applications, such as the PublicArt web service or the Admin Console.
The link for this functionality is here. Note that this overrides the previous web service, so you can no longer multiply numbers by two.
The link for this functionality is here. Note that this overrides the previous web service, so you can no longer multiply numbers by two.
Subscribe to:
Posts (Atom)
