精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
作者 | 正文 | ||||||||||||||||
发表时间:2007-11-16
Dorado与Struts、Hibernate、Spring的集成开发模式
dorado是一套成熟的Web应用开发套件, 其中包含了一个完整的具有下一代Web应用特征的表现层解决方案。本文着重介绍了如何利用dorado的表现层与目前较为流行的Struts、Hibernate、Spring进行协同开发。
上图是利用dorado的表现层与目前较为流行的Struts、Hibernate、Spring进行协同开发的总体框架图。从此图中我们不难看出与传统的MVC的开发模式的最大区别在于View部分dorado的表现层实现。 发起请求 从浏览器发出请求开始(如图中的1号箭头)。该请求首先将被Struts的ActionServlet接受,然后ActionServlet会根据用户的Struts配置确定应触发哪一个具体的Action。 调用业务逻辑 Action的主要任务是调用某一个业务逻辑对象BO(Business Object)已完成相应的业务操作。由于我们在此框架考虑引入了Spring,因此Action将不必直接创建具体的BO。而是通过Spring框架利用反向注入的原理(Ioc)来得到BO的实例。 转发请求 当Action完成上述操作之后Struts应根据BO的执行结果和用户的配置将请求转发给某个具体的JSP来实现界面的展现。由于此处引入了dorado的表现层,因此JSP的作用已被弱化为了单一的对视图模型(ViewModel)中的各种可视化对象进行布局。 值对象(VO)的传递 由于我们不能把数据模块的激活和BO的调用看作是一个同步的过程。因此数据模块无法直接得到BO返回的执行结果,而只能通过上下文对象来获取BO返回的VO。此处的上下文对象一般是指Request对象的Attributies属性集。 反馈 VO的信息被正确的转化到Dataset中之后,dorado的Module和ViewModel将按照其标准的方式运行,并最终通过JSP将视图信息反馈给浏览器。此处,dorado的表现层之所以需要数据模块、视图模型和JSP的协同工作是为了更好的实现代码的重用。 综上5个步骤,我们不难看出dorado与Struts、Hibernate、Spring这些产品进行整合的关键在步骤4,即如何将VO转换成dorado中的Dataset。而且事实上dorado的对象本身完全不需要对Struts、Hibernate、Spring中的任何对象进行直接调用。这种松耦合的结合方式可以充分的保证系统架构将来的灵活性和扩展性。 结论 此种开发模式与传统的开发模式比较,其最大的优势在于可以利用dorado大大的节省开发人员在开发Web应用表现层式的工作量,同时又为我们的应用提供非常友好、易用的用户交互界面,将应用直接升级成新一代的富客户端网络应用(Rich Internet Application)。 此种开发模式与标准的dorado的开发相比将会带来开发工作量的明显加大,不过同时在开发模式上的标准化也可以在另外一些方面为我们带来好处。例如可以系统架构具有更好的扩展性,使得将来在需要的时候引入其他框架类产品的变得相对容易。
Dorado除可以帮我们改善界面之外,还可以为我们提供国际化、性能分析、权限配置等等诸多实用的功能,由此可见引入dorado作带来的好处是不言而喻的,此处不做过多累述。但是对于上表中的后两种开发方式的取舍应根据多方面的实际情况来决断。一般而言,对于规模不是特别大,参与开发的人员不多且预计系统将来升级和扩展不是很频繁的项目,我们仍推荐选用相对简单且快速的第三种方式,即直接使用dorado标准的开发模式。 注:本文引自某人Blog,主要是为了自己学习而收藏的资料 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|||||||||||||||||
返回顶楼 | |||||||||||||||||
发表时间:2007-11-17
Darodo 是 好 ,可惜
1. 还没有开源 。 2. 过于集成,一整套包括前后台了。 我想 应该提出一个 WEB 应用 框架 : 前台可以用 : GWT , jsf , thinware , webwork web服务层 可以用 : Spring + EJB3 数据层 可以 用 :JPA , Hibernate , OpenJPA 在 这基础上 , 各层可以提供各种与业务无关的 组件(Tree, Dialog,Tab) 和 最佳实践 。 然后 ,再根据行业需求,提供 一些 常用的组件和 服务,如:CURD 、安全、look feel,甚至 Portal 这样 ,当 一个 业务系统要开发时,可以根据需求来选择 组件 和 服务。 |
|||||||||||||||||
返回顶楼 | |||||||||||||||||
发表时间:2007-11-19
JavaEye并不是讨论Dorado最好的地方,thehim可以去官方BBS(http://bbs.bstek.com)与BSTEK的工程师讨论。
|
|||||||||||||||||
返回顶楼 | |||||||||||||||||
浏览 9152 次