开源项目 AllJoyn 框架

AllJoyn框架概述

  • AllJoyn实现的是一个”分布式软件总线”
  • 总线为点对点模式
  • 协议不依赖于网络

这三点是从介绍的PPT中翻过来的,但理解简单理解一下看以认为,这个框架是分布式的一个中间层通信框架,主要是支持点对点通信,并且由中间层屏蔽了底层物理网络的差异,对上层高级编程语言直接提供接口。

高层系统框架

此图摘自(AllJoyn - Tech Overview v3_for Brooks)

从高层的这个框架中可以看出系统中只有两种节点:

  • Routing Nodes (RN)
  • Leaf Nodes(LN)

其规则是RN可以与RN和LN通信,LN只能和RN通信。



这里两张图片展示了Router间通信的一个过程,发现和建立Session。这是High-Level System Architecture中通信的一个简单的实例。

Ad Hoc Bus Formation: Discovery

这里Client App和设备内部Router建立了内部链接,Client端的Router会通过查找interface找到Service的Router。

Ad Hoc Bus Formation: Session Creation

Router间建立了Session使得Client能获得Service的服务。


Software Components

这部分相算是开始进入了正题。

软件组件的高层的框架:分为了基础服务框架(Base Service Frameworks 和 核心框架 Core Framework )

软件组件也可以划分为 Client Library 和 Router

Client Library:

  • 开发用户的接口
  • 以SDK API的形式对外发布
  • 分为两种Stand Client 和 Thin Client

    SC针对High Level 的操作系统,Thin Client针对嵌入式系统或小内存系统使用。

Router:

  • 任何App包含了Router,它便可以认为是一个Router Node
  • Router 必须使用 Stand Client Library 构建,必须运行在HLOS中。
  • 它可以被部署为单独的服务或守护进程
  • Router功能包含了Bus管理和AllJoyn消息路由

关于AllJoyn 的SDK

AllJoyn 程序是通过 API的形式对外提供功能的,它是一个对象实现的。

大部分的程序都只是对外保留一个对象。对象会对外提供很多接口,这些API可以通过About来查询。

接口由三种形式组成:

  • Method(方法):与对象进行交互
  • Signals(信号):异步事件的通知
  • Property(属性): 读取或设置数据

下面的图示是关于API接口的使用过程。

首先是连接到Bus

  • Applications 要Attach到Bus上
  • 左侧对象会被发布到Bus 本地的Attachment上。
  • 在对端会定义一个代理对象(Proxy Object)
  • 信号处理的Handler会被注册到右端的Bus Attachment上来处理Object 发出的信号。


  • Method(方法)的使用是通过使用Proxy Object来实现的。
  • 调用右侧Proxy的接口时,会触发左侧Method Handler注册的处理函数,执行后并返回值到Proxy Object中。
  • Signal(信号)是由左侧Object触发,通过右侧注册的Signal Handler进行处理。

有了这两张图,一个基本的操作流程就被串起来了。这个还是有点像CORBA的思路。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 17:54:31

开源项目 AllJoyn 框架的相关文章

.net 平台下三个优秀强劲的开源项目(框架),你用过吗?

.net下的优秀开源项目很多,可能大家都有接触过.但现在给大家介绍几个我接触过的三个优秀的开源项目或框架:NopCommerce.Orchard及基础框架ABP(aspnetboilerplate). Nopcommerce俄国开源电商系统 Nopcommerce(简称Nop)属于开源电商系统,基于asp.net MVC+MSSql搭建,其包括可定制化的前端实现,及丰富功能的后台管理系统.其有比较完善的交流社区.插件资源丰富,稳定且可高度定制化,有强劲的维护团队,在国内也有非常多的开发者及中文社

开源项目 AllJoyn 初识

简介 AllJoyn 高通的一个开源项目,针对IoT的.光看到介绍第一个感觉就是高大上啊! 它要解决的问题是物联网中互联互通的问题,一个好大平台. 从它介绍的PPT的两张图比较一下就会比较清楚了. 第一张图中它描绘的是现状,各个设备厂商虽然都对外提供了物联网接口,云接口,但各个设备没有互联互通,各自为政,群雄割据.用户的手机上要装好多的APP. (图片引用来自AllJoyn 介绍 intro_to_alliance_3.10.2015_Brooks) 第二张图中描绘的已经是一个简洁的世界,各个设

【转】android开源项目和框架

特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.com/novoda/ImageLoader  异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib.    android-query框架2. https://github.com/chrisbanes/Android-PullToRefresh   类似新浪微博,twitter,下拉

android开源项目和框架 .

特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.com/novoda/ImageLoader  异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib.    android-query框架2. https://github.com/chrisbanes/Android-PullToRefresh   类似新浪微博,twitter,下拉

android开源项目和框架(转)

特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.com/novoda/ImageLoader  异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib.    android-query框架2. https://github.com/chrisbanes/Android-PullToRefresh   类似新浪微博,twitter,下拉

个人收集的iOS开源项目与框架

https://github.com/jamy0801/LGWeChatKitswift2.0仿微信界面,可滑动cell,自定义图片选择器... https://github.com/LonelyTown/LXZEALER模仿Zealer客户端,开源出来希望可以帮助一些iOS开发的初学者,因为自己在iOS开源项目中受益匪浅,所以觉得很有义务去帮助别人 https://github.com/gsdios/SDCycleScrollView图片轮播器

开源项目 AllJoyn 基础服务

AllJoyn 基础服务主要包括 Onboarding,Notification 和 Control Panel三个大项. 这三个也是编写App的最基础的,最常用的部分. Onboarding 提供了一种标准的让设备接入WiFi网络的方式. 这里定义了两个角色: Onboarder(登录器):一个运行在智能设备上的App. Onboardee(登陆者):准备添加到网络中的设备. 基本流程 Onboarder 发现设备需要登录到网络中 连接,并提供配置信息 Onboardee验证是否可以登录到网络

我所研究过的 ASP.NET MVC 或者 .NET 或者 ORM 或者框架的开源项目

ASP.NET MVC 的开源项目有很多,这里列出我所研究过的: SocialGoal v1.0.0 prodinner nopCommerce SmartStore.NET 由于今天才做收集工作,可能以前研究了很多开源项目,这里却没有列出来,以后会及时更新上来,谢谢! 谢谢浏览! 我所研究过的 ASP.NET MVC 或者 .NET 或者 ORM 或者框架的开源项目,布布扣,bubuko.com

二十四、【开源】EFW框架Winform前端开发之项目结构说明和调试方法

回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa       前言:前面几章讲解了开发一个Web系统的完整目录结构与界面开发框架JqueryEasyUI,接下来几章讲解开发Winform系统的完整目录结构与界面开发的相关控件.开发Winform系统又分为两种类型,C/S模式和C/S/S模式:其中C/S/S模式的中间