基于J2EE的三层B/S信息系统研究
副标题#e#
跟着软件系统的局限和巨大性的增加 ,软件体系布局的选择成为比数据布局和算法的选择更为重要的因素 ,三层客户/处事器体系布局为企业资源筹划的整 合提供了精采的框架 ,是成立企业级打点信息系统的最佳选择。跟着体系布局 的成长,软件框架布局方面也在不绝成长,今朝在多层应用布局方面呈现Java技 术和.net技能的实现的差异的办理方案,二者各有优缺点,别聚散用于差异局限 的系统的要求。本文将团结电信打算建树打点信息系统的实现,说明三层模式 的体系布局,先容基于三层模式的应用系统的漫衍式组件技能,叙述应用J2EE框 架布局来实现应用系统的实现要领。
一、系统布局的选择
1、传统两层C/S布局的缺点
传统的两层客户/处事器模式较量适合于小局限、用户较少、单一数据库且在 安详、快速的网络情况下 (譬喻局域网 )运行 。可是,跟着应用系统的局限不 断扩大 ,巨大性越来越高在多用户、大都据库且非安详的网络情况下(例 如:Internet) ,这种两层布局的应用模子将无法适应 。并且传统的两层布局还 存在以下缺陷:
(1)它是单一处事器且以局域网为中心的 ,所以难以扩展至大型企业广域网或 Intranet;
(2)受限于供给商,措施的进级维护必需由供给商从头开拓扩展;
(3)软、硬件的组合及集成本领有限;在软件上泛起出胖客户端,用户必需在 客户端安装特定的客户端应用措施,并且企业的业务逻辑都写在客户端应用措施 中,措施维护坚苦,措施进级需要每个客户端都要安装新的客户端应用措施,同 时,对付措施开拓商来说,措施模块的重用性差,各个模块相对独立;
(4)C/S模式很难打点大量的客户机。
基于以上原因,传统的C/S模式已经不能适应成长的需要,跟着网络技能的普 及和用户需求的进一步提高,三层WEB模式应运而生。
2、三层WEB布局的利益
三层客户/处事器模式 (以下简称三层模式 )在两层模式的基本上,增加了新 的一级。这种模式在逻辑大将应用成果分为三层:客户显示层、业务逻辑层、数 据层。客户显示层是为客户提供给用处事的图形界面,有助于用户领略和高效的 定位应用处事。业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻 辑提供了一个明晰的条理,在这个条理封装了与系统关联的应用模子,并把用户 暗示层和数据库代码分隔 。这个条理提供客户应用措施和数据处事之间的接洽 ,主要成果是执行应用计策和封装应用模式,并将封装的模式泛起给客户应用程 序。数据层是三层模式中最底层,他用来界说、维护、会见和更新数据并打点和 满意应用处事对数据的请求。
三层模式的主要利益为 :
①精采的机动性和可扩展性。对付情况和应用条件常常变换的环境,只要对 应用层实施相应的改变,就可以或许到达目标。
②可共享性。单个应用处事器可觉得处于差异平台的客户应用措施提供处事 ,在很洪流平上节减了开拓时间和资金投入;
③较好的安详性。在这种布局中,客户应用措施不能直接会见数据,应用服 务器不只可节制哪些数据被改变和被会见,并且还可节制数据的改变和会见方法 。
④加强了企业工具的反复可用性。“企业工具”是指封装了企业逻辑措施代 码,可以或许执行特定成果的工具。跟着组件技能的成长,这种可重用的组件模式越 来越为软件开拓所接管。
⑤三层模式成为真正意义上的“瘦客户端”,从而具备了很高的不变性、延 展性和执行校率。
⑥三层模式可以将处事会合在一起打点,统一处事于客户端,从而具备了良 好的容错本领和负载均衡本领。
三层体系布局
电信打算建树打点信息系统是由省电信公司对部属地市电信公司举办统一打点,所有业务逻辑都会合在省公司打点和拟定,地市公司认真数据的录入和查询 统计,用户的漫衍遍及,数据会合处理惩罚,因此在设计时充实思量各类体系布局的 优缺点,选择三层WEB模式举办开拓实现。
#p#副标题#e#
二、体系架构的选择
1、DCOM漫衍式技能和CORBA漫衍式技能
Microsoft的漫衍式COM(DCOM)技能是将组建工具模子技能COM大大举办了扩展,是对在局域网、广域网甚至是Internet上计较机工具之间的通信提供了完全 的支持。通过利用DCOM用户的应用措施就可以在任何网络位置上到达真正的漫衍 性,从而满意客户应用的需要。整体布局如下图所示:
#p#分页标题#e#
由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〉
#p#分页标题#e#
在业务逻辑处理惩罚上,我们对各个业务举办相应的解析,然后针对每个业务逻 辑应用EJB组件举办实现。客户做出请求后,利用SERVLET处理惩罚后挪用各个业务模 块处理惩罚逻辑,EJB组件会见数据库后将处理惩罚后的功效集返回给SERVLET,再搜集到 客户端举办显示,供用户举办查询和利用。
四、总结
本文提出的B/S模式的系统布局已应用电信打算建树打点信息系统中,由于实 际需要,在请求处理惩罚层中还增加了一个设备接口线程,用于通过SNMP协议获取网 络设备的信息。与传统的CGI模式对比,本系统布局有明明的优势,具有较高系 统效率,尤其适合于结构成果巨大的Web应用系统。别的在实现上还可以增强, 好比进一步研究自动建设和取消新的数据库操纵线程的条件。