2008-01-24 14:20:04 来源:上海亚士帝信息工程公司
网络经济时代的来临,使企业面临信息化的挑战,如何利用信息技术,将不同的应用系统集成为一个高效的整体,采纳现代的管理理念和方法,消除信息孤岛现象,及时将关键信息服务送到一线的工作人员的手中,成为企业提高市场竞争力的关键,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 成立于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应用有关,我们开发的插入点,能否放在有特色的对象数据库系统和小脚印的瘦客户端系统,这个问题值得探讨,否则面对如此众多的竞争对手,恐无容身之地,在设计时这些系统的设计思路,都可做有益的参考。
典型的主流产品有:
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, Softwired,SwiftMQ
有些厂商就采用买他们的产品,放进自己的软件中,如GE 和HP Bluestone 就直接用SonicMQ,为鼓励开发人员使用,Sonic 和Fiorano 允许免费下载试用,SwiftMQ则干脆免费提供。
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/
典型产品:
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。
分布计算环境的中间件,有四类主流技术,它们采用不同的信息传递机制:
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 中间件,它至少应支持以下几个功能,支持应用间数据交换的信息中间件,支持业务过程规则,在这方面,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™,SWIFT 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, SWIFT,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)。
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合同要求,实施对分布设备的实时管理和控制。
其它应用包括网络负荷自动平衡和容错计算。
完整的企业应用集成,要求连接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
标准和协议
Common Object Request Broker Architecture (CORBA)-- OMG
Internet Inter-ORB Protocol (IIOP™) -- OMG
Enterprise JavaBeans (EJB) - Sun Microsystems
Component Object Model (COM+) – M
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。