Geronimo 叛逆者: 直面 JSF
2010-03-30 00:00:00 来源:WEB开发网因此除了本质上确凿的内容之外,实现 JSR 规范就像实现任何其他规范一样,因为更改那些内容需要修改整个 Java Community Process,因此这样做肯定比跟老板商谈然后费力地去做要更加复杂。
开源开发与非开源开发的对比
Tim 把使用 Apache Geronimo 称为他 “梦想中的工作”,因此我问他使用开放源码到底有什么特别之处。
“开码开发的特别之处就在于您的贡献实际上就是开发的代码。如果不证明您对 Java 编码或通用编码的精通程度,不贡献代码,则不能成为对 Geronimo 或者我知道的任何其他开放源码有贡献的人。因此在某种意义上,实际上是 ‘代码决定一切’。对于我来说,这有好有坏,但这正是开放源码的发展之路”。
Tim 在严格意义上是 IBM 的软件工程师 —— 与独立使用 Geronimo 相反 —— 因此我问他开源开发与商业开发之间有何区别。“在开放源码 [开发] 中”,他告诉我,“您贡献代码后,社区将审查这段代码,随后所有人都有机会查看、审查这段代码并为您提供反馈。整个过程就是这样。在 IBM 进行产品开发要严格得多,有需要遵循的开发方法,然后还有明晰的阶段:分析、计划、设计、实施、单元测试、功能和系统测试。
“在开放源码 [开发] 中您同样要遵循此过程”,他继续说道,“但是此过程简练得多。没有真正明晰的阶段。在 Geronimo 中,一切都靠社区来推动,但在商业开发中,您的工作通常都根据与产品架构对应的指导信息来执行。在开放源码中,只要代码实现一点社区就会同意通过这段代码,让我们来说,这一点就是兼容 [Java EE] 5。开放源码的巧妙之处就在于任何人都可以使用所需的内容。同样地,您说 “我将使用 JSF,而且我将遵循 JSR 88 部署规范”。因此发布代码,并获得来自社区的反馈。他们说代码没问题,而您说,“这是我计划编写代码的方法”,然后社区将审查,然后或者同意或者不做任何事情(一种暗示同意)。还有更大的自由度,因为您可以对任何内容进行操作,只要表现出能够对其进行操作的能力并且成为贡献者。因此作为一名开发人员,很明显您要执行单元测试,而审查过程是提交代码的一部分,因为提交后,每个人都可以查看您提交的内容,然后审查并对其进行注释。因此没有清楚的时间表,两个星期后我们将处于此阶段。尤其是对于 IBM 产品开发,它是一种十分严格的方法,该方法十分优秀,因为在我的体会中您得到了质量非常优秀的软件。开源软件的质量也十分出色,它只是一种不同的方法。”
但是 Tim 认为开源开发与商业开发还有一点不同之处:“开放源码还可以带来更多乐趣,真的”。
结束语
Tim 的话使我深思。首先,我的工具库中有了一个新工具:一般情况下用 JSF,特殊情况下用 Apache MyFaces。JSP 我已使用多年;这看似是一种简化应用程序开发的最佳方法。就是导航规则可以简化开发,因此当您能添加本文中未能谈及的所有其他功能时,那么您就是一名真正的赢家!
Tim 还为我提供了一些关于贡献开源项目实战的见解,揭示了实现规范及与社区协作的过程。
- ››Geronimo V2.1.5 中的安全提升
- ››Geronimo 叛逆者: Apache Geronimo 的 JMS 实现:...
- ››Geronimo 叛逆者: Geronimo 与 Apache 许可带来的...
- ››Geronimo 叛逆者: 加入集群功能
- ››Geronimo 叛逆者: 摒弃 JBoss,使用 Apache Geron...
- ››Geronimo 叛逆者: 使用集成软件包:Codehaus 的 W...
- ››Geronimo 叛逆者: 直面 JSF
- ››Geronimo!第 2 部分: 构建 Geronimo
- ››Geronimo!第 3 部分: 状态问题
- ››Geronimo!第 4 部分: 模式
- ››Geronimo 叛逆者: 使用集成程序包:GlassFish JST...
- ››直面正版 网络视频方能持续发展
更多精彩
赞助商链接