`
isiqi
  • 浏览: 15946382 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

基于J2EE的三层B/S信息系统研究

阅读更多

  随着软件系统的规模和复杂性的增加 ,软件体系结构的选择成为比数据结构和算法的选择更为重要的因素 ,三层客户/服务器体系结构为企业资源规划的整合提供了良好的框架 ,是建立企业级管理信息系统的最佳选择。随着体系结构的发展,软件框架结构方面也在不断发展,目前在多层应用结构方面出现Java技术和.net技术的实现的不同的解决方案,二者各有优缺点,分别适用于不同规模的系统的要求。 本文将结合电信计划建设管理信息系统的实现,说明三层模式的体系结构,介绍基于三层模式的应用系统的分布式组件技术 ,阐述应用J2EE框架结构来实现应用系统的实现方法。

   一、系统结构的选择

   1、 传统两层C/S结构的缺点

  传统的两层客户/服务器模式比较适合于小规模、用户较少、单一数据库且在安全、快速的网络环境下 (例如局域网 )运行 。但是,随着应用系统的规模不断扩大 ,复杂性越来越高在多用户、多数据库且非安全的网络环境下(例如:Internet) ,这种两层结构的应用模型将无法适应 。而且传统的两层结构还存在以下缺陷:

  (1)它是单一服务器且以局域网为中心的 ,所以难以扩展至大型企业广域网或 Intranet;

  (2)受限于供应商,程序的升级维护必须由供应商重新开发扩展;

  (3)软、硬件的组合及集成能力有限;在软件上呈现出胖客户端,用户必须在客户端安装特定的客户端应用程序,而且企业的业务逻辑都写在客户端应用程序中,程序维护困难,程序升级需要每个客户端都要安装新的客户端应用程序,同时,对于程序开发商来说,程序模块的重用性差,各个模块相对独立;

  (4)C/S模式很难管理大量的客户机。

  基于以上原因,传统的C/S模式已经不能适应发展的需要,随着网络技术的普及和用户需求的进一步提高,三层WEB模式应运而生。

  2、 三层WEB结构的优点

  三层客户/服务器模式 (以下简称三层模式 )在两层模式的基础上,增加了新的一级。这种模式在逻辑上将应用功能分为三层:客户显示层、业务逻辑层、数据层。客户显示层是为客户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务。业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开 。这个层次提供客户应用程序和数据服务之间的联系,主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序。数据层是三层模式中最底层,他用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。

  三层模式的主要优点为 :

  ①良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。

  ②可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;

  ③较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。

  ④增强了企业对象的重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。

  ⑤三层模式成为真正意义上的“瘦客户端”,从而具备了很高的稳定性、延展性和执行校率。

  ⑥三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。


三层体系结构


  电信计划建设管理信息系统是由省电信公司对下属地市电信公司进行统一管理,所有业务逻辑都集中在省公司管理和制定,地市公司负责数据的录入和查询统计,用户的分布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,选择三层WEB模式进行开发实现。

  二、体系架构的选择

  1、 DCOM分布式技术和CORBA分布式技术

  Microsoft的分布式COM(DCOM)技术是将组建对象模型技术COM大大进行了扩展,是对在局域网、广域网甚至是Internet上计算机对象之间的通信提供了完全的支持。通过使用DCOM用户的应用程序就可以在任何网络位置上达到真正的分布性,从而满足客户应用的需要。整体结构如下图所示:


  由OMG提出的公共对象请求代理结构CORBA对象是目前比较流行的一种中间件规范,也是一种构件实现规范,主要目标是使对象在分布式环境中可重用、可移植和可互操作,CORBA的整体结构如下图所示:


  以上两种分布式结构可以实现在统一特定的环境下的应用,对于局域网中的实现比较流行,但是针对不同平台的应用和Internet上的应用,二者缺少灵活性。

  2、 J2EE体系结构介绍

  J2EE体系结构分为三个层次,分别是客户表示层、中间逻辑层和数据管理层及应用系统。本结构具有跨平台的特性,结构中的三个层次可以处于不同的平台下进行协作应用;因为客户表示层可以使用不同的客户端程序,因此具有很好的分布性,可以适应分布式管理的要求;在后台的应用系统集成中,可以把企业不同的应用系统集成到该结构中,因此可以有效的保护现有的资源不被破坏。基于J2EE来实现的WEB服务的核心框架如下图所示:



  用基于J2EE的体系结构开发的WEB服务还具有以下的优点:

  ① 可以跨越中间防火墙进行通信。因为WEB服务是利用HTTP最为传输媒介,中间层使用WEB服务的话,可以从客户界面直接调用中间层组件,而不必建立页面。

  ② 应用系统的集成。要把企业里不同语言写成的,运行于不同平台上的各种程序集成起来必然会花费很大的开发力量。通过WEB服务可以使用标准的方法把功能和数据暴露出来,供其他程序使用。

  ③ 所有的企业逻辑和服务都集成封装在可重用、可移植的EJB组件中,因此系统维护性和可重用性好。

  ④中间件代码可以集中在处理业务逻辑上,无需考虑数据表示。

  因为本次电信计划建设管理信息系统的业务逻辑和数据处理规则都是由集团公司和省公司统一管理,数据和程序集中在统一的服务器上,并且服务器运行平台与客户端的运行平台不同,因此采用J2EE的框架结构解决比较合适。

  二、体系架构的选择

  1、 DCOM分布式技术和CORBA分布式技术

  Microsoft的分布式COM(DCOM)技术是将组建对象模型技术COM大大进行了扩展,是对在局域网、广域网甚至是Internet上计算机对象之间的通信提供了完全的支持。通过使用DCOM用户的应用程序就可以在任何网络位置上达到真正的分布性,从而满足客户应用的需要。整体结构如下图所示:


  由OMG提出的公共对象请求代理结构CORBA对象是目前比较流行的一种中间件规范,也是一种构件实现规范,主要目标是使对象在分布式环境中可重用、可移植和可互操作,CORBA的整体结构如下图所示:


  以上两种分布式结构可以实现在统一特定的环境下的应用,对于局域网中的实现比较流行,但是针对不同平台的应用和Internet上的应用,二者缺少灵活性。

  2、 J2EE体系结构介绍

  J2EE体系结构分为三个层次,分别是客户表示层、中间逻辑层和数据管理层及应用系统。本结构具有跨平台的特性,结构中的三个层次可以处于不同的平台下进行协作应用;因为客户表示层可以使用不同的客户端程序,因此具有很好的分布性,可以适应分布式管理的要求;在后台的应用系统集成中,可以把企业不同的应用系统集成到该结构中,因此可以有效的保护现有的资源不被破坏。基于J2EE来实现的WEB服务的核心框架如下图所示:



  用基于J2EE的体系结构开发的WEB服务还具有以下的优点:

  ① 可以跨越中间防火墙进行通信。因为WEB服务是利用HTTP最为传输媒介,中间层使用WEB服务的话,可以从客户界面直接调用中间层组件,而不必建立页面。

  ② 应用系统的集成。要把企业里不同语言写成的,运行于不同平台上的各种程序集成起来必然会花费很大的开发力量。通过WEB服务可以使用标准的方法把功能和数据暴露出来,供其他程序使用。

  ③ 所有的企业逻辑和服务都集成封装在可重用、可移植的EJB组件中,因此系统维护性和可重用性好。

  ④中间件代码可以集中在处理业务逻辑上,无需考虑数据表示。

  因为本次电信计划建设管理信息系统的业务逻辑和数据处理规则都是由集团公司和省公司统一管理,数据和程序集中在统一的服务器上,并且服务器运行平台与客户端的运行平台不同,因此采用J2EE的框架结构解决比较合适。

  三、系统设计和实现

  通过对各种解决方案和框架结构的比较,选择JAVA技术作为本次系统设计的应用技术,我们对系统的设计如下:

  前台用户显示层使用jsp和servlet在浏览器上实现,中间使用EJB组件实现企业业务逻辑,后台数据库使用Sybase数据库。具体的企业应用结构如下所示:


  其中中间件使用Bea公司的Weblogic7.0,开发工具使用JBuilder9.0,数据库使用SYBASE数据库。

  在用户登录过程中,因为在整个客户端使用的用户比较多,因此在连接上我们使用连接池进行处理。具体的连接池实现如下:

class DBConnectionPool
{
 public DBConnectionPool(String name, String URL, String user, String password)
 {
  this.name = name;
  this.URL = URL;
  this.user = user;
  this.password = password;
  this.maxConn = maxConn;
 }
 private void createPools(Properties props)
 {
  private Hashtable pools = new Hashtable();
  String poolName = props.getProperty("poolname").trim();
  String url = props.getProperty(poolName+".url").trim();
  String user = props.getProperty(poolName + ".user");
  String password = props.getProperty(poolName + ".password");
  String maxconn = props.getProperty(poolName + ".maxconn", "0");
  int max;
  DBConnectionPool pool=New DBConnectionPool(poolName, url, user, password);
  Utility.log(pool.toString());
  pools.put(poolName, pool);
  Utility.log("成功创建连接池" + poolName);
 }
}

  为了使用SessionBean进行登录确认处理,同时利用Bean的监听功能对用户的登录时间进行监听,超过一定时间,自动切断用户登录连接,让用户进行重新登录。在应用系统中,用户登录后的权限控制是一个重点,我们在使用J2EE框架结构的过程中,使用SERVLET的过滤功能来实现权限的控制,具体的实现结构如下:


  过滤器的定义标记如下:

<web-app>
 <filter>
  <filter-name>IE Filter</filter-name>
  <filter-class>com.ibm.devworks.filters.IEFilter</filter-class>
 </filter>
</web-app〉

  在业务逻辑处理上,我们对各个业务进行相应的分解,然后针对每个业务逻辑应用EJB组件进行实现。客户做出请求后,使用SERVLET处理后调用各个业务模块处理逻辑,EJB组件访问数据库后将处理后的结果集返回给SERVLET,再汇集到客户端进行显示,供用户进行查询和使用。

  四、总结

  本文提出的B/S模式的系统结构已应用电信计划建设管理信息系统中,由于实际需要,在请求处理层中还增加了一个设备接口线程,用于通过SNMP协议获取网络设备的信息。与传统的CGI模式相比,本系统结构有明显的优势,具有较高系统效率,尤其适合于构造功能复杂的Web应用系统。另外在实现上还可以加强,比如进一步研究自动创建和撤销新的数据库操作线程的条件。


分享到:
评论

相关推荐

    基于J2EE的三层B/S企业信息系统 (2005年)

    针对企业信息服务的特点,阐述了基于J2EE的三层B/S企业信息系统的构建方法,分析了J2EE与企业数据库之间的接口连接问题,最后结合实际情况,给出了一个银行企业信息系统的设计方案,并讨论了系统代码实现的关键技术...

    基于J2EE四层体系框架系统的研究与实现

    C/S两层结构通过静态页面在Internet上发布信息,B/S三层机构把数据的生成和数据的表现集成在动态页面中,使动态页面变得非常庞大,且应用的表现和逻辑处理混合在一块。我们设计并实现的基于J2EE四层结构的系部动态...

    基于J2EE 的教学管理信息系统的设计

    基于J2EE 架构的教学管理信息系统采用B/S 模式的三 层体系结构,分别为客户层、应用程序服务层和数据库层。客户 层即Browser 端主要包括学生入口,教师入口和教务管理人员入 口,应用程序服务层和数据库层即Server ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。 过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端...

    基于J2EE三层体系结构的网上商城的设计与实现

    采用B/S结构实现一个网上商城的系统,包括前台和后台,功能模块大致如下: 前台:显示公告,商品销售排行,新品展示,特价商品展示,查看订单,查看及修改购物车信息,查询商品信息,用户登录与注册。 后台:维护...

    基于J2EE框架的个人博客系统项目毕业设计论...

    伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。 过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端...

    基于BS的电力安全生产管理信息系统的设计与实现

    由此,本课题采用数据仓库和数据挖掘技术来开发基于B/S 结构的电力安全生产管理信息系统,该系统三层的B/S 结构模式,采用Tomcat5.0 作为服务器,运用J2EE 技术平台,为系统的开发搭建一个具有快捷、高效、稳健、...

    J2EE基于ssh的捐赠捐助管理系统java源码论文.zip

    基于SSH的款物捐助系统运用到了B/S三层结构技术以及JSP,java,MySQL等技术,开发工具myeclipse,通过这些技术的实现了针对慈善行业对网上款物捐助信息的管理. 预期成果:本系统的用户主要有系统管理员与会员这两类...

    项目日志管理系统 论文

    3.2.1基于三层架的B/S模式 11 3.2.2 MVC设计模式 12 3.2.3基于J2EE和MVC模式的Web开发 13 3.2.4 Java语言及J2EE标准 13 4 日志管理模块系统实现 15 4.1各文件功能介绍及详解 15 4.1.1系统文件结构 15 4.1.2配置文件 ...

    基于Spring+Hibernate+Struts的校园二手交易系统

    该系统主要采用基于B/S模式的三层数据处理结构,开发环境选用当前普遍采用的J2EE架构Spring+Hibernate+Struts框架,主要编程语言为Java,数据库为Mysql数据库,服务器方面使用Tomcat为项目主要服务器。依照软件项目...

    一种基于Web的电力营销数据挖掘系统

    为了更好地利用供电公司在生产和营销过程中...该系统采用包括业务逻辑层、应用服务层和数据存取层在内的三层B/S体系结构及基于模型-视图-控制器(MVC)的设计模式,具有跨平台和可扩展性、可维护性等优点,应用前景广阔.

    基于JAVA SMART系统-系统框架设计与开发(毕业设计+lw)

    摘 要 SMART系统是一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和...它不仅仅适用这个系统的开发,可以应用于J2EE领域中基于SSH来架构的大部分B/S系统。

    乌鲁木齐市社会保险基金中心实施社保电子政务

    长天科技集团的E-SIBSS社会保险电子政务系统,采用了基于J2EE的B/S/S三层架构,全面完善了社保信息体系,实现了应用与数据大集中、应用系统前端“0”维护,真正做到对系统进行单点管理、单点维护,为快速增长的社保...

    浪潮Loushang电子政务行业解决方案助力政府更好地服务群众

    为了达到提高政府办公效率、加强监管、提高办事...它是基于J2EE的三层结构(表现层、业务逻辑层和数据层)框架。采用B/S架构,客户端只要采用IE即可访问系统,所以对客户端机器配置要求很低,可以充分利用现有资源。

    毕业设计-基于JAVA的系统框架设计与开发(源代码+论文)

    它不仅仅适用这个系统的开发,可以应用于J2EE领域中基于SSH来架构的大部分B/S系统。 基于WEB的在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷...

    浪潮Loushang解决方案加快烟草行业信息化脚步

    为提高工作效率,健全管理体制,增强企业的市场...它是基于J2EE的三层结构(表现层、业务逻辑层和数据层)框架。采用B/S架构,客户端只要采用IE即可访问系统,所以对客户端机器配置要求很低,可以充分利用现有资源。

    SMART系统-系统框架设计与开发(JAVA)

    SMART系统是一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和维护。...它不仅仅适用这个系统的开发,可以应用于J2EE领域中基于SSH来架构的大部分B/S系统。

    SMART系统-系统框架设计与开发

    javaSMART系统是一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试...它不仅仅适用这个系统的开发,可以应用于J2EE领域中基于SSH来架构的大部分B/S系统。 关键词:设计模式;开源;领域建模;系统框架

    JAVA SMART系统-系统框架设计与开发(源代码+论文)

    SMART系统是一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和维护。...它不仅仅适用这个系统的开发,可以应用于J2EE领域中基于SSH来架构的大部分B/S系统。

Global site tag (gtag.js) - Google Analytics