4.2. 定义Simple Weather项目

在定制本项目之前,让我们退后一步,讨论下这个 simple weather 项目。 这个 simple weather 项目是什么? 它是一个被设计成用来示范一些 Maven 特征的样例。 它能代表一类你可能需要构建的应用程序。 这个 simple weather 是一个基本的命令行驱动的应用程序,它接受邮政编码输入,然后从 Yahoo! Weather RSS 源获取数据,然后解析数据并把结果打印到标准输出。 我们选择该项目是有许多因素的。 首先,它很直观;用户通过命令行提供输入,程序读取邮政编码,对 Yahoo! Weather 提交请求,之后解析结果,格式化之后输入到屏幕。 这个样例是个简单的 main() 函数加上一些相关支持的类;没有企业级框架需要介绍或解释,只有 XML 解析和一些日志语句。 其次,它提供很好的机会来介绍一些有趣的类库,如 Velocity, Dom4j 和 Log4j。 虽然本书集中于 Maven ,但我们不会回避那些介绍有趣工具的机会。 最后,这是一个能在一章内介绍,开发及部署的样例。

4.2.1. Yahoo! Weather RSS

在开始构建这个应用之前,你需要了解一下 Yahoo! Weather RSS 源。该服务是基于以下条款提供的:

“该数据源免费提供给个人和非营利性组织,作为个人或其它非商业用途。 我们要求你提供给 Yahoo! Weather 连接你数据源应用的权限。”

换句话说,如果你考虑集成该数据源到你的商业 web 站点上,请再仔细考虑考虑,该数据源可作为个人或其它非商业性用途。 本章我们提倡的使用是个人教育用途。 要了解更多的 Yahoo! Weather 服务条款,请参考 Yahoo! Weather API 文档: http://developer.yahoo.com/weather/