基于组件的集成


(来源:http://www.aecho.com)

从目前的发展来看,电子商务系统的应用构造方法趋向于采用应用总线方式构造.所谓应用总线是借用了计算机体系结构当中的"总线(BUS)结构"的概念.应用总线与计算机体系结构中的总线概念类似,以一种通用的方式为各应用组件提供数据及控制逻辑,直辖市应用软件各部分的通信,从而达到软件各组成部分协同工作的目的.在这种指导思想下,组件技术伴随电子商务的发展近些年来进展很快,已成为电子商务应用开发技术的一个主流方向.

组件或者构件技术是应用级别的集成技术,其基本思想是将应用软件分解成为一个个独立的单元,将软件开发地过程转变成为类似于"搭积木"的搭建过程,通过组装不同的软件组件单元来实现软件的集成.按照组件技术的观点,应用软件的开发就成为各种不同组件的集成过程.

电子商务系统是一个分布式的信息系统,伴随电子商务系统的发展,分布式环境中面向对象的组件技术也得到充分地发展,这些技术中最具有代表性的包括:CORBA,MICROSOFT公司提出 的DCOM,SUN公司提出的EJB和J2EE.

CORBA:

CORBA是通用对象请求代理结构的缩写.通常提到的CORBA一般有两层意思,一是指对象管理组织OMG提出的分布式对象体系结构标准,另一层意思是按这种体系结构开发的中间件产品.CORBA作为一种应用级的互联标准得到了广泛的认同和应用.其主要特征是:
(1)在CORBA环境下应用系统间的互联是以对象或程序的调用方式进行的,这样就可以做到系统间实时互操作.这类环境有很强的互操作能力.原则上,一个系统内部能够完成的操作,在系统之间通过CORBA都可以实现.
(2)CORBA的面向对象的特点还保证了各对象的封装性和内部细节的隐蔽性.这不仅可以简化各种功能的使用,还提高了系统的安全性.
(3)CORBA比较适合于分层结构的应用集成,由于电子商务系统的体系结构本身就是一种多层的结构,所以这一技术比较适合于核心业务逻辑的应用程序的集成.此外,由于目前应用服务器大多提供CORBA接口,这样利用CORBA技术完成应用程序和平台之间的无缝连接也比较容易.

EJB 和J2EE:

1.EJB 和 J2EE
EJB是SUN公司倡导的基于JAVA的组件构架.EJB定义了一个集成的编程模型和标准的API接口.EJB是实现服务器端应用服务的组件.
在EJB这后,SUN提出了J2EE定义了一个一致的环境,以支持企业级别应用的集成,确保应用的可移植性.在SUN的J2EE规范.当中,J2EE被定义成为一个多层次的服务,弄发平台,总共包括4个组成部分,其核心是J2EE应用开发模型和J2EE平台.
(1)J2EE应用编程模型:一个标准的开发多层结构,瘦客户端的开发标准.
(2)J2EE平台:是J2EE应用的标准宿主平台,包括一毓的API和策略的集合.
(3)J2EE兼容性测试工具
(4)J2EE应用编程模型.

2.J2EE应用编程模型
J2EE应用编程模型如图(5-11)所示.在该模型当中,商务逻辑处理被分成三个层次:客户层,中间层和企业信息系统层


客户层支持不同的客户端,包括基于浏览嚣的瘦客户端及其他客户端,部间层能够完成企业服务的存取.企业信息系统层负责存储企业内部的关键商务数据.J2EE模型中,应用服务被分为两部分,一部分是商务及逻辑,由开发人员实现;另一部分是标准的系统服务由J2EE平台提供.
在J2EE模型当中,中间层的商务功能通过一毓的EJB组件实现.中间层使用JSP实现商务逻辑处理结果的动态发布,构成动态的HTML页面,中间层也可以使用SERVELET实现更为灵活的一些动态页面.
在上述模型中,中间层可以通过以下方式访问企业信息系统层中的信息资源:
JDBC:数据库访问接口API.
JAVA名字及目录接口JNDI.JNDI可以获取名字服务和目录服务,例如DNS,NDS,LDAP和CORBA的名字服务.
JAVA消息服务JMS:JMS作为一个标准的API接口可以和企业基于消息的中间件系统(例如IBM MQSERIES,BEA TUXEDO等)交互.
JAVA MAIL:基于JAVA的电子函件API接口.
JAVA IDL :IDL是一种接口定义语言.JAVA IDL可以通过建立远程接口支持JAVA和CORBA应用的通信.利用JAVA IDL,应用系统可以调用CORBA的服务.

J2EE平台是一个运行J2EE应用(EJB,JSP,SERVELETS等)的标准环境.它包括以下几个部分:
J2EE分布规范:该部分定义了在J2EE平台上进行应用集成及分布的标准.
J2EE平台的JAVA技术标准:定义了J2EE平台需要支持的标准集合.
J2EE平台的IEIF标准:J2EE平台需要支持的IETF标准的集合.
J2EE平台的CORBA标准:J2EE平台的中间层需要支持的CORBA标准.对象管理组织OMG和SUN联合制定了RMI-IIOP协议,该协议定义了CORBA的IIOP协议如何调用JAVA的RMI.同时EJB标准中也定义了EJB如何和IIOP进行映射所以通过RMI-IIOP协议,JAVA应用可以和CORBA应用之间进行互操作.

MICROSOFT DCOM及 WINDOWS DNA


分布式公共对象模型DCOM是微软公司以其公共对象模型COM为基础提出的分布式应用集成框架,DCOM和WINDOWS DNA是MICROSOFT公司的组件集成标准,该标准支持基于数据总线和控制总线的组件集成.

WINDOWS DNA是一种分布式的互联网应用框架,它被BILL GATES成为"数字神经系统".这种结构的基本出发点是为了改善传统的C/S两层结构愈发表现出的明显的局限性,以适应更快更复杂的事务处理任务和快速开发的需要.

WINDOWS DNA与微软的WINDOWS操作系统紧密结合它是原哑MICROSOFT的分布式对象服务(如COM,事务服务器MTS等)的基础上构造的.WINDOWS DNA的结构和SUN的J2EE标准相似.如图5-12所示.

在WINDOWS DNA结构中,分布式应用系统由表示层,事务逻辑层和数据服务层三个组成部分:

(1)表示层:用户的界面部分.主要是通过在客户端浏览器中运行HTML,DHTML,SCRIPTING,JAVAAPPLET,ACTIVEX,XML实现用户与应用程序的通信.在INTERNET的应用环境中,表示层的工作由瘦型客户机来完成.

(2)商务逻辑层:负责处理表示层的应用请求,完成商务逻辑的计算任务,并将处理结果返回给用户.商务逻辑处理层是将原来先置于客户端的商务逻辑分离出来,集中置于服务器部分,为所有用户共亨.商务逻辑层是整个应用的核心部分,而组件对象模型COM则相当其心脏.商务逻辑层通过COM进行事务处理,并由IIS和MTS为各种应用组件提供完善的管理.

(3)数据服务层:为了应用提供数据业源.和以往的两层体系结构不同,数据库不再和每个活动客户程序保持一个连接,而是若干了客户程序通过应用逻辑组件共享数据库的连接,从而减少了连接次数,提高了数据服务的性能和安全性.可以根据需要选择MICROSOFT SQL SERVER,ORCALE或任何与OLE DB或ODBC兼容的数据源.

WINDOWS DNA的技术思想使应用开发有了明确的分工.一部分人员专注于事务逻辑层COM组件的开发和测试工作,另一部分人员根据商务逻辑的需要选择和使用COM组件,而不需要了解组件功能实现的内部细节,最终以的精练的ASP脚本语言把组件集成到面面之中,从而有效地降低了开发的难度.

将应用逻辑组件集中置于中间层,组对对象COM的可重用减少了应用系统整代的管理和维护费用.商务逻辑改变时,不必改变整个页面源代码,只需调整或中间层相应的COM组件,即可灵活适应商务逻辑的变化.而后,系统可以在更新后的商务逻辑处理环境下运作,养活了客户端应用程序版本控制和更新的难度.在这样的结构下,所有复杂的事务处理都在中间层进行,客户端只需最基本的浏览器配置,就可以和服务器及其他客户进行事务交流.

这种应用模式能够提高系统的运营效率和安全性.在中间层,IIS负责应用逻辑层WEB的管理,MTS负责应用逻辑COM组件的管理.MTS在多线程的支持下工作,实现对COM组件的分布式连接管理,线程自动管理及高性能事务处理的监视.应用程序使用组件可以共享与数据库的连接,使数据库不两者 每个活动客户保持一个连接,而是若干个客户通过共享组件和数据库连接,降低了数据库的负担,提高了系统性.此外,客户通过组件访问数据库时,MTS的安全管理可以按权限将特定组件授给不同的用户组,使商务活动的安全性和系统结构有机地结合在一起.