当前位置:文档之家› 中间件

中间件

中间件
中间件

一、构件技术与中间件

构件技术的基本思想

OO技术是在“"数据+算法”的基础上提升了对事物的认识方法,对象的概念符合人们认识世界的习惯。而构件的思想则更多地将重点从建模本身发展到对软件生产的考虑,即构件可以在应用领域的软件生产中作为零件纳入新的体系中被重用。因此,构件是OO思想的沿袭和扩展,认识事物的角度从对象个体本身上升到个体在群体中的作用。

构件有几个基本属性:

1、构件是可独立配置的单元,因此构件必须自包容。

2、构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的实现细节。

3、构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,可以与环境交互。

4、构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应当与自身副本区别,在任何环境中,最多仅有特定构件的一份副本。

可以看出,构件沿袭了对象的封装特性,但同时并不局限在一个对象,其内部可以封装一个或多个类、原型对象甚至过程,结构是灵活的。构件突出了自包容和被包容的特性,这就是作为软件生产线上作为零件的必要特征。

构件技术的关键点涉及构件做什么、构件交互的规则、构件存在的环境等,相应在现实中有各种支撑性的技术,如:

1、构件模型,研究构件的本质特征及构件间的关系;

2、构件描述语言,以构件模型为基础,解决构件的精确描述、理解和组装问题;

3、构件分类与检索,研究构件的分类策略、组织模式及检索策略,建立构件库系统,支持构件的有效管理;

4、构件复合组装,包括源代码级的组装和基于构件对象互操作性的运行级组装;

5、标准化,包括构件模型的标准化和构件库的标准化;

6、软件构架,研究如何快速、可靠地应用可复用构件系统进行系统构造的方式,着重于软件系统自身的整体结构和构件间的互联。

中间件:构件存在的基础

构件技术在最初时更多是作为一种思想存在,进而才在一些关键的环节上发展出解决问题的技术分支。构件的存在某种程度上极大地依赖了构架技术,或环境、基础设施、计算平台,只有在适当的构架中,软件才有可能被抽象和隔离,最终成为构件。因此,单独讨论构件是抽象而空洞的。构架不是操作系统、数据库或网络协议,也不完全是应用,而是在某种特定意义上的构件运行容器,层次上介于应用和基础设施之间。

中间件,从本质上是对分布式应用的抽象,因而抛开了与应用相关的业务逻辑的细节,保留了典型的分布交互模式的关键特征。经过抽象,将纷繁复杂的分布式系统经过提炼和必要的隔离后,以统一的层面形式呈现给应用。应用在中间件提供的环境中可以更好地集中于业务逻辑上,并以构件化的形式存在,最终自然而然地在异构环境中实现良好的协同工作。

不难看出,中间件与构架实际是从两种不同的角度看待软件的中间层次,可以这样说:中间件就是构架,或构件模型的具体实现,是构件软件存在的基础,中间件促进了构件化软件。从下面列举的一些中间件的特征,可以看出,中间件与构架本质上是一致的。

面向需求的构件应用

基于构架的构件化软件开发应当是面向需求的,即设计者集中精力于业务逻辑本身,而不必为分布式应用中的通信、效率、互操作、可靠性、容错性、完整性等大量与业务无直接关系但又非常重要的问题,而耗费大量的精力,理想的构架在这些方面应当为构件软件提供良好的运行环境。事实上,这些正是中间件所要解决的问题,因此,基于中间件开发的应用真正是面向需求的,从本质上符合构件化设计的思想。

使业务逻辑容易划分

服务器构件要求有很好的业务自包容性,应用开发者可以按照不同的业务进行功能的划分,体现为不同的接口或交互模式。针对每种业务的设计和开发是可以独立进行的。

构架和中间件有同样的目标:提供业务的分隔和包容性。例如:消息中间件规定了消息是有属性的,其中部分属性则与业务的划分有关,某种服务构件只进行相应类型的消息交互。至于如何保证业务的分类运行与管理,则是中间件的事情。

因此可以说,中间件和构架都实现了构件向应用的集成。

构件的封装、设计与实现隔离

构件对外发生作用或构件间的交互,都是通过规范定义的接口进行,构件使用者只需要知道构件的接口,而不关心其内部实现,这是设计与实现分开的关键。构架就应当提供构件交互的规则,并基于这些规则实现类似容器的标准环境。

中间件在分布交互模式上都规定了接口(或类似)机制,如IDL就是描述接口的语言规范,从早期的DCE到现在的CORBA、DCOM、Java RMI等都使用IDL描述接口,所不同的只是语言规范。客户访问服务(或对象方法)均通过接口进行,至于服务采用怎样的内部实现、基于怎样的语言、甚至怎样的操作系统、数据库,开发者都不用关心。类似地,消息队列也可作为分布交互的手段,消息的语法和语义定义保证了使用与实现的分离,使用消息队列的客户或服务是不依赖于对方的。既然中间件能隔离设计与实现,能在分布的环境中封装实现的细节,那么,基于中间件的构件开发也就是可能的。

隔离应用构件与复杂系统资源

构架很重要的一个功能就是将系统资源与应用构件隔离,这是保证构件可重用甚至“即插即用”的基础,与中间件的意图同样是一致的。中间件最大的优势之一就是屏蔽多样的系统资源,保证良好的互操作性。应用构件开发者只需要按照中间件规定的模式进行设计开发,不必考虑下层的系统平台。因此可以说,中间件真正提供了与环境隔离的构件开发模式。

符合标准的交互模型

构架不是什么具体软件,而是抽象的模型,但模型中应当定义一些可操作的成分,如标准的协议。标准的中间件则实现了构架的模型,实现了标准的协议,如基于CORBA的对象中间件使用的是CORBA规范作为构架模型,具体则实现了可互操作的GIOP 协议,映射到TCP/IP为IIOP协议,定义了CDR数据表示语法、数据包格式、消息语义等内容。因此,基于中间件的构件是符合标准模型的。

软件重用

软件重用是构件化软件生产的根本目标之一,中间件提供了构件封装、构件交互规则、构件与环境的隔离及构架设施等机制,这些都为软件重用提供了方便的解决方案。另外,通过类似应用桥的机制,中间件可以建立访问过去应用的通道;或者在新的中间件体系中建立特殊的运行容器,封装以往的应用,从而最终做到对应用遗产的继承性重用。

提供对应用构件的管理

基于中间件的构件软件可以方便地进行管理,因为构件总可以通过方便的标识机制进行划分,还可以使用构件库机制配合一些管理规则。例如,微软的COM就利用Windows系统注册表配合几种惟一标识构件的方式,实现构件的登记、注销、定位。CORBA 规范中有接口池、实现池等规范定义,配合应用登记管理的机制,也能对应用构件实施管理。

总之不难得出结论,基于中间件开发的应用是构件化的,中间件提供了构件的体系结构,大大提高了应用构件生产的效率和质量。

构件思想对中间件的作用

中间件本身作为软件产品,正处于方兴未艾之际,因此本身也可以借鉴构件思想,构件化的软件开发对中间件同样适用。

首先,中间件作为分布式计算平台,涉及资源多样,包括各种操作系统、数据库、网络协议甚至语言,其目标是在分布的环境中统一使用这些资源。因此,可以建立针对这些资源的构件库,以动态、灵活的方式进行构件的装配,如针对不同的面向连接的网络协议,可使用统一语义的网络驱动器构件,最灵活的情况是根据配置动态绑定。其次,中间件的一个重要的设计目标是互操作,而互操作的关键是有清晰而与实现无关的接口。因此在互操作的边界上,必须将构件的思想融入设计中。再次,中间件的应用范围越来越广,但应用有不同的需要,不同的业务特点,如果仅仅依靠固定的模式去套用,显然不合适。例如,多数MIS应用并不需要交易管理;有些分布应用也没有OLTP的特点;金融应用中安全就显得十分关键;拓展到Web的应用则特别要求精干、安全和适应性强。因此,中间件必须设计成可伸缩的体系,由一些可替换的构件组成,如某些重于可靠,某些强调实时,某些则需要小巧。产品只有这种定位,才能在变化迅速的市场上总是适应需求,立于不败之地。第四,中间件不是最终的应用,需要服务于应用开发,但可以面向典型业务的模型,以方便应用的开发,这些模型可以以构件的形式作为产品提供。例如,CORBA服务和设施就是一些典型应用的抽象体现,使用这些服务的构件,应用可以大大减少开发规模,并获得良好的效果。以构架化技术术语讲,就是领域建模。第五,成功的商业软件都是非常便于管理的,同样中间件也有可配置性的需要,管理整个系统是个复杂的行为,但如果转化为若干简单行为的统一,对开发就很简单而明确。事实上,标准的网络管理协议正是蕴含了这种思想。基于构件化开发的中间件也一样,各个构件自身是独立配置的单元,只需进行集成就可达到系统的管理目标。

因此,构件化的软件设计思想在中间件发展中起到了重要的作用,可以预见,构件化的中间件在今后市场上是有强大生命力的。

结束语

构件是一种前沿的软件设计思想,对整个软件行业的发展有着至关重要的推动作用。而中间件作为应用软件系统集成的关键技术,保证了构件化思想的实施,并为构件提供了真正的运行空间。中间件领域工业化标准的制定、统一及实现,使基于构件的应用开发成为可能。反过来,构件对新一代中间件产品中也起到促进作用。

二、中间件主流技术及其未来发展精解

一、概述

1.中间件的概念

随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支

持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,

使系统的协同性得以保证。这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支

持的软件系统,而中间件正是在这个环境下应孕而生。

由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。

比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的

技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。

从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用

之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。

2.中间件特点及优势

通常意义下,中间件应具有以下的一些特点:满足大量应用的需要;运行于多种硬件和OS平台;支持

分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;支持标准的协议;支持标

准的接口。

程序员通过调用中间件提供的大量API,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作系统和

网络协议。

中间件提供客户机与服务器之间的连接服务,这些服务具有标准的程序接口和协议。针对不同的操作系

统和硬件平台,它们可以有符合接口和协议规范的多种实现。

由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部

分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相

对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保

持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的

重大投资。

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。

中间件软件管理着客户端程序和数据库或者早期应用软件之间的通讯。

中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务管理、负载均衡以及基于Web的计算等。

利用这些技术有助于减轻应用软件开发者的负担,使他们利用现有的硬件设备、操作系统、网络、数据库管理系统以及对象模型创建分布式应用软件时更加得心应手。由于中间件能够保护企业的投资,保证应用软件的相对稳定,实现应用软件的功能扩展;同时中间件产品在很大程度上简化了一个由不同硬件构成的分布式处理环境的复杂性,所以它的出现正日益引起用户的关注。

世界著名的咨询机构The Standish Group在一份研究报告中归纳了中间件的十大优越性:

(1)应用开发:The Standish Group 分析了100个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例;业务逻辑程序和应用逻辑程序仅占总程序量的30%,而基础程序占了70%,使用传统意义上的中间件一项就可以节省25%~60%的应用开发费用。如是以新一代的中间件系列产品来组合应用,同时配合以可复用的商务对象构件,则应用开发费用可节省至80%。

(2)系统运行:没有使用中间件的应用系统,其初期的资金及运行费用的投入要比同规模的使用中间件的应用系统多一倍。

(3)开发周期:基础软件的开发是一件耗时的工作,若使用标准商业中间件则可缩短开发周期50%~75%。

(4)减少项目开发风险:研究表明,没有使用标准商业中间件的关键应用系统开发项目的失败率高于90%。企业自己开发内置的基础(中间件)软件是得不偿失的,项目总的开支至少要翻一倍,甚至会十几倍。

(5)合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或遗留系统之上或之外增加新的功能模块,并将它们与原有统无缝集合。依靠标准的中间件,可以将老的系统改头换面成新潮的Internet/Intranet 应用系统。

(6)应用集合:依靠标准的中间件可以将现有的应用、新的应用和购买的商务构件融合在一起进行应用集合。

(7)系统维护:需要一提的是,基础(中间件)软件的自我开发是要付出很高代价的,此外,每年维护自我开发的基础(中间件)软件的开支则需要当初开发费用的15%~25%,每年应用程序的维护开支也还需要当初项目总费用的10%~20%左右。而在一般情况下,购买标准商业中间件每年只需付出产品价格的15%~20%的维护费,当然,中间件产品的具体价格要依据产品购买数量及哪一家厂商而定。

(8)质量:基于企业自我建造的基础(中间件)软件平台上的应用系统,每增加一个新的模块,就要相应地在基础(中间件)软件之上进行改动。而标准的中间件在接口方面都是清晰和规范的。标准中间件的规范化模块可以有效地保证应用系统质量及减少新旧系统维护开支。

(9)技术革新:企业对自我建造的基础(中间件)软件平台的频繁革新是极不容易实现的(不实际的)。而购买标准的商业中间件,则对技术的发展与变化可以放心,中间件厂商会责无旁贷地把握技术方向和进行技术革新。

(10)增加产品吸引力:不同的商业中间件提供不同的功能模型,合理使用,可以让你的应用更容易增添新的表现形式与新的服务项目。从另一个角度看,可靠的商业中间件也使得企业的应用系统更完善,更出众。

具体地说,中间件屏蔽了低层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。

中间件带给应用系统的不只是开发的简单、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。The Standish Group的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济大发展、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。

中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,在技术不断发展之后,使以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。

3.中间件的应用领域与分类

随着计算机软件技术的发展,中间件技术也已经日渐成熟,并且出现了不同层次、不同类型的中间件产品。按照IDC 的分类方法,中间件可分为六类。分别是数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。

数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;

远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;

消息中间件:用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同;

交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台;

对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用。

目前国内外有不少厂商都开发出自己的中间件产品,其中有全球最大的独立中间件厂商BEA公司,还有像IBM、Oracl e和Microsoft、HP、Sun等大厂商也早已涉足电子商务中间件。

面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面向对象是今后中间件发展的主流方向,它提供一种通讯机制,透明地在异构的分布计算环境中传递对象请求,而这些对象可以位于本地或者远程机器。

面向对象标准原本只有一个,即CORBA(公共对象请求代理体系结构),该标准由包括BEA、IBM、Oracle、Sun和Sybas e等公司在内的众多厂商一起制定,从而形成了一个庞大的CORBA联盟势力。后来,Sun推

出了企业级JavaBeans(EJB),用自己易使用的程序模型来对CORBA做出了改进。微软COM(Component Object Model,组件对象模型)的出现,使面向对象中间件市场里又多了一个标准,这样,面向对象中间件产品实际上形成了两大标准,一是微软的COM,一是JavaBeans。

从宏观上看,中间件可以分为3大类:

数据类:用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用。

处理类:把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用。

分布式构件类:支持构件式应用,未来应用的发展方向,目前竞争激烈。

为了更加清晰起见,我们把中间件细分为12种,如下:中间件细分表

二、中间件的技术规范

1.DCE体系

DCE是Distrbuted Computing Environment 分布式计算环境的缩写,它由Open Software Fondation 制定,现在这个组织被称为Open Group。

DCE由多个共同在一起工作的组件组成,它们是:远程过程调用(RPC)、本地和全局目录服务(CDS 和GDS)、安全服务、DCE线程、分布式时钟服务(DTS)和分布式文件服务(DFC)。线程、RPC、CDS、安全服务和DTS组件通常被成为安全核心,并且是组成任何DCE环境所必须的组件,DTS是可选件。在DCE环境中,还包括用于管理这些组件的管理工具。

DCE被称做中间件或使其具有能力的技术,它不是独立存在的,而是被捆绑在供应商操作系统中,或者由第三方供应商进行集成。

2.DTP模型

DTP模型是X/OPEN组织提出的一种软件结构,这种结构允许多个应用程序去共享多个资源管理器提供的资源,并且具有协调全局事物的能力。

X/OPEN是一个独立的、具有全球影响力的开放系统组织,它得到了世界大多数的最大的信息系统供应商的支持,其根本任何是通过规范开放系统的具体实现,从计算的观点考虑如何让用户获得更大的利益。

X/OPEN的DTP模型由5个基本模块组成:

应用程序(AP):用于定义事物的边界,并确定组成事物操作的动作。

资源管理器(RM):如数据库或文件系统用于存取文件。

事物管理器(TP):给事物分配标识,监督事物的处理过程并负责事物的完成以及协调事物失败的恢复。

通信资源管理器(CRM):在一个事物管理器内或两个事物管理器之间对通信进行控制。

在这5个模块之间X/OPEN模型定义了这样一些模块与模块之间的接口规范:

应用程序——资源管理器之间已经存在了一些X/OPEN的规范,如SQL和ISAM;在应用程序——事物管理器之间定义了TX接口;在交易管理器——资源管理器之间定义了XA接口;在交易管理器——通信资源管理器之间定义了XA+接口;在应用程序——通信资源管理器之间有3种接口:TXRPC、XATMI和CPI-C;在通信资源管理器——操作系统提供的底层通信协议之间提供了XAP-TP接口。

3.CORBA

CORBA是Common Object Request Broker Architecture的缩写,简称公共对象请求代理结构,它由国际对象管理组织OMG制定,这个组织是一个国际性组织,始建于1989年,现已拥有包括生产厂商与软件开发商800多个会员,其目的是在分布和已构计算机环境下为应用软件的开发提供一个公共框架,使开发出来的软件即面向对象又具有可重用性、可移植性以及可操作性等特点。有关CORBA的其他功能情况参见下面的第三部分说明。

4.J2EE

J2EE是Java 2 Platform Enterprise Edition的缩写,是一种多层应用模式的结构体系。整个规范由SUN公司提出,它将业务逻辑从系统服务功能和用户界面中分离出去,放置在客户层和应用基础设施这两层之间的中间层,是目前应用的最为广泛的面向Web的应用系统结构规范。有关J2EE的其他功能情况参见下面的第三部分说明。

5.互联网相关技术规范

Web(World Wide Web)是一种网络化的信息资源,它依赖于3个机制,使这些信息资源可以面对广大的使用者。

1)一种唯一的命名机制,为网上的资源进行定位,如:URI。

2)一种通信规程,以便在网上可以存取这些被命名的资源,如:HTTP。

3)混合文本,以便更好地驾御这些信息资源,如:HTML。

URI(Universal Resource Identifier)全局资源标识,一种命名机制,它将在网上的一个资源的定位分为3个部分:用于存取资源的通信方式的名称,如HTTP、FTP;保存有资源的机器的名称,如:https://www.doczj.com/doc/f413671485.html,;资源本身的名称,也就是存取这些资源的路径。HTTP(HyperText Transfer Protocol)是一种用于分布式、相互协作、混合型媒体的信息系统的应用层的通信规程。使用这一规程,除了可以在信息系统中取得资料外,还可以进行资料查询,对前端进行更新以及进行信息发布等操作。

HTML(HyperText Markup Language)是一种网上使用的出版语言,它可以为作者提供这样的功能:在在线出版的文档中包括标题、文本、表格、列表和照片等;按下鼠标后,通过混合文本链路查找文本;与远端的服务为进行联机事物处理建立表格,以便进行信息查找、预定和订购产品等操作;在文档中直接包含独立页面、影像资料与声音资料等。

这些规范都是web技术的基础,除了这些技术规范以外,还有一些规范也非常重要,它的用途是实现企业与企业间通过Web实现数据交换。这些规范是XML、SOAP、UDDI和WSDL。

vXML(Extensible Markup Language)通过提供更灵活和更容易被接收的信息标识方法来改进Web的功能。XML被称为可扩展的标注语言,它不像HTML是一种单一的、预先定义的语言,XML是一种用于描述其他语言的语言,使用XML,你可以定义你自己的、不受到类型限制的、其他类型的文档。

SOAP(Simple Object Access Protocol)是一种轻量级规程,用于在没有控制中心、分布式的环境中交换信息。它以XML为基础,由4个部分组成:一个信封,定义了是什么信息和如何对它进行处理的框架;一组编码规则,用于描述应用定义的数据类型的表示示例;一组表示远程过程调用和应答的规则方式,以及一组捆绑方式,这种方式用于使用低层通信规程交换信息。SOAP具有与其他规则相结合的可能性。

UDDI(Universal Description,Discovery and Integration)是一个规范,这个规范用于Web服务以分布式、以Web为基础的信息的注册。UDDI同时也是一个这样的规范的实现的公用的可接入的集合,这个规范是是某个企业的Web服务所能提供的内容用登记信息的方式提供出来,以便其他企业可以发现这些服务。Web服务是Web技术的下一步发展方向,它可以允许可编程的被放置在Web上,其他方可以使用分布式的方式进行存取。

WSDL(Web Service Description Language)是一组包含面向文档或面向过程消息的端点操作信息的xml 格式网络服务描述;操作和消息首先被抽象的描述,然后捆绑到具体的网络规程和消息格式中,以便定义端点,相关的具体端点被组合进抽象的端点中(服务)。WSDL可以捆绑描述与SOAP、HTTP GET/POST 和MIME相关。

三、主流中间件技术平台

下面重点阐述和比较了三大主流中间件技术平台,使读者加深对中间件技术理解。

1.当前支持服务器端中间件技术的平台

考察当前主流的分布计算技术平台,主要有OMG的CORBA、Sun的J2EE和Microsoft DNA 2000。它们都是支持服务器端中间件技术开发的平台,但都有其各自的特点,将分别阐述如下。

(1)OMG的CORBA

CORBA分布计算技术是OMG组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。

CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。COBRA 标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB 之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。目前,CORBA兼容的分布计算产品层出不穷,其中有中间件厂商的ORB产品,如BEAM3,

IBM Component Broker,有分布对象厂商推出的产品,如IONAObix和OOCObacus等。

CORBA规范的近期发展,增加了面向Internet的特性,服务质量控制和CORBA构件模型(CORBA Component Model)。

Internet集成特性包括了针对IIOP传输的防火墙(Firewall)和可内部操作的定义了URL命名格式的命名服务(Naming Service)。

服务质量控制包括能够具有质量控制的异步消息服务,一组针对嵌入系统的CORBA定义,一组关于实时CORBA与容错CORBA的请求方案。

CORBA CCM(CORBA Component Model)技术,是在支持POA的CORBA规范(版本2.3以后)基础上,结合EJB当前规范的基础上发展起来的。CORBA构件模型,是OMG组织制定的一个用于开发和配置分布式应用的服务器端中间件模型规范,它主要包括如下三项内容:

a、抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构;

b、构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成;

c、构件的配置和打包规范,CCM使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于XML的文档内容标准。

总之,CORBA的特点是大而全,互操作性和开放性非常好。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。在具体的应用中使用不是很多。

(2)Sun的J2EE

为了推动基于Java的服务器端应用开发,Sun于是在1999年底推出了Java2技术及相关的J2EE规范,J2EE的目标是:提供平台无关的、可移植的、支持并发访问和安全的,完全基于Java的开发服务器端中间件的标准。

在J2EE中,Sun给出了完整的基于Java语言开发面向企业分布应用规范,其中,在分布式互操作协议上,J2EE同时支持RMI和IIOP,而在服务器端分布式应用的构造形式,则包括了Java Servlet、JSP(Java Server Page)、EJB等多种形式,以支持不同的业务需求,而且Java应用程序具有"Write once,run anywhere"的特性,使得J2EE技术在发布计算领域得到了快速发展。

J2EE简化了构件可伸缩的、其于构件服务器端应用的复杂度,虽然DNA 2000也一样,但最大的区别是DNA 2000是一个产品,J2EE是一个规范,不同的厂家可以实现自己的符合J2EE规范的产品,J2EE规范,是众多厂家参与制定的,它不为Sun所独有,而且其支持跨平台的开发,目前许多大的分布计算平台厂商都公开支持与J2EE兼容技术。

EJB是Sun推出的基于Java的服务器端构件规范J2EE的一部分,自从J2EE推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。SunEJB技术是在Java Bean本地构件基础上,发展的面向服务器端分布应用构件技术。它基于Java语言,提供了基于Java二进制字节代码的重用方式。EJB给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。EJB技术的推出,使得用Java基于构件方法开发服务器端分布式应用成为可能。从企业应用多层结构的角度,EJB是业务逻辑层的中间件技术,与JavaBeans不同,它提供了事务处理的能力,自从三层结构提出以后,中间层,也就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从分布式计算的角度,EJB像CORBA一样,提供了分布式技术的基础。提供了对象之间的通讯手段。从Internet技术应用的角度,EJB和Servlet,JSP一起成为新一代应用服务器的技术标准,EJB中的Bean可以分为会话Bean和实体Bean,前者维护会话,后者处理事务,现在Servlet负责与客户端通信,访问EJB,并把结果通过JSP产生页面传回客户端。

J2EE的优点是,服务器市场的主流还是大型机和UNIX平台,这意味着以Java开发构件,能够做到"Write once,run anywhere",开发的应用可以配置到包括Windows平台在内的任何服务器端环境中去。

(3)Microsoft DNA 2000

Microsoft DNA 2000(Distributed interNet Applications)是Microsoft在推出Windows2000系列操作系统平台基础上,在扩展了分布计算模型,以及改造Back Office系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。

在服务器端,DNA 2000提供了ASP、COM、Cluster等的应用支持。目前,DNA2000在技术结构上有着巨大的优越性。一方面,由于Microsoft是操作系统平台厂商,因此DNA 2000技术得到了底层操作系统平台的强大支持;另一方面,由于Microsoft的操作系统平台应用广泛,支持该系统平台的应用开发厂商数目众多,因此在实际应用中,DNA 2000得到了众多应用开发商的采用和支持。

DNA 2000融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。DNA使得开发可以基于Microsoft平台的服务器构件应用,其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提供。以Microsoft为首的DCOM/COM/COM+阵营,从DDE,OLE到ActiveX等,提供了中间件开发的基础,如VC,VB,Delphi等都支持DCOM,包括OLE DB在内新的数据库存取技术,随着Windows2000的发布,Microsoft的DCOM/COM/COM+技术,在DNA2000分布计算结构基础上,展现了一个全新的分布构件应用模型。首先,DCOM/COM/COM+的构件仍然采用普通的COM(Component Object Model)模型。COM最初作为Microsoft桌面系统的构件技术,主要为本地的OLE 应用服务,但是随着Microsoft服务器操作系统NT和DCOM的发布,COM通过底层的远程支持使得构件技术延伸到了分布应用领域。DCOM/COM/COM+更将其扩充为面向服务器端分布应用的业务逻辑中间件。通过COM+的相关服务设施,如负载均衡、内存数据库、对象池、构件管理与配置等等,DCOM/COM/COM+将COM、DCOM、MTS的功能有机地统一在一起,形成了一个概念、功能强的构件应用体系结构。而且,DNA2000是单一厂家提供的分布对象构件模型,开发者使用的是同一厂家提供的系列开发工具,这比组合多家开发工具更有吸引力。

但是它的不足是依赖于Microsoft的操作系统平台,因而在其它开发系统平台(如Unix、Linux)上不能发挥作用。

2.相关性比较分析

目前,针对上述的各种分布计算平台技术,都出现了相似且具有可比性的分布式构件,即CORBA

CCM(CORBA Component Model)技术、SUN的EJB(Enterprise JavaBean)技术和DNA 2000中的

COM/DCOM/COM+技术。

对于以上三个分布计算平台,本文采用业界常用的做法从以下三个方面进行分析:

集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上。它要求分布在不同机器平台和操

作系统上、采用不同的语言或者开发工具生成的各类商业应用必须能集成在一起,构成一个统一的企业计

算框架。这一集成框架必须建立在网络的基础之上,并且具备对于遗留应用的集成能力;

可用性:要求所采用的软件构件技术必须是成熟的技术,相应的产品也必须是成熟的产品,在至关重要

的企业应用中能够稳定、安全、可靠地运行。另外,由于数据库在企业计算中扮演着重要角色,软件构件

技术应能与数据库技术紧密集成;

可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可以根据企业计算的需求

进行裁剪,并能迅速反应市场的变化和技术的发展趋势。通过保证当前应用的可重用性,最大程度地保护

企业的投资。

下表从集成性,可用性,可扩展性三个方面,给出了上述三种主流分布计算平台的比较结果。

虽然这三种平台因为其形成的历史背景和商业背景有所不同,各自有自己的侧重和特点,其实在它们之间也有很大的相通性和互补性。

三、中间件技术及其应用

一、概述

1、中间件的概念

随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。

这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应孕而生。

由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。

比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯。

从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。

2、中间件特点及优势

通常意义下,中间件应具有以下的一些特点:满足大量应用的需要;运行于多种硬件和OS平台;支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。

程序员通过调用中间件提供的大量API,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作系统和网络协议。

中间件提供客户机与服务器之间的连接服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。

由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件软件管理着客户端程序和数据库或者早期应用软件之间的通讯。

中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务管理、负载均衡以及基于Web的计算等。

利用这些技术有助于减轻应用软件开发者的负担,使他们利用现有的硬件设备、操作系统、网络、数据库管理系统以及对象模型创建分布式应用软件时更加得心应手。由于中间件能够保护企业的投资,保证应用软件的相对稳定,实现应用软件的功能扩展;同时中间件产品在很大程度上简化了一个由不同硬件构成的分布式处理环境的复杂性,所以它的出现正日益引起用户的关注。

世界著名的咨询机构The Standish Group 在一份研究报告中归纳了中间件的十大优越性:

(1)应用开发:The Standish Group 分析了100个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例;业务逻辑程序和应用逻辑程序仅占总程序量的30%,而基础程序占了70%,使用传统意义上的中间件一项就可以节省25%~60%的应用开发费用。如是以新一代的中间件系列产品来组合应用,同时配合以可复用的商务对象构件,则应用开发费用可节省至80%。(2)系统运行:没有使用中间件的应用系统,其初期的资金及运行费用的投入要比同规模的使用中间件的应用系统多一倍。(3)开发周期:基础软件的开发是一件耗时的工作,若使用标准商业中间件则可缩短开发周期50%~75%。

(4)减少项目开发风险:研究表明,没有使用标准商业中间件的关键应用系统开发项目的失败率高于90%。企业自己开发内置的基础

(中间件)软件是得不偿失的,项目总的开支至少要翻一倍,甚至会十几倍。

(5)合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或遗留系统之上或之外增加新的功能模块,并将它们与原有统无缝集合。依靠标准的中间件,可以将老的系统改头换面成新潮的Internet/Intranet 应用系统。

(6)应用集合:依靠标准的中间件可以将现有的应用、新的应用和购买的商务构件融合在一起进行应用集合。

(7)系统维护:需要一提的是,基础(中间件)软件的自我开发是要付出很高代价的,此外,每年维护自我开发的基础(中

间件)软件的开支则需要当初开发费用的15%~25%,每年应用程序的维护开支也还需要当初项目总费用的10%~20%左右。而在一般情况下,购买标准商业中间件每年只需付出产品价格的15%~20%的维护费,当然,中间件产品的具体价格要依据产品购买数量及哪一家厂商而定。

(8)质量:基于企业自我建造的基础(中间件)软件平台上的应用系统,每增加一个新的模块,就要相应地在基础(中间件)软件之上进行改动。而标准的中间件在接口方面都是清晰和规范的。标准中间件的规范化模块可以有效地保证应用系统质量及减少新旧系统维护开支。

(9)技术革新:企业对自我建造的基础(中间件)软件平台的频繁革新是极不容易实现的(不实际的)。而购买标准的商业中间件,则对技术的发展与变化可以放心,中间件厂商会责无旁贷地把握技术方向和进行技术革新。

(10)增加产品吸引力:不同的商业中间件提供不同的功能模型,合理使用,可以让你的应用更容易增添新的表现形式与新的服务项目。从另一个角度看,可靠的商业中间件也使得企业的应用系统更完善,更出众。

具体地说,中间件屏蔽了低层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。

中间件带给应用系统的不只是开发的简单、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。The Standish Group 的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济大发展、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。

中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,在技术不断发展之后,使以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。

3、中间件的应用领域与分类

随着计算机软件技术的发展,中间件技术也已经日渐成熟,并且出现了不同层次、不同类型的中间件产品。按照IDC的分类方法,中间件可分为六类。分别是数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。

数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;

远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;

消息中间件:用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同;

交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台;

对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用。

目前国内外有不少厂商都开发出自己的中间件产品,其中有全球最大的独立中间件厂商BEA公司,还有像IBM、Oracle和Microsoft、HP、Sun等大厂商也早已涉足电子商务中间件。

面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面向对象是今后中间件发展的主流方向,它提供一种通讯机制,透明地在异构的分布计算环境中传递对象请求,而这些对象可以位于本地或者远程机器。

面向对象标准原本只有一个,即CORBA(公共对象请求代理体系结构),该标准由包括BEA、IBM、Oracle、Sun和Sybase等公司在内的众多厂商一起制定,从而形成了一个庞大的CORBA联盟势力。后来,Sun推出了企业级JavaBeans(EJB),用自己易使用的程序模型来对CORBA做出了改进。微软COM(Component Object Model,组件对象模型)的出现,使面向对象中间件市场里又多了一个标准,这样,面向对象中间件产品实际上形成了两大标准,一是微软的COM,一是JavaBeans。

从宏观上看,中间件可以分为3大类:

数据类:用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用

处理类:把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用。

分布式构件类:支持构件式应用,未来应用的发展方向,目前竞争激烈。

为了更加清晰起见,我们把中间件细分为12种,如下表:

二、中间件的技术规范

1、DCE体系

DCE是Distrbuted Computing Environment 分布式计算环境的缩写,它由Open Software Fondation 制定,现在这个组织被称为Open Group。

DCE由多个共同在一起工作的组件组成,它们是:远程过程调用(RPC)、本地和全局目录服务(CDS和GDS)、安全服务、DCE线程、分布式时钟服务(DTS)和分布式文件服务(DFC)。线程、RPC、CDS、安全服务和DTS组件通常被成为安全核心,并且是组成任何DCE环境所必须的组件,DTS是可选件。在DCE环境中,还包括用于管理这些组件的管理工具。

DCE被称做中间件或使其具有能力的技术,它不是独立存在的,而是被捆绑在供应商操作系统中,或者由第三方供应商进行集成。

2、DTP模型

DTP模型是X/OPEN组织提出的一种软件结构,这种结构允许多个应用程序去共享多个资源管理器提供的资源,并且具有协调全局事物的能力。

X/OPEN是一个独立的、具有全球影响力的开放系统组织,它得到了世界大多数的最大的信息系统供应商的支持,其根本任何是通过规范开放系统的具体实现,从计算的观点考虑如何让用户获得更大的利益。

X/OPEN的DTP模型由5个基本模块组成:

应用程序(AP):用于定义事物的边界,并确定组成事物操作的动作。

资源管理器(RM):如数据库或文件系统用于存取文件。

事物管理器(TP):给事物分配标识,监督事物的处理过程并负责事物的完成以及协调事物失败的恢复。

通信资源管理器(CRM):在一个事物管理器内或两个事物管理器之间对通信进行控制。

在这5个模块之间X/OPEN模型定义了这样一些模块与模块之间的接口规范:

应用程序——资源管理器之间已经存在了一些X/OPEN的规范,如SQL和ISAM;在应用程序——事物管理器之间定义了TX接口;在交易管理器——资源管理器之间定义了XA接口;在交易管理器——通信资源管理器之间定义了XA+接口;在应用程序——通信资源管理器之间有3种接口:TXRPC、XA TMI和CPI-C;在通信资源管理器——操作系统提供的底层通信协议之间提供了XAP-TP接口。

3、CORBA

CORBA是Common Object Request Broker Architecture 的缩写,简称公共对象请求代理结构,它由国际对象管理组织OMG 制定,这个组织是一个国际性组织,始建于1989年,现已拥有包括生产厂商与软件开发商800多个会员,其目的是在分布和已构计算机环境下为应用软件的开发提供一个公共框架,使开发出来的软件即面向对象又具有可重用性、可移植性以及可操作性等特点。有关CORBA的其他功能情况参见下面的第三部分说明。

4、J2EE

J2EE是Java 2 Platform Enterprise Edition的缩写,是一种多层应用模式的结构体系。整个规范由SUN公司提出,它将业务逻辑从系统服务功能和用户界面中分离出去,放置在客户层和应用基础设施这两层之间的中间层,是目前应用的最为广泛的面向Web的应用系统结构规范。有关J2EE的其他功能情况参见下面的第三部分说明。

5、互联网相关技术规范

Web(World Wide Web)是一种网络化的信息资源,它依赖于3个机制,使这些信息资源可以面对广大的使用者。

1)一种唯一的命名机制,为网上的资源进行定位,如:URI。

2)一种通信规程,以便在网上可以存取这些被命名的资源,如:HTTP。

3)混合文本,以便更好地驾御这些信息资源,如:HTML。

URI(Universal Resource Identifier)全局资源标识,一种命名机制,它将在网上的一个资源的定位分为3个部分:用于存取资源的通信方式的名称,如HTTP、FTP;保存有资源的机器的名称,如:https://www.doczj.com/doc/f413671485.html,;资源本身的名称,也就是存取这些资源的路径。

HTTP(HyperText Transfer Protocol)是一种用于分布式、相互协作、混合型媒体的信息系统的应用层的通信规程。使用这一规程,除了可以在信息系统中取得资料外,还可以进行资料查询,对前端进行更新以及进行信息发布等操作。

HTML(HyperText Markup Language)是一种网上使用的出版语言,它可以为作者提供这样的功能:在在线出版的文档中包括标题、文本、表格、列表和照片等;按下鼠标后,通过混合文本链路查找文本;与远端的服务为进行联机事物处理建立表格,以便进行信息查找、预定和订购产品等操作;在文档中直接包含独立页面、影像资料与声音资料等。

这些规范都是web技术的基础,除了这些技术规范以外,还有一些规范也非常重要,它的用途是实现企业与企业间通过Web实现数据交换。这些规范是XML、SOAP、UDDI和WSDL。

XML(Extensible Markup Language)通过提供更灵活和更容易被接收的信息标识方法来改进Web的功能。XML被称为可扩展的标注语言,它不像HTML是一种单一的、预先定义的语言,XML是一种用于描述其他语言的语言,使用XML,你可以定义你自己的、不受到类型限制的、其他类型的文档。

SOAP(Simple Object Access Protocol)是一种轻量级规程,用于在没有控制中心、分布式的环境中交换信息。它以XML为基础,由4个部分组成:一个信封,定义了是什么信息和如何对它进行处理的框架;一组编码规则,用于描述应用定义的数据类型的表示示例;一组表示远程过程调用和应答的规则方式,以及一组捆绑方式,这种方式用于使用低层通信规程交换信息。SOAP 具有与其他规则相结合的可能性。

UDDI(Universal Description,Discovery and Integration)是一个规范,这个规范用于Web服务以分布式、以Web为基础的信息的注册。UDDI同时也是一个这样的规范的实现的公用的可接入的集合,这个规范是是某个企业的Web服务所能提供的内容用登记信息的方式提供出来,以便其他企业可以发现这些服务。Web服务是Web技术的下一步发展方向,它可以允许可编程的被放置在Web上,其他方可以使用分布式的方式进行存取。

WSDL(Web Service Description Language)是一组包含面向文档或面向过程消息的端点操作信息的xml格式网络服务描述;操作和消息首先被抽象的描述,然后捆绑到具体的网络规程和消息格式中,以便定义端点,相关的具体端点被组合进抽象的端点中(服务)。WSDL可以捆绑描述与SOAP、HTTP GET/POST和MIME相关。

三、主流中间件技术平台

下面重点阐述和比较了三大主流中间件技术平台,使读者加深对中间件技术理解。

1、当前支持服务器端中间件技术的平台

考察当前主流的分布计算技术平台,主要有OMG的CORBA、Sun的J2EE和Microsoft DNA 2000。它们都是支持服务器端中间件技术开发的平台,但都有其各自的特点,将分别阐述如下。

(1)OMG的CORBA

CORBA分布计算技术是OMG组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。

CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。目前,CORBA兼容的分布计算产品层出不穷,其中有中间件厂商的ORB产品,如BEAM3,IBM Component Broker,有分布对象厂商推出的产品,如IONAObix和OOCObacus等.

CORBA规范的近期发展,增加了面向Internet的特性,服务质量控制和CORBA构件模型(CORBA Component Model)。

Internet集成特性包括了针对IIOP传输的防火墙(Firewall)和可内部操作的定义了URL命名格式的命名服务(Naming Service)。

服务质量控制包括能够具有质量控制的异步消息服务,一组针对嵌入系统的CORBA定义,一组关于实时CORBA与容错CORBA的请求方案。

CORBA CCM(CORBA Component Model)技术,是在支持POA的CORBA规范(版本2.3以后)基础上,结合EJB当前规范的基础上发展起来的。CORBA构件模型,是OMG组织制定的一个用于开发和配置分布式应用的服务器端中间件模型规范,它主要包括如下三项内容:

a、抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构;

b、构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成;

c、构件的配置和打包规范,CCM使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于XML的文档内容标准。

总之,CORBA的特点是大而全,互操作性和开放性非常好。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。在具体的应用中使用不是很多。

(2)Sun的J2EE

为了推动基于Java的服务器端应用开发,Sun于是在1999年底推出了Java2技术及相关的J2EE规范,J2EE的目标是:提供平台无关的、可移植的、支持并发访问和安全的,完全基于Java的开发服务器端中间件的标准。

在J2EE中,Sun给出了完整的基于Java语言开发面向企业分布应用规范,其中,在分布式互操作协议上,J2EE同时支持RMI 和IIOP,而在服务器端分布式应用的构造形式,则包括了Java Servlet、JSP(Java Server Page)、EJB等多种形式,以支持不同的业务需求,而且Java应用程序具有"Write once,run anywhere"的特性,使得J2EE技术在发布计算领域得到了快速发展。

J2EE简化了构件可伸缩的、其于构件服务器端应用的复杂度,虽然DNA 2000也一样,但最大的区别是DNA 2000是一个产品,J2EE是一个规范,不同的厂家可以实现自己的符合J2EE规范的产品,J2EE规范,是众多厂家参与制定的,它不为Sun所独有,而且其支持跨平台的开发,目前许多大的分布计算平台厂商都公开支持与J2EE兼容技术。

EJB是Sun推出的基于Java的服务器端构件规范J2EE的一部分,自从J2EE推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。SunEJB技术是在Java Bean本地构件基础上,发展的面向服务器端分布应用构件技术。它基于Java语言,提供了基于Java二进制字节代码的重用方式。EJB给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。EJB技术的推出,使得用Java基于构件方法开发服务器端分布式应用成为可能。从企业应用多层结构的角度,EJB是业务逻辑层的中间件技术,与JavaBeans不同,它提供了事务处理的能力,自从三层结构提出以后,中间层,也就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从分布式计算的角度,EJB 像CORBA一样,提供了分布式技术的基础。提供了对象之间的通讯手段。从Internet技术应用的角度,EJB和Servlet,JSP一起成为新一代应用服务器的技术标准,EJB中的Bean可以分为会话Bean和实体Bean,前者维护会话,后者处理事务,现在Servlet 负责与客户端通信,访问EJB,并把结果通过JSP产生页面传回客户端。

J2EE的优点是,服务器市场的主流还是大型机和UNIX平台,这意味着以Java开发构件,能够做到"Write once,run anywhere",开发的应用可以配置到包括Windows平台在内的任何服务器端环境中去。

(3)Microsoft DNA 2000

Microsoft DNA 2000(Distributed interNet Applications)是Microsoft在推出Windows2000系列操作系统平台基础上,在扩展了分布计算模型,以及改造Back Office系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。

在服务器端,DNA 2000提供了ASP、COM、Cluster等的应用支持。目前,DNA2000在技术结构上有着巨大的优越性。一方面,由于Microsoft是操作系统平台厂商,因此DNA 2000技术得到了底层操作系统平台的强大支持;另一方面,由于Microsoft 的操作系统平台应用广泛,支持该系统平台的应用开发厂商数目众多,因此在实际应用中,DNA 2000得到了众多应用开发商的采用和支持。

DNA 2000融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。DNA使得开发可以基于Microsoft平台的服务器构件应用,其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提供。

以Microsoft为首的DCOM/COM/COM+阵营,从DDE,OLE到ActiveX等,提供了中间件开发的基础,如VC,VB,Delphi等

都支持DCOM,包括OLE DB在内新的数据库存取技术,随着Windows2000的发布,Microsoft的DCOM/COM/COM+技术,在DNA2000分布计算结构基础上,展现了一个全新的分布构件应用模型。首先,DCOM/COM/COM+的构件仍然采用普通的COM(Component Object Model)模型。COM最初作为Microsoft桌面系统的构件技术,主要为本地的OLE应用服务,但是随着Microsoft服务器操作系统NT和DCOM的发布,COM通过底层的远程支持使得构件技术延伸到了分布应用领域。DCOM/COM/COM+更将其扩充为面向服务器端分布应用的业务逻辑中间件。通过COM+的相关服务设施,如负载均衡、内存数据库、对象池、构件管理与配置等等,DCOM/COM/COM+将COM、DCOM、MTS的功能有机地统一在一起,形成了一个概念、功能强的构件应用体系结构。而且,DNA2000是单一厂家提供的分布对象构件模型,开发者使用的是同一厂家提供的系列开发工具,这比组合多家开发工具更有吸引力。

但是它的不足是依赖于Microsoft的操作系统平台,因而在其它开发系统平台(如Unix、Linux)上不能发挥作用。

2、相关性比较分析

目前,针对上述的各种分布计算平台技术,都出现了相似且具有可比性的分布式构件,即CORBA CCM(CORBA Component Model)技术、SUN的EJB(Enterprise JavaBean)技术和DNA 2000中的COM/DCOM/COM+技术。

对于以上三个分布计算平台,本文采用业界常用的做法从以下三个方面进行分析:

集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上。它要求分布在不同机器平台和操作系统上、采用不同的语言或者开发工具生成的各类商业应用必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建立在网络的基础之上,并且具备对于遗留应用的集成能力;

可用性:要求所采用的软件构件技术必须是成熟的技术,相应的产品也必须是成熟的产品,在至关重要的企业应用中能够稳定、安全、可靠地运行。另外,由于数据库在企业计算中扮演着重要角色,软件构件技术应能与数据库技术紧密集成;

可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可以根据企业计算的需求进行裁剪,并能迅速反应市场的变化和技术的发展趋势。通过保证当前应用的可重用性,最大程度地保护企业的投资。

下表从集成性,可用性,可扩展性三个方面,给出了上述三种主流分布计算平台的比较结果。

虽然这三种平台因为其形成的历史背景和商业背景有所不同,各自有自己的侧重和特点,其实在它们之间也有很大的相通性和互补性。

四、中间件是实现电子商务的基础软件

电子商务的本质就是对处于分布环境中的各种计算机系统进行交流协调,从而开创新的商业运作模式。网络通信,尤其是互联网技术,是电子商务的通信基础,而管理和传输系统之间的业务信息、协调各个系统的处理模块的中间管理服务系统,是保证电子商务应用成功的关键。电子商务应用服务器、通用业务网关、支付网关、通信平台和安全平台,统一纳入电子商务中间件构架的范畴。

从技术角度看,电子商务将由Internet/Intranet技术、传统IT技术以及具体的业务处理所构成。但是,系统的建立将会面临许多新的问题,包括应用系统能不能快速地建立,能不能适应大用户数、高处理量要求,能不能提供高效率、高可靠性、高可用性等等关键任务的要求,能不能满足安全需要等等。

以上这些问题,只是依靠简单的Web技术是不够的。目前常用的Web技术由于早期更多的是面向信息发布,因此存在并发访问瓶颈、难扩展、效率低、安全等诸多问题,不能满足电子商务的需要。为了很好地解决这些问题,需要以Web的低层技术为基础,规划出一个整体的应用框架,并提供一个支持平台,用于Internet应用的开发、部署和管理,并能籍此解决上述各种问题。这已经发展成为一个能广泛适应的标准的支撑层,成为Internet应用的基础设施(Infrastructure),这一支撑层实际上是基于Internet 的中间件,也就是应用服务器。

同时,由于企业并不能把业务一不跨到Internet上,而必须同传统的应用系统结合,因此也必须通过中间件来集成Web应用和传统应用,实现完整的电子商务。

在这种情况下,电子商务应用应包含以下层次:

●浏览器:这是进入电子商务的通道。

●电子商务应用平台:提供电子商务不同应用类型的生成工具软件,如网上商店、网络支付、虚拟社区等等。

●电子商务交换平台:对内集成企业内部的各种与电子商务相关的业务系统,对外连接商业合作伙伴,如银行、供应商、客户、配送结构,完成各种不同业务系统之间数据转换和整和。

●电子商务基础平台:用来支持大量Internet客户的并发访问,使应用开发商快速开发出灵活多变的电子商务应用,尽快把信息系统和商务活动放到Internet中。

在电子商务交换平台和电子商务基础平台中都不能没有中间件的存在。可以说,没有中间件就不能支撑今天的网络应用。

电子商务中间件构架是一种电子商务应用集成的关键件,不管电子商务应用分布在什么硬件平台上,使用了什么数据库系统,透过了什么复杂的网络,电子商务应用的互连和互操作是电子商务中间件构架首先要解决的问题。在通信方面,电子商务中间件构架要支持各种通信协议和通信服务模式,传输各种数据内容,数据格式翻译、流量控制、数据加密、数据压缩等等;在电子商务中间件构架核心,要解决名字服务、安全控制、并发控制、可靠性和效率保证等;在电子商务应用开发方面,要能提供基于不同平台的丰富的开发接口,支持流行的开发工具和异构互连接口标准等;在管理方面,解决电子商务中间件构架本身的配置、监控、调谐,为电子商务应用的易用易管理提供保证。

其次,针对不同的Web应用环境,对电子商务中间件构架有各种不同的要求。对工作流应用,需要根据条件以及条件满足状态,将信息、响应状态从一个应用传递到另一个应用;对联机事务处理,需要保证分布式的数据一致性、不停机作业、大量并发的高效率;对于一个数据采集系统需要保证可靠传输等等。

五、中间件符合软件发展的潮流

软件构件化(Software Component)技术是在大工业生产启发下应运而生的,是软件技术跨世纪的一个发展趋势,其目的是彻底改变软件生产方式,从根本上提高软件生产的效率和质量,提高开发大型软件系统尤其是商用系统的成功率。有了软件构件之后,应用开发人员就可以利用现成的软件构件装配成适用于不同领域、功能各异的应用软件。

复用软件一直是整个世界软件业所追求的梦想,软件构件化为实现这一梦想指出了一条切实可行的道路,而中间件正是构件化软件的一种形式。中间件抽象了典型的应用模式,应用软件制造者可以基于标准的形式进行开发,使软件构件化成为可能,加速了软件复用的进程。因此,中间件是符合软件发展的内在规律的。

中间件是软件技术发展的一种潮流,被誉为发展最快的软件品种,近年来势头强劲,当然,这也是源于市场在全球范围内对中间件的支持。毫无疑问,中间件正在成为软件行业新的技术与经济增长点。

四、点评主流中间件技术平台

引言

软件系统的复杂性不断增长、软件人员的频繁流动和软件行业的激烈竞争迫使软件企业提高软件质量、积累和固化知识财富,并尽可能地缩短软件产品的开发周期。于是集软件复用、分布式对象计算、企业级应用开发等技术为一体的"基于中间件的软件开发"(CBSD,Component Based Sortware Development)应运而生,这种技术以软件架构为组装蓝图,以可复用软件构件为组装模块,支持组装式软件的复用,大大提高了软件生产效率和软件质量。为此国风外对于这一技术的研究正在不断深入,同时大型的软件公司(例如sun,microsoft)及软件组织机构(OMG)都推出了支持中间件技术的软件平台。面对高深的中间件技术和繁多的软件平台,很多人感到很茫然和无从下手,本文简单介绍了中间件技术的发展和特点,重点阐述和比较了三大主流中间件技术平台,使读者对中间件技术有个全面的了解。

中间件技术的概念及发展

顾名思义,中间件是处于应用软件和系统软件之间的一类软件,是独立于硬件或数据库厂商(处于其产品的中间,实现其互连)的一类软件,是客户方与服务方之间的连接件,是需要进行二次开发的中间产品。

应该说,中间件技术是伴随网络而发展起来的一种面向对象的技术。以前的计算机系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络出现后,产生了Client/Server的计算服务模式,多个客户端可以共享数据库服务器和打印服务器等等。随着网络的更进一步发展,许多软件需要在不同厂家的网络产品、硬件平台、网络协议异构环境下运行,应用的规模也从局域网发展到广域网。在这种情况下,Client/Server模式的局限性也就暴露出来了,于是中间件应运而生。中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。

当前支持服务器端中间件技术的平台

考察当前主流的分布计算技术平台,主要有OMG的CORBA、Sun的J2EE和Microsoft DNA 2000。它们都是支持服务器端中间件技术开发的平台,但都有其各自的特点,将分别阐述如下。

OMG的CORBA

CORBA分布计算技术是OMG组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。

CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。目前,CORBA兼容的分布计算产品层出不穷,其中有中间件厂商的ORB产品,如BEAM3,IBM Component Broker,有分布对象厂商推出的产品,如IONAObix和OOCObacus等.

CORBA规范的近期发展,增加了面向Internet的特性,服务质量控制和CORBA构件模型(CORBA Component Model)。

平台数据库及中间件招标技术要求参考

平台数据库及中间件招标技术要求参考 1.总体要求 本次采购的数据库系统和中间件软件应具备如下基本特性: 1.1安全性:保证系统数据处理的一致性,保证数据不被非法盗用和修改伪造,保证数据不因意外情况丢失和损坏,提供多种安全检查审计手段。 1.2准确性:保证系统数据处理的准确性,提供多种核查、审计手段。 1.3可靠性:保证系统可靠连续运行。 1.4可伸缩性:系统应能适应不同规模的业务,系统硬件平台和数据库应具有良好的可扩充扩展性能。 1.5可扩展性:采用组件化设计原则,以使系统能够适应将来可能出现的一些变化,新增功能时不应需要改造原软件系统。 1.6开放性:系统应采用主流的、开放的技术,以保证系统对各种数据业务的服务,以及与相关系统的互连能力。 1.7可移植性:系统还应具有较强的可移植性、可重用性,保证在将来发展中迅速采用最新出现的技术、长期保持系统的先进。 1.8实时性:实时完成大容量数据处理,对业务提供并发处理支持。 1.9易用性:应具有良好的中文操作界面、详细的帮助信息,系统参数的维护与管理通过操作界面完成。 1.10可管理性:应具有良好的管理手段,可管理安全、网络、服务器、操作系统、数据库及应用等。 1.11系统必须能够7X24小时运行,支持基于集群的部署结构。 1.12系统应具备良好的备份/恢复机制。 1.13其他:为确保产品的合法来源及售后服务的技术保障,本次投标必须提供数据库和中间件软件的原厂授权书。 1.14供应商需提供现场安装、调试,并在原厂售后服务基础上提供一年的免费现场技术指导。 2.应用服务器中间件软件的详细技术要求如下 2.1支持多协议与服务管理。 2.2支持同步数据集成服务。

案例主要软硬件选型原则和详细软硬件配置清单

5.12主要软硬件选型原则和详细软硬件配置清单 5.12.1软硬件选型原则 软件选型原则:开放性,对称性与非对称处理,异种机互联能力,目录及安全服务的支持能力,应用软件的支持能力,网管能力,性能优化和监视能力,系统备份/恢复支持能力。 硬件选型原则:系统的开放性,系统的延续性,系统可扩展性,系统的互连性能,应用软件的支持,系统的性价比,生产厂商的技术支持,可管理性(同事管理多处工作,消除问题,智能管理的方法),远程管理,状况跟踪,预故障处理,性能监控,安全管理,可用性,磁盘故障,内存问题,容错性(冗余组件、自动服务器恢复,冗余网卡,冗余CPU电源模块,双对等PCI总线)及平台支持 5.12.2软硬件配置清单 参考《附表》中的项目软硬件配置清单。 5.13机房及配套工程建设方案 使用目前已经建设好并正在使用的机房,不需要重新建设。

3.4.2性能需求 3.4.1.2.1交易响应时间 交易响应时间指完成目标系统中的交互或批量业务处理所需的响应时间。 根据业务处理类型的不同,可以把交易划分为三类:交互类业务、查询类业务和大数据量批处理类业务,分别给出响应时间要求的参考值,包括峰值响应时间、平均响应时间。 1、交互类业务 日常交易指传统的大厅交互业务,如申报、发票销售、税务登记等,具有较高的响应要求。批量交易指一次完成多笔业务处理的交易,如批量扣缴等,由于批量交易的数据量不确定,需要根据具体的情况确定响应时间。 表3-1交易类业务复杂性与响应时间关系表

备注:以上交易如果涉及与税务-国库-银行或税务-银行-国库交互的,响应时间参考值中均包含交互的时间 2、查询类业务 如登记资料查询、申报表查询等。查询业务由于受到查询的复杂程度、查询的数据量大小等因素的影响,需要根据具体情况而定,在此给出一个参考范围。 如有特殊要求,可以在具体开发文档中单独给出响应时间要求。 表3-2查询类业务复杂性与响应时间关系表 备注:业务处理过程的交互操作的响应时间参见上面交互类业务的相关指标。 3、大数据量、批处理业务 如会计核算等业务处理,该类业务具有处理复杂、操作数据量大、处理时间长的特点,具体的响应时间在开发文档中给出。 3.4.1.2.2可靠性 系统应保证在正常情况下和极端情况下业务逻辑的正确性。 1、无单点故障 系统应不受任何单点故障的影响。

应用中间件要求

投标方必须保证本项目所需软件产品获得生产厂家的合法授权,且为最新版本,并在售后服务承诺中保证提供至少一年的免费升级服务和技术支持服务。主要的应用支撑软件要求如下: 一、数据库系统 投标方提供的数据库管理系统需满足以下具体技术要求: 1、基本功能 提供丰富的数据类型支持,提供丰富的内置函数,主要包括:数学函数、字符串函数、日期时间函数、聚集函数、大对象函数等。支持自定义存储过程/函数,支持触发器,支持视图。支持完整性约束,支持事务的4种隔离级别。 支持海量数据存储和管理,数据存储量为32T以上,单个大对象的最大容量要支持到4GB。并发控制支持表锁、行锁和页锁,具有大规模并发处理能力。 支持集中的数据库管理,提供远程跨平台数据库管理工具;提供良好的性能监控、调整手段;提供跨库、跨系统数据管理能力。 2、安全要求 支持强用户身份鉴别:为用户身份鉴别提供口令、指纹和Radius等多种身份鉴别方式,并允许系统管理员自行配置用户身份鉴别类型。 支持自主访问控制机制:利用对象的ACL列表来检查某个用户是否具有对某个对象的某种访问权限,支持强制访问控制机制:提供基于标签的访问控制方式。提供多种加密方式来保证数据存储安全,至少支持外部密钥加密套件和透明加密两种方式。提供基于证书机制的数据加密传输。提供独立的安全审计,支持系统特权审计、用户审计、语句审计和对象审计四种类型的审计,既可以审计执行成功的语句也可以审计执行失败的语句。支持三权分立的安全体系,建立系统管理员、系统审计员、系统安全员的三权分立安全模型,并将访问控制的粒度细化到行级。 3、性能要求 支持多种索引,支持多种查询优化策略,支持存储过程优化、基于代价的查询优化、基于规划的查询优化,支持高效的自动数据压缩。支持物化视图,提供并行查询能力。支持一级及二级水平分区,包括:hash分区,range分区和list

数据库及中间件采购需求

数据库及中间件采购需求 中间件:ORACLE WebLogic Server Standard Edition应用服务器中间件标准版25用户数量:1套 数据库:ORACLE Database Enterprise Edition数据库企业版25用户数量:1套 其他要求: 一、合同价格 1.1本合同价格包括货物金额以及依约在交付后所需承担的售后服务价格的总和,且为完税后价格。乙方免费赠送两套最新版原厂光盘介质 二、支付和结算方式 2.1、双方因本合同发生的一切费用均以人民币结算及支付。 2.2、双方的帐户名称、开户银行及帐号以本合同提供的为准。 合同付款方式变更如下: (1)预付款:自合同签订起10个工作日内甲方向乙方预付合同总额的30%。 (2)到货款:全部货物到达合同指定现场并安装运行,甲方签字验收后10个工作日内甲方向乙方支付合同总额的30%。 (3)终验款:在完成相关集成工作并试运行/开发初验或者到货3个月后,双方签署终验证书后10个工作日内甲方向乙方支付合同总额的35%。 (4)尾款:免费保修期满一年后,对保修和维护工作进行验收,双方签署验收证书后10个工作日内甲方向乙方支付合同总额的5%。(保修期 为一年,自全部货物验收合格,双方签定最终验收报告之日起计算). 2.3、如乙方根据本合同规定有责任向甲方支付违约金或其它赔偿时,甲方有权直接从上述付款中扣除该等款项并于事后通知乙方,该情形下应当视为甲方已经依约履行了合同义务,而所扣乙方的款项金额未达到乙方依照其责任所应当向甲方支付的金额时,乙方仍应向甲方补足。同时,若乙方对甲方的扣款有异议而不能协商解决时有权依照本合同关于解决争议的约定方式解决。但,存在或解决

第一章:中间件技术介绍

第一章:中间件技术介绍 1.1两层结构与三层结构 长期以来,我们一直使用着"客户端/服务器"的两层结构,这种两层的结构曾让无数人 为之兴奋和惊叹,即客户端提供用户界面、处理业务逻辑,数据库服务器接受客户端SQL 语句并对数据库进行查询,更新等操作,然后操作结果返回给客户端,如图所示。 在一个比较简单的计算机应用系统中,采用两层体系结构的确给人们带来了相当的灵活性。但随着计算机应用水平的飞速发展、企业信息化水平的不断深入、企业客户的不断增 加,以及新业务的不断出现,越来越多的用户对计算机应用系统提出了更高的要求: 1.要能够同时支持成千上万乃至更多用户的并发服务请求 2.由单一的局域网向跨多个网络协议的广域网扩展 3.不仅要支持一般的信息管理,而且还要支持关键业务的联机交易处理 4.从支持单一的系统平台和数据源转向支持异构的多系统平台和多数据源 面对用户的新需求,二层结构的应用模式由于采用客户机与服务器直接联接的方式形成了其固有的一些缺陷: 1.难以维护 clie nt/server 结构用户界面、业务逻辑和数据逻辑相互交错,通常在第一次部署的时候比较 容易,但难于升级或改进,而且经常基于某种专有的协议(通常是某种数据库协议)。它使得重 用业务逻辑和界面逻辑变得非常困难。 2 ?难以扩展 随着系统的升级,系统复杂程度大大增加,难以扩展,另外它是一个封闭的系统,很难与其他的应用系统实现互操作。 3.安全性差 客户端程序可以直接访问数据库,可通过编程语言或数据库提供的工具直接对数据库进行操作,不安全

4?性能不好 客户端直接与数据库建立连接,当有大量的并发用户存在时,会使数据库不堪重负,性能迅速下降,甚至当机。 三层结构 为解决传统二层模式与应用需求日益突出的矛盾,以交易中间件为基础框架的三层应用模式应运而生,三层结构以中间层管理大量的客户端并为其联接、集成多种异构的服务器平台,通过有效的组织和管理,在极为宽广的范围内将客户机与服务器进行高效组合。同时中间件开创的以负载平衡、动态伸缩等功能为代表的管理模式,已被广泛证实为建立关键业务应用系统的最佳环境,使在二层模式下不可能实现的应用成为可能,并为应用提供了充分的扩展余地。这种模式的成功应用已为许多国际大型企业在应用的开发和部署方面节省了大量的时间和金钱。由此促使越来越多的系统开发商和用户采用三层结构模式开发和实施其应用。 三层客户机/服务器模式的核心概念是利用中间件将应用的用户界面、业务逻辑和数据逻辑 分为三个不同的处理层,如图所示? 1.表示层(用户界面):它的主要功能是实现用户交互和数据表示,为以后的处理收集数据, 向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。这一层通常采用VB, PB DELPHI等语言编写,或采用浏览器实现 2.中间层(业务逻辑):实现整个应用系统核心业务逻辑,通常把业务逻辑划分成一个个独立 的模块,用中间件提供的API结合数据库提供的编程接口实现。客户端通过调用这些模块 实现相应的业务操作。 3.数据层(数据逻辑):数据库负责管理整个应用系统的数据资源,完成数据操作。中间层上应用程序 在处理客户端的请求时,通常要存取数据库。 随着市场竞争的日益加剧和企业电子信息化建设的不断深入,高度灵活、能快速部署新服务和新应用的三层结构应用系统将成为企业信息化的必由之路。采用以中间件为基础的三层结构来架构的应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。可以很好解决两层结构所面临的问题。中间件作为构造三层结构应用系统的基础平台,在三层结构中起着关键的作用,下一节我们将对中间件技术做一个概括性的介绍。 1. 2 中间件技术简介

案例:主要软硬件选型原则和详细软硬件配置清单.docx

主要软硬件选型原则和详细软硬件配置清单 5.12.1软硬件选型原则 软件选型原则:开放性,对称性与非对称处理,异种机互联能力,目录及安全服务的支持能力,应用软件的支持能力,网管能力,性能优化和监视能力,系统备份/恢复支持能力。 硬件选型原则:系统的开放性,系统的延续性,系统可扩展性,系统的互连性能,应用软件的支持,系统的性价比,生产厂商的技术支持,可管理性(同事管理多处工作,消除问题,智能管理的方法),远程管理,状况跟踪,预故障处理,性能监控,安全管理,可用性,磁盘故障,内存问题,容错性(冗余组件、自动服务器恢复,冗余网卡,冗余CPU电源模块,双对等PCI总线)及平台支持 5.12.2软硬件配置清单 参考《附表》中的项目软硬件配置清单。 机房及配套工程建设方案 使用目前已经建设好并正在使用的机房,不需要重新建设。

3.4.2性能需求 3.4.1.交易响应时间 交易响应时间指完成目标系统中的交互或批量业务处理所需的响应时间。 根据业务处理类型的不同,可以把交易划分为三类:交互类业务、查询类业务和大数据量批处理类业务,分别给出响应时间要求的参考值,包括峰值响应时间、平均响应时间。 1、交互类业务 日常交易指传统的大厅交互业务,如申报、发票销售、税务登记等,具有较 高的响应要求。批量交易指一次完成多笔业务处理的交易,如批量扣缴等,由于批量交易的数据量不确定,需要根据具体的情况确定响应时间。 表 3-1 交易类业务复杂性与响应时间关系表 业务复杂性平均响应时间参考值平均响应时间峰值响应时间 ( 秒)参考值(秒)参考值(秒) -提交过程-交互过程 日常交易4-18 专网报税4-25 电话报税4-25 网上交易4-25 批量交易视提交数据量、业务处理量而定 备注:以上交易如果涉及与税务-国库-银行或税务-银行-国库交互的, 响应时间参考值中均包含交互的时间 2、查询类业务 如登记资料查询、申报表查询等。查询业务由于受到查询的复杂程度、查询的数据量大小等因素的影响,需要根据具体情况而定,在此给出一个参考范围。 如有特殊要求,可以在具体开发文档中单独给出响应时间要求。 表 3-2 查询类业务复杂性与响应时间关系表 平均响应时间 业务复杂性 参考值 ( 秒) 简单查询3-15 复杂查询15-120 备注:业务处理过程的交互操作的响应时间参见上面交互类业务的相关指 标。

消息中间件在数据交换中的应用研究及其面临的挑战

消息中间件在数据交换中的应用研究及其面临的挑战 摘要:简要介绍了消息中间件在数据交换数据交换中的应用,论述了消息中间件所面临的挑战及应对措施:传输消息大小不受限制;同时支持Windows 2000/nt/98/ME等多种操作系统,并能通过配置充分发挥不同操作系统的性能;实现消息队列操作的回滚与提交,使消息进行多级回执;以COM形式提供MQ Clinent API。关键词:数据交换消息中间件消息队列 COM 计算机技术的不断推陈出新,带来了信息化发展的新浪潮,人们感受到了计算机及网络技术所带来的好处,于是对电子化、信息化应用的需求也越来越迫切。信息技术以其强大的渗透力,深入到社会经济生活的各个方面。在商业金融等领域,电子数据交换作为一种新的商务手段正在被广泛使用。数据交换EDI(Electronic Data Interchange)是一种计算机应用技术,根据事先达成的协议,将信息按照一定的标准进行格式化处理,并把这些格式化的数据,通过计算机通信网络在其计算机系统之间进行交换和自动处理。作为计算机通信技术的一部分,EDI可以应用于制造业、运输业、零售业以及卫生保健和政府部门等各种经济部门之中。消息队列中间件MOM(Message-Oriented Middleware)是一种特定的中间件,它利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。1 数据交换的研究与应用现状1.1 国际发展现状及趋势西方发达国家已普遍采用EDI。据统计,1992年底世界上使用EDI的企业超过10万家,95年达到40万家。美国早在60年代初期,就在公路、铁路、海运和空运中应用EDI,而且每年还以100%的速度增长;西欧各国已将EDI应用于汽车、化工、电子、运输、保险、分销零售业中;日本已在销售、贸易、运输、和制造业中广泛使用EDI;新加坡声称95%的贸易用EDI实现。据悉,美国政府及欧洲共同体大部分国家的海关宣布,从1992年起,采用EDI方式办理海关业务,如不采用EDI方式,其手续将被推迟办理,或不再选为贸易伙伴。1996年,亚洲六个国家和地区(中国、日本、印度、马来西亚、菲律宾和中国台湾省)达成协议,将共同开发EDI系统,以便使这些国家和地区在进出口过程中能够实时地采集进出口数据,有效对客户进行管理,减少报关错误。这无疑会加快亚洲国家的EDI建设进程。在欧洲,一些大公司,包括超市连锁公司,已经开始对不开通EDI的供应商实行制裁措施(价格、处理时间、付款方式上实行歧视政策)。新加坡贸易发展局宣布:从1999年1月1日起,所有进出口贸易都必须用EDI方式申报。香港地区从2000年开始全面关闭进出口报关柜台,所有的进出口报关必须通过EDI方式。EDI的发展趋势:(1)应用EDI的行业会增多;(2)EDI 与其他信息传送技术和系统的一体化;(3)EDI技术将受Internet的冲击。1.2 国内发展现状我国也早已经开始重视和普及EDI技术,“八五”抓基础、抓试点;“九五”建立起中国贸易网(China Trade Network),尽快实现与国际贸易网的大联通,全面推行EDI。近几年来,国内方正、中软、启宏科技、南通等软件公司在数据交换平台方面都已经快速发展。方正数码公司2002年提出了面向信息资源整合的跨地域、跨部门应用技术框架,为横跨多个政府机构的服务、监管职能的业务实现和同一机构内多个部门不同业务系统之间的数据整合提供了进行有效转换和交流的安全信息交换平台——方正易畅InfoHub。方正易畅InfoHub安全信息交换平台在信息系统中为终端节点提供安全可靠的消息传输。它采用基于XML技术的消息结构进行信息的表达,存储及传输。而作为封装在消息结构中的消息内容可以是XML格式的信息,EDI格式的信息,或者是采用用户自己定义的格式的信息。由中软网络技术股份有限公司与河南省国家税务局联合开发出《行政管理与监控考核系统》填补了国家办公软件的空白。中软股份在此基础之上建立系统框架,并通过技术框架与功能框架完美结合,使功能不断扩充与完善,完成了《行政管理与监控考核系统》。该系统已经在驻马店市国税局得到了全面的推广与实施,为提升税务行业行政管理水平和质量做出了贡

什么是地图发布中间件及其功能应用介绍

什么是地图发布中间件及其功能应用介绍 一、海量影像地图数据发布首选——中间件 如果需要发布海量影像数据快速构建全国离线二维GIS地理信息系统或全球离线三维地球触摸GIS系统,则需要由硬件、软件、数据和GIS平台四部分组成。 1)硬件 硬件主要包括地图数据服务器和客户端PC机。 服务器:主要用于安装中间件、布署GIS应用平台和存储全国卫星影像数据。 客户端:用于加载GIS平台,并接收中间件发布的影像数据、地名路网数据和高程数据。 2)软件 软件主要包括《水经注地图发布服务中间件》(简称“中间件”)和《水经注万能地图下载器》(简称“下载器”)。 中间件:用于发布全国或全球海量卫星影像数据、地名路网和高程数据。 下载器:用于下载卫星影像数据、地名路网和高程数据。 3)数据 用户可以自行下载数据或直接购买下载好的数据。 自行下载:卫星影像数据、地名路网数据和高程数据可以用《水经注万能地图下载器》自行下载。 直接购买:购买之后,会通过邮寄硬盘(全国数据)或阵列柜(全球数据)

的方式为用户提供。 4)GIS平台 由于中间件只是一个基于URL请求返回瓦片数据的功能部件,因此只要可以支持瓦片式影像加载的GIS平台都可以进行调用。 这里推荐几个GIS开发平台供选择: 1)Google Map 离线API 2)Openlayers 二维开源平台 3)ArcGIS API for JavaScript 4)Cesium 开源三维地球平台 5)OsgEarth开源三维地球平台 二、什么是地图发布中间件 简单的讲,地图发布中间件就是为客户端提供影像瓦片的一个Windows系统服务。它只做一件事,也就是客户端通过URL请求的方式,可以快速返回影像瓦片、地名路网瓦片和高程瓦片数据。 获取影像URL示例 http://127.0.0.1:8080/getImage?z=6&y=62&x=35 获取地图路网URL示例 http://127.0.0.1:8080/getlabel?z=6&y=62&x=35 获取高程URL示例 http://127.0.0.1:8080/getDem?z=6&y=62&x=35

数据库中间件使用场景分析

数据库中间件使用场景分析数据库场景比较 PS:涉及到金钱方面的事务处理,建议使用Oracle。 数据库优点缺点场景 Oracle 基本适合所有业务维护成本和License成 本高 电信,电力、银行、支付以及涉及到金钱 方面等综合性企业。(事务型) MySQL 结构简单,部署方便,社区 成熟,稳定性非常好, 良好的事务和SQL支持 扩展性差,软件本身性 能瓶颈大, 没有成熟的集群方案。 Schema复制。 百亿以内的数据存储, 对数据安全性和事务支持有要求。主要存 储对数据状态有要求和更新频繁的数据。 (事务型) MongoDB Schema--free,快速开发, 本身支持集群如sharding, 支持空间索引等; 锁的粒度大,并发性能 差,性能受限于内存, 解决方案有待考验。 1.LBS(基于位置服务;地理坐标,或大地坐 标),缓存,小文件存储。 2.CMS内容管理系统; 3.社交网络图数据库设计. 4.MongoDB主要用于存储计费数据、日志 数据和流水数据 Hbase 基于Hadoop生态系统,良 好的扩展性,高写入能力。 数据自动分片。 架构复杂,维护成本 高。 搜索,数据写入非常高,监控数据。 1.典型互联网搜索问题 2.捕获增量数据 3.内容服务 4.信息交换 HBase主要用来做数据分析和存储大数据 内容。 Redis 高性能,部署简单,非常的 数据类型支持, 支持数据持久化,集群方案 支持。 性能受限于内存,单进 程问题。 适合小数据高读写场景。缓存服务。 1.保存点击数据(计数器) 2.在哈希表中保存用户信息 3.用集合保存社交网站圈子数据

MySQL还是PostgreSQL? 1、如果你的应用对数据的完整性和严肃性要求不高,但是追求处理的高速度。例如是一个论坛和社区,你应该使用MySQL。 2、你的应用是一个严肃的商业应用,对数据完整性要求很高。而且你希望对一些商业数据逻辑进行很好的封装,例如是一个网上银行,你应该使用PostgreSQL。 3、你的应用处理的是地理数据,由于R-TREES的存在,你应该使用PostgreSQL。 4、等等 从Oracle转向MySQL主要是出于三个方面的原因: 第一,降低运维成本。Oracle数据库自动化运维实现难度和成本较高,而MySQL运维自动化难度和成本相对较低,当数据库实例不断成倍增长的时候,使用MySQL可以在有限人力的情况下维护更多的数据库实例。 第二,降低软件成本。Oracle License成本较高,MySQL及其分支目前是免费的。 第三,提高可扩展性。MySQL是开源数据库,便于有技术能力的公司根据业务发展情况自己开发定制一些数据库周边服务,使数据库使用的扩展性提高,而Oracle对这方面的支持比较一般。 Hbase场景说明 捕获增量数据 数据通常是细水长流,累加到已有数据库以备将来使用,例如分析,处理和服务。许多HBase使用场景属于这个类别——使用HBase作为数据存储,捕获来自于各种数据源的增量数据。例如,这种数据源可能是网页爬虫,可能是记录用户看了什么广告和多长时间的广告效果数据,也可能是记录各种参数的时间序列数据。我们讨论几个成功的使用场景和公司。 1.捕获监控参数

cData数据集成中间件产品介绍

cData数据集成中间件产品介绍1.需求背景 近年来,我国的电子政务和企业信息化建设已经进入了一个新阶段,企业面临在不同时期、应用不同技术、与不同的厂商合作,建设了不同规模的应用系统,造成这些系统之间互相独立,不能集成,数据不能共享。同时,分层管理模式是在国家政府机关和大型企业中普遍采用的一种管理模式,例如政府机关包括中央、省、市、县等若干级,大型企业一般又分为总公司、公司和生产厂等层次,为了加强上级机构对下级的管理和各级机构之间互通信息的需求,各级机构之间需要及时、可靠地交换大量的数据信息。由于这些数据,可能是不同的系统产生的,如财务系统、人事系统等,这些系统通常都是自治的,并且数据可能是异构的,但又是需要彼此交互的,因此这些机关和企业迫切需要在本机构内,建立一个数据传输和集成的平台。 2.数据集成中间件概述 数据集成中间件通过统一的全局数据模型来访问异构的数据库、遗留系统、Web 资源等。中间件位于异构数据源系统(数据层)和应用程序(应用层)之间,向下协调各数据源系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口。各数据源的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次检索与集成服务。 1

数据集成中间件体系结构图 数据集成中间件是比较流行的数据集成方法,它通过在中间层提供一个统一的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看为一个统一的整体。这种模型下的关键问题是如何构造这个逻辑视图并使得不同数据源之间能映射到这个中间层。 要达成系统的需求,需要借助数据Web服务子系统、数据集成子系统、数据抽取子系统、综合展示子系统等子系统来实现,各子系统之间的结构关系如下图所示: 2

中间件运维服务

中间件运维服务 1 中间件的服务内容 1.1 服务目标 行天科技可提供的运行维护服务包括,信息系统相关的主机设备、操作系统、数据库和存储设备的运行维护服务,保证用户现有的信息系统的正常运行,降低整体管理成本,提高网络信息系统的整体服务水平。同时根据日常维护的数据和记录,提供用户信息系统的整体建设规划和建议,更好的为用户的信息化发展提供有力的保障。 用户信息系统的组成主要可分为两类:硬件设备和软件系统。硬件设备包括网络设备、安全设备、主机设备、存储设备等;软件设备可分为操作系统软件、典型应用软件(如:数据库软件、中间件软件等)、业务应用软件等。 行天科技通过运行维护服务的有效管理来提升用户信息系统的服务效率,协调各业务应用系统的内部运作,改善网络信息系统部门与业务部门的沟通,提高服务质量。结合用户现有的环境、组织结构、IT 资源和管理流程的特点,从流程、人员和技术三方面来规划用户的网络信息系统的结构。将用户的运行目标、业务需求与IT 服务的相协调一致。 行天科技提供的信息系统服务的目标是,对用户现有的信息系统基础资源进行监控和管理,及时掌握网络信息系统资源现状和配置信息,反映信息系统资源的可用性情况和健康状况,创建一个可知可控的IT 环境,从而保证用户信息系统的各类业务应用系统的可靠、高效、持续、安全运行。 服务项目范围覆盖的信息系统资源以下方面的关键状态及参数指标: 运行状态、故障情况 配置信息 可用性情况及健康状况性能指标

1.2 中间件运维服务 中间件管理是指对BEA Weblogic 、MQ 等中间件的日常维护管理和监控工作,提高对中间件平台事件的分析解决能力,确保中间件平台持续稳定运行。中间件监控指标包括配置信息管理、故障监控、性能监控。 执行线程:监控WebLogic 配置执行线程的空闲数量。 JVM 内存:JVM 内存曲线正常,能够及时的进行内存空间回收。 JDBC 连接池:连接池的初始容量和最大容量应该设置为相等,并且至少等于执行线程的数量,以避免在运行过程中创建数据库连接所带来的性能消耗。 检查WEBLOG 日志文件是否有异常报错。如果有WEBLOG 集群配置,需要检查集群的配置是否正常。 2、MQ 中间件维护项目 1. 实时监控以下文件系统使用情况: 检查文件系统 /var/mqm MQ 应用所在文件系统。 2. 定期报告MQ 系统错误,备份清理MQ 系统错误记录在遇到问题时,检查 /var/mqm/errors 目录下是否有新的 FDC 文件产生,如果有应当立即报告 IBM 技术支持部门。另外,要定期检查该目录下 MQ 错误日志。 3. 监控队列深度 DIS QLOCAL(QName) 该命令的显示结果可以看出队列当前深度 4. 检查死信队列 DIS QLOCAL(DEADQName)

数据库中间件高级技术支持服务说明

数据库中间件高级技术支持 服务说明 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

数据库和中间件技术支持 服务说明书 版本号:V2.0 赛尔网络 2010年4月28日

目录 第一章、公司简介 (5) 第二章、服务内容提要 (7) 第三章、数据库和中间件技术支持与服务详述 (9) 3.1、远程支持服务 (9) 3.1.1、中文电话支持服务(7*24小时) (9) 3.1.2、Email服务(7*24小时) (9) 3.2.现场服务 (10) 3.2.1.数据库、中间件安装调试服务 (10) 3.2.1.1、数据库安装调试服务 (10) 3.2.1.2、中间件安装调试服务 (11) 3.2.2定期系统健康检查服务 (12) 3.2.2.1、数据库方面的健康巡检 (12) 3.2.2.2、中间件方面的健康巡检 (13) 3.2.2.3、操作系统方面的检查 (15) 3.2.3.性能优化服务 (16) 3.2.4.数据库备份恢复策略的制定和测试服务 (18) 3.2.5.数据库和中间件升级及迁移服务 (20) 3.2.6.数据库和中间件应急服务 (20) 3.2.7.重大事件待命服务 (21) 3.2.8、制定数据库和中间件管理规范服务 (21) 3.2.9.其他现场服务 (22) 第四章服务质量保证及验收标准 (23) 4.1、服务项目的组织结构及人员安排 (23) 4.2、客户服务档案 (24) 4.3、服务效果的验收 (25) 第五章赛尔网络服务质量保障体系 (26)

5.1 技术支持总体流程 (26) 5.2 现场支持工作流程 (27) 5.3 健康巡检工作流程............................................................................ 错误!未定义书签。 5.4 重大紧急事件处理流程 (29)

中间件介绍

中间件介绍 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

中间件介绍 1、Ice: ICE(Internet Communications Engine)是ZeroC提供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础对象操作和数据库操作封装在这一层,在业务逻辑层以及表现层(java,php,,python)进行更丰富的表现与操作,从而实现比较好的架构。基于ICE的数据层可以在未来方便的进行扩展。ICE支持分布式的部署管理,消息中间件,以及网格计算等等。 Zeroc推出的一种分布式的面向对象中间件,解决分布式的异构计算。可以用 C++,Java,c#等进行分布式的交互计算。 主要设计目标是: ·成为适用于异种环境的平台。 ·具有一组完整的特性,支持广泛的领域中的实际的的开发。 ·去掉不必要的复杂性,使平台更易于学习和使用。 ·是一种在、内存使用和CPU开销方面都很高效的实现。 ·是一种具有内建安全性的实现,使它适用于不安全的公共网络。 2、JBoss: 是一个基于J2EE的的。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 、EJB 和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。 在J2EE领域,JBoss是发展最为迅速的应用服务器。由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发,这使得JBoss广为流行。 另外,JBoss应用服务器还具有许多优秀的特质。 JBoss运行后后台管理界面 其一,将具有革命性的JMX服务作为其; 其二,本身就是(Service-Oriented Architecture,); 其三,具有统一的类装载器,从而能够实现应用的和热卸载能力。 因此,高度模块化的和松耦合。JBoss应用服务器是健壮的、高质量的,而且还具有良好的性能。 1、JBoss是免费的,J2EE的实现,通过许可证进行发布。但同时也有的,开源和闭源流入流出的不是同一途径。 2、JBoss需要的内存和硬盘空间比较小。 3、安装便捷:解压后,只需配置一些即可。 4、JBoss支持"热部署",部署BEAN时,只拷贝BEAN的文件到部署路径下即可自动加载;如果有改动,也会自动更新。 5、JBoss与Web服务器在同一个中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。

信息化选型分析报告V1.0

信息化选型分析报告 IT信息部:黄浩政 版本:V1.0

目录 一、名词解释: (3) (一) OA: (3) (二) ERP: (3) (三) 企业邮箱 (3) 二、公司背景分析: (3) 三、我司选型软件分析 (5) (一) OA (5) (二) ERP软件对比 (8) 四、实施服务建议 (10) 五、硬件辅助支持 (11)

一、名词解释: (一)OA: OA系统的英文全称是:Office Automation System ,意为办公自动化系统。简单来说就是利用计算机及公共网络来实现企业办公无纸化,将先进的管理思想、管理模式与网络及软件相结合,基于工作流的概念,试企业员工能方便快捷的共享信息、高效的协同工作,提高办公效率的一套工具。 (二)ERP: ERP的全称是:Enterprise Resource Planning,即企业资源计划,由美国GartnerGroup公司于1990年提出的。企业资源计划是MRPⅡ(企业制造资源计划)下一代的制造业系统和资源计划软件。广泛来说,我们平时所说的销售管理、采购管理、成本、财务、生产资源计划、制造、质量管理,实验室管理、业务流程管理、产品数据管理、存货、分销与运输管理、人力资源管理和定期报告系统都属于ERP的范畴。 (三)企业邮箱 企业邮箱是以企业自己的域名为结尾的信箱,企业邮箱作为企业内部办公以及同客户沟通的重要工具,在日常的企业经营管理和商务活动中发挥着越来越重要的作用,因此,无论大中小企业都需要企业邮箱这一沟通工具。目前我司已经有企业邮箱系统。 二、公司背景分析: 泛微:上海泛微网络科技股份有限公司成立于2001年,以企业信息化建设为己任,不仅致力于为用户提供专业、全面、量身订制的企业协同管理软件和应用解决方案,还积极倡导先进的经营管 理思想,引领企业数字化革命、提升核心竞争力! 泛微是业界领先的协同管理系统和解决方案供应商,凭借成熟的技术核心及雄厚的研发力量,基于先进的协同管理理念,自主研发了协同管理产品系列,包括泛微协同管理平台(e-cology)、泛微协同办公系统标准版(e-office)产品系列,涵盖OA(协同办公)、EIP(企业信息门户)、

中间件的历史与发展

中间件的历史与发展 1. 由来 中间件在实际的应用过程中,是对应用软件起到支撑作用,最终用户并不直接使用中间件,中间件不是大众消费类软件产品。因此,除非是一个行业专业人士,一般不大可能与中间件打交道,不太了解什么是中间件。 因此,在系统软件之中,操作系统、数据库、中间件的三驾马车,中间件是最神秘的。因为,好歹大家通过Windows基本上会了解操作系统是个什么东西,尽管不会很全面,很专业,毕竟是有感觉的。数据库,虽然没有直接见过,但基本上明白数据是要一个仓库来储存的,因此,也大致知道数据库管理系统是干什么的。 长期以来,中间件是一个专业化非常强的细分产业。因为中间件的技术门槛比较高,玩家也不多,无论是国外还是国内都是如此。因此,行业内对什么是中间件并不特别在意。而公司名称直接叫中间件的就更少了,另一方面,因为中间件软件还处于发展阶段,还没有完全成熟,因此对中间件的定义也就没有深究,或者权威的说法。 但现在情况有点变化,其中一个原因在于2008年底,国家启动了核高基重大科技专项,在基础软件领域明确提出重点支持操作系统、数据库、中间件、文字处理等基础软件产业的自主创新,几乎一夜之间大大小小的软件公司都宣称是做中间件的了,只要不是做最终应用软件的,他们的产品都叫中间件了,一时间,中间件变得蓬勃发展起来了。 作为中间件行业内的专业化和领先企业来说,大家都重视起中间件来了,这是好事,说明社会上重视了。对行业的发展和繁荣固然重要,但这也隐含了重大的风险。中间件名字被滥用,无论是对用户,对这个产业,对政府和投资人来说,都会有负面的影响。鱼目混珠,泥沙俱下的局面,对中间件产业的正常发展未必就是好事情了,也可能对真正的中间件自主创新带来许多困扰,模糊了中间件的本质,可能会弱化中间件核心技术的创新和发展。 因此,在这种情况下,无论是对行业内,还是行业外,突然什么是中间件的问题变成了一个大问题了。 本文试图就中间件的来龙去脉,外延内涵和前世今生,来一个全面的阐释。一家之言,权作业界参考,希望带动大家做一些深入的思考。

数据库中间件及其几种技术比较

数据库中间件及其几种技术比较 摘要:本文阐述了数据库中间件的概念,功能,原理,介绍了现今数据库中间件的几种主要技术,并进行了比较。 关键字:数据库中间件 1、数据库中间件的基本概念 数据库中间件是处于底层数据库和用户应用系统之间的,主要用于屏蔽异构数据库的底层细节问题的中间件,是客户与后台的数据库之间进行通讯的桥梁。当客户向Web Server发出对某个数据库的SQL请求时,通过数据库中间件搜索匹配的数据库连接,并将SQL请求转发给对应的数据库服务器,通过其对数据库进行操作。 数据库中间件的主要功能:(1)支持常用大型数据库的各种操作。如ORACLE ,DB2, MYSQL等常用数据库。(2)提供统一接口, 屏蔽数据库之间的操作差异。(3)封装复杂烦琐的数据库应用接口和数据库操作过程,简化应用程序的数据库操作, 提高应用程序开发效率。(4)支持常用的操作系统。如Windows、UNIX、Linux 等,便于应用代码在各平台之间的移植。(5)支持多线程, 可以提供多线程与线程库, 满足各种场合应用。 数据库中间件(UniWeb Server)工作原理:让其作为前端的客户与后端的数据库之间进行通信的桥梁,当客户向数据库中间件发出对某个数据库的SQL请求时数据库中间件搜索当前可用的与该数据库的连接(UniTcl Server) 通过UniTcl Server将SQL请求转发给对应的数据库服务器,数据库服务器执行SQL语句后将结果通过UniTcl Server 返回给数据库中间件,再由它返回给客户整个数据库中间件的体系结构采用的是三层(Three-tier)客户机/服务器模型,中间件与各个客户的数据通信采用流套接字(Stream Socket)机制实现并

TUXEDO中间件介绍及应用

TUXEDO中间件介绍及应用 一、前言 首先介绍一下什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性: ●缩短应用的开发周期 ●节约应用的开发成本 ●减少系统初期的建设成本●降低应用开发的失败率●保护已有的投资●简化应用集成 ●减少维护费用 ●提高应用的开发质量●保证技术进步的连续性●增强应用的生命力 Tuxedo是第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于A T&T的贝尔实验室开发完成的,但Tuxedo在很长一段时期里只是实验室产品。直到BEA公司1995年收购Tuxedo后,使Tuxedo现已经发展成为交易中间件领域事实上的标准。 TUXEDO是在企业、Internet 这样的分布式运算环境中,开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。 二、TUXEDO的组件软件模型 TUXEDO采用三层结构的组件软件模型。 图1 BEA TUXEDO 的组件软件模型概要

技术架构选型方案报告

最高院执行项目 技术架构选型方案Fantasy 2011年8月25日

目录 总体架构!2整体系统描述 2架构选型!4 JDK选型(JDK1.6_22 32位) 4 IOC容器选型(Spring3.0.5.RELEASE) 5 ORM选型(MyBatis) 6 MVC选型(SpringMVC) 7认证和权限选型(shiro1.1 + ralasafe 1.1) 8前台组件选型 11案件导入导出架构设计!12总体架构设计 12客户端功能结构 13技术实现方式 14

总体架构 整体系统描述 系统架构图总揽 展示层 :主要面向B/S架构,展示层主要由web资源文件组成,包括JSP,JS 和大量的界面控件,同时还采用了AJAX和Flex等RIA技术,负责向用户展现丰富的界面信息,并执行用户的命令 控制层:负责展示层请求的转发、调度和基础验证,同时自动拦截后台返回 的Runtime异常信息。 领域层:是系统最为丰富的一层,主要负责处理整个系统的业务逻辑。这一 层包括业务服务和领域对象,同时负责系统的事务管理。其中业务服务可以提供本地调用和共享远程服务的功能。

数据访问控制层:数据访问层的目的很明确,主要作为提供数据持久化的功 能,包括数据的读取和写入,操作数据库的方法可以有两种方式ORM方式,ralasafe封装的方式。 公共基础设施层:可以包括Common通用模块,IOC模块,Logging日志模块, Exception异常模块和单元测试模块。

架构选型 1.JDK选型(JDK1.6_22 32位) JDK1.5、JDK1.6和JDK1.7选型 测试 1.增加5百万条String数据 测试 2.增加5百万数据到ArrayList中,并且插入时有额外的计算测试 3. HashMap 有5百万 keys, values. 每对key, value是通过并发线程计算 (这个测试主要测试计算和并发能力) 测试 4.把ArrayList长度位5百万的列表,插入1000个文件中,再从 1000个文件中读取放入到列表中。 (测试多核并发边缘) 从性能上看,JDK1.7 > JDK1.6 > JDK1.5

中间件定义及分类

中间件定义及分类 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。 按照IDC的分类方法,中间件可分为六类。 1.终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作; 2.数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。 3.远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程; 4.消息中间件:用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用程序之间的协同。这是中间件中唯一不可缺少的,是销售额最大的中间件产品,主要产品有国内东方通科技公司的TongLINK、BEA公司的BEA eLink 、IBM公司的MQSeries等,目前在Windows 2000操作系统中已包含了其部分功能。 5.交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。在联机事务处理系统 (OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。根据X/OPEN的DTP(Distributed Transaction Processing )模型规定,一个分布式交易处理系统应由事务处理、通信处理以及资源管理三部分组成。BEA公司的TUXEDO便是最著名的一个交易中间件产品,东方通科技公司的TongLINK 和TongEASY实现了DTP参考模型规定,另外还有IBM公司的TXSeriers是应用广泛的一个交易中间件产品。 6.对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用,在这个方面遵循的标准是 CORBA。对象中间件将是未来的主流,目前产品如东方通的TONG BROKER,INPRICE公司的Borland Application Server。 当然,IDC的分类并不能包含目前所有的中间产品,比较流行的还有: Web服务器中间件 浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受HTTP协

相关主题
文本预览
相关文档 最新文档