什么是中间件?

-  作者:浪花
--  发布时间:2005-1-10 23:53:00

--  什么是中间件?
一、为什么要中间件

计 算机技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出 现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存 在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格 各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。

二 什么是中间件

为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。

图1 中间件

也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点:

满足大量应用的需要
运行于多种硬件和OS平台
支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互
支持标准的协议
支持标准的接口

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

三、主要中间件的分类

中 间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次 上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之 为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:

远程过程调用(Remote Procedure Call)
面向消息的中间件(Message-Oriented Middleware)
对象请求代理(Object Request Brokers)

它 们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如 事务处理监控器、分布数据访问、对象事务管理器OTM等。平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的 服务组件等,用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代码不用调用框架,用户程序也不必 关心框架结构、执行流程、对系统级API的调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植 性。

下面,针对几类主要的中间件分别加以简要的介绍。

1、远程过程调用

远程过程调用是一种广泛 使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。事实上,一个 RPC应用分为两个部分:server和client。server提供一个或多个远程过程;client向server发出远程调用。server和 client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的stub和运行支持提供数据转 换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里RPC通讯是同步的。采用线程可以进行异步调用。

在RPC模型中, client和server只要具备了相应的RPC接口,并且具有RPC运行支持,就可以完成相应的互操作,而不必限制于特定的server。因此, RPC为client/server分布式计算提供了有力的支持。同时,远程过程调用RPC所提供的是基于过程的服务访问,client与server进 行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。比如,RPC通常需要一些网络细节以定位server;在client发出请求的同时,要 求server必须是活动的等等。

2、面向消息的中间件

MOM指的是利用高效可靠的消息传递机制进行平台无关的数 据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程 序、硬件和软件平台。目前流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。消息传递和排队技术有以下三个

主要特点:

通讯程序可在不同的时间运行 程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。

对应用程序的结构没有约束 在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。

程序与网络复杂性相隔离

程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。

3、对象请求代理

随 着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。1990年底,对象管理集团OMG首次推出对象管 理结构OMA(Object Management Architecture),对象请求代理(Object Request Broker)是这个模型的核心组件。它的作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。CORBA规范包括了ORB的所有标准 接口。1991年推出的CORBA 1.1 定义了接口描述语言OMG IDL和支持Client/Server对象在具体的ORB上进行互操作的API。CORBA 2.0 规范描述的是不同厂商提供的ORB之间的互操作。

对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环 境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接 受其他对象的响应,这些对象可以位于本地也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果 等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、 使用什么操作系统或其他不属于对象接口的系统成分。

值得指出的是client和server角色只是用来协调对象之间的相互作用,根 据相应的场合,ORB上的对象可以是client,也可以是server,甚至兼有两者。当对象发出一个请求时,它是处于client角色;当它在接收请 求时,它就处于server角色。大部分的对象都是既扮演client角色又扮演server角色。另外由于ORB负责对象请求的传送和server的管 理,client和server之间并不直接连接,因此,与RPC所支持的单纯的Client/Server结构相比,ORB可以支持更加复杂的结构。

4、事务处理监控

事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需 求,比如商业活动中大量的关键事务处理。事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体 性能。它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控有以下功能:

进程管理,包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。
事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。
通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。
事 务处理监控能够为大量的client提供服务,比如飞机定票系统。如果server为每一个client都分配其所需要的资源的话,那server将不堪 重负(如图2所示)。但实际上,在同一时刻并不是所有的client都需要请求服务,而一旦某个client请求了服务,它希望得到快速的响应。事务处理 监控在操作系统之上提供一组服务,对client请求进行管理并为其分配相应的服务进程,使server在有限的系统资源下能够高效地为大规模的客户提供 服务。

图2 事务处理监控

四、面临的一些问题

中 间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序了一个相对稳定的高 层应用环境。然而,中间件服务也并非“万能药”。中间件所应遵循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的API和专有的协议,使得 应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。应用开发者在这些 中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展他们往往还需重写他们的系统。尽管中间件服务提高了分布计算的抽象化程度,但应用开发 者还需面临许多艰难的设计选择,例如,开发者还需决定分布应用在client方和server方的功能分配。通常将表示服务放在client以方便使用显 示设备,将数据服务放在server以靠近数据库,但也并非总是如此,何况其它应用功能如何分配也是不容易确定的。


--  作者:浪花
--  发布时间:2005-1-11 0:06:00

--  
中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的.

那什么是中间件?

我们来看看以下的几种定义:
http://middleware.internet2.edu/ 给出了middleware的一个定义:
Middleware, is a layer of software between the network and the applications. This software provides services such as identification, authentication, authorization, directories, and security. In today/'s Internet, applications usually have to provide these services themselves, which leads to competing and incompatible standards. By promoting standardization and interoperability, middleware will make advanced network applications much easier to use.
同样,IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

从这些定义中可以看出:
– 中间件是一类软件,而非一种软件;
– 中间件不仅仅实现互连,还要实现应用之间的互操作;
– 中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

接着,我们再来看看什么是Web Services?
Web Services就是可以通过web描述、发布、定位和调用的模块化应用。Web Services可以执行任何功能,从简单的请求到复杂的业务过程。一旦Web Services被部署,其他的应用程序或是Web Services就能够发现并且调用这个部署的服务。
Web Services通过简单对象访问协议 (Simple Object Access Protocol,SOAP)来调用。SOAP是一种轻量级的消息协议,它允许用任何语言编写的任何类型的对象在任何平台之上相互通信。SOAP消息采用 可扩展标记语言(XML)进行编码,一般通过HTTP进行传输。与其它的分布式计算技术不同,Web Services是松耦合的,而且能够动态地定位其他在internet上提供服务的组件,并且与它们交互。
Web Services使用诸如SOAP消息这样的XML消息,通过一种良好定义的消息交换模式来调用。通过描述调用服务所必需的数据,Web Services描述语言 (WSDL)文档定义了消息交换模式。
一、组件概念
  简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。
  组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。
  组件是C++ Builder环境中最令人激动的部分。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。VCL和CLX组件是C++ Builder系统的核心。
二、组件应用
  使用现成的组件来开发应用程序时,组件工作在两种模式下:设计时态和运行时态。
  在设计时态下,组件显示在C++ Builder窗体编辑器下的一个窗体中。设计时态下组件的方法不能被调用,组件不能与最终用户直接进行交互操作,也不需要实现组件的全部功能。
  在运行状态下,组件工作在一个确实已经运行的应用程序中。组件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他组件之间有效的协同工作。
  设计时态下所有的组件在窗体中都是可见的,但在运行时态下不一定可见。如TTable、TQuery和TDataSet在运行时态下就不可见,但他们均完成了重要的功能。
三、组件创建
  创建组件就是自行设计制作出新的组件。
  设计组件是一项繁重的工作。自行开发组件与使用组件进行可视化程序开发存在着极大的不同,要求程序员熟知原有的VCL类库结构,精通面向对象程序设计。
   设计组件是一项艰苦的工作。对于组件的开发者,组件是纯粹的代码。组件的开发不是一个可视化的开发过程,而是用C++或Object Pascal严格编制代码的工作。实际上,创建新组件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。
  创建组件的最大意义在于封装重复的工作,其次是可以扩充现有组件的功能。
  组件创建过程包括设计、开发、调试(就是所谓的3D/'s)工作,然后是组件的使用。
  组件开发者应该掌握的三项主要内容是:属性、事件和方法。

http://www.vchome.net/dotnet/webservice/webservice15.htmhttp://www.csdn.net/develop/read_article.asp?id=15399
模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。

Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。

模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。

什么是框架?

框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

构 件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、 软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生 成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。
--  作者:浪花
--  发布时间:2005-1-11 0:07:00

--  
什么是中间件
(仲季 2001年07月20日 14:36)

中 间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、 网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

最 早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产 品。Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成 功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收 购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件 厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世界范围内 中间件的初创时期。东方通科技早在1992年就开始中间件的研究与开发,1993年推出第一个产品TongLINK/Q。可以说,在中间件领域国内的起步 时间并不比国外晚多少。


--  作者:浪花
--  发布时间:2005-1-11 0:09:00

--  
中间件的演变过程
(仲季 2001年07月20日 15:48)

随着计算机技术的发展,IT厂商出于商业和技术利益的考虑,各自产品之间形成了差异,技术在不断进步,但差异却并没有因此减少。计算机用户出于历史原因和降低风险的考虑,必然也无法避免多厂商产品并存的局面。

于是,如何屏蔽不同厂商产品之间的差异,如何减少应用软件开发与工作的复杂性,就成为技术不断进步之后,人们不能不面对的现实问题。

显然,由一个厂商去统一众多产品之间的差异是不可能的,而单独由计算机用户在自己的应用软件中去弥补其中的大片空档,由于技术深度和技术广度的要求,必然也是勉为其难。于是,中间件应运而生。中间件试图通过屏蔽各种复杂的技术细节使技术问题简单化。

在 中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如 操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。这些与用户的业务没有直接 关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的 部分,供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软件。



--  作者:浪花
--  发布时间:2005-1-11 0:10:00

--  
间件解决什么问题
(仲季 2001年07月20日 15:48)

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

· 缩短应用的开发周期

· 节约应用的开发成本

· 减少系统初期的建设成本

· 降低应用开发的失败率

· 保护已有的投资

· 简化应用集成

· 减少维护费用

· 提高应用的开发质量

· 保证技术进步的连续性

· 增强应用的生命力

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

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

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



--  作者:浪花
--  发布时间:2005-1-11 0:11:00

--  
几种中间件
简析通科技五类中间件产品
(作者:杨桦 2000年07月06日 10:35)



  从技术上讲,中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

  ◆采用中间件的十大理由

   1应用开发:The Standish Group分析了一百个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例,发现了一个有趣的平均百分比,其中,业务逻辑程序、应用逻辑程 序仅占总程序量的30%,而基础程序却占了70%!若是以新一代的中间件系列产品来组合应用,同时配合以可复用的商务对象构件,则应用开发费用可节省至 80%。

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

  3开发周期:时间限制是所有应用系统开发项目的天敌,而基础软件的开发又是一件极耗时的工作,若使用标准商业中间件则可缩短开发周期50-75%。

   4减少项目开发风险:The Standish Group对项目失败的定义是:项目中途夭折、费用远远超过预算、无法准时完成项目和偏离既定的目标。研究表明,没有使用标准商业中间件的关键应用系统开 发项目的失败率高于90%。而且,企业自己开发内置的基础(中间件)软件是得不偿失的,项目总的开支至少要翻一倍,甚至会十几倍。

  5合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或遗留系统之上或之外增加新的功能模块,并将它们与原有系统无缝集合。

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

  7系统维护:每年维护自我开发的基础(中间件)软件的开支是当初开发费用的15%至25%,每年应用程序的维护开支也还需要当初项目总费用的10%至20%。

   8质量:基于企业自我建造的基础(中间件)软件平台上的应用系统,每增加一个新的模块,就要相应地在基础(中间件)软件之上进行改进。The Standish Group在调研过程中,曾在某个企业中的一个应用系统里,发现了有多达1万7千多个模块接口,而标准的中间件在接口方面都是清晰和规范的,可以有效地保 证应用系统质量及减少新旧系统维护开支。

  9技术革新:企业对自我建造的基础(中间件)软件平台的频繁革新是不容易实现的,也是不实际的,而购买标准的商业中间件,则对技术的发展与变化可以极大地增强其适应性。

  10增加产品吸引力:不同的商业中间件提供有不同的功能模型,合理地使用,可以让用户的应用更容易增添新的表现形式与新的服务项目,从而使得企业的应用系统更完善、更出众。

  ◆几种中间件

  1.消息中间件TongLINK/Q

   TongLINK/Q是面向消息的中间件。它的主要功能是在不同的网络协议、不同的操作系统和不同的应用程序之间提供可靠的消息传送。 TongLINK/Q提供一个简单易用、高效可靠的分布式应用开发和运行平台,也提供一个分布式应用管理平台。它通过事件代理机制,为信息的订阅和发布提 供一种简便的开发模型。

  TongLINK/Q 体系结构图

  TongLINK/Q具有以下功能:

  * 高效、可靠、灵活的传输功能

  * 事件代理机制

  * 高效的请求队列

  * 良好的易用性和可管理性

  * 支持多种开发工具

  * 多平台支持

  

  2.交易中间件TongEASY

   TongEASY是面向交易处理的中间件。它负责正确传递交易,对交易完整性进行管理,调度应用程序的运行,保证整个系统运行的高效性。根据 X/Open DTP 模型,本地交易的管理由数据库系统来完成,交易中间件主要完成分布式计算环境下交易的监控和管理。数据库虽然在本地交易管理的功能已经很强大,但透过一个 广域网进行分布式交易管理并不是数据库的强项,特别是一笔交易涉及到异构数据库时更是如此。TongEASY把自己的交易管理功能和数据库的交易管理功能 有机地结合在一起,实现对分布式交易的全局管理。

  TongEASY体系结构图

  3.对象中间件TongBroker

   TongBroker是新一代面向对象中间件产品,符合分布对象标准规范CORBA2.x。它类似于软总线,产品解决面向对象、数据一致性、应用集成等 关键任务的需求。TongBroker继承了东方通科技现有中间件产品TongLINK/Q和TongEASY的主要优点,对其他对象产品、传统应用及其 相应的应用环境具有良好的包容性。它提供了高效的分布对象计算平台,对企业关键业务有良好的支持,符合国际主流标准,支持Internet应用,具有高效 的应用管理功能,同时也具有良好的系统伸缩性、优良的互操作性和应用集成能力。

  产品组成:

  TongBroker体系结构图

  4.安全平台TongSEC

   安全平台TongSEC是以公钥基础设施(PKI)为核心、建立在一系列相关国际安全标准之上的一个开放式应用开发平台。它向上为应用系统提供开发接 口,向下提供统一的密码算法接口及各种IC卡、安全芯片等设备的驱动接口。基于安全平台,TongSEC可以开发、构造各种安全产品或具有安全机制的用户 应用系统,如:用于文件加密的安全工具、安全网、公证系统(CA)、虚拟专网(VPN)等。如下图所示:

  

  TongSEC是以PKI为基础的安全产品,组件包括:

  * TongSEC/PKI

  * TongSEC/LDAP

  * TongSEC/CARD

  * TongSEC/MAIL

  * TongSEC/FILE

  5.通用代理业务平台ezBanker

   ezBanker采用Client/Server结构,基于中间件TongLINK/Q和TongEASY设计,是针对银行代理业务的平台类软件。这里 所说的代理业务,包括银行代收电话费、水电费、税费、交通罚款等,具有业务品种多、客户面广、数据量大、相对独立于银行传统业务的特点。

  ezBanker采用模块化设计,具有很强的通用性、兼容性和可扩充性,使用户不用经过烦琐的编程,便能够方便地通过选单配置生成各种代理业务品种,以适应各行业的需要。ezBanker独立于银行的现有业务系统,通过接口方式访问银行主机系统。

  ezBanker的银行业务系统示意图

  产品特点:

  * 统一使用接口,模块化结构

  * 兼容性、通用性、易操作性

  * 安全性、可扩充性


--  作者:浪花
--  发布时间:2005-1-11 0:13:00

--  
以下内容含脚本,或可能导致页面不正常的代码
说明:上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.

--  作者:浪花
--  发布时间:2005-1-11 0:18:00

--  
NetPOWER中间件平台功能介绍

NetPOWER中间件平台功能介绍


编 者按:中间件是近年来软件业的热点话题,各厂商对于中间件产品的定义、分类和理解,也不尽相同。从市场对中间件产品的旺盛需求与诸多疑惑并存的现状来看, 这个领域存在的问题也需要进一步划分和明晰。由北京综艺达软件技术公司开发的NetPOWER是最近出现在中间件市场的一支新生力量,它将消息、数据和事 务处理等功能集于一身,为中间件产品提出了走向集成、走向整合的新思路。目前市场上也有专用的中件间产品,如CTI中间件,但其功能相对还是比较单一。 NetPOWER则是融合了CTI技术和Internet技术,不仅使中间件产品有可能向平台化的方向发展,同时也为CTI技术和Internet技术提 供了更广阔、更有效的应用空间。本期报道除了对中间件技术和产品做基本的介绍之外,还对NetPOWER这款产品的市场价值和功能进行了较为详细的描述, 旨在帮助广大企业用户实现真正的融合通信和管理。

NetPOWER是我国具有自主知识产权的、在Inetnet上应用的商品化中间件平台。NetPOWER基于Microsoft.NET标准,面向大型企业和软件开发商,用于构建企业信息管理系统(包括ERP、SCM、CRM、DRP等)和电子商务解决方案。

NetPOWER解决了三个重要问题: 第一,将本地局域网络的软件开发方式直接在Web上实现,可以在基于互联网的窄带条件下实现Web化应用; 第二,简化了网络化的编程,用户可以不用考虑网络传输和安全等复杂问题; 第三,快速完成互联网应用软件的客户化订制。

NetPOWER具备以下主要特点:

  • 100%纯正B/S模式,N层(四层以上)体系结构,全面支持Internet和移动通信,可挂接各种大型数据库系统;
  • 完全组件式开发环境,通信管理、交易管理、并发机制、事务处理、数据存取、消息驱动、负载均衡等关键性业务过程全部封装;
  • 客户化二次开发环境,可自定义企业应用模型、商务逻辑、业务流程、表单格式、权限组管理等各种业务规范;
  • 分布式订单管理,可为多个应用、多个部门和多个企业之间收集、管理和处理订单;
  • 物流管理能力,支持各种成本核算方法、单品管理、单据全程跟踪和历史动态库存;
  • 支持工作流管理和各职能部门(如生产、销售、服务)之间的全面协同工作;
  • 支持集群技术和离线处理,包括群集自动部署、自动迁移和故障监控与恢复、远程双向数据同步技术;
  • 良好的系统稳定性和容错能力,客户化开发过程和结果不影响系统核心模块和数据的稳定性和安全性;
  • 支持窄带条件下的数据传输和实时应用,提供企业级网络安全保障;
  • 面向大型应用的开放式结构,易于构建和管理同国内外各种大型应用系统的数据接口和实现动态数据交换;
  • COM API支持C/C++/VB/ASP/Java/Delphi等各种开发工具,易学易用,结合数据词典和开发向导,实现快速开发的目标。

    NetPOWER 以新的B/S技术构架为起点,完全支持N层(四层以上)体系结构,直接支持COM和DCOM组件,为用户进行新的Web信息系统的开发提供了快速的构建工 具。NetPOWER在数据库系统基础上,将通信机制、数据传输、消息机制、事件并发和事务处理进行了封装,开发人员不必了解网络通信、事务处理、安全保 证等复杂机制。对于开发人员而言,只要掌握了系统的商务逻辑和业务流程,熟悉使用FrontPage一类页面设计软件,就可以开发出优秀的系统。 NetPOWER的COM API支持C、C++、VB、ASP、Java、Delphi等各种开发工具。

    NetPOWER可以支持用户自己的组件对象的嵌入,可以回调用户自己定义的方法,同时支持用户对NetPOWER和COM对象的交互递归调用,完成复杂的用户交互和商务逻辑中需要解决的问题。

    NetPOWER 可自动捕获错误,并处理用户对象的错误信息。用户不会由于自己的错误而影响整个系统。NetPOWER支持事务处理,对于用户错误,系统会自动进行回转处 理,保证了系统的稳定和安全。NetPOWER支持应用服务器集群,可自动平衡应用服务器负载,在应用层设立本地数据库,减少核心资源数据库的负荷,支持 大规模并发用户。

    什么是中间件

    在众多关于中间件的定义中,普遍被接受的是美国IDC公司的表述:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

    从 中间件的定义可以看出,中间件是一类软件,而非一种软件; 中间件不仅仅实现互连,还要实现应用之间的互操作。中间件是基于分布式处理的软件,定义中特别强调了其网络通信功能。中间件是基础软件的一大类,属于可复 用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,在应用软件的下层,总的作用是为处于自己 上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

    可以把中间件理解为处于应用软件和系统软件之间的一类软件; 或者是独立于硬件或数据库厂商(处于其产品的中间,实现其互连)的一类软件; 或者是客户方与服务方之间的连接件; 或者是需要进行二次开发的中间产品。总之,中间件是在中间。

    但是,不能把难以归类的软件都归到中间件的范畴。许多组织和专家都对中间件下过定义,但都不太精确,所以经常会有“什么是中间件”这样的问题,这也正说明中间件正在迅速发展。

    中间件的分类

    中间件的分类方式很多,有些软件在中间件的概念产生以前可能就已经存在了;有些软件虽然不是作为中间件开发出来的,但是符合中间件的定义,也把它归入中间件的范畴;有些软件,尽管具有中间件的特征,但却并不把它叫做中间件(如HTTPD)。

    按照IDC的分类方法,中间件可分为6类:

    1.终端仿真/屏幕转换中间件

    用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作。

    2.数据访问中间件

    适用于应用程序与数据源之间的互操作模型,客户端使用面向数据库的API,以提请直接访问和更新基于服务器的数据源,数据源可以是关系型、非关系型和对象型。

    3.远程过程调用中间件

    基于RPC机制,该机制是早期开发分布式应用时经常采用的一种同步式的请求应答协议。通过这种协议,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程。

    4.消息中间件

    越来越多的分布式应用采用消息中间件来构建,并通过消息中间件把应用扩展到不同的操作系统和不同的网络环境。基于消息的机制更多地适用于事件驱动的应用,当一个事件发生时,消息中间件可通知服务方进行何种操作。

    5.交易中间件

    交易中间件是专门针对联机交易处理系统而设计的。通过两个阶段提交协议等方式,可保证分布式交易的完整性、控制并发、实现交易路由和均衡负载。

    6.对象中间件

    面 向对象的技术一直是软件界努力追求的目标,传统的对象技术通过封装、继承及多态提供了良好的代码重用功能。但这些对象只存在于一个程序中,外面的世界并不 知道它们的存在,也无法访问它们。面向对象的中间件就是要解决这些问题,它提供一个标准的构件框架,能使不同厂家的软件通过不同的地址空间、网络和操作系 统互相交互访问。该构件的具体实现、位置及所依附的操作系统,对客户来说都是透明的。

    中间件的演变过程和发展趋势

    随 着计算机技术的发展,IT厂商出于商业和技术利益的考虑,各自的产品之间形成了差异。虽然技术在不断进步,但差异却并没有因此减少。计算机用户出于历史原 因和降低风险的考虑,必然也无法避免多厂商产品并存的局面。于是,如何屏蔽不同厂商产品之间的差异,如何减少应用软件开发与工作的复杂性,就成为技术不断 进步之后,人们不能不面对的现实问题。

    在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等进行开发。这些都是计算机最底 层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不 一致性、性能和效率、安全问题等。这些与用户的业务没有直接关系,但又必须解决,因此耗费了大量有限的时间和精力。于是,有人提出,能不能将应用软件所要 面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,以供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类软件。

    根 据有关组织的预测,消息中间件和对象中间件是目前中间件技术的发展热点。中间件的另一个发展动向是向Internet 延伸,Internet/Intranet 技术在全球范围内被广泛采用,但由于其自身的技术特点,在构造许多大型企业级应用时仍显不足,如并发控制、负载均衡、可靠传输、数据路由等,因而仍然存在 供中间件发展的中间地带。


--  作者:浪花
--  发布时间:2005-1-11 0:20:00

--  
关于中间件开发

上海亚士帝信息工程公司 居德华教授
IEEE Software 工业顾问
2001.10

内 容
背景
什么是中间件
建议的研究开发策略
重点开发电子商务和企业应用集成(EAI)中间件
数据库中间件
信息中间件(MOM)
事务处理监程(TPM)中间件
分布对象中间件
企业应用集成(EAI)中间件
财务系统中间件
无线应用中间件
分布实时控制中间件
嵌入式中间件
自适应(Adaptive)/反射(Reflective)中间件
集成开发工具的需要
如何制定一个中间件研发计划
中间件的评估
中间件技术的传播和培训
附录一。 数据库中间件产品
附录二。国外中间件技术培训内容和大纲参考
附录三。国外著名中间件开发商
附录四。Steria 公司的企业集成解决方案
附录五。推荐参考资料
附录六。财务中间件产品
关于中间件开发
上海亚士帝信息工程公司 居德华教授
IEEE Software 工业顾问

背景
网 络经济时代的来临,使企业面临信息化的挑战,如何利用信息技术,将不同的应用系统集成为一个高效的整体,采纳现代的管理理念和方法,消除信息孤岛现象,及 时将关键信息服务送到一线的工作人员的手中,成为企业提高市场竞争力的关键,Internet 技术的广泛应用,使企业能通过其内部或外部网(Intranet/Extranet),实施面向业务流程的管理、重整和自动化 (BPM/BPR/BPA),进入所谓的电子商务时代,为推进这一目标,企业的应用集成(EAI)成为当前一个技术关键和热点,而EAI的核心技术就是通 过中间件完成跨平台的应用集成。现代的企业网络应用,基本上都采用多层结构,这就更加重了中间件的必要性,中间件的选择显然与要跨接的应用相关,关键的考 虑点是如何采用开放的接口和协议。
中间件是个大市场,1999年为27亿美元,2004年预计达97亿美元,增加2。5倍,EAI市场 2000年为37亿美元,今年为48亿美元,2006年将达到110亿美元,可以看出主要为中间件的产出,令投资者刮目相看,网络公司的下挫,曾一度使中 间件厂商的股票也受牵连,但由于中间件市场的利润很快地增长,又带动中间件股票的反弹,如BEA和Mercator的增长率均超过80%,而Tibco高 达 157%,后者的股票从$147, 跌到$45后, 又反弹至$110。
由于技术和应用领先,中间件市场目前主要仍由美国垄断,占据的市场份额达 75%,其中北美市场额占了 50%,能与美国厂商抗争的为德国的Software AG和 Hitachi,如何冲破这一垄断,是我们必须考虑的问题。
选择中间件作为软件技术研究开发的突破口是很正确的,因为它是当前分布网络计算的核心技术之一,特别它与企业应用集成(EAI)密切相关,在实施《信息化推动工业化》国策的今天,更有其明确的现实意义。

什么是中间件
中间件是分布计算机系统中集成各个组成的软件粘接剂。
也有人把中间件定义为网络环境中一组为许多应用需要的、可复用和可扩充的服务或(资源相关的)功能。
"Middleware can be viewed as a reusable, expandable set of services and functions that are commonly needed by many applications to function well in a networked environment".
至今很难给出一个精确的定义和界限其范围,大家发现每个人在谈论中间件时,常关系到他所涉及特定的范围,常常与应用相关,也有人企图将中间件分层,但发现这样做并不带来很多好处,因此,有人干脆认为中间件是一组正交的非结构化的集合,按领域划分或许更方便。
但也有许多人,把中间件看成是介于应用和平台之间的一个中间层,它们又可区分上层与特定应用相关的中间件,中间层是较通用的一类中间件,底层则是与特定平台和资源相关的中间件。
可区分中间件的几种形式:
● 面向信息的中间件(MOM)
● 远程过程调用(RPC)
● 分布计算环境(DCE)
● 对象请求中介(ORB)
● 数据库中间件
● 事务处理监程(TP Monitor)
中 间件存在几条技术主线,包括:Enterprise JavaBeans (EJB), DCOM, CORBA and DCE,但各有特点和长处,均有其自身的生命力,目前较公认的看法,多种技术还要共存一段时间,主张百花齐放,让其自然发展,不过早作选择决定,当然这种 多技术共存的局面,也为集成带来更多的投资和技术要求,另外要关心的问题是,互易操作性、安全性和可管理性。为减少集成的困难,工业组织有个开放集团 (Open Group),它有个互易操作性保证程序(IAP--The Interoperability Assurance Program),保证不同厂商间的产品容易集成。
中间件是现代Internet应用的一个重要组成部分,许多方面还有待研究,包括组织各方 面人员的联合研究,主要研究问题有:共同的结构框架、标准、核心中间件的识别、需要进一步研究的工作(近远期),包括对一些未来新兴的高级应用环境,如 Grid Forum, the PACIs, NGI, Internet2 等。

建议的研究开发策略
国家的有力资助, 将有利推动我国中间件技术的发展,我们当然希望我国的软件企业能开发出有高竞争力、可获得广泛应用、具有自主版权的中间件产品,但对这个问题,我们也要抱 一个实事求是的态度和估计,中间件技术主要从90年代发展起来,但其技术和应用基础,还可追溯到更早时期,这也是为什么美国在中间件领域占优的重要原因, 应当承认,我国在中间件技术研究和应用方面,还有较大差距,要赶上去,还需要一段相当长的过程,需要艰巨的投入和努力,对此,应有充分的估计。为此,我们 建议对中间件的研究开发,应有个长期发展规划,既要有雄心壮志,也要按规律办事,有阶段分目标、循序渐进地发展。
一个良好的研究开发计划,最 好事先有明确的思路、目标和研究框架,但这次项目的建立,主要是政府的推动,这本身是一件好事,但也给人比较仓促和准备不充分的感觉,如果仅按临时拍脑袋 的做法,确定研究方向和课题,不仅有些盲目和欠成熟,容易走弯路和造成不必要的资源和时间损失,为此,我们建议同时采用自顶向下和自底向上的平行策略:
自顶向下 – 认识到发展中间件技术是一个长期过程,必要的规划是不可避免的,建议把技术规划列为项目的软课题之一,组织专家或专题兴趣小组,对技术和应用现状作系统调 研,在此基础上,确定研究方向和路线,以及选定研制关键的中间件,由于中间件涉及标准,牵涉面又广,通过规划建立一个中间件结构框架,和确定一个较完整的 产品谱,十分必要,关于如何做规划,我们将在后面有专门一节叙述;
自底向上 – 为避免在规划未出来之前,不必要的等待,应根据目前国内已有基础和应用需要,允许各企业和研究单位,提出方向和目标明确的研究开发课题,列进项目支持的内容,以发挥各家的积极性,但单有这一面,可能缺乏系统性。
中 间件由于涉及面较广,我们很难全面开花,为此,我们建议在研发上,应突出重点,由于中间件的重要应用领域是企业应用集成(EAI),而我国又已明确《信息 化带动工业化》的国策,企业信息化将是下一阶段的一个重大应用方向,考虑中国由于受现成系统束缚较小,有可能直接跨代进入电子商务时代,建议重点开发与 EAI和E-Business相关的中间件。
考虑到即使本项目取得重大进展,也不可能覆盖中间件所有领域,我们在应用中间件时,仍不可避免会 使用到国外许多先进的中间件产品,特别是许多中间件,与底层的系统平台软件密切相关,而在系统软件方面,西方国家的优势还会保持相当长一段时间,再根据我 们目前在中间件技术方面基础相对较差,又缺乏经验,因此,我们建议在项目内容上,除突出自主开发外,也要适当兼顾对国外已有技术的学习、消化、引进和技术 传播,促进中间件技术的应用推广。
为有利掌握国外的发展动态,必要的调研是必需的,下面罗列我们已收集的一些材料,作为选题和立项的参考。
由于中间件技术和应用的复杂性,大量技术资料又是很散乱的,为了帮助了解有关技术的发展动态,在附录五中,我们特别推荐一份刚发表的有关“中间件结构报告”,可作为系统了解有关内容的“一门式”参考资料。

重点开发电子商务和企业应用集成(EAI)中间件
这是当前技术和应用发展的主流,也是配合实施《信息化带动工业化》国策的需要,推进企业的信息化进程。
建 议的策略是:与开发优选的企业信息平台、企业应用框架和企业应用业务构件同时推进,根据这些平台、框架和构件要求,研制开发配套的中间件,促进企业应用的 集成,为此,需要慎重的研究和规划。把中间件和构件开发一起研究,也是有道理的,因为它们共享相同的基础技术,中间件也可按构件形式开发。
在电子商务和EAI中间件方面,目前可参考的厂商和模式有:
Iona Technologies:
Iona 是一个总部设在Dublin的电子商务中间件公司,最初由几位教授发起,成立于1991年,早期从事CORBA开发,通过兼并收购,目前转向企业整体应用解决方案,去年开发人员已达1000人,收益 1。5亿美元。
目 前主要产品:Iona e-Business Platform for Total Business Integration, 包括端对端(B2B,A2A)的中间件框架、主机应用集成、Web services 和 J2EE,配套产品有: Iona Portal Server XML/XSL,Java ,HTML,WAP and SOAP
Iona iPortal Application Server (iPAS) J2EE,支持Web services,业务过程管理
Iona Enterprise Integrator
Iona Mainframe Integrator 经过CORBA ORB
Iona B2B Integrator Java,XML,过程流引擎,支持RosettaNet 和 ebXML
Iona XMLBus 面向Web Services的集成服务器
Iona Orbix 2000 CORBA 2。4 ORB,包括小脚印ORB
BEA:
BEA 成立于1995年,是跨平台中间件的主要供应商,其事务中间件市场占有率高达55%,年收入已超过1.5亿美元,年增长率高达 155%,是发展最快的中型公司,在全世界24个国家,设有50个办事处。
主要产品线:BEA WebLogic E-Business Platform™, 号称世界头号电子商务平台
调 查表明4/5公司愿意选用BEA WebLogic,目前多数(87%)企业采用J2EE/EJB开发分布应用,而其中绝大多数(91%)又采用BEA WebLogic,其原因是可靠、性能好、规模可扩充性好、符合开放标准、容易开发。J2EE用户目前增长很快,几乎每年翻两番还多,而BEA WebLogic是目前最可靠和成熟的J2EE服务器,这是其在市场中取胜的原因。BEA的解决方案包括:
在分布事务数据处理方面有 BEA Tuxedo and BEA WebLogic Server;高容量处理
在个性化服务方面有碍 BEA WebLogic Personalization Server and BEA/'s 360 Degree Customer Lifecycle management
在电子交易方面有 BEA WebLogic Commerce Server
在移动商务方面有 BEA WebLogic E-Business Platform,符合WAP和i-mode标准
在应用集成方面有 BEA WebLogic Integration™ 包括B2B,业务流程管理,
J2EE Connector Architecture and JMS 支持
在业务流程管理方面有 BEA WebLogic Integration 带业务流程管理功能
在B2B集成方面有 BEA WebLogic Integration
BEA 中间件有 今年推出升级版Iceberg 项目
包括产品有:Tuxedo,BEA ObjectBroker,BEAmessageQ,
即将推出有:Jolt 2.0 Tuxedo 的Java前端
BEA Manager 管理程序
EJB Builder EJB应用图形开发工具
BEA Connect for R/3 与SAP R/3的集成能力,已为SAP授证。
从 这两家著名和典型的中间件企业可看出,他们的成功,主要归于开发定位比较正确,面对欣欣向荣的电子商务和企业应用市场,他们自然成为高增长企业,第二,他 们都有各自的核心技术,Iona 以它的CORBA产品Orbix见长,BEA 优势的是它的事务处理中间件Tuxedo,另外作为企业应用集成(EAI),他们有完整的解决方案和产品镨,其他对手相对较难竞争,由此可以看出,我们要 突出电子商务和企业应用方向,在开发内容上应全面兼顾诸如:应用服务器、企业信息门户(EIP)、Web服务、业务流程管理、A2A(面向信息中间件)、 B2B应用集成(XML基)、分布事务处理、数据库中间件、配套开发工具等许多方面。下面我们对其中一些类型的中间件发展,分别进行展开和叙述,以探索研 发的攻击点。
著名的平台厂商,像 IBM、微软、HP、SUN、Oracle等,都有他们的集成解决方案和产品,像HP 有集成操作环境(IOE)HP Netaction,要做到这些,都要有很大的研究开发实力和资金投入。
要 全面开发系列产品,并不是一件容易的事,所以也有的企业在综合别人成熟的产品上下功夫,提出自己可证明的集成解决方案,如Steria公司就是走这样的路 线,附录四中给出了他们中间件产品选择,为了让客户放心,他们还专门推出一个邀请客户参加的proof-of-concept程序。在中国尚未建立具自主 产权的完整中间件产品系列的情况下,我们也必须考虑和鼓励采用类似的集成策略和解决方案,因此,似乎也应把研究基于中间件的企业应用集成(EAI)解决方 案,列入我们的研究计划,摸索我们自己的集成经验和方案。
数据库中间件
通常,它们可能不是一个实际的软件产品,而是一组标准或技术,帮助EAI应用软件去存取不同类型或地点的数据库系统,许多数据库厂商也提供了一些数据库产品特定的中间件,它能提供更高效的存取,但除非企业使用统一的数据库,否则很难保证不使用有关的数据库中间件技术。
数据库中间件,目前有两大主流技术:
1) ODBC -- Open DataBase Connectivity
ODBC 最早由微软提出,现在也为许多其它平台采纳,作为一种流行标准,借助相关的驱动程序,可以用来作为一种标准接口,存取各种数据库,但由于需要有一层中间转换,会造成一定的效能问题,使用时需要一定调整,好得现在市场上已有多种驱动程序产品可供选择。
2) JDBC -- Java DataBase Connectivity
由JavaSoft提出,现已成为从Java应用存取数据库的标准,许多Intranet/Internet应用几乎难以避免接触它。
对需要同时使用两种技术的EAI项目,可注意有些 JDBC 驱动程序能提供解码通道,使ODBC也能接受。
附 录一中是我们收集的近40种数据库中间件产品及其主要特点,可见多数为支持Java 应用和JDBC类型,这显然与开发Internet应用有关,我们开发的插入点,能否放在有特色的对象数据库系统和小脚印的瘦客户端系统,这个问题值得探 讨,否则面对如此众多的竞争对手,恐无容身之地,在设计时这些系统的设计思路,都可做有益的参考。


--  作者:浪花
--  发布时间:2005-1-11 0:20:00

--  
信息中间件(MOM)
典型的主流产品有:
MQSeries - IBM
MSMQ (Microsoft Message Queue Server) - Microsoft
SmartSockets - Talarian
这 一领域最近值得注意的动向是Java Message Service (JMS),由于Sun公司的推动,将其列入 J2EE标准中,为IT世界带来了一个不贵的信息中间件解决方案,形成了新的热点。许多软件厂商用JMS技术,把他们的产品加一层信息中间件,如GE Global Exchange Services用JMS实现所谓的“集成中介”( integration brokers) EAI服务器,提供B2B连接,EAI作为应用间的信息转接器,通过spokes把应用传来的信息,经转换后,再发送给其它应用,这种方法与CORBA 和 Java’s RMI相比,后两者属同步的,而有些应用要求信息发送后继续运行,微软的MSMQ message queuing产品虽然可以,但缺乏规模可扩充性,所以最后决定用JMS。
为用JMS实现EAI,有个如何选择 JMS实现产品问题,目前这一市场有三类产品形式:
1)纯JMS实现 主要厂商有Sonic Software,Fiorano, SoftwiredftMQ
有些厂商就采用买他们的产品,放进自己的软件中,如GE 和HP Bluestone 就直接用SonicMQ,为鼓励开发人员使用,Sonic 和Fiorano 允许免费下载试用ftMQ则干脆免费提供。
2) 作为J2EE套件的一部分 主要厂商有:BEA’s WebLogic,IBM’s WebSphere,iPlanet’s Java Message Queue,Macromedia/Allaire 的Jrun(针对小企业应用)
JMS对IBM 有些不舒服的地方,因它本来有个主流信息中间件产品Mqseries,它的JMS 实现,实际上是在MQseries上包一层,所以效率上不免打些折扣。
3) 作为其它产品的展延 如Tibco 和 Talarian 原先有高速信息中间件产品,用于要求实时传送数据场合,现在再包一层JMS,它们一经出笼,可能成为高性能JMS产品,带来新的市场竞争。
由于JMS刚成为一个注目的市场,许多应用还处于试用阶段,目前大部分站点用户数还未超过1000,Gartner Group 预计 2005年前,JMS市场将每年翻倍,进一步研究方向包括:增强安全性、XML支持、管理工具、以及支持除Java以外的其他语言。
XML 由于支持表达数据的语义,已被广泛接受作为企业集成的数据交换标准,因此,MOM支持XML就成为时新的要求,在这方面,有微软推出的B2B通信协议 BizTalk,以及工业联盟RosettaNet 的信息交换协议。目前,关于XML 的行业标准已不下 300种,较著名的像用于电子交易的 cXML 、电子商务的ebXML、价值链标识语言VCML、人力资源管理的HRXML等,我们国家也正在研究制订国家标准 cnXML, 企业应用的信息中间件应考虑支持相关的标准。
在XML MOM 方面,有两个开放源程序项目可注意,它们是:
OpenQueue
http://sourceforge.net/forum/forum.php?forum_id=6869
xmlBlaster
http://www.xmlblaster.org/

事务处理监程(TPM)中间件
典型产品:
CICS, OpenCICS - IBM
MTS - Microsoft Transaction Server
Encina - Transarc
BEA Tuxedo - BEA Systems
Top End – NCR
ACMS (Application Control and Management System) – Digital
Orbix OTM - Iona
对 象监程(Object monitors),又称对象TP监程,是比TPM更先进的技术,它保留了TPM的功能,但基于面向对象概念,当修改服务功能,可不必改变应用,这是新一 类产品,更适合电子商务应用,因为网上购物时,可能涉及从多个源上存取数据,另外系统的更改变化也较多,OM成为近年中间件的热点,由于广泛应用于企业系 统,是个几十亿美元的大市场,已有许多产品上市。
BEA 在 1998年推出世界上第一个Object Transaction Monitor (OTM),叫M3Q ,号称是70% TPM 和 30% ORB的结合。
另 一个成熟的OTM产品,是IBM 的TXSeries,它支持通过CORBA 进行集成,用Java作前端,连接 IMS 和CICS,TXSeries 为Web事务处理提供许多中间件,后端有Domino GO Webserver 加 Internet Gateways: DE- Light, CICS Internet Gateway, and CICS Gateway for Java,它也支持多种平台和浏览器,可连接Encina, MQSeries, Distributed CICS, and the Encina OTS (Object Transaction Service) 。
GemStone/J OTM 支持B2B分布异构数据库平台的应用,它能在对象级实现事务处理控制,保证数据完整性,它还能将CORBA 的Object Transaction Service (OTS) 实现和 Java Transaction Service (JTS) 结合起来,包括连通其它的OTS,因此可方便实现异构环境的事务处理,GemStone/J支持J2EE 和JDBC。
微软的事务服务器MTS,也是一类OTM,虽然其功能较强,但它限于微软平台,为克服跨平台问题,已有人通过 RMI使能微软的虚拟机VM,让Java应用也可利用MTS 的对象监程。
Borland 公司的 VisiBroker Integrated Transaction Service (VisiBroker ITS),基于获奖的工业标准VisiBroker ORB之上,与CORBA 完全相容,符合 CORBA OTS 规定,且是世界上第一个 JTS 实现,适合基于EJB构件的应用系统开发。
像上面所述,这方面有两个标准值得注意,一是 CORBA 的对象事务服务(OTS),它是CORBA 服务的有机组成,目前已发表1.2版规范,与之相关的是 Java事务服务(JTS),它对应CORBA OTS 1.1版,支持Java Transaction API (JTA) 1.0 Specification,JTS采用标准CORBA ORB/TS 界面和IIOP。


--  作者:浪花
--  发布时间:2005-1-11 0:23:00

--  
分布对象中间件
分布计算环境的中间件,有四类主流技术,它们采用不同的信息传递机制:
1) Common Object Request Broker Architecture (CORBA) -- OMG
Internet Inter-ORB Protocol (IIOP™) Interface Description Language (IDL)
2) Enterprise JavaBeans (EJB) -- Sun Microsystems
Remote Method Invocation (RMI)
3)Component Object Model (COM+) – Microsoft
COM --》 DCOM --》COM+ --》 DNA
Object Linking and Embedding (OLE)
4)Distributed Computing Environment (DCE) – Open Group(原OSF)
Remote Procedure Call (RPC)
CORBA 原始与UNIX系统结合较紧,号称适合任何语言和任何平台,目前市场上流行的产品很多,像:
MICO (www.mico.org)
ORBacus 4 (IONA)
ORBacus 3 (IONA)
The ACE ORB (TAO) 1.1a (Object Computing, Inc. (OCI))
VisiBroker (Borland Corporation)
JacORB (Freie Universit鋞 Berlin)
omniORB 3 (AT&T Laboratories Cambridge)
omniORB 4.0 preview (AT&T Laboratories Cambridge)
Orbix 2000 (IONA)
BusinessWare (Vitria)
OpenORB (Exolab Group)
OpenFusion (PrismTech)
mico/E (mico/E-team)
TAO 1.2a (beta) (Object Computing, Inc. (OCI))
ORBacus/E 1.1 (IONA)
SmalltalkBroker (Promia Inc)
Orbix/E 2.0 (IONA)
orb2 (2AB, Inc.)
ORBit (RedHat)
GemORB (GemStone)
ORBexpress (Objective Interface Systems – OIS) real-time, light-weight
其中较著名的有,Orbix,omniORB,VisiBroker,MICO等,它与EJB 能很好匹配,但与COM+,常不易很好匹配;EJB 现在在企业电子商务系统中获得广泛应用;
COM+ 由于微软的支持,占有相当大市场,虽让人刮目相看,但受平台限制较大;DCE 由于受开放集团推荐,一度也有很大应用市场,中间件以RPC为主,分布构件通过信息总线完成交互,在微软平台上提供了许多DCE/RPC的功能,典型的主 流产品有OSF的免费DCE,DCE非常庞杂,主要用在大的应用系统中,现在有些用户开始批评DCE,认为它缺乏概念模型,给开发带来困难,虽然后来引进 了面向对象DCE(即OODCE),但这一包层,又给DCE带来更多层次,使系统交互过多,也增加了维护困难,DCE的另一缺点,是整个系统必须完整安 装,不仅造成安装困难,许多功能由于用不到而闲置,这些都约束了DCE的应用。
目前,对这几种主流技术,还很难一下分出高低,根据这一情况, 因此有些专家干脆提出研究立项,对这些技术进行系统分析比较,了解其优缺点,适合范围,和应用限制,研究其发展潜力和方向,并探讨能否组合和互补。对我们 来说,较聪明的策略,也是暂缓选择决定,允许多种技术一段时间内百花齐放,先以吃透这些技术为主;另外,也应看到,分布对象中间件,牵涉系统底层技术较 多,直接参与这类技术产品的开发,难度和风险都较大,因此除非有充分的技术准备,不要轻易介入,可先把精力放在加值服务和开发。
从应用角度 看,企业应用集成(EAI)和B2B集成,很有可能要求将不同技术平台的应用连接起来,构成联邦式结构(Federated Architecture),实现信息和应用服务共享,这就要求异构的技术平台,具有互易操作性,我们的研究方向,似乎也应偏重如何解决互易操作和集成技 术,对此,有家公司的模式,值得参考,这是一家专业的中间件公司,名叫OMEX(www.omex.ch),它开发了三样东西:(1)iF - eIntegration Framework,提供多种中间件的集成框架,包括结构指南、IDL标准接口、公共服务和工具支持;(2)Nway - Middleware Integration Gateway,这是一类CORBA 网关,用于连接其它中间件,包括一些主流中间件产品,生成 IDL基的接口和桥(如COM-CORBA);(3)Toolbox, 提供一组100% 基于 EJB 和 CORBA 标准的加值工具、服务和构件,包括提供信息库(界面库、服务库),和生成器 (CORBA 测试床、CORBA相容的 activeX 构件、映射 CORBA界面到EJB界面、Nway中间件集成网关),可见其主要开发方向,集中在解决中间件的集成和互易操作上。
为解决中间件在异构平台 的互易操作,需要开发相应的搭桥产品,这实际上也是一类中间件,从客户/服务器结构讲,一个桥是一个软件过程,允许处在一个中间件域的客户端,向处于另一 中间件域的服务器,请求服务和接受回答,桥可具有几类性质:单向或双向,静态或动态,商业产品或定做的,设置位置可以是客户端或服务器端,或者第三端的中 间端机器,对CORBA桥,则还有ORB中性或特定某一类ORB的,下面列举一些典型的中间件桥产品:
CORBA/DCOM桥:OMG 对此有专门的互易规定,桥的位置也与通信协议有关,如DCOM客户对CORBA服务器,放在客户端,采用IIOP协议,CORBA客户对DCOM服务器, 也放客户端,但采用Object RPC 通信,样品产品有:Visual Edge 的ObjectBridge和 IONA 的OrbixCOMet, 两者都是双向动态的, IONA 还开发了一个运行在CORBA服务器端的COM/DCOM适配器,允许COM/DCOM客户应用存取服务器。
Inprise Application ServerTM (IAS) 也提供了COM存取CORBA对象和EJB的能力。
DCE/CORBA 桥:典型的商业产品有 Inprise DCE-CORBA 桥,它的桥对像,介于中间,同时起CORBA服务器和DCE服务器客户端的作用,该产品属单向桥,且只能用 VisiBroker ORB。
DSTC 的DCE-CORBA桥,也是提供CORBA客户存取DCE服务器,但它采用设立桥工厂(Bridge Factory)的方法,能按要求(On-demand) 生成所需要的静态桥,这是介于静态和动态桥之间的一种技术。Borland 公司在它的DCE开发环境 Entera中,也加进了DCE-CORBA桥,以扩展DCE应用的集成能力。
EJB/COM 桥:
Sun 公司发布了一个COM->EJB桥,J2EE 客户存取服务CAS COM 桥,允许微软窗口应用,存取J2EE服务器上的EJB构件,它是一组COM对象,客户应用可用COM Idispatch接口,通过RMI-IIOP协议,与服务器通信。
J-Integra 是一个双向的Java/COM,能把ActiveX构件当作Java对象,或者反过来,有了它微软平台上的ASP就能与服务器上的EJB对话,Java应 用服务器可与Windows NT上的COM对象对话,这自然也包括下列两个桥的功能:Servlet-COM 桥和 VB-EJB 桥。
此类桥的另一特例,涉及数据库存取,像JDBC/ODBC 桥,可允许Java 应用环境,存取微软平台的ODBC数据库,典型产品有:Easysoft 的 JDBC-ODBC桥,它作为一个EJB构件。
EJB/CORBA 桥:iPlanetTM应用服务器,提供了EJB/CORBA 桥,允许前端EJB应用,通过RMI/IIOP 和IONA Orbix 2000,存取后端的CORBA对象和应用,如ORB初始化程序中设立单一类,就可适用多种ORB,而不需要再初试化。
OpenFusion& v2.0 企业集成服务,扩展了功能,同时对CORBA和J2EE提供支持,并设立两个标准的桥,支持JMS,与IBM MQSeries 桥,下一步还要加XML信息类型,和JMS-SOAP 桥。
为了实现 EJB/CCM(CORBA 构件模型)间的双向桥,就要设法实现CORBA IDL界面和Java界面的互相映射。
在BEA WebLogic EnterpriseTM 中,EJB和CORBA 也可以共存和互易操作。
Borland AppServer 4 (BAS4) 支持 EJB和 CORBA无缝的集成, 为此, 它采取了 6条途径: (1) 用IIOP作统一的传输协议, 实际上新版的J2EE也明显要求J2EE平台供应商支持IIOP实现; (2) 支持CORBA 值类型(Object-by-Value); (3) Java-To-IDL映射; (4) 命名服务映射; (5) 事务处理映射; (6)安全服务映射; 以此, 达到了两个中间件标准较高的集成和互易 ( 见www.customware.com)。
SOAP/CORBA桥:Biocorba-l 公司提供了一个 SOAP<->CORBA 桥产品,以适合SOAP的广泛应用。

企业应用集成(EAI)中间件
中间件的重要应用就是EAI,正因为如此,许多中间件产品,喜欢直接打出EAI中间件的旗号,但它们的功能常可差别很大,但实际的EAI应用中常需要多类中间件的混合使用。
作为EAI 中间件,它至少应支持以下几个功能,支持应用间数据交换的信息中间件,支持业务过程规则,在这方面,Vitria 的产品是第一个支持这一功能的。
其 他可举的厂商有:Tibco Software ,Level 8 Systems,WebMethods, Candle,NEON,Software Technologies Corp. (STC),iWay Software, SilverStream, Mercator Software等。

财务系统中间件
这是一类面向应用的特殊类中间件,由于存在大量的数据和信息交换,基本上是一类信息中间件,另外,出于行业业务需要,存在许多标准和协议,专业性要求较高,比较典型的产品供应商,有像:
Financial Fusion
它 是头号Internet银行解决方案供应商,主要产品有STP (Straight-Through Processing)Solution,Financial Fusion Server,GlobalFIX™FT Adapter,GSTP,UniversalOFX™ Adapter 等, 都是纯Java解决。
另一个银行系统中间件,是Biveroni Batschelet Partners/' (BBP) 公司的IGT (Interbank Gateway) 和ServiceBureau。
SunGuard Business Integration/ MINT Technologies 的MINT Knowledge family(MINT Knowledge Broker,MINT Knowledge Manager,MINT Knowledge Master,MINT FIX Engine),是又一个较完整的财务系统解决方案,集成了许多标准格式和协议。
Trace Financial Ltd 的财务中间件Trafic,能与Crest, CGO,FT,Oasys Global等接口,实现STP处理,它提供的产品,包括:Cloverleaf 用于全球财务信息传输和实现STP,CAMS(The Corporate Actions Management System)支持自动工作流管理。
LiveBiz 的JOFX 财务构件,实现财务数据电子交换标准 Open Financial Exchange (OFX) 协议,可用于Internet支付、银行和投资应用,基于EJB平台。
TATA Consultancy Services 也结合其海外开发业务研制出有自主版权的财务中间件 FIG。
对财务中间件方面,国外有专门的指导手册,提供有关的资源信息,如:
The Who, What, Where Guide to Financial Messaging and Middleware 2000,&195.00
Middleware Issues for the Financial Sector,US$795
在附录六中,我们也收集了许多财务中间件产品,可供参考。
由 于许多企业应用,会与财务或银行、通信或电信打交道,如可用于客户关系管理(CRM)呼叫中心(CallCenter)的计算机-电话集成(CTI)技 术,所以也有些软件企业,根据已有的开发经验,搞出一些相关应用接口的中间件,这也不乏是一种方向,像国内的东方通科技公司,就是走这一方向的例子。

无线应用中间件
日 益广泛的移动电话用户群,打开了广阔的应用前景,按美国的预测,到2004年,移动电话用户将达2900万,移动交易额(m-commerce)有可能突 破 200亿美元,日本 DoCoMo模式的成功,也为市场带来无限遐想,我们中国目前的移动电话,已超过1.2亿门,成为世界上第一移动电话大国,这些数据,都是普遍看好无线应 用和无线应用中间件的主要动力,从2000年起,美国不少(数以百计)新兴产公司,转向无线应用中间件的研制开发,造成过挤和过热的局面,
包 括 IBM和微软,也表示将提供更多的无线应用支持,今年3月IBM宣布将为基于Intel/'s XScale 处理器的设备提供中间件软件,采用它的 WebSphere Everyplace Suite Embedded Edition,这将进一步加剧这一市场的竞争。但对这一过热现象,也有人泼冷水,认为是判断错误,移动用户并不代表实际的无线web存取用户,随着 Java无线应用平台的广为接受和标准化,这一应用领域,跳进去容易,但要出人头地并不简单,许多企业是抱着希望进去的,但缺乏有特色的技术基础、开发队 伍、以及明确的赢利模式,再加上受资源限制的影响,急于在某一垂直市场的突破,限制了技术的发展,这些均是不利的因素,虽然这一领域最后终究会有成功者, 但对大多数,将面临失败的危险。
对中国的开发者,将如何进行我们的选择呢?特别,考虑到面临进入WTO后,将直接面对全球的竞争。这方面可参考的典型产品有,
Broadbeam的无线平台Axio,包括:
● ExpressQ - Wireless messaging server
● ExpressWeb - Wireless content server
●Application Connectors:Web Link,Email Link,MQ Series Link -

分布实时控制中间件
分布实时控制应用,也是中间件重要应用领域,一个典型产品是Real-Time Innovations (RTI) 公司的 NDDS,WaveWorks,WaveSurf ,还有相应的开发工具,可广泛应用于工业控制、通信、以及军事/空间应用。
在要求服务质量的场合,要求采用自适应中间件(见下节)。

嵌入式中间件
这 一领域与无线和实时控制中间件直接相关,但由于其在目前的特殊性,我们把它明确独立开来,由于超大规模集成电路的发展,微处理器和微控制器的成本和应用变 得越来越普遍,将出现所谓的“无处不在的计算“ (Ubiquitous Computing)时代,人与CPU的比例,将从PC时代的 1:1 ,走向1:N (N>>1),由于其巨大的市场前景,许多大的IT企业早就开始起前期研究,为巩固其垄断地位。微软早在1999年就枪先推出所谓的“维纳 斯”和CE计划,我们中国的软件工作者,也针对性地提出“女娲”计划,这个领域当前的重点方向,是无线移动和手持设备,以及信息家电。
嵌入式 系统由于其复杂性,有专家提出要解决嵌入式软件危机,只有从实时操作系统和嵌入式中间件着手。从软件开发角度讲,很自然会把分布对象的概念引伸到这一领 域,提出开发嵌入式中间件(Embedded Middleware)的需要,成为软件开发的一个新热点,据说目前市场已超过10亿美元。一个可注意点是,IBM与Intel合作,将IBM的 WebSphere Everyplace Suite Embedded Edition,移植到Intel& Personal Internet Client Architecture (Intel PCA),包括Intel StrongARM 和Xscale微处理器,重点开发面向无线设备和信息家电的嵌入式软件,在这一方向上,IBM在去年10月,就已推出VisualAge Micro Edition Toolkit。嵌入式中间件开发方面,可举的例子有VTT Electronics的MIDAS,是用于移动分布应用的嵌入式中间件。
与此相关的研究领域很多,在嵌入式操作系统领域,一个有希望的潜在 竞争者,是嵌入式 Linux, 它已经得到许多工业界的支持和采纳,为提高标准化程度,进一步增强竞争力,工业联盟组织Embedded Linux Consortium (ELC)今年4月宣布,将对Embedded Linux platform提出统一规范说明,在应用实例方面,著名的开放源程序公司,已将其嵌入式Linux 和实时操作系统eCos,移植至Hitachi/'s SuperH微处理机;其次一个领域是开发嵌入式Web服务器,已有的产品,像 Xerox PARC’s Hydra 和Dallas Semiconductor’s Tini,最有趣的是近年出现一个开发最小服务器热,不少研究生都参与其中;在实时Java开发方面,出现两个阵营,一是Sun 领导的实时Java 专家组(www.rti.org),参加的有CMU, IBM, Lucent, Motorola,另一个是由HP领导的 J-Consortium, 旨在打破Sun 对Java的垄断,参加者有Ericsson, Microsoft, MITRE等,从用户和开发人员角度,则希望两者能合而为一;在连接设备的分布计算平台上,比较出面和公认的是Sun提出的 Jini; 对无线设备网,希望是自组织和不费力的(Effortless Networking), 在这一领域目前竞争激烈,微软提出UPnP(Universal Plug and Play),已提交 IETF作建议标准,HP也推出相似的 CPnP(Chai Plug and Play),Sun/Philips/Sony联合提出Jini/HAVi,把Jini与家用设备规定 HAVi (Home Audio-Visual Interoperability) 结合起来,Lucent则提出 InfernoSpaces,基于它的网络OS Inferno之上,Jini的优点是设备代码较小。
在J-Consortium底下,有个实时和分布嵌入式中间件工作小组(RTDM-WG),其任务是提交一份关于Java平台的嵌入式中间件技术报告,实时Java扩充,API规定说明和中间件相关的Java类库。
在 嵌入式领域,已出现一些标准的API,像Message Passing Interface (MPI)和实时MPI(MPI/RT),VSIPL(Vector, Signal, and Image Processing Library)等,但过去传统上把处理与通信分开,这带来软件不够紧凑,为此,MITRE和MIT研究人员,正在研究如何重构数据,使处理和通信能有效 结合起来,同时引出新的嵌入式API。
是否能将分布对象技术CORBA 引进嵌入式系统,也是一个研究方向,但由于嵌入式系统存储容量较小,必须开发“小脚印”的CORBA,为此不少专家提出了许多改进建议,CORBA技术的 领先者IONA Technologies,采用购并的办法, 把Object Oriented Concepts, Inc. (OOC)公司开发的技术ORBacus,集成到它原先的Orbix产品系列中,以进入实时嵌入式中间件市场,ORBacus 对非商业应用,仍保持免费开放源程序。
在众多嵌入式设备的无线网络环境中,如何简化设备的结构配置,互相发现存在的服务是一个重要的技术问 题,目前已出现多种相关技术,用于服务的广告和发现,这些技术是:(1)由工业联盟兰牙特殊兴趣小组提出的兰牙(Bluetooth) 技术; (2) Sun公司提出的Jini结构;(3)Salutation联盟建议的 Salutation结构;(4)微软的UpnP; (5)确IETF提议的Service Location Protocol (SLP)协议; 由于这些方法各有优缺点,目前还没有一种占特别的优势,所以技术共存还可能持续一段时间,为解决互操作问题,相应的搭桥技术也应运而生,如 Salutation-SLP,Salutation-Bluetooth, Jini-UPnP, Jini-Bluetooth, 这些技术自然带出一批中间件产品。
容易看出,对嵌入式中间件可研究的内容很多,国外对这一市场有详细的分析预测报告,可惜要价3950美元,无法一窥其内容。

安全中间件
网 络经济为企业带来巨大好处的同时,也提出了极具挑战性的问题,就是网络信息系统的安全性问题,美国计算机安全协会做过一份调查,186家企业由于机密数据 失窃和财政诈骗,一年损失超过3.77亿美元,十分惊人,但为了提高系统的安全性,对大多数企业来讲,不可能靠聘用昂贵的安全专家来解决问题,因此如何把 安全性构造在系统之中,显得特别重要,安全中间件将在网络信息系统中发挥重要作用。
V-ONE 公司1995年推出号称第一个工业安全中间件产品SmartGATE,它采用 RSA加密技术和公司的最新专利,通过集成加密和基于令牌的认证,实现在TCP/IP协议之上的,透明的应用对应用安全性,使安全解决,在防火墙基础上, 又加了一层安全中间件,中间件解决方案的优点是,保持与厂商的独立性,可直接插入,不要求修改原有的应用程序、细颗粒的存取控制、A2A安全性、远程用户 注册、可监控服务、基于令牌或智能卡的认证、与加密算法的独立性、能与放火墙配合工作,能在边界上实现存取谈判、且独立于防火墙类型、可适合多类应用等。 V-ONE 公司的产品系列包括:防火墙SmartWall™, 智能卡阅读器和软件 SmartCAT™,安全中间件SmartGATE™,和电子支付系统及服务器软件 Wallet Technology。
eSec 是一家澳大利亚公司,提供较完整的安全解决方案,包括防火墙、虚拟专有网(VPN)的管理、入侵检出系统(IDS)以及非管制区(DMZ-- Demilitarised Zone)和公共网络服务的管理。eSec 也提供网上支付服务,包括常见信用卡支付,与WorldPay合作的多币种支付,对兑换不收手续费,非常强的加密手段(1,024-bit RSA & 128-bit RC4),eSec的中间件产品Igloo采用开放源程序,它实质上是一个模型和工具,以软件代理形式,帮助用户很快实现解决方案。
Global Privacy Solutions安全产品的特色,是保护客户的隐私,如如何保护病人的健康信息,它提供全方位的解决方案,包括咨询、授证,符合欧美有关的隐私保护法规,它特别提醒,安全性和保护隐私,并非一件事,需要不同解决手段。
Adiron 公司的安全中间件工具产品ORBAsec SL3,实现OMG 2000年底刚采纳的新的Common Secure Interoperability Version 2 (CSIv2) 协议,CSIv2 是CORBA协议的一部分,它的API建立在数学模型基础上,具有更强安全性,认证和加密是建筑在TLS之上(原SSL)。CONTROL是用于存取控制 的中间件产品,使这部分功能可脱开应用,存取政策可用专门语言定义在一个正文文件中。其它产品包括,ORBAsec 企业安全政策管理系统和定义语言。
开放SSL(www.openssl.org)组织,有个合作开发项目,按开放源程序,实现 SSL v2/v3 和 TLS v1,对商业和非商业用户,均免费提供,采取类似 Apache 的许可方式。
PGP Security有两个安全中间件研制项目,Sigma是基于CORBA 分布环境的安全互联,增加CORBA 存取控制,安全机制建筑在对Domain and Type Enforcement (DTE)的面向对象扩充上。Secure Virtual Enclaves (SVE) 研究安全技术,通过COTS OS 和COTS中间件,使能不同组织的分布合作计算。采用各种中间件安全机制(如SSL, DCE security, Sesame, SPKM),保护信息资源,强制各类分布应用(如DCOM, CORBA, DCE, WWW和其它网络应用)能贯彻规定的安全政策。
Kyberpass 公司是一个领先的安全中间件公司,它的公开密钥结构(PKI)的解决方案是得奖的产品,已有四百万个用户,产品有安全服务器和Kyberpass 4.0套件,最近,又宣布参加著名安全性公司 RSA 的安全战略伙伴程序,并通过RSA 的 "RSA Keon™ Ready" 产品认定证书,标志着它的产品在PKI系列中已达到一定地位。
以大学为主的Internet2联盟有个专门的安全性工作组,为推动安全中间件 发展和标准化,正着手一个Internet2 Middleware Initiative (I2-MI),并有许多相关的研究项目。EDUCAUSE, Internet2, NCSA, SURA, UCSD, University of Chicago, USC/ ISI, and University of Wisconsin 几家联合,今年9月获得美国自然科学基金(NSF)1200万美元的项目NSF Middleware Initiative (NMI),专门研究中间件,它将利用早先两个项目的成果,即Globus* project 和开发中间件工具的MACE,构成一个较完整的中间件框架,专家相信,大学的先锋作用将会带动中间件市场的发展。EDUCAUSE是一个非赢利性协会 (www.educause.edu),会员包括 1800个大学和180个公司,旨在用IT技术推动高等教育。
在电子商务安全性方面,值得 注意的一个动态是,Intel 发布公共数据安全结构Common Data Security Architecture(CDSA),它采用可免费下载的开放源程序,以帮助业界提供一种技术和厂商独立的安全性解决方案。CDSA是一组安全中间件的 规范说明,和开放源程序的参考实现,可作为电子商务的安全解决方案积木块,它提供一组分层的、跨平台、互易操作的、和可扩充的安全服务,开放集团 (TOP)已批准将CDSA作为推荐技术标准。为加速对CDSA采纳进程,还宣布它的Itanium™ 处理器将提供对CDSA 的优化能力,在服务器端提供开放源程序的Boot Integrity Services (BIS),并提供一些配套的支撑技术,像Internet Protocol Security (IPSEC) 和Intel Protected Access Architecture (IPAA),工业专家确信,CDSA的开放源程序性质,将会使其提供的安全解决方案,有很大的健壮性,有关内容和源程序下载,可访问网站: deve;per.intel.com/ial/security/。
为了加快国内实现安全中间件的步伐,建议充分利用这些开发源程序渠道,尽快学习引进新技术,尽早投入实际应用。
安 全性相关课题包括:防火墙、3A (authentication, administration, and authorization)、存取控制、加密、容错、隐私保护、黑客防止、入侵检出、系统监控、抗病毒软件、预防服务阻止攻击(denial of service)、Certificate Authority (CA)。
牵涉技术和标准: Kerberos,Data Encryption Standard (DES), Rivest-Shamir-Adleman (RSA), Message Digest 5 (MD5), Public Key Infrastructure (PKI),Secure Shell (SSH),Secure Socket Layer(SSL),Transport Layer Security(TLS), Pretty Good Privacy (PGP),Secure Multimedia Internet Mail Extentions (S/MIME), Generic Security Service Application Programming Interface (GSS-API)。

自适应(Adaptive)/反射(Reflective)中间件
reflective middleware is simply a middleware system that provides inspection and adaptation of its behaviour through an appropriate CCSR.
A reflective system is one that supports an associated causally connected self representation (CCSR).。"Causally-connected" means that changes made to the self-representation are immediately mirrored in the underlying system’s actual state and behavior, and vice-versa.
这类系统的特点是它能更好适应高度动态变化的环境,改善服务质量(QOS),提高服务性能和效率,如改善负荷平衡等。
这类系统,近几年在国外得到广泛重视和研究,包括作为博士论文的课题。
如NASA 研究新一代网络技术的项目NREN,就把自适应中间件列为重要研究课题,以保证高速网上的分布多媒体应用的服务质量(QOS)。
类 似的应用系统为所谓的信息传播系统Dissemination-Based Information Systems (DBIS),通常要求在宽带网上传输非对称大容量信息,数据提交类型也多样化,包括请求/响应、预定/出版、广播式、信息点播等,DBIS 要求对服务质量进行监控,另外,面对大量用户,在内容上也可能会有重复,为提高效率,需要设置缓冲等,为适应这类应用,国外研究需要采用一层自适应中间 件。
技术的另一应用是,建立可客户化的中间件,如见 Mark Astley et al, Comm.ACM, vol.44, No.5, 2001, pp.99-107.
还有一个应用例是,在CORBA环境中建立adaptive ORB,它能根据网络负荷,
自动在handle-driven 和 forwardin 两种模式中切换,显著改进了传输效率。
华 盛顿大学、加州大学、西门子联合研究的自适应CORBA 中间件,也用于分布实时嵌入式系统(DRE)应用中,将其Adaptive and Reflective Middleware Systems (ARMS) 应用在构造CORBA Component Model (CCM)。
在电子商务应用领域,特别无线应用,也在考虑用自适应中间件,改变现在中间件服务的静态性,使它的服务能根据应用要求,进行谈判和调整,能随环境的变化,自动优化服务性能,研究方向包括:服务质量(QOS)、安全性、事务处理、信息架构的适应。可参考Amidst 项目(http://amidst.ctit.utwente.nl/).
Michigan 州立大学软件工程网络系统(SENS)实验室的RAPIDware 项目,与Motorola, Lucent, Cisco和海军合作,研究适合移动应用的自适应中间件,对各种类型的移动设备,能自适应选择通信协议,容错和安全服务,重配置用户界面。
BBN 有个五年计划项目,叫Quality Objects (QuO),开发自适应中间件,能支持在分布实时控制系统中,按QOS合同要求,实施对分布设备的实时管理和控制。
其它应用包括网络负荷自动平衡和容错计算。


--  作者:浪花
--  发布时间:2005-1-11 0:25:00

--  
集成开发工具的需要
完 整的企业应用集成,要求连接Web, 各种客户端、服务器、现成应用系统,要求开发者熟悉各种中间件和相关技术,对技能要求相当高,常使开发人员感到难以胜任,为此特别需要有良好的开发工具环 境支持,使各种中间件能捆绑在一个容易使用的集成软件包,使开发人员能工作在业务过程级,而不是困难的代码级。目前,已出现一些这样的环境,如:
1) IBM 的Web Sphere,包括开发环境、CORBA对象服务,TP监程,信息队列软件,应用开发和集成工具等;
2) Active Software Inc.的 Integration System
3) SuperNova 第四代语言开发环境
即使难以开发出一个集成的开发环境,如果能为各类应用,推荐一类可行的中间件结构框架和实施策略,也是对企业应用用户大有帮助的。
还有一种策略,是在吃透某一类中间件的基础上,进行增值服务,一个较典型的例子是Nastel Technologies,它在IBM MQSeries 基础上,提供一整套独特的管理方案。
在工具供应商方面,大约可划分为几类:
1) 提供特色功能的小公司 如
Rogue Wave: SourcePro Core C++应用开发,包罗原先三个工具(标准 C++ 库, Tools.h++&: ,Threads.h++).
SilverStream:eXtend Workbench 1.0 J2EE 和Web Service集成开发环境
eXtend Application Server 3.7.3 Developer Edition
eXtend™ Application Server 3.7.3 Workgroup Edition
jBroker Web 1.0 XML RPC 环境,支持用WSDL写Web service 界面
jBroker Orb 3.1 符合 CORBA 2。3规定
jBroker MQ 1.3 JMS 纯 Java实现
他们或者领先于技术,或者填补空档。
2) 平台供应商 为自己的技术增色 像微软、IBM、SUN、Orcale、Sybase
他们也常与第三方结成联盟,扩大自己的工具系列,有时还利用自身实力,进行兼并
3) 独立的工具供应商 他们不依附特定技术,让用户有更广泛选择,如
Rational
CA/Sterling Software:Eureka:Portal 开发企业信息门户(EIP)
Jasmine ii XML 框架
COOL:Gen Web 应用开发
COOL:Joe EJB 开发工具
Unicenter TNG 应用管理
Vantage 存储资源管理(SRM)
SOLVE:Netmaster 网络管理

如何制定一个中间件研发计划
这是一个借鉴自美国NFS有关项目的参考蓝本:
1. 制订发展核心中间件的路线图(Roadmap)
这 包括:中间件的基本技术结构框架,选择的主流技术和开放标准,须研究发展的技术方向,必需和核心的中间件类型,要研制的中间件类型和功能要求。规划文档的 内容,应是结构化的,适合各类人员的参考,除综述外,还应有一定深度的描述,并能根据技术发展,动态加以调整,内容上应兼顾技术和方针政策两个方面。规划 制定应有明确的日程表。
2. 成立一个专家研究小组
保持对规划的研究和调整,了解国外最新的技术发展动态,推动技术传播,掌握研究进展,解决有关标准和实践中共同的问题,确定评估和验收标准,促进中间件的应用,向政府有关部门推荐新的研究方向和课题。
3. 推动合作交流和中间件的应用
通过技术合作,包括定期开展中间件技术研讨会,促进中间件的开发和应用,根据应用反馈明确改进方向。

中间件的评估
面 对众多的中间件技术和产品,常使开发者和应用用户难以作出正确选择,因此如能提供第三方客观的评估,就显得特别需要,但目前从事这方面工作的还不多见,仅 发现澳大利亚的CSIRO有一项中间件技术评估(MTE)项目,已发布8份评估报告,内容如下,全套报告要价3850美元:

Evaluating BEA Systems Application Server Technology Version 1.0
Evaluating Enterprise Middleware Technologies
Evaluating Forte 4GL Release 3 v.1.1
Evaluating INTERSTAGE Application Server v3.0
Evaluating IONA Technologies/' Enterprise Middleware
Evaluating J2EE Application Servers
Evaluating Visibroker ITS Version 1.2
Performance Evaluation of Message-Oriented Middleware Technology
中国是否要建立一个评测中间件的标准,是个值得探讨的课题。
在IT 产品和系统的安全性评测方面, 有一个程序值得我们参考和借鉴, 这就是美国国家标准化技术协会(NIST)信息实验室的 NIAP, 它是国家信息保证伙伴的简称(the National Information Assurance Partnership), 由NIST 与国家安全局 (NSA)合作, 其使命是:
n 满足政府和工业界对IT产品成本合理的评估需要;
n 促使形成商业安全测试实验室和私营安全测试产业;
n 保证IT产品的安全评估符合一致的标准;
n 改善评估产品的适用率.
NIAP 的安全性测试、评估和评定程序, 遵循国家和国际的安全性标准和准则, 提倡公开原则, 强调政府与工业界的通力合作. 程序计划分两步走, 第一步先做个别商业IT产品的测试评估, 第二步再走向对整个IT系统和网络的认证和认定.
在IT 产品测试评估程序方面, 包括:
NIAP 公共准则评估和确认程序 NIAP Common Criteria Evaluation and Validation Program,又称 CC;
NIST 加密模块确认程序NIST Cryptographic Module Validation Program
在IT系统评估和评定程序方面, 目前正在研究几种评估方法, 待成熟后, 再公布应用.
采 用CC模式的原因, 是保证评估的公正性和客观性, 由独立第三方完成, 也称共同准则测试实验室 (CCTL), 符合标准的评估准则和采用标准的评估方法(Common Evaluation Methodology - CEM), 这些准则是美国、英国、加拿大、法国、德国和瑞士等许多国家多年努力的结果, 形成信息技术安全评估共同准则国际标准ISO/IEC 15408:1999. 第三方测试实验室CCTL 的专业资格, 要经 NIST 志愿实验室认定程序(NVLAP)认定. 有关标准和方法的详细材料,可参见有关网站: niap.nist.gov/cc-scheme/index.html.
对中间件的技术评 估, 还有一个可参考的方法和模型, 这是欧洲通信公司对通信用中间件技术评估的一个联合项目 EURESCOM P910, 它对中间件产品的成熟度进行评估, 评估按照产品的生存期, 采用项目P517 建议的成熟度定级模型, 把成熟度分为以下四个等级:
● 萌芽期 Embryonic
● 成长期 Growing
● 成熟期 Mature
● 完全成熟期 Ripe
评 估采用一套判别标准, 用问题集的方式表现, 请专家对每一个问题和判别标准打分, 最后以平均分, 决定产品处于哪一级, 可以看出影响这一方法成功的重要因素,是如何选择适当的判别标准, 它们应当反映中间件的关键特性, 和在分布应用中的基本要求, 项目形成了两组判据:
1) 总体判据: 关系产品的技术特点, 包括:
支持技术的成熟度
对标准的符合
技术面的覆盖程度
管理/监控
规模可扩充性
互易操作性
可靠性
安全性
熟悉的专家数
支持的API
2) 可用性判据: 关系产品的实用性, 包括:
安装
版本变更
源代码适用性
第三方支持
工具
文档
用户支持反馈
培训咨询
支持平台
对现成系统支持
美国海军根据其项目需要, 曾有过一个中间件技术评估研究项目 EOSDIS, 对流行的分布系统架构和中间件进行评估, 涉及标准有 DCE, CORBA, DCOM, Java, Keberos, ssh 等, 他们提出了下列评价判据:
网关度量: 成熟度, 可靠性, 规模可扩充性, 功能及成本;
技术度量: 安全性, 兼容性, 复杂性, 市场渗透率;
中间件定义: 提供的公共服务集, 对中间件服务层次;
对 中间件还根据其固有优缺点, 分析其表现是否充分或足够抑制, 它们是: 对平台的隐蔽性, 应用分布的透明性, 可移植性和互易性, 提供服务的可用性, 灵活性和规模可扩充性, 能帮助识别在分布环境中可利用的构件功能, 可与现成应用的集成, 技术的成熟性, 不采用专有的协议和API, 性能, 成本开销, 复杂性和可了解性.
中间件的测试应包括许多方面, 如功能测试、标准符合、负荷性能测试和互易操作性、安全性测试、以及其它, 为便于对测试结果的分析, 最好能记录中间件运行时的侧面辅助数据 (Profile), 较著名的测试工具供应商有: ApTest, Empirix, Mercury Interactive, 和Segue.
在EJB 测试方面, Empirix公司的Bean-test工具, 是专门用于 EJB 中间件功能和负荷测试的自动工具, 它能模拟大量拟用户, 支持多线程, 而且可以运行在应用中间端, 测试时可隔开客户端用户界面的影响, 更有利测试结果分析, 因此这套测试工具可适合中间件的整个开发过程, 从中间件实现, 架构发展, 一直到最后应用装配, 工具使用AutoGen技术, 能根据 Java Reflection API, 自动生成测试客户端, 经历所有说明的方法, 工具也能辅助生成测试数据用例, 测试内容包括返回数据的精确性, 意外处理, 性能特性等.
Segue Software公司提供有名的J2EE的测试工具产品套件Silk, 系列包括: SilkPilot, 用于功能测试; SilkPerformer 用于性能测试; SilkTest 用于多层结构应用的集成测试; SilkMonitor 用于Web和服务器监控; SilkObserver 用于点对点事务管理和CORBA应用监控; SilkMeter 用于存取控制和使用计测; SilkRealizer 用于情景测试和系统监控; SilkRadar 用于自动缺陷跟踪; Profiler 用于记录测试运行辅助数据.
在 CORBA 中间件测试方面, 有CORBA Testbed v2.2, 可用于功能测试, 性能测试,互易性测试和标准符合测试. 另外ApTest公司的中间件测试工具, 有专门面向CORBA的测试, ApTest是OMG的成员, 对CORBA有特殊专长, 提供的工具有VSOrb 和VSJOrb, 测试内容包括: 功能测试, 性能测试, 互易性测试, ORB实现和应用测试, CORBA 服务和功能实现等.
在提供企业应用集成测试方面, 较有代表性的公司有: Amphora Quality Technologies (AQT), Mercury Interactive, 和Class I.Q., 后者的工具套件IQTest, 采用所谓的Universal Test Harness Technology and Adapters技术, 允许它的测试系统, 适合广泛一类技术, 在企业应用集成和B2B集成测试策略上, 它特别强调构件测试方法, 把各部分的界面和集成机制单独隔离测试, 以保证及早发现问题, 这一工具的另一特点, 是支持对Web服务的测试解决方案, 包括对SOAP, BizTalk & .NET和 XML消息的测试.

中间件技术的传播和培训
中间件技术是比较复杂的,加上存在多 种主流技术,要求掌握的技术面更宽,对许多人来说,包括开发人员,中间件好似一个黑箱,很难掌握,为有利中间件技术的发展和应用推广,一个完整的发展计 划,应把技术传播和教育培训也纳入进去。为对培训内容和计划,有较好的把握,在附录二中,我们有意收集了一些国外的经验,作为我们借鉴的参考。
在 中间件教育、培训和咨询方面,国外有几位著名的专家,值得我们推荐和注意,他们在世界各地都发表了大量的书刊文章,到处做主题报告,召开研讨和培训班,并 都成功地开办了相关的技术咨询公司,在中间件技术传播方面显得十分活跃,起了很大的推动作用,中国在发展中间件技术的同时,也应鼓励和培养一批这样的专 家,以带动整个国家,在中间件技术和应用水平方面,有实质性的提高,这些可推荐的国外专家是:
David Chappell, David Chappell & Associates
www.chappe;;assoc.com
Roger Sessions ObjectWatch
www.objectwatch.com
Peter Coad TogetherSoft
www.togethersoft.com


--  作者:浪花
--  发布时间:2005-1-11 0:26:00

--  
附录一。 数据库中间件产品
1. Business Sight Framework from Objectmatter Inc.
by JDBC -- or RDO, or ADO with Microsoft/'s ODBC drivers.
2. CocoBase (Free, Lite, Enterprise) from Thought Inc.
JDBC drivers and uses CORBA or RMI 支持多种平台
3. CocoBase Enterprise O/R from Thought Inc.
leading O/R mapping tool, optimized for EJB and Java,up to 13 different servers
4. DataDirect SequeLink from Merant
100% Pure Java certified data access middleware,full JDBC specification,
native access to data eliminating the need for gateways or DBMS vendor middleware.
SequeLink ODBC and SequeLink ADO (for OLE)
5. DB2 Universal Database from IBM
multimedia, Web-enabled,OLAP and OLTP
6. dbANYWHERE Server from Symantec
100% JDBC compliant,many databases -- Oracle, Sybase, MS SQL Server, Sybase SQL-
Anywhere, MS Access, and other ODBC sources including DB2.dbANYWHERE
7. Dharma Systems eUnify, AppLink (3270, /SAP, 5250 –AS/400, /Seibel –CRM)
8. DbGen Professional Edition from 2Link Consulting, Inc.
Java object-relational mapping tool
9. Enterprise Component Broker from Information Builders, Inc
JavaBean,integrated with transaction systems such as CICS and IMS
10. ExpressLane from XDB Systems
native JDBC driver as well as a smart ODBC driver, Link software, GUI tools,
access MVS/DB2, IMS, and VSAM
11. FastForward from Connect Software, Inc.
JDBC implementation for Sybase and Microsoft SQL Server
12. Fresco from Infoscape Inc.
Java rapid application development tool, Fresco Information Server
13. HiT JDBC/400 from HiT Software, Inc
100% Pure Java middleware for native DB2/400 SQL, SSL v3.0 support
14. HiT JDBC/DB2 from HiT Software, Inc
100% Pure Java middleware for DB2 SQL access, SSL v3.0 support,
Leveraging the IBM Distributed Relational Database Architecture (DRDA)
15. IDS Server from IDS Software
Type-3 JDBC driver that supports JDK 1.02 and JDK 1.1 browsers
Secure JDBC, firewall access, ResultSet caching
16. Jaguar CTS from Sybase Inc
component transaction server,
supports multiple component models: JavaBeans, ActiveX and C/C++,
provides connection management, session management, monitoring, multi-database
connectivity, and point-and-click administration
17. Javabase/400 from Telasoft Data Corporation
Java with secure record-level access to the AS/400 relational database DB2/400
18. jConnect for JDBC from Sybase Inc
100% Pure Java Type 4 JDBC driver,
translates JDBC calls directly into Sybase/'s native protocol, TDS (Tabular Data Stream),
"thin-client" high performance business applications where no client software installation
supports Sybase/'s SQL Server, SQL Anywhere, and over 25 other data sources (such as
Oracle, DB2, Informix, etc.) through Sybase/'s middleware products, OmniConnect and
DirectConnect
19. JDBC Developer from Recital Corporation
all-JavaType 3 / Type 4 JDBC 1.0 driver,
with a server architecture, allowing access to Recital, Oracle, Ingres, Informix, DB2/6000, C-
ISAM, Digital RMS, dBase, FoxPro, Clipper and ODBC data sources.
20. JDBC Lite from Software Synergy
light weight JDBC type 3 driver, provides access to ODBC databases
requires only a tiny memory footprint, zero client installation
21. JdbCache from Caribou Lake Software Inc
"caching" multiple JDBC connections within a multi-threaded Java application
22. jdbcKona from BEA Systems, WebXpress Division
JDBC drivers for Oracle, Sybase, Informix, and Microsoft SQL Server,
Native, non-ODBC implementations via vendor libraries.
23. JDX from Software Tree
provides transactional persistence of Java objects in relational database
24. Jeevan from W3apps Inc
extensible, easy-to-use, networkable OO database,
small size (150 KB), an excellent choice for embedded hardware or software applications
such as mobil agents, RMI support and B-tree indexing
25. JRB - Java Relational Binding from Ardent Software, Inc.
Java objects &> the database.Objects, automatically mapped into database format
26. JSQL from Caribou Lake Software Inc
compliant with Sun/'s JDBC 2.0 specification, small client footprint
27. Jsvr from Caribou Lake Software Inc
high-performance, Type 3 JDBC connection server, JDBC 2.0 features supported
28. JYD Object Database from JYD Software Engineering Pty Ltd
pure object DBMS written entirely in Java for use by Java application
29. ObjectStore PSE for Java from Object Design Inc
full-featured pure Java database with a 150-kilobyte footprint,
pure object architecture reduces database and application memory requirements by 25
percent or more, because no mapping code is needed
30. ObjectStrore DBMS from Object Design
object database management system (ODBMS) for Java, C++ and ActiveX developers,
Native object storage, distributed data caching, seamless Java integration, navigational
access, and superior extensibility
31. OpenLink Data Access Drivers For JDBC from OpenLink Software Inc
Generic Type 3 JDBC drivers, to all database engines supported by OpenLink Software
32. Oracle Lite from Oracle Corporation
single-user object-relational DBMS with Java object persistence,
standard Oracle interfaces, Java stored procedures and triggers, and native JDBC drive
33. POET Object Server Suite from POET Software Corporation
creating packaged, high-performance complex data applications,
FastObject Technology with multi-threading and transaction capabilities,
Includes ODMG Java API
34. PRO/Enable from Black & White Software Inc
provides persistent relational-object (PRO) mapping and application development
for three-tier applications on UNIX and Windows platforms.
35. Relational Object Framework from Watershed Technologies
RDBMS to Java Object middleware layer, don/'t need to know anything about SQL,
complimentary to EJB, JSP, CORBA, and servlet solutions
36. RmiJdbc from GIE Dyade
JDBC driver that relies on Java RMI
37. SCO SQL-Retriever from SCO
high-performance JDBC and ODBC middleware, Unix Systems
38. SOLID JDBC Driver from Solid Information Technology Ltd
100% Pure Java implementation of JDBC, native "Type 4" database access to SOLID Server,
thin-client Java applications
39. SOLID Server from Solid Information Technology Ltd
compact database engine for embedded use in Web applications,
fully SQL compliant, native ODBC driver and native type 4JDBC driver
40. Versant ODBMS from Versant Object Technology
Java-enabled Object Database Management System,
ODMG 2.0 standard for transactional object data management
41. VisiChannel for JDBC from Visigenic Software Inc
type 3 JDBC driver, works with most popular DBMSes via ODBC drivers,
Built on top of company/'s VisiBroker CORBA product

附录二。国外中间件技术培训内容和大纲参考
1. SUN公司的中间件培训课程:
Integration tools for e-business
Middleware
Message-oriented middleware
Remote Procedure Calls (RPCs)
Data integration middleware
Distributed object middleware
Transaction processors
Enterprise Application Integration
Workflow services
Module wrap-up
2. ETH Zürich 为中间件技术提供的工业课程
1 Architecture of Distributed Information Systems
2 Middleware Systems
3 Transactional Interaction
4 TP-Monitors
Demo 1 (part 1) Encina Demonstration
Demo 1 (part 2) CheeTah Demonstration
5 Queueing Systems
6 Workflow Management
Demo 3 Demonstration Workflow Systems
7 Object Monitors
Demo 4 Extended Databases (TP-Light)
3.一个中间件研讨班课程内容—企业电子商务开发和集成
Seminar Outline
1. Introduction to Enterprise Application Integration (EAI)
2. The Growing Need for EAI
a. EAI and Middleware
b. Middleware usage and benefits
c. Object vs. service-based applications
d. Middleware evolution
3. Introduction to eBusiness Enterprise Application Integration (E2AI)
a. E2AI - The new focus
b. 3 levels of dot.com
c. Moving from Web sites to Web transactions to eBusiness integration
d. Middleware as eBusiness enabling technologies4. Large-Scale E2AI Requirements
5. Middleware Services
a. Types of services
b. Events and notification
c. Intelligent data transformation and routing
d. Application and Middleware management and monitoring
e. Performance and scalability
6. Message-Oriented Middleware (MOM)
a. Publish/subscribe vs. message queuing
b. MOM pros and cons
c. Real-world case studies
7. IBM MQSeries vs. Microsoft MSMQ vs. Other MOM Products
8. MQSeries - MSMQ Interoperability: FalconMQ Bridge
9. Beyond MOM - Message Brokers and EAI
a. The EAI challenges
b. Message brokers vs. alternative solutions
c. Message broker functionality
d. Commercial message broker products
10.Distributed TP Monitors
a. When to use synchronous vs. asynchronous transactions
b. Commercial TP products
c. TP Monitors - The status report
d. Shortcomings of traditional procedural Middleware
11.CORBA Overview
a. Interfaces and IDL
b. Static vs. dynamic invocation
c. Exception handling
d. Server side policies
e. Interoperability: IIOP
f. How to build CORBA applications
12.CORBA Services
a. Naming service
b. Trader service
c. Event service
d. Notification service
e. Comparing OAGs, AMI, CORBA events and notifications
f. Messaging service
g. Transaction service
h. Security service
i. CORBA interceptors
13.CORBA V3
a. Overview of new features
b. CORBA component model
14.Extending CORBA/'s Reach to Legacy Applications
15.CORBA Pros and Cons
16.Commercial CORBA Products
17.ActiveX and COM+ Technologies
a. ActiveX architecture
b. The component model and binary standard
c. Automation and dual interfaces
d. Object lifecycle management
e. Classes, interfaces and IDL
f. Remote invocation
g. Single vs. multi-threaded applications
h. Pros and cons
i. Microsoft Transacation Server (MTS)
j. Beyond MTS - Moving to COM+
18.Comparing and Contrasting COM and CORBA
19.Integrating COM and CORBA - Interoperability Theory and Practice
20.Java: Language, Extensions and Component Model
a. Java - A programming language
b. Abstract Window Toolkit (AWT) vs. Java Foundation Classes (JFC)
c. Java Native Interface (JNI)
d. Java security
e. JDBC
21.Java Enterprise Middleware Services
a. JavaBeans component model
b. Java Remote Method Invocation (RMI)
c. Java Interface Definition Language (IDL)
d. Java Management API (JMAPI)
e. Java Messaging Service (JMS)
f. Java Naming and Directory Interface (JNDI)
22.Enterprise Java Beans (EJB) Model
a. Java Transaction Service (JTS) and API (JTA)
b. Enterprise Java Beans (EJB)
i. EJB introduction
ii. Sessions Beans vs. Entity Beans
iii. Practical examples
iv. Declarative Transaction Management
v. Java 2 Enterprise Edition (J2EE)
c. What/'s new with EJB 2.0 - Comparing EJB and COM+1
23.Web Middleware - Web Application Servers
a. Requirements for enterprise Web applications
b. Overview of APIs for Web application development
c. Why Web application servers?
d. Architecture definition
e. Commercial Web application servers
f. Alternatives to commercial Web application servers
g. The report card
h. Real-world case studies
24.Comparing and Contrasting Middleware Solutions
25.XML and Middleware
a. Message-Oriented Middleware (MOM) and XML
b. Web integration servers
c. Web application servers
d. Web data servers
e. CORBA and XML
f. SOAP - Simple Object Access Protocol
g. g. Microsoft BizTalk
26.Achieving Best-of-Breed Solutions with Middleware Products Integration
a. Integrating with legacy applications
b. Case study: Using objects and messaging for legacy integration
27.Putting It All Together - Real-World Examples and Case Studies
28.Middleware and E2AI - Middleware Landscape 2004

附录三。国外著名中间件开发商
BEA Systems BEA WebLogic,Tuxedo,BEA ObjectBroker,BEAmessageQ,eLink (EAI)
Jolt 2.0,BEA Manager,EJB Builder
Iona Technologies Iona e-Business Platform for Total Business Integration,
Iona Portal Server,Iona iPortal Application Server (iPAS),
Iona Enterprise Integrator,Iona Mainframe Integrator,
Iona B2B Integrator,Iona XMLBus,Iona Orbix 2000
Tibco Software ActiveEnterprise(EAI)
Mercator Software Mercator Integration Broker (Event-driven, Open Architecture)
Microsoft Windows DNA, .NET Framework, BizTalk Server 2000,
Microsoft Message Queue Server (MSMQ), Microsoft Transaction Server (MTS)
IBM WebSphere, VisualAge, SanFrancisco, MQSeries, CICS
Oracle Oracle E-Business Suite, Oracle9i Application Server, Oracle9iAS Wireless,
Oracle Integration Server, Oracle Advanced Queuing (AQ), Oracle XML
Sun Java, J2EE, Jini, Sun Open Net Environment (ONE), iPlanet E-Commerce Solutions,
Platform Adaptor Components (PACs), Java Message Queue,
iPlanet Trustbase Transaction Manager, Forte 4GL
HP HP Netaction Internet Operating Environment (IOE),Bluestone Total-e-Server,
e-Speak(Web-Services),HP Process Manager software,Total-e-Syndication
J2EE, XML
NEON NEON Impact(EAI)
Persistence Software PowerTier For J2EE, PowerTier For C++
SilverStream Software eXtend Integrated Services Environment (Web Services),
jBroker Web 1.0, jBroker Orb 3.1, jBroker MQ
Vitria Technology BusinessWare (EAI)
WebMethods webMethods integration platform
NobleNet EZ-RPC
Bluestone Software Total-e-Server HP 兼并
Cornerstone Software, Inc Piccolo (MOM)
PeerLogic PIPES Platform (MOM)
Entersoft Systems NCR/'s TOP END(TPM), TOP END-Tuxedo Message Gateway
Nastel Technologies MQControl,MQControl Group Manager,MQControl Local Manager,
MQControl Explorer,MQControl Automation Policies,Massage Management Facility
(MMF),Massage Management Facility (MMF),WebMQ,AutoPilot,AutoPilot/MQSI,
Enabling Management of MQSeries™ Middleware from HP OpenView VPO
Visibroker VisiBroker Integrated Transaction Service (ITS), VisiBroker ORB
MPI Software Technology, Inc. MPI/Pro,Cluster Controller (平行计算)
Software Technologies Corp. (STC) e-Gate (EAI)
Level 8 Systems Geneva Enterprise Integrator (EI),Geneva AppBuilder ,CICERO,
支持集成Siebel 7
Active Software ActiveWorks
Push Technologies SpiritWAVE
Real-Time Innovations, Inc (RTI) NDDS,WaveWorks,WaveSurf 实时应用
支持real-time publish-subscribe (RTPS) architecture
Talalian SmartSockets(MOM),SmartSockets& for JMS
SmartPGM™ 符合工业标准协议Pragmatic General Multicas(PGM)
Financial Fusion STP Solution,Financial Fusion Server,GlobalFIX,GlobalFIX™ Limited
EditionFT Adapter,GSTP,UniversalOFX™ Adapter 财务中间件
Biveroni Batschelet Partners/' (BBP) IGT (Interbank Gateway)
Candle CandleNet eBusiness Platform,CandleNet eBusiness Exchange,
Candle Application Services Pac: MQSeries Application Development
Siebel Siebel 7 Smart Web Architecture
Cape Clear Software CapeConnect Web Services Platform,
CapeStudio Rapid Development Tool
iWay Software iWay Enterprise Integrator(EAI),iWay eBIX XML Integration Server,
e2E Integration,Mobile e-Business Solutions

附录四。Steria 公司的企业集成解决方案
Steria Middleware Solutions
DB Middleware : Orcale SQLNet, Microsoft ODBC
TPM : BEA Tuxedo
MOM : IBM MQSeries, BEA Message Q, Microsoft MSMQ

Steria Application Server Solutions
BEA : Web logic Server
Microsoft : MTS and DCOM
IBM : WebSphere

Steria E.A.I. Solutions
IBM and NEON : MQIntegrator and eBiz Integrator
Microsoft : BizTalk Server
TIBCO : TIB/Active Enterprise
BEA : eLink
Others : Level8, Mercator,…

附录五。推荐参考资料
Middleware Architecture Report: “A Middleware Framework for Delivering Business Solutions”
Version 1.0, May 2001
Prepared for: The Council on Technology Services Commonwealth of Virginia
By: The COTS Enterprise Architecture Workgroup, Middleware Domain Team
全文共60页,材料另附。

附录六。财务中间件产品
Ace Software Solutions Inc. - STP Toolkit
Alltel Information Services Inc. - AIM
BEA Systems Inc. - Tuxedo
BBP IGT
Candle Corporation - Roma FS/Access
Cavendish - InterAct
Cerberus Software Ltd - Novft
City Software International - Sadim
CMA Small Systems AB - PIE
Constellar Corporation - Constellar Hub
CSK Software - XGen
Datawise Ltd -ftWise
Deluxe Data International Ltd - Deluxe Architect, Deluxe Architect NT
Fenestrae - Banking Solution
Financial Fusion STP Solution,Financial Fusion Server etc.
Fircosoft - Firco-STP-Engine
Fundtech Corporation - PayPlus
Gresham Computing Plc - Casablanca
Heliograph Ltd - Message Broker
IBM - Merva
IntraNet Inc. - MTS
Level 8 Systems - Geneva Integrator
LiveBiz JOFX
Logica Plc - Bess, Fastwire
Logos-CSE - CSE
Management Data GmbH - IPOS
MIC Data Corporation - Turbft
Midas-Kapiti International (MKI) - Meridian Middleware
Mint Communication Systems - Mint
Mitem Corporation - MitemView
Montran Corporation - Global Payments System
Mpct Solutions Corporation - Atlas.MoneyTransfer
Neon Inc. - Neonet, Copernicus
Netik.com - xNetik
OpenTrade Technologies Ltd - Orbita
OST Business Rules Ltd - OST
PeerLogic Inc. - LiveContent
Provida Asa - Prtch, ProPay
Safe Banking Systems Software - Safe/400,Telex/400
Sam Business Systems Ltd - Intercomft
Software Integrators Ltd - BaseTran/Star/Cope
Software Technologies Corporation (STC) - DataGate, eGate
Steria Banques - Stachem, Stelink
Symtec Solutions Ltd -ftLink
TATA Consultancy Services FIG
Telino - Metabroker
Tibco Finance Technology Inc - TIB
Trace Financial Ltd/HIE Inc. - Trafic, Cloverleaf
TSI International Software - Messenger, Mercator, Mercator FS
Wilco International Ltd - Enterprise Broker

附录七。有关中间件的标准和组织
标准和协议
Common Object Request Broker Architecture (CORBA)-- OMG
Internet Inter-ORB Protocol (IIOP™) -- OMG
Enterprise JavaBeans (EJB) - Sun Microsystems
Component Object Model (COM+) – M

 

from:
http://www.learnsky.com/bbs/printpage.asp?BoardID=6&ID=405
  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
中间件(Middleware)是指位于操作系统和应用程序之间的软件层,用于协调、管理和支持应用程序的运行。它提供了一组通用的功能和服务,使得应用程序开发和部署更加简化和灵活。 中间件可以提供以下功能: 1. 连接和通信管理:中间件可以处理不同应用程序之间的通信,包括远程过程调用(RPC)、消息传递、数据传输等。 2. 数据库访问:中间件可以提供对数据库的访问接口和连接池管理,简化数据库操作和提高性能。 3. 安全性和身份验证:中间件可以提供身份验证、授权和加密等安全机制,保护应用程序和数据的安全性。 4. 事务管理:中间件可以提供事务处理机制,确保在分布式环境中的数据一致性和完整性。 5. 缓存和性能优化:中间件可以提供缓存机制,减少对后端资源的访问,提高应用程序的性能和响应速度。 JDK(Java Development Kit)是Java开发工具包的缩写,它是Java平台的核心组件之一。JDK包含了用于开发、编译、运行Java应用程序的各种工具和库。 JDK提供了以下主要组件: 1. Java编译器(javac):用于将Java源代码编译成Java字节码。 2. Java运行时环境(JRE):包含了Java虚拟机(JVM)和Java类库,用于执行Java字节码。 3. 开发工具(如Java编译器、调试器等):用于开发和调试Java程序。 4. 额外的库和工具:JDK还提供了许多额外的库和工具,用于开发各种类型的应用程序,如图形界面开发、网络编程、数据库访问等。 总之,JDK是开发和运行Java应用程序所需的基本工具和库集合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值