三层体系结构
电信计划建设管理信息系统是由省电信公司对下属地市电信公司进行统一管理,所有业务逻辑都集中在省公司管理和制定,地市公司负责数据的录入和查询统计,用户的分布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,选择三层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应用系统。另外在实现上还可以加强,比如进一步研究自动创建和撤销新的数据库操作线程的条件。
本文地址:http://com.8s8s.com/it/it31287.htm