This tide table application was developed as an exercise using Hibernate, JSTL, and STRUTS.
Tide data is retrieved from the NOAA Tides and Currents site. Data is extracted (scraped) from the appropriate station's data page and stored locally. This is a server-side process that is triggered via a web interface. It could be triggered automatically, but since the data only needs to be fetched once a year, and the timing of the release of new tide data is not precise, for now it's a manual trigger.
In General, page scraping is not the best solution to much of anything. There was talk of NOAA making tide data available via a Web Service (the optimal solution), but it has been slow in coming. Alternatively, there are tide servers available. At any rate, the focus of this exercise was Hibernate, not data acquisition or tide server deployment.
JTidy was also used to clean up the pages before parsing them (regex).
Note: The tidal information presented is calculated data. It should not be used for navigation.
The data does not take into account the effects of wind, weather, and currents which can radically effect tidal behaviors.
This software is a product of Cutwater.