物联网中间件的实现需要一定的平台,本节主要介绍实现中间件的技术标准,主要有COM、CORBA及J2EE等。
1.组件对象模型
最初作为Microsoft桌面系统的构件技术,主要为本地的OLE(Object Linking and Em-bedding,对象连接与嵌入)应用服务,但是随着Microsoft服务器操作系统NT和DCOM(Distributed COM,分布式组件对象模型)的发布,COM通过底层的远程支持使得构件技术延伸到了分布式应用领域。COM是Microsoft提出的一种组件规范,其多个组件对象可以连接起来形成应用程序,并且在运行时,可在不重新连接或编译的情况下被卸下或换掉。COM既是规范,也是实现,它以COM库(OLE32.dll和OLEAut.dll)的形式提供了访问COM对象核心功能的标准接口及一组API函数,这些API用于实现创建和管理COM对象的功能。COM把组件的概念融入到Windows中,但其只能使本机内的组件进行交互,DCOM则为分布在网络上不同节点的组件提供了交互能力。微软事务处理服务器(Microsoft Trans-action Server,MTS)针对企业Web的特点,在COM/DCOM的基础上添加事务特性、安全模型等服务。COM+把COM组件的应用提升到应用层,它通过操作系统使COM建立在应用层上,把所有组件的底层细节(如目录服务、事务处理、连接池及负载平衡等)留给操作系统。尽管有些厂商正在为UNIX平台使用COM+而奋斗,但COM+基本上仍是Windows家族平台的解决方案。
2.通用请求代理体系结构
分布式计算技术是OMG(对象管理组织)基于众多开放系统平台厂商提交的分布对象互操作内容的公共对象请求代理体系规范。CORBA(公共对象请求代理体系结构)分布计算技术是由绝大多数计算平台厂商所支持和遵循的系统规范技术,其模型完整、先进,独立于系统平台和开发语言,得到广泛的支持,已逐渐成为分布式计算技术的标准。COBRA标准主要分为对象请求代理、公共对象服务和公共设施等3个层次。最底层是对象请求代理(ORB),规定了分布式对象的定义(接口)和语言映射,实现对象间的通信和互操作,是分布式对象系统中的“软总线”。在ORB之上定义了很多公共服务,如并发服务、名字服务、事务服务、安全服务等。最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。CORBA是编写分布式对象的一个统一标准,这个标准与平台、语言和销售商无关。CORBA包含了很多技术,而且范围十分广泛。其中称为互联网对象请求代理间协议(Internet Inter-ORB Protocol,IIOP)是CORBA的标准互联网协议,运行在分布式对象通信的后台。CORBA中的客户通过ORB进行网络通信,使通信变得非常容易。CORBA中的接口定义语言(IDL)用于定义客户端和它们调用的对象之间的接口,是与语言无关的接口,定义后可以用任何面向对象的编程语言来实现。
3.企业版J2EE标准
为了推动基于Java的服务器应用开发,J2EE是当前异构数据集成普遍采用的标准。Ja-va、XML等中间件关键技术都是J2EE技术体系的一部分。J2EE是提供与平台无关的、可移植的、支持并开发访问和安全的、完全基于Java的开发服务器端中间件的标准。在J2EE中,Sun给出了完整的基于Java语言开发面向企业分布应用的规范。其中,在分布式互操作协议上,J2EE同时支持RMI和IIOP;而在服务器分布式应用的构造形式,则包括了Java Servlet、JSP(Java Server Page,Java服务器网页)、EJB等多种形式,支持不同的业务需求,Java应用程序具有“Writeonce,run anywhere”的特性,使得J2EE技术在分布式计算领域得到了快速发展。
J2EE和CORBA的最大区别是,CORBA只是针对单个对象,而不是被应用服务器自动管理的、可部署的服务器组件。CORBA的特点是大而全,互操作性和开放性非常好;缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上版本的发布就十分缓慢了。(www.xing528.com)
4.相关性分析
针对上述3种主流分布式计算平台,通常从集成性、可用性和可扩展性等3个方面对其进行评价分析,其主要内容和要素见表4-1。
表4-1 3种主流分布式计算平台
1)集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上,它要求分布在不同机器平台和操作系统上,采用不同的语言或者开发工具生成的各类商业语言必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建立在网络的基础之上,并且具备对语言的集成能力。
2)可用性:要求采用的软件构件技术必须是成熟的技术,相应的产品也必须是成熟的产品,在企业应用中能够稳定、安全、可靠地运行。
3)可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可以根据企业的需求进行裁剪,并能迅速反映市场的变化和技术发展趋势。通过保证当前应用的可重用性,最大程度地保护企业投资。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。