首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenDaylight系列文章(二):OpenDaylight初窥(上篇)之OpenDaylight的工程技术架构

呃,这样说来,OpenDaylight的实现岂不就是搭积木。。。说好的高大上呢。。。 OSGI:以java为技术平台的动态模块化规范。OSGI拥有许多优秀特性,如动态性、模块化和可扩展力。...KARAF---OpenDaylight的“建筑主体” KARAF:是Apache旗下的开源项目,同时也是一个基于OSGI的运行环境,可以用于部署各种组件和应用程序。...OpenDaylight控制器从HELIUM版本开始使用karaf作为底层架构。 KARAF提供了一个基础容器的功能,在OSGI“装配式技术规范”下它就像是建筑主体。...而OSGI框架和KARAF容器可以实现功能组件即插即用,保证了ODL控制器体态匀称、身形灵活。 Maven---OpenDaylight的“构件工厂” Maven: 项目管理工具。...它包含项目对象模型、标准集合、项目生命周期、依赖管理系统和用来定义生命周期阶段中插件和目标的逻辑。 在OpenDaylight里,Maven扮演着构件工厂的角色。

1.1K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ODL应用开发之MD-SAL中级教程

    Opendaylight 开发使用了OSGi框架,OSGi框架的好处在于程序设计模块化,实现紧聚合和松耦合。 Apache Karaf 是一个OSGi的容器,它可以支持部署新的应用。...对于Karaf容器来说,每一个应用都是一系列的feature,他们可以被安装进容器内。这个文件夹内定义了我们写的应用的feature和依赖关系。...先看pom.xml,这里我是参考了一下SDNhub上放的那个例子的feature的依赖关系,将那些org.apache.jasper之类的都放进去了。重点是前几个自己加的。...Opendaylight 开发使用了OSGi框架,OSGi框架的好处在于程序设计模块化,实现紧聚合和松耦合。 Apache Karaf 是一个OSGi的容器,它可以支持部署新的应用。...对于Karaf容器来说,每一个应用都是一系列的feature,他们可以被安装进容器内。这个文件夹内定义了我们写的应用的feature和依赖关系。

    2.9K80

    初识OSGI

    基于这个框架定义了大量的OSGi服务:日志、配置管理、偏好,HTTP(运行servlet)、XML分析、设备访问、软件包管理、许可管理、星级、用户管理、IO连接、连线管理、Jini和UPnP。...osgi.org 官方描述: The Dynamic Module System for JAVA 通俗讲:使用OSGI实现的程序(Bundle)就是一个插件,可以动态的安装,卸载,启动,停止等等而不需要启动容器...目前使用最广的两款OSGI 框架: Apache Felix Apache Felix是Apache旗下的一个OSGi框架,项目本身非常成熟,已经被用到了很多其他的项目中,例如Apache Servicemix...它本身提供的服务也是最全的,几乎涵盖了全部的OSGi 4.2的标准。除此之外还提供了一些非标准的功能,例如iPOJO。...除了Felix,还有两个项目是和OSGi相关的。一个是Apache Felix Karaf,它本身是Felix的一个子项目,但他其实是封装了Felix提供更高一层的Runtime,例如提供了JAAS。

    1.4K20

    JClouds的命令行界面

    第二件事是为Apache Karaf进行jclouds集成。...当然,这个整合项目大多是针对那些熟悉OSGi和 Apache Karaf的人 ,不能被认为是一个通用工具,就像我在序幕中所梦想的那样。...” 一个关于Apache Karaf的伟大事情发生啦—— 就是它很容易的成为品牌,而且由于它的模块化基础,你可以很容易地添加/删除位,以创建自己的分配。...最重要的是,它允许您发现和使用OSGi以外的命令。...但是,对于所有提供者(不同的宽度等),输出并不是最佳的 。而且,不同的用户需要不同的东西来显示。 为了解决这个问题,cli使用一个类似于表格的命令输出,使用自动调整的列大小来最好地适应命令的输出。

    1.5K70

    ONOS编程系列(一)之简单应用开发

    一个ONOS application是使用maven做管理的OSGi bundle。 因此,ONOS application 可以归结为Java类和POM文件的集合。...1.1 注意 在ONOS项目中,对代码有着格式上的一些要求,不管是正式代码,还是测试用例。请根据要求修改增加代码的格式。 如果想要跳过代码checkstyle,可以在onos项目根目录下的pom。...在输入框里输入“checkstyle”,然后选择框住的那个插件进行傻瓜式安装,就是一路next。这个过程很有可能会报错,Eclipse提示找不到下载网址。...我们的应用接下来还要使用PacketService监听PacketIn和PacketOut事件。...该文件路径为${KARAF_ROOT}/etc/org.apache.karaf.features.cfg,直接将onos-app-ifwd字样缀到featuresBoot变量的尾部即可。

    2.1K60

    hibernate5新特性展示

    从hibernate的古老版本到现在,它一直支持用户按任意的顺序添加新的配置和关系映射,并允许我们在程序运行过程中查询获取相应的状态和映射信息。但这也意味着我们不能根据一些实时配置高效地建立映射信息。...想要连接更多关于新的引导API配置指南可到hibernate 官网的User Guide部分 在一定的限制上,Configuration配置方法仍然可以使用,不过它的一些方法已被删除。...(Long))和UUID.通过新的拓展类org.hibernate.boot.model.IdGeneratorStrategyInterpreter,用户还能自由地定制自己的策略来使用GenerationType.AUTO...改进 OSGi 支持 这始于一个不满的脆弱性hibernate-osgi测试.第一部分是一个使用了Pax Exam 和 Karaf的更好的测试启动.这会导致我们生成一个hibernate Karaf风格的文件...OSGi支持经过了很多改善,这需要归功了来自Karaf和Pax开发者和用户的支持 改进 bytecode 增强功能 在hibernate5.0的文档中已经对此进行了很多工作,但它仍有很大的提升空间

    1.4K40

    OpenDaylight碳版本如何增强稳定性、安全性和网络可编程性?

    OpenDaylight最新的版本Carbon展示了该平台的用户一直期待的成熟度和生产级质量,该版本能够显著改善安全性、稳定性和网络可编程性。 ?...为每个项目添加Apache Karaf 4.X功能是希望在OpenDaylight下一个版本Nitrogen版本中使用新的容器,此外Carbon版本还增强了测试功能,以确保功能导入所有适当的运行时包,从而提高...新的RFC 8040RESTCONF API通过单独的端点提供,OpenDaylight鼓励用户开始探索并使用标准版本的API,因为社区支持DRAFT 02版本的时间具有很大的不确定性。...此外,通过在AAA项目中添加基于模型的授权模式,可以提高RESTCONF的安全性。运营商现在可以在运行时将URL端点集合动态限制为特定类别的用户,这种加强的授权机制适用于两种RESTCONF版本。...相比较于RESTCONF、NETCONF或其他一些北向接口,应用程序开发人员可以挂接总线来操纵数据,实际上这解锁了使用支持ZMQ集成的非JRE语言编写控制器应用程序的功能,从这个角度来说,它开创了一套全新的开发人员参与项目的能力

    97460

    ONOS 实战分享(一):项目建立、调试到热部署

    本文尽量不介绍Maven及其pom、OSGI、Karaf的内容,这些不是ONOS特有的,但需要朋友们对它们是什么、有什么作用,有个大致的了解,所以请大家Google之。...文中将会随时插入一些我在实践中遇到的棘手问题,和实践中需要注意的points。 希望本文能够给ONOS的入门开发者朋友们一些启发。 (0)Hello, ONOS!...另外只知道karaf/etc/org.apache.karaf.features.cfg有大仓库的位置信息,可是里头跟onos/feature/feature.xml是一样的,里头没有任何onos/apps...,估计也跟Karaf寻找仓库、模块的方法有关。...,本质是使用了mvn的项目原型框架: onos-app,本质是使用了REST API北向接口,这接口是不是很强大 onos-karaf,ONOS启动脚本:先配置好karaf环境,再启动karaf本体

    2.1K80

    模块化服务规范——OSGI

    Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用 和部署中。...OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构。OSGi容器已有多家开源实现,比如 Knoflerfish、Equinox和Apache的Felix。...与此同时,现有的Java EE技术体系难以动态升级、替换生产环境,实际的做法是,每次部署新版应用时,都需要重启应用或Java EE容器,进而影响到在线用户。 4、维护成本较高。...OSGI的优缺点 a) 您可以在不重启容器的情况下,动态地安装、卸载、启动和停止您的应用程序中的不同模块; b) 对于您应用程序中的某一特定模块,容器可以同时运行该模块的多个版本; c) OSGi为开发嵌入式应用...使用OSGI实现SOA 模块化设计是软件设计的一个基本思想,同时作为SOA应用,一个很重要的需求就是要方便用户扩展,利用扩展向SOA应用添加新功能,并能够很方便地和应用 本身做无缝集成。

    1.6K30

    Lithium新加功能及Yang可视化成最大亮点

    20多个可用的基于ODL实现的商业产品,用户可直接下载OpenDaylight。.../0.3.0-Lithium/distribution-karaf-0.3.0-Lithium.zip Lithium安装 OpenDaylight编译和运行及模块使用与Helium氦版本没有多大变化。...主要还是通过karaf容器启动运行。...4、IoTDM:物联网数据代理项目是开发一个数据中心中间件作为一个oneM2M兼容IOTDM并启用授权的应用程序检索任一设备上的已上传数据; 5、LACP:链路聚合控制协议项目作为一个MD-SAL服务模块将用于自动发现和聚合...:OpenDaylight Opflex代理是一个使用OVS工作的策略代理,本地虚拟机或容器中加强以组为基础的策略网络模型; 8、Persistence Store Service:为查询和非建模数据提供应用程序的持久性逻辑

    1.1K60

    sofa-ark类隔离技术分析调研

    不过坏处就是缺少了灵活性,业务方无法修改组件包的任何依赖。 OSGI技术 使用OSGI技术,用felix、karaf或者Jigsaw这样的容器对jar包进行暴露和隔离。...而且对于OSGI容器自身就是一个守护进程,他的使用、管理和维护都会有额外的代价。因此一般来说我们都认为OSGI技术太"重",不适合小公司、小项目、或者是使用很多小项目组成大项目的互联网公司使用。...不过OSGI技术给我们提供了一个不错的思路,总结下来有如下几点: 对Jar包进行更高级的抽象,并支持对类和资源访问控制。 程序运行在一个容器中,由容器来启动和管理各个业务组件。...其他能力 上面的文章中,我们只是专注于使用sofa-ark进行类隔离。事实上他也支持类似OSGI的那种服务发布、热加载和热部署。...不过当你引入了sofa-jarslink项目,你就真的可以像使用OSGI容器一样的利用这个端口动态管理你的Biz和Plugin了。

    1.8K31

    优化延迟的最佳视频传输方案(二)

    上一篇文章《优化延迟的最佳视频传输方案(一)》介绍了在整个视频传输系统中的分发链前端和媒体内容准备方面的延迟优化方案,本文将继续介绍传输系统的接下来的优化方案,包括媒体内容传输和播放器端的优化。...作为最佳方案,CDN应支持所有内容的端到端传输层安全性(TLS),以实现内容的安全传输,以及个性化令牌认证机制,以限制对授权用户的访问并防止链接共享。...业界已经认可了一种使用UDP进行自适应流传输的新方法,称为快速UDP因特网连接(Quick UDP Internet Connections,QUIC),现在处于标准化的最后阶段。...对于不太复杂的内容,最佳比特率相对较低,2-4Mbps就可以在大屏幕电视上提供出色的视觉评级。 现实情况是,与任何类型的视频相比,消费者对于低于标准的视频质量具有更低的容忍度。...换句话说,播放器必须能够执行以下操作: 根据设备及其软件支持的编解码器,容器和流协议确定正确的播放技术 根据屏幕分辨率,网络速度和设备功能等因素选择合适的流 根据可用性,支持使用基于UDP和TCP传输的流

    1.3K20

    如何利用免版税视频流技术构建优质视频体验?

    使用MPEG的H.264(AVC)和AAC等技术需要向MPEG许可机构支付专利授权费;而近年来随着HEVC(H.265)授权情况的不确定性,专利授权费用有逐渐增加的潜在可能。...此测试过程可在浏览器中自行运作,方法是在不同的浏览器中使用此链接,相关源代码可以在Github上被找到。...该技术的最佳示例之一是为了让上传至维基百科的视频在更多浏览器上播放(维基百科仅使用“免费”视频编解码器和视频内容容器来提取和传送视频)而开发的OGV.js。...容器 关于容器我不再赘述,原因是容器和编解码器一般为固定搭配,支持的组合相当有限,一个开源容器若想实现理想性能往往只能搭配一款开源编解码器,这里我们使用的是WebM。...通常情况下,该技术通过以2~10秒为单位将视频文件分块存储并基于多个比特率进行编码实现视频文件的多码率,同时允许用户端请求内容的各个片段并在下载片段文件时监测网络环境以作出适合当下网络环境并为用户提供最佳观看体验的码率策略

    3.3K30

    工业物联网体系架构

    应用容器或者应用运行时 OSGi Runtime 通讯和连接 与网关I / O(例如串行,RS-485,BLE,GPIO等)接口,并支持可用于连接设备(例如MODBUS,CAN总线等)的许多现场协议。...云平台组件 连接性和消息路由 IoT平台需要能够与使用不同协议和数据格式的大量设备和网关进行交互,然后将其规范化,以便轻松集成到企业的其余部分 提供用于与使用任意协议的设备交互的统一API,以及可扩展的框架来添加其他协议...Apache Spark和Apache Storm。...它允许基于在EV和EVSE之间交换的广泛信息的用户友好的“插入和充电”机制进行认证,授权,计费和灵活的负载控制。...该规范由OPC基金会在个别软件开发商,行业供应商和最终用户的指导下开发和维护。

    3.2K80

    三步学会用spring开发OSGI——(第一步:环境篇)

    SpringSource应用平台是构建在Spring、OSGi和Apache Tomcat之上的应用服务器,这个新的应用服务器摒弃了原有的Java EE服务器标准,自然而然地将Spring编程模型展现其中...,随之而来的还有一套基于OSGi内核构建的全新部署和打包系统。...开发工具STS 如果使用普通的eclipse开发osgi,那么开发中需要做很多的配置,所以建议使用spring社区加好插件的eclipse,基于这个开发会省去很多的麻烦。...选择刚配好的virgo runtime ? 完成后,在Server里可以看到 ? virgo使用 这个其实底层运行的就是tomcat或者jetty等容器。...点击右上角的Admin Console 输入用户名和密码:分别是admin、springsource 进行管理页面 ? 现在就可以使用virgo的各种管理功能了。

    2.3K60
    领券