这个例子的背景如下:在杭州百货大楼门口放置一个传感器,检测噪声(杭州的朋友看到这里,不妨去找找看,然后踹上两脚,给我们一些方差很大的数据)。传感器采集的数据远传并保存到实验室某台机器(Linux系统)的MySQL数据库中。然后我们就可以在一台作为服务器的机器上部署一些基于噪声数据的统计分析服务,供客户端使用。
这样的项目表现层可以用一个Applet来做,数据的处理则可以直接使用JDBC。因为是实验性质,我用了Tapestry和Hibernate这样听过多次一直没有用过的技术。Tapestry作为Apache门下的一个项目,已经日益得到人们的肯定。Hibernate更是红透了整个中文Java社区,叫好又卖座。选择Jfreechart则是源于Source Forge的项目推荐。
三者的参考书选择也很有意思。Tapestry和Hibernate的作者Lewis Ship和Bauer分别写了一本In Action,好比是母亲介绍自己的儿子,无论是整体架构还是个中细节讲得都十分透彻。这两本书销量之好,让很多人感叹“好的开源软件卖文档也可以赚钱。”
JFreechart的作者David Gilbert大概也有了这样的体会,苦于没有人来找他约稿,居然把Userguide拿来卖钱,卖得还很贵:39.95美国人民币。而且这兄弟大概怕人不用Userguide也能用Jfreechart开发,版本之间包的改动极大,可以说是个开源恶汉。而Jfreechart用户的数量不高也证明了他的这一举动造成了一个好项目的资源浪费。
MySQL的数据库格式如下,采集噪声数据的频率是一秒钟一个:
其中,mhname-----------------采集地点(本例中就是百大)
stime---------------------采集时间
dvalue-------------------传感器返回值
ns-------------------------主键
item----------------------采集项目(本例中就是噪声)









