Enunciate: Java 代码优先、契约编译的Web服务部署框架

Enunicate是一个J2EE Web服务部署框架,它提供了一个创建SOAP、REST、JSON等终端(endpoint)的从开发到部署完整系统,上周发布了1.0版本。 Enunciate已经在许多 博客和 论坛上引起关注。Enunciate并不是像 Axis2或 XFire这样的Web服务协议栈,它使用XFire和Spring来提供代码优先的开发模型,这样就增强了编译期的契约兼容性。
Enunciate对于Web服务开发的创新之处在于,将所有的部件置于一个在源代码中定义和维护的API中(与之相反的是所有这些文件都定义在一个已编译好的字节文件中),这意味着Web服务的开发可以完全在源代码中,你可以使用自己喜欢的IDE来维护它,从而降低了开发门槛。然而,如果从初始的源代码开始开发,Enunciate可以在正式契约中通过强制开发者在编译期解决一些不明确或者存在潜在危险的问题,从而避免代码优先开发时所共有的问题。这种开发模式被称作“编译契约”。
Robert Cooper写道:“Enunciate会把Java服务实现看作一系列POJO或者JSR-181注释文件(annotated stuff),并且生成一个带有支持SOAP服务、REST服务、JSON服务和不带JavaDoc痕迹 文档等功能的Xfire的WAR文件。”

关键点是在项目的编译打包活动之前,增加了一个“生成”步骤。这一步不仅仅围绕开发者的service类生成了样板文件代码,而且验证了API模型:

你可能感兴趣的:(Enunciate: Java 代码优先、契约编译的Web服务部署框架)