计算机世界网-周报全文-OSGi引无数英雄折腰

来源:百度文库 编辑:神马文学网 时间:2024/04/28 15:31:05
OSGi引无数英雄折腰
■ 徐敏荣
OSGi的提出并不是同类规范中最早的,但它却渐渐成为其中影响力最大的一个,并且对它的支持也越来越多。为什么?因为它的开放和通用。它的出现像一个大家闺秀,引来无数追随者,但它的通用也像大家闺秀的矜持一样,使得追随者在其基础之上进行开发时,需要投入更多的工作量。所以OSGi正在不断细化,它的潜能还有待进一步开采。 OSGi(Open Service Gateway Initiative)最初的目的就是为各种嵌入式设备提供通用的软件运行平台,即可以屏蔽设备操作系统与硬件区别的中间件平台。PC基本上被Wintel架构垄断,运行在PC上的应用程序完全可以在另一台PC上运行;但对于设备来说就不同,它们的硬件平台可能完全不同,其操作系统也是来自不同厂商,所以任何设备上的应用程序都需要定制,于是就产生了对中间件平台的需求。 据此可以看到,OSGi并不是专为家庭网络而制定的,除了住宅网关,像车载电脑等其他移动嵌入式设备也都可以通过OSGi接入Internet,获取不同的应用服务。它为服务供应商、软件供应商、网关开发人员以及设备供应商提供了一个开放、通用的架构,使它们能互动地开发、部署和管理服务。其软件环境基于Sun的Java虚拟机,并不涉及具体的连接协议。对于任何新设备,它都能够灵活地将其纳入现有网络。可以使用OSGi的对象包括各种数字和模拟的机顶盒、服务网关、有线电视电缆调制解调器、消费类电子产品、PC、工业计算机、汽车等。 1999年3月,OSGi组织成立,由众多营利或非营利的公司和机构组成。2000年5月该组织推出了OSGi 1.0版本。2001年10月OSGi Service Platform Release 2在美国旧金山发布。到目前为止,其会员数量已超过80家,其中包括IBM、Sun、Samsung、AMD、Cisco、Oracle、Lucent、Toshiba、Philips、Nortel、Nokia、Siemens、Motorola、Alcatel等国际大公司。 OSGi的里里外外 因为OSGi基于Java技术,而Java最大的好处就是平台无关性。在不同类型的住宅网关设备上都可以实现OSGi软件。而且OSGi规范可以与各种设备访问标准桥接(如图1所示),比如遵循OSGi的系统可以很好地部署和管理Jini服务,它可以提供Jini设备与服务提供商之间的交互。对于像HAVi、UPnP等基于非Java技术的标准和规范,OSGi也可以提供与它们沟通的桥梁。OSGi的系统架构如图2所示,主要包括以下几个组成部分:服务网关(Service gateway) 服务网关是OSGi架构的中心组成部分,可以满足家庭网络或家庭办公网络之间的各种通信需求。除此之外,还可以用做应用服务器,提供类似能源管理和控制、安全服务、健康监测服务、信息家电的控制和维护、电子商务服务等增值服务。一般情况下,服务网关都是在住宅网关上实现。 服务提供商(Service provider) 服务供应商为用户提供一系列服务,从技术角度来说,这种服务的传送是通过将软件应用程序下载到住宅网关实现的。 套装服务提供商(Service aggregator) 随着计算模式的发展,OSGi希望出现这样一类服务提供商,它们能够提供一整套捆绑在一起的服务,例如可以自动读取电表、液化气表以及水表数值。 网关管理员(Gateway operator) OSGi的主要职责就是管理和维护住宅网关及其服务。一个典型的网关管理员的功能包括开始、结束、更新、删除服务,也就是管理住宅网关的状态。 广域网和运营商/ISP(Wide area network and Carrier/ISP) 广域网在服务网关之间、网关管理员之间以及服务供应商之间提供必要的通信。这个通信平台由电信运营商或ISP提供并加以管理。 信息家电及其网络(Information applances and networks) 这是OSGi中离用户最近的部分,包括家庭网络内部与服务网关相连的各种信息家电设备,以及它们之间连成的网络。 到目前为止,有很多厂商都推出了遵循OSGi规范的网关中间件部件,如IBM的Service Management Framework、Samsung Service Provider 2.0、Sun的Java Telematics Technology等。 2.0的改进 OSGi 1.0提供了一个服务框架规范,该框架为下载后的服务提供了一个执行环境,包括Java运行环境、服务的生命周期管理、稳定的数据存储、版本管理、服务注册等。在OSGi 2.0中,进一步扩展了API,并定义了一些新的服务API:User Administration、Configuration Management、Bundle preferences Management,同时保持了与1.0的兼容。 不过其安全性能与配置管理功能的增强才是2.0最吸引人的地方。在安全性方面,它支持个别的管理服务实时控制服务的数据安全,以及控制对服务的管理。 在配置管理方面,新版本加强了对信息家电设备的设置和管理,它允许网关管理员动态地为设备提供驱动程序,这些驱动程序可以以服务的形式从服务提供商那里下载。当发现一个新的设备接入网络,发现服务将在系统中注册一个设备服务,设备管理器将为它找到最适合的驱动程序,下载之后启动该设备。该设备驱动程序在注册新服务时会自动模仿类似设备的服务自动注册,例如一个基于X.10的温度传感器会注册与USB接口的温度传感器一样的服务类型,这使得服务在使用传感器时无需考虑底层硬件的不同。当一个设备从网络中删除、卸载或更新时,设备管理器都会采取相应的措施。 虽然OSGi 1.0很早就已公布,但其使用更多集中在试验和小型项目领域。“2.0版本的推出是OSGi规范普及的契机。”OSGi现任主席、Motorola标准制订执行官John Barr如是说。正在为德国著名家电制造商BSH提供洗衣机上OSGi系统的德国ProSyst Software公司也强调:“安全及配置管理是BSH采用OSGi的决定性因素”。 (计算机世界报 第38期 B3、B4)
_xyz