找论文网 > 计算机论文 > 计算机理论 >

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

摘  要  Struts与EJB大大提高了Web应用开发的效率。Web服务及其相关技术的出现为解决了EJB组件与其他类型组件之间的协同工作与信息交互。本文通过分析Struts 架构与Web 服务的集成,给出了一个结合Struts框架将EJB包装成Web服务的新的基于分层的MVC结构框架。
    关键词  Struts;MVC;EJB;Web服务
 
0  前言
    Struts与EJB结合进行B/S模式的开发,解决了“表示”与“业务逻辑”的分离,“业务逻辑”与“数据”的分离问题以及页面的多变性问题,发挥EJB基于组件分布式计算结构的优势,从而大大提高了Web应用的开发效率,数据安全性和可维护性。EJB组件作为一种成熟的组件技术已经被广泛应用于各个领域,然而随着企业的发展,企业不断实施应用新的系统。如何确保新应用程序与旧应用程序之间的交互,如何将现有的系统集成到新系统?传统的RMI-IIOP和CORBA技术由于自身的局限性,限制了EJB组件与其他类型组件之间的协同工作与信息交互,而Web服务及其相关技术的出现为解决软件开发环境中组件间的互操作问题提供了一种有效手段,它是在Internet上进行分布式计算的基本构造块。为快速高效的开发集成早期应用程序的新系统,我们需要为Web服务构建Struts应用系统。
1  Struts与EJB结合B/S的开发模式 1.1  MVC模式
    MVC(Model/View/Controller)模式最早是在Smaltalk中出现的。MVC包括三类对象,简单地说,Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
    MVC设计模式中的“模型”指的是真正执行任务的代码。在模型同界面分离的情况下,代码即可实现可管理性和可重用性。模型通常被称为“业务逻辑”。所谓“视图”就是使用界面,界面的每一部分都只能包含采集数据的足够逻辑,并把它传递给设计模式中的其他组成部分以进行处理。“控制器”控制着模型和视图之间的交互过程。它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型。
    在JSP开发中,最长使用Model2。Model2实际上就符合MVC模式,其中各组件的关系如图1所示。

图1 Model2中各组件的关系
1.2  Struts+EJB开发模式
    Struts是一种符合MVC模式的框架。Struts采用JSP作为MVC的视图,Java Servlet作为控制器,JavaBean作为模型。Struts的处理过程如图2所示。

图2 Struts+EJB的MVC
    首先,控制器(Action Servlet)进行初始化工作,读取配置文件(struts-config.xml),为不同的Struts模块初始化相应的ModuleConfig对象。控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体Action类进行处理。在控制器调用具体Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自己。Action要处理的业务逻辑封装在JavaBean中,通过JavaBean调用EJB以完成业务处理。Action执行完后返回一个ActionFroward对象。
2  简单的Web服务体系结构
    当您要将企业应用程序转变成与 Web 服务一起使用时,最简单的途径就是将单个操作与单个的企业服务结合在一块,如图3所示。

图3 简单Web服务体系结构
    在这种设计方法中,实现业务逻辑的服务与实现数据检索的服务是混合在一起的。这样的一种 Web 服务可以很容易从已有的业务组件中开发出来。然而,它有很多的缺点:对用户没有提供统一认证,提供者与订阅者耦合不紧,业务逻辑没有重用。简而言之,对于一个连贯的解决方案来说这并不是一个非常好的体系结构。
 

共2页: 1 [2] 下一页


Web集群中基于实时概率的容错调度算法研究
关联规则挖掘算法研究
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图