频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

基于Struts和EJB的Web Service框架研究(2)

作者: 鲁鹏/曹洪军 出处:计算机与信息技术 2007-04-02 14:35    砖    好    评论   进入论坛
阅读提示:Struts与EJB大大提高了Web应用开发的效率。Web服务及其相关技术的出现为解决了EJB组件与其他类型组件之间的协同工作与信息交互。本文通过分析Struts 架构与Web 服务的集成,给出了一个结合Struts框架将EJB包装成Web服务的新的基于分层的MVC结构框架。

3、采用 Struts的 Web 服务

前面讲过,Struts 架构清晰地区分开了视图、控制器以及模型。模型包含所有必须的业务逻辑,从存储数据仓库中检索数据。您可以构建一个简单的 Web 服务层——称为 WSManager 层——这样的模型可以提供 Web 服务也可以订购 Web 服务。使用这种体系结构的应用程序将基于组件开发的最佳点与Internet结合在了一起,如图4所示。

其它Struts相关组件前面已讨论,下面主要讨论这种体系结构中WSManager层,因为它是此体系结构中真正新加的部分。

作为Web服务端和EJB容器之间的中间件,WSManager 接收 JAX-RPC 端点的请求。将客户端请求映射到WSManager 类中的方法调用。这些客户端请求是SOAP 信息的格式。WSManager 必须实现安全认证,转变参数,在指定请求到模型服务之前,要对这些请求进行参数预处理。请求所包含的参数形式有 Java 对象,Java原始参数,XML 文档,或者甚至是 SOAP 文档分片(例如,SOAP Element 对象)。这些类型必须要转化成内部所支持的 schema(例如,预定义的 Java 数据访问对象)。

图4:采用Web服务的Struts应用程序

WSManager 也可以生成响应;这个过程由方法调用返回值的简单构造所组成。WSManager 中保留这样的功能,您可以通过缓存数据从而避免重复访问模型服务层。您还可以集中管理响应聚集以及 XML 文档转换,如果您要返回给调度者的文档必须遵守与内部 schema 不同的 schema 时,这一点就显得尤其重要。

在以上模型中,Web服务的客户端通过SOAP消息与Web服务端点进行交互从而达到使用EJB组件提供的服务的目的。在Web服务端,WSManager 处理所有SOAP 请求并把它们委派到模型层(EJB层,使用Session Facade 设计模式)所暴露的业务逻辑。这样有很多好处,因为 WSManager 会:

(1)作为初始联系点来管理请求与服务。

(2)调用安全服务,包括身份验证与授权使用,从而避免任何重复的层访问。

(3)委派业务处理(采用由 Struts 应用程序所使用的模型服务)WSManager代理对EJB的方法调用。接受客户端传递的所有参数然后简单地把这个调用代理给会话外观的某个方法,把对EJB的调用过程从Web服务端点中分离出来。

(4)隐藏与EJB相关的系统异常。与API相关的系统异常,比如RemoteException,EJBException都在WSManager中被捕获然后作为一个非EJB的相关异常(比如一个自定义的业务代理异常)通过Web服务端点重新抛出给客户端。应用级的异常仍然被传递给Web服务端点,然后由Web服务端点通过SOAP消息发送给调用Web服务的客户端。

(5)缓存数据避免任何不必要的数据库访问,可以在本地缓存一个会话bean方法调用返回结果,然后在后续请求中把它们传递给Web服务端点。还可以缓存一个会话bean的引用。

(6)具有重新尝试失败事务的能力。WSManager可以实现判断事务失败原因所需的复杂错误处理代码。通过重新执行会话外观的方法来重新尝试执行事务,WSManager对Web服务端点隐藏了复杂的处理过程。

(7)快速方便地进行Web服务地发布和使用。在 WSManager 类中实现的每一个公共方法都将作为一种Web服务发布出来。换句话说,您要为这些类发布一种Web 服务描述。Web 服务描述是由服务的Web 服务描述语言(Web Services Description Language,WSDL)描述与由它所引用的任何 XML schema 所组成。应用程序可以利用在公共注册表或者企业内部中已存的Web服务。WSManager有解析必要的WSDL文件的方法并且调用相关的操作返回一个值。

4、总结

通过在Action和EJB层间加入WSManager层即在Web容器和EJB容器之间加入WSManager中间件,很好地结合了Struts和Web服务。使用本文所阐明的体系结构,我们可以快速高效地开发出这样的企业应用程序,它非常健壮,很容易维护,而且能很容易地与早期应用程序集成在一起。

【责任编辑:火凤凰 TEL:(010)68476606-8007】


共2页: 上一页 [1] 2
【内容导航】
关于 Struts  MVC  EJB  Web  服务  Java
专题
Windows Home Server 家用服务器专题
服务器维护与应用基础
服务器基础知识入门
垃圾邮件新对策:远程定制托管服务
企业Web安全威胁在线评估系统
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81120次)
·UML类图详解 (查看72587次)
·C++是垃圾语言?! (查看42719次)
·C#技术开发指南 (查看40290次)
·UML统一建模语言 (查看39225次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。