[转]以开源换发展,谈谈你不了解的AllJoyn的前世今生

最新ubuntu/linux/开源新闻或者其它IT相关资讯
回复
头像
黄一孟
帖子: 892
注册时间: 2014-01-24 20:16
系统: linux

[转]以开源换发展,谈谈你不了解的AllJoyn的前世今生

#1

帖子 黄一孟 » 2014-08-30 9:01

来源:CSDN

物联网互通互联一直是行业应用的短板,危机也是转机,各种各样的协议和联盟粉末登场。这里说的就是AllJoyn这个中性平台系统,旨在简化邻近异构分布式移动通信网络系统。这里的异构性不仅表示不同的设备,而且可以是具有不同操作系统和不同类型的设备(例如个人电脑、手机、平板电脑和消费性电子产品),并且使用不同的通信技术。

起源

根据维基百科介绍,AllJoyn,由高通公司主导的高通创新中心(QualcommInnovation Center)所开发的开放源代码专案,主要用于近距离无线传输,透过Wifi或蓝牙技术,进行定位与点对点档案传输。这个专案在2012年对外公开。之后,Qualcomm将该项目捐赠给了一个名为“AllSeen联盟”的组织,该组织由Linux基金会监督,这是迄今为止推动家庭和工业“物联网”应用与创新的最广泛的跨行业联盟。

开源

AllJoyn是在Apache Version 2.0 license授权下作为一个开源项目进行开发的。这代表所有的AllJoyn代码库都是可供查阅的,并且鼓励开发者进行补充和改进。如果AllJoyn缺少某个功能,你可以对此作出改进和贡献。如果你在嵌入式设备中使用AllJoyn,或者有任何技术性问题,我们开源社区中的众多参都会愿意提供帮助和指导。AllJoyn的代码库可以在 http://www.alljoyn.org 中获得。

操作系统的独立性

AllJoyn提供了一个抽象层,允许AllJoyn及其应用程序运行在多个操作系统平台上。AllJoyn支持大部分的标准Linux发行版本包括Ubuntu等,并可以运行在Android 2.2和更高版本的智能手机和平板设备上。AllJoyn还在常见版本的Microsoft Windows操作系统上进行了测试和验证,包括Windows XP和Windows7。

开发语言的独立性

目前,开发人员可以使用C++或Java语言来创建应用程序。其它语言的支持也将很快面世。

物理网络和协议的独立性

现在,网络设备支持许多的通信技术。AllJoyn提供了一个抽象层,它为底层网络协议栈定义了统一的接口,使得软件工程师可以相对容易地添加和安装新的网络。最近,WiFi联盟发布了一个WiFi Direct规范,这将允许点对点的WiFi连接。并且WiFi Direct的网络硬件模块也正在积极开发中,它将为AllJoyn开发者增加WiFi Direct功能和可用网络选项的预关联发现机制。

动态配置

通常情况下,移动设备在使用过程中会到达不同的地点,并不断与各种网络进行连接和断开。这意味着它的IP(互联网协议)地址可能会改变,网络接口可能无法使用,服务可能是短暂性的。

AllJoyn可以获知当前服务的断开和新服务的出现,并创建新的连接(如果需要)。AllJoyn准备作为Wi-Fi Hotspot 2.0技术的应用层,这种技术旨在提升手机和信号发射塔对Wi-Fi热点的漫游透明度。

有些情况下,网络拓扑结构对分布式应用程序的性能至关重要。蓝牙网络配置成微微网会比配置成分布式网络达到更好的性能。AllJoyn在内部对这些配置进行管理,而不需要开发人员对每种网络技术的具体特性进行任何了解。

广播和发现服务

当设备需要交互时,必须进行某种形式的广播和发现服务。在静态网络的时代,人作为管理员对设备之间通信作出了精确的安排。最近,零配置网络的概念已经得到了普及,尤其是苹果的Bonjour和微软的Plug and Play技术。我们也看到,现有技术的发现机制如蓝牙服务发现协议,和新兴机制如Wi-Fi Direct P2P发现规范。而AllJoyn提供了一种广播和发现服务的抽象,可以简化定位和应用服务的流程。

安全

分布式应用程序中安全性的固有模型是应用程序到应用程序的。不幸的是,在许多情况下,网络安全模型并不匹配这种固有的协定。例如,蓝牙协议就要求必须在设备之间进行配对。使用这种方法,一旦设备配对成功,两个设备上的所有应用程序都会得到授权。但是当考虑更多比蓝牙耳机更强大的设备时,这就不可取了。例如,两台笔记本电脑通过蓝牙进行连接,那么更精细的安全控制是非常有必要的。AllJoyn在设计上对这种复杂的安全模型提供了广泛的支持,特别是应用程序到应用程序的通信。

对象模型和远程方法调用

AllJoyn采用了一种易于理解的对象模型和远程方法调用(RMI)机制。AllJoyn重新实现了总线协议,基于D-BUS规范和扩展D-BUS协议,以支持分布式设备。

软件组件

根据标准的对象模型和总线协议可以规范各种接口组件。Java接口声明提供的一个与本地实现实例进行交互的规范,也采用了大致相同的方式。AllJoyn对象模型中提供了一个独立于语言的规范,来实现远程交互。

规范中考虑了多种接口的实现,从而可以支持应用程序通信的标准定义。这对于软件组件是可以实现的技术。软件组件已经成为了许多现代系统的核心部分,例如Android系统,它定义了四个主要的组件类型作为与Android应用框架进行交互的唯一渠道;或者在微软系统中,它使用了组件对象模型(COM)系统的子节点。
deepinlinux的十宗罪
详细分析国内的三大发行版缘何成功和为何失败
开源软件是什么?自由软件是什么?
大家以为我容易吗?deepinlinux是一个公司有专职人员推广,我有自己的工作,花时间来回帖揭露deepinlinux霸道行为。但愿deepinlinux的推广人员能消停下,我也不用这么累。
只是希望开源软件能在国内更加普及能造福更多人,人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。
感谢回帖中众多支持我和发出公正言论的网友们!让看到ubuntu论坛的自由和公正
来支持朋友的
帖子: 309
注册时间: 2014-01-27 19:25
系统: debian

Re: [转]以开源换发展,谈谈你不了解的AllJoyn的前世今生

#3

帖子 来支持朋友的 » 2014-12-13 14:08

不明白,但支持开源。
ubuntuubun
帖子: 292
注册时间: 2014-03-01 10:03
系统: ubuntu debian veket

Re: [转]以开源换发展,谈谈你不了解的AllJoyn的前世今生

#4

帖子 ubuntuubun » 2015-01-15 21:17

不了解,所以要学习。
ubuntu,debian,fedora
银河麒麟、优麒麟、veket
回复