论文部分内容阅读
摘 要:随着IT产业技术的发展,中间件技术应运而生。本文从中间件的概念、分类等方面对中间件做了全面的论述,分析了构件和中间件的关系,并主要介绍了J2EE中间件平台。
关键词:中间件;构件;J2EE
中图分类号:TP311.52
随着计算机技术的飞速发展和IT市场的商业利益竞争,市场上的IT产品纷繁复杂,不同厂商的产品之间形成了一定的差异。并且随着技术的进步,不同厂商之间的产品差异也呈现增大趋势。这种产品间的差异,对用户来说毫无疑问是把双刃剑,一方面它给用户带来了丰富的自主选择空间,并且有利于厂商之间的市场竞争,促进IT产品的不断发展。另一方面,选择不同厂商的产品,有可能存在潜在的兼容性、安全性等方面的隐患。对软件开发者来说,应用软件要直接与计算机底层的操作系统、网络协议等交互。因此在开发中就面临着诸如应用程序跨平台移植、在脆弱网络环境下保证数据可靠性传送、保证系统的可靠性等许多棘手的问题。为了解决上述一系列问题,中间件应运而生。
1 中间件的定义和分类
顾名思义,中间件即处于操作系统软件和用户应用软件中间的软件。从中间件产生的角度来看,开发人员为了规避不同平台直接的差异导致的巨大工作量,提出将应用软件面临的共性问题进行抽象提炼,形成独立于操作系统等计算机底层资源的可复用部分,因此中间件属于可复用软件的范畴。IDC给出的中间件的定义是,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
按照IDC的分类方法,根据实现的功能和作用的不同,中间件可以分为六大类:
(1)终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作。主要应用于早期的大型系统,将终端机的字符界面转化为图形界面。
(2)数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件。
(3)远程过程调用(RPC)中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程。
(4)消息中间件(MOM):用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同,它可以在分布式环境下扩展进程间的通信,支持多通讯协议、语言、应用程序、硬件和软件平台。
(5)交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。交易中间件是专门针对联机交易处理系统而设计的,如银行业务系统、订票系统等。
(6)对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用。
2 构件技术与中间件
随着软件系统的规模和复杂度不断提高,IT行业对产品的生产效率和质量的要求不断提高,由此引发了软件开发的需求和生产速度不匹配、软件的脆弱和不可靠、75%的软件项目延迟等一系列严重问题。如何提高软件的生产效率以及如何掌控软件产品质量成为IT产业发展中急需解决的问题。
软件复用以已有的工作为基础,重点关注应用程序的特殊性,以便提高软件生产的效率,保证软件产品的质量,被视为解决软件危机的现实可行途径。不同于OO技术强调对个体的抽象,构件则更推广了对象封装的内涵,侧重于复杂系统中组成部分的协调关系,强调实体在环境中的存在形式,形成一个专门的技术领域。
软件构件以需求为导向,关注业务逻辑,在分布式应用中屏蔽通信,具有互操作性、可靠性、兼容性等特征。中间件最大的优势之一就是屏蔽多样的系统资源,保证良好的互操作性,基于中间件的软件开发符合软件构件技术的理念。通常应用构件的开发者只需按照中间件的模式进行设计开发,不必考虑下层的系统平台。可以说,中间件提供了与环境隔离的构件开发模式。而J2EE是典型的基于构件的中间件。
3 基于构件的中间件技术J2EE
J2EE由一整套服务(Service)、应用程序接口(APIs)和协议构成。J2EE中间件技术,以构件化为主要特点,其目标是提供平台无关的、可移植的、支持并发访问和安全的,完全基于Java的开发服务器端中间件的标准。
J2EE所涉及到的知识范围非常广阔,我们经常用到的主要为JDBC、JNDI、JSP、Java Servlet、EJB。
(1)Java Database Connectivity(JDBC)。JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。JDBC定义了4种不同的驱动程序:JDBC-ODBCBridge、JDBC-native driverbridge、JDBC-networkbridge、PureJavadriver。
(2)Java Naming and Directory Interface(JNDI)。JNDI是Java命名与目录接口。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或者在应用服务器中的对象。JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置和部署。
(3)JavaServer Pages(JSPs)。JSP是服务器端的脚本语言。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
(4)Java Servlets。Servlet是一种服务器端的Java应用程序,可以生成动态的Web页面。它担当客户请求与服务器响应的中间层。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是在HTML代码中嵌入少量的Java代码,而Servlets全部由Java写成并且生成HTML。
(5)Enterprise Java Beans(EJB)。EJB是运行在独立服务器上的组件,客户端是通过网络对EJB对象进行调用的。EJB提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。
4 结束语
本文从中间件的起源、中间件的定义和分类等方面对中间件进行了探讨,并对软件构件开发技术和中间件技术进行了对比分析,J2EE作为典型的基于构件的中间件技术,是目前网络应用服务器所采用的主要技术体系,文章对其核心技术进行了说明。
作为网络应用模式下主流的应用运行支撑环境,中间件无处不在,越来越多的应用模式被抽象到中间件层。随着软件产业化的不断发展升级,作为网络核心计算基础设施的中间件,也将必然迎来更加广阔的发展前景。同时,中间件技术的不断发展也会带来网络应用开发的更高效、更快速、更健壮的开发模式。
参考文献:
[1]仉新刚.浅谈软件复用的理论与技术[J].科技信息(学术研究),2007.
[2]贾克斌,李邑喆.中间件技术在异构与互操作环境中的应用研究[J].北京工业大学学报,2007.
[3]南楠.基于J2EE的框架技术综述[J].福建电脑,2012.
[4]周之英.现代软件工程(下)新技术篇[M].北京:科学出版社,2000.
作者简介:白瑞俊(1978.01-),男,甘肃民勤人,科长,助理研究员,学士学位,研究方向:计算机应用。
作者单位:甘肃省计算中心,兰州 730030
基金项目:由《甘肃省科技特派员网站建设》项目资助(项目编号:1305ZCQA051)。
关键词:中间件;构件;J2EE
中图分类号:TP311.52
随着计算机技术的飞速发展和IT市场的商业利益竞争,市场上的IT产品纷繁复杂,不同厂商的产品之间形成了一定的差异。并且随着技术的进步,不同厂商之间的产品差异也呈现增大趋势。这种产品间的差异,对用户来说毫无疑问是把双刃剑,一方面它给用户带来了丰富的自主选择空间,并且有利于厂商之间的市场竞争,促进IT产品的不断发展。另一方面,选择不同厂商的产品,有可能存在潜在的兼容性、安全性等方面的隐患。对软件开发者来说,应用软件要直接与计算机底层的操作系统、网络协议等交互。因此在开发中就面临着诸如应用程序跨平台移植、在脆弱网络环境下保证数据可靠性传送、保证系统的可靠性等许多棘手的问题。为了解决上述一系列问题,中间件应运而生。
1 中间件的定义和分类
顾名思义,中间件即处于操作系统软件和用户应用软件中间的软件。从中间件产生的角度来看,开发人员为了规避不同平台直接的差异导致的巨大工作量,提出将应用软件面临的共性问题进行抽象提炼,形成独立于操作系统等计算机底层资源的可复用部分,因此中间件属于可复用软件的范畴。IDC给出的中间件的定义是,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
按照IDC的分类方法,根据实现的功能和作用的不同,中间件可以分为六大类:
(1)终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作。主要应用于早期的大型系统,将终端机的字符界面转化为图形界面。
(2)数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件。
(3)远程过程调用(RPC)中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程。
(4)消息中间件(MOM):用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同,它可以在分布式环境下扩展进程间的通信,支持多通讯协议、语言、应用程序、硬件和软件平台。
(5)交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。交易中间件是专门针对联机交易处理系统而设计的,如银行业务系统、订票系统等。
(6)对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用。
2 构件技术与中间件
随着软件系统的规模和复杂度不断提高,IT行业对产品的生产效率和质量的要求不断提高,由此引发了软件开发的需求和生产速度不匹配、软件的脆弱和不可靠、75%的软件项目延迟等一系列严重问题。如何提高软件的生产效率以及如何掌控软件产品质量成为IT产业发展中急需解决的问题。
软件复用以已有的工作为基础,重点关注应用程序的特殊性,以便提高软件生产的效率,保证软件产品的质量,被视为解决软件危机的现实可行途径。不同于OO技术强调对个体的抽象,构件则更推广了对象封装的内涵,侧重于复杂系统中组成部分的协调关系,强调实体在环境中的存在形式,形成一个专门的技术领域。
软件构件以需求为导向,关注业务逻辑,在分布式应用中屏蔽通信,具有互操作性、可靠性、兼容性等特征。中间件最大的优势之一就是屏蔽多样的系统资源,保证良好的互操作性,基于中间件的软件开发符合软件构件技术的理念。通常应用构件的开发者只需按照中间件的模式进行设计开发,不必考虑下层的系统平台。可以说,中间件提供了与环境隔离的构件开发模式。而J2EE是典型的基于构件的中间件。
3 基于构件的中间件技术J2EE
J2EE由一整套服务(Service)、应用程序接口(APIs)和协议构成。J2EE中间件技术,以构件化为主要特点,其目标是提供平台无关的、可移植的、支持并发访问和安全的,完全基于Java的开发服务器端中间件的标准。
J2EE所涉及到的知识范围非常广阔,我们经常用到的主要为JDBC、JNDI、JSP、Java Servlet、EJB。
(1)Java Database Connectivity(JDBC)。JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。JDBC定义了4种不同的驱动程序:JDBC-ODBCBridge、JDBC-native driverbridge、JDBC-networkbridge、PureJavadriver。
(2)Java Naming and Directory Interface(JNDI)。JNDI是Java命名与目录接口。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或者在应用服务器中的对象。JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置和部署。
(3)JavaServer Pages(JSPs)。JSP是服务器端的脚本语言。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
(4)Java Servlets。Servlet是一种服务器端的Java应用程序,可以生成动态的Web页面。它担当客户请求与服务器响应的中间层。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是在HTML代码中嵌入少量的Java代码,而Servlets全部由Java写成并且生成HTML。
(5)Enterprise Java Beans(EJB)。EJB是运行在独立服务器上的组件,客户端是通过网络对EJB对象进行调用的。EJB提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。
4 结束语
本文从中间件的起源、中间件的定义和分类等方面对中间件进行了探讨,并对软件构件开发技术和中间件技术进行了对比分析,J2EE作为典型的基于构件的中间件技术,是目前网络应用服务器所采用的主要技术体系,文章对其核心技术进行了说明。
作为网络应用模式下主流的应用运行支撑环境,中间件无处不在,越来越多的应用模式被抽象到中间件层。随着软件产业化的不断发展升级,作为网络核心计算基础设施的中间件,也将必然迎来更加广阔的发展前景。同时,中间件技术的不断发展也会带来网络应用开发的更高效、更快速、更健壮的开发模式。
参考文献:
[1]仉新刚.浅谈软件复用的理论与技术[J].科技信息(学术研究),2007.
[2]贾克斌,李邑喆.中间件技术在异构与互操作环境中的应用研究[J].北京工业大学学报,2007.
[3]南楠.基于J2EE的框架技术综述[J].福建电脑,2012.
[4]周之英.现代软件工程(下)新技术篇[M].北京:科学出版社,2000.
作者简介:白瑞俊(1978.01-),男,甘肃民勤人,科长,助理研究员,学士学位,研究方向:计算机应用。
作者单位:甘肃省计算中心,兰州 730030
基金项目:由《甘肃省科技特派员网站建设》项目资助(项目编号:1305ZCQA051)。