Seam Note
Seam是一个企业级Java应用框架。
Seam对所有的业务逻辑定义了一个统一的组件模型,Seam组件是有状态的,用相关的几个良好定义的上下文来声明,包括longrunning、persistent、business process context和conversation context。
在Seam中,表现层组件和业务逻辑层组件没有什么区别。
与J2EE组件不同,Seam组件可以同时用相关web请求来访问状态。
Seam整合了JSF和EJB3.0。
整合了AJAX:Seam支持最好的基于JSF的开源AJAX解决方案:JBoss RichFaces和ICEfaces。这使你在UI上使用AJAX技术而无需写JavaScript代码。
1)业务处理作为第一个类构造:
经jBPM,Seam提供了透明的业务处理管理。通过jBPM和Seam,它使实现复杂的工作流,合作和任务管理变得很容易。
Seam甚至允许你使用jPDL来定义表现层页面流。jPDL是jBPM用于业务处理定义的东东。
Seam为表现层提供了丰富的事件模型。
2)声明状态管理
3)Bijection双射
4)工作区间管理和多种窗口浏览
5)对XML更好的annotations
6)集成测试很容易(Integration Testing)
Seam组件,是POJO类,在本地可以做单元测试。但对于复杂的应用,单独做单元测试是不够的。而Java Web应用在做集成测试是困难的。Seam提供了集成测试方法。你可以写JUnit或者TestNG测试重新产生和用户的整体交互等。
------------------------------------
Presentation Tier: JSP Facelets Portal 表现层
Request Controller: JSF 请求控制器
Context Management: Seam 上下文管理
State Management: EJB3 JBoss jBPM Hibernate 状态管理
------------------------------------