- 浏览: 352139 次
- 性别:
- 来自: beijing
文章分类
最新评论
-
LinApex:
什么东西????????????
joeq可以在装载类的时候修改类实现而不影响原来的类实现 -
javavsnet:
wjg19890301 写道请教一下楼主,如果xfire还做w ...
webservice: Could not initialize Service NoSuchMethodException getPortClassMap() -
wjg19890301:
请教一下楼主,如果xfire还做webservice的其他处理 ...
webservice: Could not initialize Service NoSuchMethodException getPortClassMap() -
wjg19890301:
十月围虫 写道将xfire加载顺序放在最后也可以吧怎么改变类的 ...
webservice: Could not initialize Service NoSuchMethodException getPortClassMap() -
十月围虫:
将xfire加载顺序放在最后也可以吧
webservice: Could not initialize Service NoSuchMethodException getPortClassMap()
什么是中间件
中间件是分布计算机系统中集成各个组成的软件粘接剂。
也有人把中间件定义为网络环境中一组为许多应用需要的、可复用和可扩充的服务或(资源相关的)功能。
"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 等。
数据库中间件,目前有两大主流技术:
1) ODBC -- Open DataBase Connectivity
ODBC 最早由微软提出,现在也为许多其它平台采纳,作为一种流行标准,借助相关的驱动程序,可以用来作为一种标准接口,存取各种数据库,但由于需要有一层中间转换,会造成一定的效能问题,使用时需要一定调整,好得现在市场上已有多种驱动程序产品可供选择。
2) JDBC -- Java DataBase Connectivity
由JavaSoft提出,现已成为从Java应用存取数据库的标准,许多Intranet/Internet应用几乎难以避免接触它。
对需要同时使用两种技术的EAI项目,可注意有些 JDBC 驱动程序能提供解码通道,使ODBC也能接受。
附录一中是我们收集的近40种数据库中间件产品及其主要特点,可见多数为支持Java 应用和JDBC类型,这显然与开发Internet应用有关,我们开发的插入点,能否放在有特色的对象数据库系统和小脚印的瘦客户端系统,这个问题值得探 讨,否则面对如此众多的竞争对手,恐无容身之地,在设计时这些系统的设计思路,都可做有益的参考。
信息中间件(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, 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/
事务处理监程(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。
分布对象中间件
分布计算环境的中间件,有四类主流技术,它们采用不同的信息传递机制:
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系统结合较紧,号称适合任何语言和任何平台,目前市场上流行的产品很多,像:其中较著名的有,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等。
分布实时控制中间件
分布实时控制应用,也是中间件重要应用领域,一个典型产品是Real-Time Innovations (RTI) 公司的 NDDS,WaveWorks,WaveSurf ,还有相应的开发工具,可广泛应用于工业控制、通信、以及军事/空间应用。
在要求服务质量的场合,要求采用自适应中间件(见下节)。
自适应(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合同要求,实施对分布设备的实时管理和控制。
其它应用包括网络负荷自动平衡和容错计算。
如何制定一个中间件研发计划
这是一个借鉴自美国NFS有关项目的参考蓝本:
1. 制订发展核心中间件的路线图(Roadmap)
这包括:中间件的基本技术结构框架,选择的主流技术和开放标准,须研究发展的技术方向,必需和核心的中间件类型,要研制的中间件类型和功能要求。规划文档 的内容,应是结构化的,适合各类人员的参考,除综述外,还应有一定深度的描述,并能根据技术发展,动态加以调整,内容上应兼顾技术和方针政策两个方面。规 划制定应有明确的日程表。
2. 成立一个专家研究小组
保持对规划的研究和调整,了解国外最新的技术发展动态,推动技术传播,掌握研究进展,解决有关标准和实践中共同的问题,确定评估和验收标准,促进中间件的应用,向政府有关部门推荐新的研究方向和课题。
3. 推动合作交流和中间件的应用
通过技术合作,包括定期开展中间件技术研讨会,促进中间件的开发和应用,根据应用反馈明确改进方向。
对中间件的技术评估, 还有一个可参考的方法和模型, 这是欧洲通信公司对通信用中间件技术评估的一个联合项目 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消息的测试.
中间件是分布计算机系统中集成各个组成的软件粘接剂。
也有人把中间件定义为网络环境中一组为许多应用需要的、可复用和可扩充的服务或(资源相关的)功能。
"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 等。
数据库中间件,目前有两大主流技术:
1) ODBC -- Open DataBase Connectivity
ODBC 最早由微软提出,现在也为许多其它平台采纳,作为一种流行标准,借助相关的驱动程序,可以用来作为一种标准接口,存取各种数据库,但由于需要有一层中间转换,会造成一定的效能问题,使用时需要一定调整,好得现在市场上已有多种驱动程序产品可供选择。
2) JDBC -- Java DataBase Connectivity
由JavaSoft提出,现已成为从Java应用存取数据库的标准,许多Intranet/Internet应用几乎难以避免接触它。
对需要同时使用两种技术的EAI项目,可注意有些 JDBC 驱动程序能提供解码通道,使ODBC也能接受。
附录一中是我们收集的近40种数据库中间件产品及其主要特点,可见多数为支持Java 应用和JDBC类型,这显然与开发Internet应用有关,我们开发的插入点,能否放在有特色的对象数据库系统和小脚印的瘦客户端系统,这个问题值得探 讨,否则面对如此众多的竞争对手,恐无容身之地,在设计时这些系统的设计思路,都可做有益的参考。
信息中间件(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, 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/
事务处理监程(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。
分布对象中间件
分布计算环境的中间件,有四类主流技术,它们采用不同的信息传递机制:
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系统结合较紧,号称适合任何语言和任何平台,目前市场上流行的产品很多,像:其中较著名的有,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等。
分布实时控制中间件
分布实时控制应用,也是中间件重要应用领域,一个典型产品是Real-Time Innovations (RTI) 公司的 NDDS,WaveWorks,WaveSurf ,还有相应的开发工具,可广泛应用于工业控制、通信、以及军事/空间应用。
在要求服务质量的场合,要求采用自适应中间件(见下节)。
自适应(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合同要求,实施对分布设备的实时管理和控制。
其它应用包括网络负荷自动平衡和容错计算。
如何制定一个中间件研发计划
这是一个借鉴自美国NFS有关项目的参考蓝本:
1. 制订发展核心中间件的路线图(Roadmap)
这包括:中间件的基本技术结构框架,选择的主流技术和开放标准,须研究发展的技术方向,必需和核心的中间件类型,要研制的中间件类型和功能要求。规划文档 的内容,应是结构化的,适合各类人员的参考,除综述外,还应有一定深度的描述,并能根据技术发展,动态加以调整,内容上应兼顾技术和方针政策两个方面。规 划制定应有明确的日程表。
2. 成立一个专家研究小组
保持对规划的研究和调整,了解国外最新的技术发展动态,推动技术传播,掌握研究进展,解决有关标准和实践中共同的问题,确定评估和验收标准,促进中间件的应用,向政府有关部门推荐新的研究方向和课题。
3. 推动合作交流和中间件的应用
通过技术合作,包括定期开展中间件技术研讨会,促进中间件的开发和应用,根据应用反馈明确改进方向。
对中间件的技术评估, 还有一个可参考的方法和模型, 这是欧洲通信公司对通信用中间件技术评估的一个联合项目 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消息的测试.
评论
1 楼
nbsven
2009-06-26
(web server软件)UFO不会出现一个字节的内存泄漏和一个线程的不能回收,使用UFO做Web Server的好处是网站能做得很稳定,永远也不会自己down掉;UFO在托管机房丢包率很高、遭受Hacker攻击、互联网 骨干网被黑等恶劣的环境条件下仍然能很好地运行;UFO在对付Hacker方面(防Hacker弄down和Hacker抓取不该访问的资源)也有足够措施。
另外,UFO几乎不会进行垃圾回收,消耗CPU很少,在普通的PC Server上用UFO运行网站,平时CPU占用率<0.1%,最多时也不会超 过5%。您知道,JVM的垃圾回收会导致大量的运算,消耗很多CPU,从而导致Server的负载能力和响应速度下降。UFO在对象管理方面采 用了很好的机制和算法,做得很出色。用UFO运行网站,可以一直保证高负载能力,快速的响应速度和低CPU消耗。发布网址:www.gm365.com
另外,UFO几乎不会进行垃圾回收,消耗CPU很少,在普通的PC Server上用UFO运行网站,平时CPU占用率<0.1%,最多时也不会超 过5%。您知道,JVM的垃圾回收会导致大量的运算,消耗很多CPU,从而导致Server的负载能力和响应速度下降。UFO在对象管理方面采 用了很好的机制和算法,做得很出色。用UFO运行网站,可以一直保证高负载能力,快速的响应速度和低CPU消耗。发布网址:www.gm365.com
发表评论
-
ActiveMQ,InactivityIOException: Channel was inactive for too (>30000) long的问题分析
2014-12-11 17:54 3290ActiveMQ集群中包括broker1和broker2, ... -
netty中Channel的disconnect和close的区别
2014-09-29 18:21 0调用Channel的disconnect()方法,会调用Ch ... -
Activemq prefetch extension的含义
2014-01-14 13:47 1391Prefetch extension用于一条消息被发送 ... -
Activemq 在大流量下出现内存耗尽的情况以及解决方案
2014-01-13 12:41 4565在大量消息持续发送到broker的情况下,当broker到 ... -
Activemq transport 配置参数及设置方法
2013-12-23 12:00 0有多种transport来连接activemq的broke ... -
activemq 持久化topic处理过程及其消息游标轮转问题的解决方案
2013-12-04 09:17 2921如果消息是持久化的,activemq收到消息后会存 ... -
ActiveMQ中ActiveMQBytesMessage类型可能会丢失数据的问题及解决
2013-11-23 12:00 10955ActiveMQBytesMessage类型的消息在特殊情 ... -
Active MQ5.7版在NIO模式下SSL通信的问题以及后续版本的解决
2013-11-11 09:35 1073Active MQ 5.7版在NIO模式下SSL通信可能会 ... -
以JMS标准接口访问IBM MQ
2013-11-08 09:57 2309IBM MQ是广泛应用的消息中间件,如果实际项目中消息 ... -
ActiveMq中Session的事务与消息过期
2013-11-07 11:52 13061ActiveMQ有支持两种事务, JMS transa ... -
EJB transction, BMT, CMT,setRollbackOnly
2012-11-02 15:22 1322So, you have two choices: BMT a ... -
EJB 的事务与timer
2012-11-02 15:21 10231)设定时间间隔后能重复定时的Timer 在EJB ... -
在64位windows系统编译,用maven编译不过,会hang
2012-10-27 23:01 0在64位windows系统编译我们的中间件,用maven编译不 ... -
tomcat中valve和servlet filter的区别
2011-04-14 17:32 2603Valve是位于Catalina容器中的组件,可以插入到请求处 ... -
RabbitMQ vs Apache ActiveMQ vs Apache qpid
2010-09-25 22:23 4699http://bhavin.directi.com/rabbi ... -
尽量使用Glassfish's naming provider而不是Java SE CosNaming JNDI provider
2010-08-05 17:48 1013Java SE CosNaming JNDI provider ... -
判断端口是否被占用的方法
2010-06-26 17:16 4130在glassfish的NetUtils中,是这样判断的 t ... -
glassfish中对连接池中的连接有效性检查
2010-06-22 09:58 1647Glassfish的connnection pool管理着连接 ... -
I/O模型
2010-04-20 13:24 1124Unix的5种I/O模型 1、阻塞I/O 2、非阻塞I/O ... -
glassfish中同时调试多个server instance的方法
2010-03-03 12:05 1028修改domain.xm,从cluster的java-confi ...
相关推荐
金蝶中间件Apusic-plugins.zip是一个包含了一系列与金蝶Apusic中间件相关的开发插件的压缩包,主要用于帮助开发者在Eclipse或MyEclipse环境中进行应用程序的调试和开发。Apusic中间件是金蝶公司推出的一款企业级应用...
总结来说,面向构件中间件平台-EOS是现代企业级应用开发的关键技术之一,它提供了一个统一的、可扩展的框架,促进了构件的重用,简化了系统集成,提升了软件开发的质量和效率。理解并掌握EOS的原理和实践,对于IT...
大型网站系统与JAVA中间件实践-清晰版带书签
中间件IBM-CICS,全称为Customer Information Control System,是由IBM开发的一种交易处理中间件,主要用于支持高可用性和高性能的企业级在线事务处理(OLTP)。它为应用程序提供了处理并发用户请求和确保数据一致性...
总结,IceE-1.3.0作为一款嵌入式网络中间件,不仅提供了高效的网络通信能力,还降低了开发难度,提高了开发效率,对于构建各种嵌入式网络应用来说,是一个值得信赖的工具。理解和掌握其原理与应用,对于提升嵌入式...
一个基于koa2的微信开发中间件koa-easywechat,开箱即用
在这个“国产中间件-中创中间件相关手册”中,我们可以深入学习和理解这一核心组件的功能、特性以及如何在实际环境中部署和使用。 首先,中间件的种类繁多,包括消息中间件、交易中间件、应用服务器、数据库连接池...
前端负责用户交互,应用层处理业务逻辑,数据库层存储数据,服务层则通过中间件提供各种服务。此外,还有分布式缓存、分布式文件系统、分布式计算等技术,以应对海量数据和高并发挑战。 四、性能优化 - **负载均衡*...
实习二 消息中间件应用开发 实习三 IoCDI和RPC框架实现 实习四 Web Services 开发 说明一下这个是2020年西北农林科技大学的中间件实验,可能针对性比较强,外校的慎下。声明一下:我不能保证每年老师实验题目都...
综上所述,金蝶中间件AAS-V10-sp2 IDEA插件是一个强大的工具,它为使用IDEA的开发者提供了与金蝶中间件深度集成的环境,使得在IDEA内直接处理AAS相关的开发工作成为可能,减少了开发过程中的技术障碍,提升了开发...
该项目为基于Java开发的高性能MySQL集群中间件Mycat-Server的设计源码,总计包含1123个文件。其中,Java源文件占比最高,达到998个,此外还包括29个XML配置文件、22个文本文件、19个属性文件、14个HTML文件、8个PNG...
对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,《大型网站系统与Java中间件实践》有很大的参考意义;对于没有网站开发设计经验的人员,通过《大型网站系统...
综上所述,该文献讨论了一种针对分布式视景仿真中遇到的问题的解决方案,即开发了一个中间件VPDR-C,它通过集成Vega Prime和CORBA技术,改善了分布式仿真程序的开发、调试和部署过程。这不仅为利用Vega Prime进行...
基于java的开发源码-COM中间件 JACOB.zip 基于java的开发源码-COM中间件 JACOB.zip 基于java的开发源码-COM中间件 JACOB.zip 基于java的开发源码-COM中间件 JACOB.zip 基于java的开发源码-COM中间件 JACOB.zip 基于...
Apache Pulsar是一个企业级的分布式消息系统,最初由Yahoo开发并在2016年开源,目前正在Apache基金会下孵化。Plusar已经在Yahoo的生产环境使用了三年多,主要服务于Mail、Finance、Sports、 Flickr、 the Gemini Ads...
J2EE与中间件技术-3[汇编].pdf
【J2EE与中间件技术-J2EE应用】 Java 企业版(J2EE,现称为Java EE)是Oracle公司推出的用于开发企业级分布式应用程序的平台。它建立在中间件之上,提供了一套标准和规范,使开发者可以构建可扩展、高可用性和安全...
此外,使用标准协议进行接口适配,确保了不同组件之间的兼容性,降低了合作伙伴的开发难度。 其次,华为的全网协同体系架构能够根据网络环境和用户规模动态调整。它支持集中式和分布式部署模式,可以根据实际需要...
它能够简化分布式应用的开发,提高系统的可维护性和可扩展性。 2. 分布式系统架构的理解:淘宝的实践案例可以提供给我们一个了解如何设计和实现分布式系统架构的机会。分布式系统架构的设计是整个系统能否稳定、...