公告


赛特达开博了,非常高兴这样的季节能够和大家一起分享这样的喜悦。赛特达在获得大家新老朋友的支持的同时也希望能够一起分享最前沿的技术信息。希望各位能够常来坐坐,也常来聊聊!

关于我

<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

最近来访

留言簿(1)

随笔档案

文章分类

文章档案

相册


最新评论

1. re: 台湾一校长的演讲: 震动所有中国人_Homer转载自chinaren
好!--【匿名用户】:E-works热心网友
2. re: 清华校长送毕业生的五句话 ----方向比努力重要、情商比智商重要 ......——Homer转自禅意的blog
清华大学有N多个大学校长,俺想知道这五句话是哪个校长说的?&nbsp;
--【匿名用户】:E-works热心网友
3. re: Modelica语言
谢谢答疑解惑
--【匿名用户】:E-works热心网友
4. re: Windows 2003 远程桌面连接数超过最大连接数终极解决方案-已验证,绝对有效!_homer
--【匿名用户】:E-works热心网友
5. re: Isight for Abaqus——by hannah
请问Isight&nbsp;for&nbsp;Abaqus——by&nbsp;hannah在abaqus的哪个版本中有啊?--【匿名用户】:E-works热心网友
6. re: 关于iSIGHT分布和并行
Re&nbsp;2楼:
如果想让DOE中的各个实验方案分到不同的机器上并行计算的话,单机版的Isight-FD是不行的,必须在FIPER并行分布环境中才能实现。在这个FIPER环境中,Isight-FD只是它的一个客户端,另外还有一个客户端叫Station,这样一旦Isight-FD把各个方案提交到FIPER环境中后,FIPER环境的服务器端ASCS就会自动的把任务分到各个机器的Station上来并行或分布执行。--赛特达
7. re: Isight for Abaqus——by hannah
Isight&nbsp;for&nbsp;Abaqus是我们的另外一个产品,优化方面功能和Isight-FD基本是一样的,只不过这个产品只能集成Abaqus,不能集成其它的软件。

--赛特达
8. re: 关于iSIGHT分布和并行
想问一下,iSIGHT-FD中并行怎么设置啊,用DOE的,有多台电脑,想每个数据点分别在每台电脑上跑。谢谢!!!!!
我的邮箱GFFF_YUKI@163.com--【匿名用户】:E-works热心网友
9. re: 一个看似简单却很绕人的问题!——warren转载
同意楼上,赚了两元。--【匿名用户】:E-works热心网友
10. re: Isight for Abaqus——by hannah
目前abaqus&nbsp;集成的isight是特别定制的模块还是isight&nbsp;fd啊?似乎手册里面几乎没有提到isight,市面上书籍也几乎没有。--【匿名用户】:E-works热心网友
11. re: 常用试验设计方法-Robert
谢谢了--【匿名用户】:E-works热心网友
12. re: 2分钟让你明白什么是ERP
这个比方打得挺不错,培训时用这样的形象的比喻能收到很好的效果!--唐志明
13. re: Windows 2003 远程桌面连接数超过最大连接数终极解决方案-已验证,绝对有效!_homer
只能链接三人是因为没有Win的相应授权,我一直在找破解方法--【匿名用户】:E-works热心网友
14. re: 什么是应力,什么是应变 ----Eric转载
有收获,多谢分享--CAE.PDM
15. re: Delmia软件介绍 jerry
有想了解EAM软件的、工艺流程图、管道布置图绘图软件的,jsq124@163.com--kimm99
16. re: Delmia软件介绍 jerry
delmia官方介绍都比这强多了。没事浪费空间。--叶秋
17. re: Delmia软件介绍 jerry
提供点详细资料学习一下行不--天行健
18. re: 五个故事学会做人——Vicky转载《好文章网》
写的太好了!--【匿名用户】:E-works热心网友
19. re: weblogic启动不起来的解决方法_homer
真的好东西--【匿名用户】:E-works热心网友
20. re: 一个看似简单却很绕人的问题!——warren转载
赚了2元--【匿名用户】:E-works热心网友

阅读排行榜

评论排行榜

现代的企业开发中,越来越多地引入了多层架构设计模式。Struts+Spring+Hibernate (一下简称为SSH)就是其中之一,SSH架构是当前非常火的架构,很多金融、电信项目,大型门户网站均选择该架构作为业务支撑架构,开发流程也已经非常成熟。但是该结构开发起来,依旧存在一些问题。分析这些问题,得先从SSH架构的组成说起。

SSH为Struts+Spring+Hibernate的组成方式,Struts实现MVC,Spring负责架构的结合,Hibernate进行数据的持久化。通常其分层开发的结构图(以一个业务新增为例)如下:

这样的结构,满足了一般的业务需要,但是对于当前日益复杂化的WEB2.0的开发,却存在不少问题,归纳起来主要有以下几点的不足:

A)DAO和服务层容易出现职责不明,由于按照MVC逻辑,业务代码应该写在Struts Action里,但是其事务的提供,却是配置在Service层。为了一组在逻辑上完整的数据操作业务逻辑,需要涉及两个层(Serveice、Action)来进行编写,遇到判断的情况下,为了保证完整的事务操作,则需要将业务代码移到Service层完成,而通常习惯了在Struts Action里调用多次Service而产生多个事务而在出现Exception时导致出错时操作之前调用的Service事务的业务数据没有回滚。

B)当需要返回的数据供AJAX使用,操作JSON或XML的的大量使用时。开发起来会很费力,一段同样的业务代码,为了使用AJAX和XML可能需要重新编写一次,或者在同一个ACTION里通过标志来判断,对分层结构造成了比较糟糕的破坏。如果设计得不好,为了使用JSON和XML还得额外增加大量的配置,严重降低了开发效率。

因此,为了克服这些缺点,本人对于SSH架构,进行了实现了重新的分层,共享了业务代码。简化了开发、增强了与AJAX技术、MXL技术的结合。提供了一种更高效的开发模式。

其开发的结构图如下:

看到这个架构图有人可能会问,Struts Action类的编写去哪了呢?答案正是这个架构的优点,由于业务代码统一实现IbusinessService接口,使得只需要相对固定的几个Struts Action类调用Service层的方法,便可以完成工作。包括JSON格式输出,XML输出及WebService输出均调用Service层方法来完成功能。这样便实现了业务代码的分离,以及与前端框架的极大解耦。

发表于: 2008-10-29 17:15 赛特达 阅读(447) 评论(1)  收藏(0) 好文推荐

作者该类其他文章:

发表评论
# re: SSH开发新方案之基于SSH开发架构的重新分层(转载)--Jacky
2009-03-16 23:23 | 【匿名用户】:E-works热心网友 | 1楼
有见地!

标题  
姓名  
主页
内容   
请输入验证码:
*
(如果看不到图片,请多刷新几次页面)
  登录   Top
[使用Ctrl+Enter键可以直接提交]