处理了一些私人事情,现在回到团队事务中,有些疲,也逐渐找回了感觉。
developerworks网站上关于
SOA 的一个架构模板
目前成熟的JavaEE应用,推荐三层架构:表现层、控制层、业务逻辑层[接口和实现](可细分业务逻辑、持久化两层)。贯穿于所有层的是基础设施(安全、事务、可靠性等)。
对比JavaEE中的三层结构和MVC可以看出:
表现层类似。可以是GUI也可以是Web。现在更崇尚Web。而且表现层(Web)一定要遵循MVC模式(注:MVC不是JavaEE的三层结构,注意区分,只是表现层的一种架构,确切的说,还不是模式)。
SOA的业务过程合成层对应JavaEE的控制层(包括Façade Pattern)。前者把单个或者一系列服务绑定成一个控制流程,可以做为单独的应用程序使用。后者通过Façade模式将不同的组件结合起来,提供一个统一的访问口。
SOA的服务层对应于JavaEE系统间的接口。不同的是前者是系统间,后者是系统内。但都是被发现或者静态邦定或者声明式注入,然后调用。前者对系统集成、后者对单个系统实现来说功能是一致的。但是前者的优势在于通过文档(WSDL)声明的方式屏蔽了系统、语言之间的差异性,如果是同一实现体系中不考虑异构,后者的优势在于效率。
企业组件层对应于JavaEE系统的业务逻辑层。都是负责实现业务功能、提供基础设施服务的组件。常运行于应用服务器中。
SOA的QoS与成熟的JavaEE应用一致。 附文:SOA服务模型分析设计的一些概念
附文:JavaEE中的三层结构和MVC