基于SSH开发架构的重新分层

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

    SSHStruts+Spring+Hibernate的组成方式,Struts实现MVCSpring负责架构的结合,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层方法来完成功能。这样便实现了业务代码的分离,以及与前端框架的极大解耦。
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
基于SSH的会议室管理系统是一种使用安全外壳协议(SSH)来管理和控制会议室预订和使用的系统。这个系统允许用户通过SSH远程访问服务器,进行会议室的预订、查询和取消等操作。 该系统的主要功能包括以下几个方面: 1. 预订会议室:用户可以通过SSH连接服务器,选择需要预订的会议室、预订时间和日期,并提交预订请求。系统将检查会议室的可用性,并发送确认信息给用户。 2. 查询会议室:用户可以通过SSH连接服务器,查询特定会议室在指定时间段内的可用情况。系统将返回相关会议室的预订状态,帮助用户选择合适的时间段进行预订。 3. 取消预订:用户可以通过SSH连接服务器,取消已经预订的会议室。系统将更新会议室的预订状态,并发送取消确认信息给用户。 4. 系统管理:系统管理员可以通过SSH连接服务器,对会议室管理系统进行管理和配置,例如添加、删除或修改会议室信息,更新预订规则等。 基于SSH的会议室管理系统具有以下优势: 1. 安全性高:基于SSH连接,加密传输数据,防止数据泄露和非法访问。 2. 可远程访问:用户可以通过互联网远程连接服务器,并进行预订和查询操作,方便快捷。 3. 实时更新:系统会实时更新会议室的预订状态,确保用户获取最新可用信息。 4. 管理简单:管理员可以通过SSH连接对系统进行管理,方便添加新的会议室和修改预订规则。 总之,基于SSH的会议室管理系统通过安全外壳协议提供了高度安全性和可远程访问性,帮助用户和管理员轻松管理会议室的预订和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值