Apay系统(平台)不收钱,不收收钱吧交易手续费扣减是什么凭什么生存?

您的浏览器版本太低,为保障信息的安全,
点此选择密码控件登录
点此选择语音校验码
检测到您已经登录的账户:
二维码出错
authcenter-30-6116 & 0ae0e76f_0_1-&&作者:浪花
--&&发布时间: 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以靠近数据库,但也并非总是如此,何况其它应用功能如何分配也是不容易确定的。
--&&作者:浪花
--&&发布时间: 0:06:00
中间件作为一大类系统软件,与操作系统,数据库管理系统并称&三套车&,其重要性是不言而语的. 那什么是中间件? 我们来看看以下的几种定义: 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)工作,然后是组件的使用。  组件开发者应该掌握的三项主要内容是:属性、事件和方法。模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。什么是框架?框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。构 件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、 软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生 成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。
--&&作者:浪花
--&&发布时间: 0:07:00
什么是中间件 (仲季 日 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。可以说,在中间件领域国内的起步 时间并不比国外晚多少。
--&&作者:浪花
--&&发布时间: 0:09:00
中间件的演变过程 (仲季 日 15:48) 随着计算机技术的发展,IT厂商出于商业和技术利益的考虑,各自产品之间形成了差异,技术在不断进步,但差异却并没有因此减少。计算机用户出于历史原因和降低风险的考虑,必然也无法避免多厂商产品并存的局面。 于是,如何屏蔽不同厂商产品之间的差异,如何减少应用软件开发与工作的复杂性,就成为技术不断进步之后,人们不能不面对的现实问题。 显然,由一个厂商去统一众多产品之间的差异是不可能的,而单独由计算机用户在自己的应用软件中去弥补其中的大片空档,由于技术深度和技术广度的要求,必然也是勉为其难。于是,中间件应运而生。中间件试图通过屏蔽各种复杂的技术细节使技术问题简单化。 在 中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如 操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。这些与用户的业务没有直接 关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的 部分,供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软件。
--&&作者:浪花
--&&发布时间: 0:10:00
间件解决什么问题 (仲季 日 15:48) 世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性: & 缩短应用的开发周期 & 节约应用的开发成本 & 减少系统初期的建设成本 & 降低应用开发的失败率 & 保护已有的投资 & 简化应用集成 & 减少维护费用 & 提高应用的开发质量 & 保证技术进步的连续性 & 增强应用的生命力 具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 中 间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。Standish的调 查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济大发展、电子商务大发展的今天,从中间件获得利益的不只是IT厂 商,IT用户同样是赢家,并且是更有把握的赢家。 其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发 应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往 在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力投入。
--&&作者:浪花
--&&发布时间: 0:11:00
几种中间件 简析通科技五类中间件产品 (作者:杨桦 日 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的银行业务系统示意图   产品特点:   * 统一使用接口,模块化结构   * 兼容性、通用性、易操作性   * 安全性、可扩充性
--&&作者:浪花
--&&发布时间: 0:13:00
以下内容含脚本,或可能导致页面不正常的代码
&TABLE cellSpacing=0 cellPadding=0 width=593 border=0&&TR&&TD class=t1&&DIV align=center&中间件&应对多种操作系统的挑战 (图) ()&/DIV&&/TD&&TD&&img src=&http://www.netadmin.com.cn/images/inner_merge1_2_r3_c3.gif&&&/TD&&TD&&img src=&http://www.netadmin.com.cn/images/spacer.gif&&&/TD&&/TR&&TR&&TD colSpan=3&&img src=&http://www.netadmin.com.cn/images/inner_merge1_2_r4_c1.gif&&&/TD&&TD&&img src=&http://www.netadmin.com.cn/images/spacer.gif&&&/TD&&/TR&&TR&&TD vAlign=top align=right background=../../images/inner_merge1_bgd2.gif colSpan=3&&TABLE cellSpacing=0 cellPadding=0 width=&100%& border=0&&TR&&TD width=24& &/TD&&TD vAlign=top width=554&&TABLE cellPadding=5 width=&100%& border=0&&TR&&TD&[code]&SCRIPT language=javascript src=&../js/huge.js&&&script&[/code]本文出自《网管员世界》2002年 第11期 聚焦 栏目 如今,企业的网络环境拥有多种操作系统已经成为一种非常普遍的情况,如何管理多种操作系统?Client/Server模式的局限性在这种时候也就暴露出 来了。基于这种现实的需要,中间件应运而生。 中间件是一种有效管理异构操作系统的技术,本文从中间件的概念、模型、支持服务器端中间件技术的平台三方面作出了精辟的阐述。中间件是位于操作系统和应用 软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件 在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。什么是中间件?中间件是在计算机硬件和操作系统 之上,支持应用软件开发和运行的系统软件,它能够使应用软件相对独立于计算机硬件和操作系统平台,为当今的大型分布式应用搭起了一个标准的平台,把大型企 业分散的系统组合在一起,实现大型企业应用软件系统的集成。它具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。在具 体实现上,中间件是一个用API定义的分布式软件管理框架,具有强大的通信能力和良好的可扩展性。中间件工作原理如图1。&img src=&http://www.netadmin.com.cn/data//beryl05.jpg&& 图1根据在系统中所起的作用和采用的技术不同,中间件大致划分为以下五种:1、基于对象请求代理(ORB,Object Request Broker)的中间件。对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言无关的面向对象的RPC远程过程调用应用,被视为从面向对象 过渡到分布式计算的强大推动力量。从管理和封装的模式上看,对象请求代理和远程过程调用有些类似,不过对象请求代理可以包含比过程调用和消息中间件更复杂 的信息,并且可以适用于非结构化的或者非关系型的数据。目前有两种对象请求代理的标准,分别是CORBA和DCOM,这两种标准是相互竞争的,而且两者之 间有很大的区别,这在一定程度上阻碍了对象请求代理中间件的标准化进程。2、事务处理中间件(TPM,Transaction Processing Monitor)。事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的 API,程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序&&基于事务处理的应用程序。事务处理中间件向用户提供一系列的服务,如应用管理、 管理控制、已经应用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等。3、 面向消息中间件(MOM,Message Oriented Middleware)。消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它 比远程过程调用更进一步的原因。另外消息中间件不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。当然,和远 程过程调用相比,消息中间件不支持程序控制的传递,不过这种功能和它的优势比起来却是无关紧要的。消息中间件适用于需要在多个进程之间进行可靠的数据传送 的分布式环境。4、数据库中间件(DM,Database Middleware)。数据库中间件在所有的中间件中是应用最广泛、技术最成熟的一种。一个最典型的例子就是ODBC,ODBC是一种基于数据库的中间 件标准,它允许应用程序和本地或者异地的数据库进行通信,并提供了一系列的应用程序接口API,当然,在多数情况下这些API都是隐藏在开发工具中,不被 程序员直接使用。有过实际编程经验的朋友都知道,在写数据库程序的时候,只要在ODBC中添加一个数据源,然后就可以直接在自己的应用程序中使用这个数据 源,而不用关心目标数据库的实现原理、实现机制,甚至不必了解ODBC向应用程序提供了哪些应用程序接口API。不过在数据库中间件处理模型中,数据库是 信息存贮的核心单元,中间件完成通信的功能,这种方式虽然是灵活的,但是并不适合于一些要求高性能处理的场合,因为它需要大量的数据通信,而且当网络发生 故障时,系统将不能正常工作。所谓有得必有失,就是这个道理,系统的灵活性提高是以处理性能的降低为代价的。5、远程过程调用中间件(RPC, Remote Procedure Call)。远程过程调用是另外一种形式的中间件,它在客户/服务器计算方面,比数据库中间件又迈进了一步。它已经存在了相当长的时间,而且沿用了大多数 程序员都非常熟悉的编程模式&&程序员就像调用本地过程一样在程序中调用远程过程。启动远程过程的运行,然后将运行结果返回给本地程序。不但如此,远程过 程调用还可以将程序的控制传递到远端的服务器中去。RPC的灵活特性使得它有比数据库中间件更广泛的应用,它可以应用在更复杂的客户/服务器计算环境中。 远程过程调用的灵活性还体现在它的跨平台性上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统平台的,而程序员在编程时并不需要考虑这 些细节。RPC也有一些缺点,主要是因为RPC一般用于应用程序之间的通信,而且采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的,因为 这些应用通常不要求异步通信方式。但是对于一些大型的应用,这种方式就不是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓冲、流量 控制以及进程同步等一系列复杂问题。中间件操作的流程,是从客户端的应用程序,它需要在网络中某个节点处获取一定的数据或者服务,这些数据和服务可能处于 一个运行着和客户端不同的操作系统的服务器上,客户/服务器应用程序中负责查找数据的那一部分只要通过调用中间件API访问一个中间件系统,由中间件完成 到网络中查找目标数据源或者服务的任务,进行传输客户的请求,重组答复信息,最后将结果送回给应用程序。理论上中间件的工作机制是:客户端上的应用程序需 要从网络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中。客户/服务器应用程序中负责 寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据源或服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任务。传统的 客户/服务器模式是一种双层的结构,通常是一台个人计算机做客户机使用,另外一台服务器用于存放后台的数据库系统,应用程序与客户端直接相连,中间没有其 他的逻辑。程序的业务逻辑则一般存在于前台的应用程序中,根据客户的业务要求定制客户端程序,这种定制的程序没有通用性。或者业务逻辑也存在于后台数据库 中,以触发器(trigger)的方式实现。这种方式有一个很大的缺点,就是一旦客户的业务逻辑有所改变的话,将引起应用程序的修改以及后台触发器的修 改,将所有程序模块都重新修改、编译、链接的工作量是相当大的。另外由于这种结构将用户界面和业务逻辑以及数据源绑定在一起,会消耗客户机的大量资源,对 客户机来说是一个很大的负担。为了克服由于传统客户/服务器模型的这些缺陷给系统应用带来的影响,一种新的结构出现了,这就是三层(N层)客户/服务器模 型。三层客户/服务器结构构建了一种分割式的应用程序。系统对应用程序进行分割后,划分成不同的逻辑组件,主要分为三层:数据服务层:实现数据定义、存 储、备份、检索等功能,主要有数据库系统实现。业务处理层:实现客户的全部业务逻辑。用户服务层:提供信息浏览,服务定位。主要是实现用户界面,并保证用 户界面的友好性、统一性。使用这种模型,可以将系统需求划分成各种服务,例如事务服务、名字服务等。将这些服务以组件的形式实现,一个组件可以实现系统中 的一种或者多种服务,是这些服务的物理封装。根据系统的功能、性能等各方面的需求,系统管理员可以在网络上灵活的部署这些组件。并且根据业务的改动可以灵 活地对这些服务组件进行修改,而不影响其它的组件,从而降低维护的费用。基于ORB的中间件模型这种模型完全克服了传统的客户/服务器模型的缺点,具有可 重用性、灵活性、可管理性、易维护性等一系列优良的特性。ORB的中间件模型示意如图2。&img src=&http://www.netadmin.com.cn/data//beryl33.jpg&& 图2中间件连接客户端程序为用户提供可靠便捷的数据库访问。举一个简单的例子:在一个局域网环境下,使用Delphi编写客户端应用程序,后台数据库使用 MS NT4 +SQL Server,在Delphi中,通过ODBC或者BDE连接到后台数据库。在此ODBC就是一种标准的数据库中间件,它是Windows操作系统自带的 服务。BDE(Borland Database Engine)不是中间件,虽然可以通过BDE和后台数据库相连,但是实际上BDE还是要通过ODBC的。这是一种传统的结构,这种结构有很多不足之处, 例如有很&胖&的客户端,从而造成系统的可扩展性差等。我们要重点介绍的是基于Web的数据库中间件。图3是它的工作原理图。&img src=&http://www.netadmin.com.cn/data//beryl50.jpg&& 图3目前基于Web的数据库中间件是得到广泛应用的一种标准结构。在这种结构中,用户使用标准的浏览器(如微软公司的IE)通过Internet和 HTTP协议访问服务方提供的Web服务器,Web服务器分析用户浏览器提出的请求,如果是页面请求,则直接用HTTP协议向用户返回要浏览的页面。如果 有数据库查询操作的请求,则将这个请求传递给Web服务器和数据库之间的中间件,这个中间件当然不是ODBC了,由中间件再向数据库系统提出操作请求,得 到结果后再返回给Web服务器,Web服务器把数据库操作的结果形成HTML页面,再返回给浏览器。对象请求代理(ORB)体系结构是一种崭新的技术,它 以CORBA为代表。在这里,我们实现了一个基于请求代理体系结构的简单模型,藉此说明中间件的工作原理。系统由三个模块组成:客户端、服务器和代理。即 Client,Server和Agent。实现方法是使用Winsock编程技术(有关Winsock编程的技术可以参考相关文献),编程环境是VC++ 6.0。首先作如下定义:#define DataLength 80 file//定义数据长度#define AgentPort 14000//定义代理的端口号#define DefaultClientPort 12000//定义客户端的端口号#define DefaultServerPort 13000//定义服务器的端口号系统工作原理是:客户端、服务器和代理各有一个独立的IP地址和端口号(IP地址和端口号的组合可以确定客户端程序、服 务程序和代理服务器的通信地址)。我们要实现的是客户端和服务器之间的信息交互,但是现在面临这样的问题,客户端和服务器的地址以及端口都是可变的,它们 并不固定,因此在信息交互之前,客户端无法知道服务器的地址,服务器也并不知道客户端的地址。唯一确定的是代理服务器程序的IP地址和端口号,它是不变 的。系统实现的方式如下:客户端启动时首先向代理服务器注册自己的信息,主要是自己的IP地址和端口号,如果此时服务器已经注册,则代理服务器将服务器的 地址信息传递给客户端,否则客户端等待。支持服务器端中间件技术的平台当前主流的分布计算技术平台,主要有OMG的CORBA、Sun的J2EE和 Microsoft DNA 2000。它们都是支持服务器端中间件技术开发的平台,但都有其各自的特点,现一一进行分析。Microsoft DNA 2000Microsoft DNA 2000(Distributed interNet Applications)是Microsoft在推出Windows 2000系列操作系统平台基础上,在扩展了分布计算模型,以及改造Back Office系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。在服务器端,DNA 2000提供了ASP、COM、Cluster等的应用支持。由于Microsoft是操作系统平台厂商,因此DNA 2000技术得到了底层操作系统平台的强大支持;而且,由于Microsoft的操作系统平台应用广泛,支持该系统平台的应用开发厂商数目众多,因此在实 际应用中,DNA 2000得到了众多应用开发商的采用和支持。DNA 2000融合了分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。DNA使得开发可以基于Microsoft平台的服务器构件应用, 其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提供。以Microsoft为首的DCOM/COM/COM+阵营,从 DDE、OLE到ActiveX等,提供了中间件开发的基础,如VC、VB、Delphi等都支持DCOM,包括OLE DB在内新的数据库存取技术,随着Windows 2000的发布,Microsoft的DCOM/COM/COM+技术,在DNA 2000分布计算结构基础上,展现了一个全新的分布构件应用模型。首先,DCOM/COM/COM+的构件仍然采用普通的COM(Component Object Model)模型。COM最初作为Microsoft桌面系统的构件技术,主要为本地的OLE应用服务,但是随着Microsoft服务器操作系统NT和 DCOM的发布,COM通过底层的远程支持使得构件技术延伸到了分布应用领域。DCOM/COM/COM+更将其扩充为面向服务器端分布应用的业务逻辑中 间件。通过COM+的相关服务设施,如负载均衡、内存数据库、对象池、构件管理与配置等等,DCOM/COM/COM+将COM、DCOM、MTS的功能 有机地统一在一起,形成了一个概念、功能强的构件应用体系结构。但是它的不足是依赖于Microsoft的操作系统平台,因而在其它开发系统平台(如 Unix、Linux)上不能发挥作用。Sun的J2EEJ2EE简化了构件可伸缩的、基于构件服务器端应用的复杂度,虽然DNA 2000也一样,但最大的区别是DNA 2000是一个产品,J2EE是一个规范,不同的厂家可以实现自己的符合J2EE规范的产品。J2EE规范是众多厂家参与制定的,它不为Sun所独有,而 且其支持跨平台的开发,目前许多大的分布计算平台厂商都公开支持与J2EE兼容技术。EJB是Sun推出的基于Java的服务器端构件规范J2EE的一部 分,它基于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平台在内的任何服务器端环境中去。OMG的CORBACORBA是OMG组织基于众多开放系 统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。 最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的&软总线&;在ORB之上定义了很 多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使 用的服务,规定业务对象有效协作所需的协定规则。目前,CORBA兼容的分布计算产品层出不穷,其中有中间件厂商的ORB产品,如BEA的M3,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组织 制定的一个用于开发和配置分布式应用的服务器端中间件模型规范,它主要包括如下三项内容:①抽象构件模型,用以描述服务器端构件结构及构件间互操作的结 构;②构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成;③构件的配置和打包规范,CCM使用打包技术来 管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于XML的文档内容标准。总之,CORBA的特点是大而全,互操作性 和开放性非常好。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢。编后语:网管员都希望把不同业务逻辑、不同功能的操作系统集成在一起,像 一个完整的系统那样协调一致的工作,中间件和计算机操作系统的关系是很密切的。操作系统的一部分功能可以由中间件来实现,一些中间件的功能也可以由操作系 统来实现。因此,操作系统和中间件会进一步融合,而且它也推动了软件体系结构的变革。&/TD&&/TR&& /TABLE&&/TD&&/TR&&/TABLE&&/TD&&/TR&&/TABLE&
说明:上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.
--&&作者:浪花
--&&发布时间: 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 技术在全球范围内被广泛采用,但由于其自身的技术特点,在构造许多大型企业级应用时仍显不足,如并发控制、负载均衡、可靠传输、数据路由等,因而仍然存在 供中间件发展的中间地带。
--&&作者:浪花
--&&发布时间: 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应用有关,我们开发的插入点,能否放在有特色的对象数据库系统和小脚印的瘦客户端系统,这个问题值得探 讨,否则面对如此众多的竞争对手,恐无容身之地,在设计时这些系统的设计思路,都可做有益的参考。
--&&作者:浪花
--&&发布时间: 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
xmlBlaster
事务处理监程(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。
--&&作者:浪花
--&&发布时间: 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 Mid}

我要回帖

更多关于 applepay支付怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信