Karaf 基于 osgi】的更多相关文章

Karaf是Apache旗下的一个开源项目.Karaf同时也是一个基于OSGi的运行环境,Karaf提供了一个轻量级的OSGi容器,可以用于部署各种组件,应用程序.Karaf提供了很多特性用于帮助开发者和用户更加灵活的部署应用,例如:热部署,动态配置,几种日志处理系统,本地系统集 成,可编程扩展控制台,ssh远程访问,内置安装认证机制等等.同时Karaf作为一款成熟而且优秀的OSGi运行环境以及容器已经被诸多Apache项目作为基础容器,例如:Apache Geronimo, ApacheSer…
在2013年的十月份有幸接触了osgi.net和iopenworks的创始人,了解和学习的插件式开发,开始了后台数据的处理生涯. 第一个有图形界面的系统——智能农业的环境监测系统,其实在这个系统中所有的通信处理都是现有的,但是当时是由一个没有多线程处理的同事开发的,缺点就如果这个果园中如果有十个摄像头,就需要部署在十台机器上实时监控不同的位置.还有自动滴管和土壤信息的数据采集,这两个是一个单独的程序.我的任务就是在一周之内整合程序,评估时间极不准确,因为我不了解业务逻辑,在开发的过程中,我不断的…
maven-bundle-plugin 2.4.0以下版本导出META-INF中的内容到MANIFEST.MF中 今天终于把maven-bundle-plugin不能导出META-INF中的内容到Export-Package中的问题解决了,因为产品用的是OSGI框架,用到的第三方JAR包需要加载META-INF/XX/XX.xml这个内容,但在运行的时候getResource返回null. 经一番调查发现META-XX.XX这个包名没有导出,手动去修改MANIFEST.MF可以解决问题.但产品的…
基于 OSGi 的面向服务的组件编程 OSGi(Open Services Gateway Initiative,开放服务网关协议)提供了一个面向服务组件的编程模型,基于 OSGi 编程,具有模块化,标准化,面向服务,动态性,易复用,易扩展,易部署等诸多优点,本文介绍了基于 OSGi 开发一个应用程序的过程,读者可以学习如何基于 OSGi 开发自己的应用,并从中体会 OSGi 上述的优点. 一. OSGi 简史 OSGi 是由 1999 年成立的 OSGi 联盟提出的一个开放的服务规范,最初的目…
最近在研究OSGI.NET插件式开发框架.官方网站提供了一个基于OSGI.NET的插件仓库.下载官方的SDK包安装后VS项目模板会多出一组iOpenWorks项目模板.在学习过程中,发现通过iOpenWorks模板创建的应用程序主程序都会附加上iOpenWorks插件仓库相关的插件.如何使用OSGI.NET框架库来创建纯净的插件框架,来实现自己的IDE呢? 基于WinForm.WPF的主程序很简单.这里主要介绍下如何来实现基于MVC的插件式框架. 主要思路:通过MVC中的Area方式来实现对插件…
作者:曹 羽中 (caoyuz@cn.ibm.com), 软件工程师, IBM中国开发中心 出处:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-osgi/ 基于 OSGi 的面向服务的组件编程 一. OSGi 简史 OSGi 是由 1999 年成立的 OSGi 联盟提出的一个开放的服务规范,最初的目的是为嵌入式设备,确切地说是为可以通过网络访问的设备提供一个通用的软件运行平台,屏蔽不同设备之间的硬件和操作系统差异,使软件可以动…
模块化.插件化是未来的主流趋势,他很好的解决了,公司知识的积累.应用分发.商务模式.快速构建等一系列问题,国外著名的插件化平台JIRA就非常成功,国内的目前很多公司在偿试插件化的开发模式,作为平台推出的目前只有JXADF. 此平台目前已经开源了. JxADF(http://osgi.jxtech.net)是一个基于B/S的企业级快速插件开发平台,官网提供在线演示,主要功能.特点如下: 基于J2EE技术. 从需求.设计到开发.实施.上线.运维提供一套完整的方法论. 移动设备.桌面设备自适应UI风格…
环境准备: jdk版本号 jdk:1.7 karaf: 版本号:apache-karaf-3.0.1 下载地址: http://pan.baidu.com/s/1qWM4Y1u http://karaf.apache.org/ 配置本地仓库: 參考:http://blog.csdn.net/wobendiankun/article/details/25333113 启动karaf: karaf_home/bin/karaf.bat 启动成功例如以下: 安装 mvn-hello-provider…
操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注明出处及原文链接 本文原文链接:https://jiang-hao.com/articles/2018/coding-BuildandInstallOpenDaylightonUbuntu.html 一.环境搭建 1. Java+Apache Maven基本开发环境搭建.详见相应的前面两篇文档: <…
自定制 OSGi Console 进行组建和服务生命周期管理模块化编程的好处已经很好地被理解了约 40 年,但在 OSGi 之前,开发人员不得不自己发明模块化设计和系统.随着软件应用体系结构的不断发展,OSGi 已经成为了一种很好的软件体系模型.基于 OSGi 框架的应用程序因为其模块化.动态性和面向服务的特性而受到广泛欢迎,然而传统的 OSGi 框架的控制台在适用性和功能扩展性等诸多方面都有很多限制.为此,本文探讨一种自定制 OSGi 控制台来进行服务和组件管理的方法. 概述1.OSGi 的现…
        Karaf是Apache旗下的一个开源项目.Karaf同时也是一个基于OSGi的运行环境,Karaf提供了一个轻量级的OSGi容器,可以用于部署各种组件,应用程序.Karaf提供了很多特性用于帮助开发者和用户更加灵活的部署应用,例如:热部署,动态配置,几种日志处理系统,本地系统集 成,可编程扩展控制台,ssh远程访问,内置安装认证机制等等.同时Karaf作为一款成熟而且优秀的OSGi运行环境以及容器已经被诸多Apache项目作为基础容器,例如:Apache Geronimo, A…
OSGI框架三个重要概念 OSGi框架是根据OSGi规范中定义的三个概念层设计的:模块.模块生命周期.服务. 模块层定义了OSGi模块的概念(bundle,即包含一个元数据MANIFEST.MF的JAR文件). bundle比标准JAR文件更强大,它可以声明哪些包对外可见(Export-Package):所以说它扩展了Java的访问修饰符. bundle还可以明确声明依赖哪些外部包(Import-Package),这样就可以自动地管理和验证依赖包的一致性(这个过程称为bundle解析),确保了b…
简介 Java可能是近20年来最成功的开发技术,因其具备通用性.高效性.平台移植性和安全性而成为不同硬件平台理想的开发工具.从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java技术无处不在. Java能够让程序员使用同一种语言为服务器.智能卡.移动电话和嵌入式设备开发程序,极大地提升了软件的研发效率.不过,仅靠统一的语言还不足以让软件业迅速提升至成熟的工业化阶段.不同软件系统.不同硬件设备下的程序都经常会有相同的业务需求和设备间交互通信的需求,例如很多设备都需要互联网接…
OSGi 系列(一)之什么是 OSGi :Java 语言的动态模块系统 OSGi 的核心:模块化.动态.基于 OSGi 就可以模块化的开发 java 应用,模块化的部署 java 应用,还可以动态管理模块. OSGi(Open Service Gateway Initiative) 技术是 Java 动态化模块化系统的一系列规范.OSGi 一方面指维护 OSGi 规范的 OSGi Alliance(OSGi 联盟),另一方面指的是该组织维护的基于 Java 语言的服务(业务)规范.简单来说,OS…
前言 Apache CXF是一个开源的服务框架项目,而Distributed OSGi子项目提供了基于OSGi远程服务规范的分布式组件实现.它使用Web Services,HTTP上的SOAP手段实现了远程服务的功能,对外暴露了WSDL规约.本篇就是介绍使用dosgi在OSGi环境下将OSGi的服务暴露成Web Services的过程. DOSGi的项目主页:http://cxf.apache.org/dosgi-single-bundle-distribution.html 环境搭建 DOSG…
前言 OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化.面向服务.面向组件的应用程序.Eclipse如此庞大和复杂的插件体系,就是基于OSGi.Liferay也是基于OSGi.OSGi是模块化设计的一种标准,适用于大中型项目.在一些小型项目中,开发者也可以自己设计私有的classLoader机制来实现插件开发环境,比如openfire OSGi是在Java平台上开发模块化应用程序的一种方式.它允许你构建模块(称之为bundle),它们彼此之间是隔离的,具备明确的和可管理的依赖…
看了http://developer.51cto.com/art/200909/154863.htm 真心感到,最强大最有组织的技术网站还是 51cto,牛人应该也是最多的. 以前逛51cto的比较少,罪过.... 吐槽: 参照http://developer.51cto.com/art/200909/154757.htm来搭建基于osgi的spring dm环境, 不过实在是搞不定,费心费力,几个月过去了的今天,终于搞定了—— 真tm坑爹,原来里面的spring dm版本是1.0.2 而这个版…
关于osgi.net ,想必大家也听说过,以下是自己在学习osgi.net 过程中整理出来的内容,供大家学习参与使用. 1.  UIOSP 开放工厂框架架构 开放工厂所有插件基于OSGi.NET面向服务插件框架构建.该框架是国际上第一个完整迁移了OSGi R4规范的OSGi.NET框架,提供了动态模块化.面向服务和模块扩展三大功能,支持WinForm桌面应用.WPF桌面应用.ASP.NET Web应用.ASP.NET MVC应用.Silverlight RIA应用.手机应用等任意.NET应用环境…
一.OSGi的核心组件Bundle,与java中jar包的差别就是元数据配置:      常用的Bundle元数据定义:     a) Bundle-Activator:定义Activator的实现全限定类名称,此类必须实现BundleActivator接口,并实现start和stop方法.当Bundle被OSGi容器启动或停止时就会去调用start和stop方法.Bundle-Activator并非是必须的,只有在需要初始化或是销毁资源时才有用,并且不推荐在start方法中进行复杂的处理,以免…
关于osgi.net ,想必大家也听说过,以下是自己在学习osgi.net 过程中整理出来的内容,供大家学习参与使用. 1.  UIOSP 开放工厂框架架构 开放工厂所有插件基于OSGi.NET面向服务插件框架构建.该框架是国际上第一个完整迁移了OSGi R4规范的OSGi.NET框架,提供了动态模块化.面向服务和模块扩展三大功能,支持WinForm桌面应用.WPF桌面应用.ASP.NET Web应用.ASP.NET MVC应用.Silverlight RIA应用.手机应用等任意.NET应用环境…
关于osgi.net ,想必大家也听说过,以下是自己在学习osgi.net 过程中整理出来的内容,供大家学习参与使用. 1.  OSGI.NET 与UIOSP OSGi是Open Service Gateway Initiative的缩写,Wiki对其的定义为:一方面它指OSGi Alliance组织,它是由IBM.Oracle.BEA.SAP等国际IT巨头组成的OSGi联盟组:另一方面指该组织制定的一个基于Java语言的服务规范——OSGi服务平台(Service Platform).OSGi…
1. 关于OSGI.NET 在介绍 OSGI.NET 前先介绍下OSGi, OSGI全称为Open Service Gateway Initiative,它一方面指由IBM.Oracle.BEA.SAP等国际IT巨头组成的OSGi联盟组织:另一方面指该组织制定的一个基于Java语言的服务规范——OSGi服务平台.而OSGi.NET是OSGi R4.2规范移植到.NET平台的实现,是一个动态模块化框架的规范.OSGi.NET规范定义了面向组件.面向服务的编程方法. 基于OSGi.NET的插件框架提…
现在基本不怎么用了,OSGi主要的价值,在实际中体现得不太明显 比如类隔离,用更简单的自定义ClassLoader也可以实现:单机多版本服务,用的场景也很少:热部署也不是很实用 但是,基于OSGi框架做开发,复杂度的上升又是显而易见的.因此,用很高的代价,只能换来较少的收益,在开发人员之间推动很困难,渐渐地就不怎么用了 我们之前的一个产品,也是类似的情况.公司内部一个平台,三年前的一个主要卖点就是OSGi架构,好处也就是OSGi官方宣传的那一套,而现在最新的版本也在“去OSGi化”,有一种走了弯…
出自 深度理解 osgi equinox 原理 1.2.1 OSGi 能让软件开发变得更容易吗 不可否认,OSGi 的入门门槛在 Java 众多技术中算是比较高的,相对陡峭的学习曲线会 为第一次使用 OSGi 开发系统的开发人员带来额外的复杂度. OSGi 规范由数十个子规范组成,包含了上千个不同用途的 API 接口.OSGi 规范显得这 样庞杂的主要原因是实现“模块化”本身需要解决的问题就非常多.模块化并不仅仅是把系 统拆分成不同的块而已— 这是 JAR 包就能做的事情,真正的模块化必须考虑到…
websphere OSGi应用环境下服务调用saaj包加载问题分析报告 作者:bingjava 版权声明:本文为博主原创文章,转载请说明出处:http://www.cnblogs.com/bingjava/p/5254302.html. 今天业务部门的开发同事在客户现场部署系统时,出现了saaj类加载问题,本楼主经过一番java代码的翻阅,最终问题得到解决,在此进行记录. 故障情况说明 系统简称 基于osgi业务应用系统 故障名称 系统在客户生产环境:websphere7.0,基于osgi的应…
上一篇说了很多虚的东西,现在说点别的. OSGi系统的独立环境下的项目结构以及启动脚本. 先说项目结构,基于equinox的OSGi容器的项目结构如下所示: bin中定义启动脚本,停止脚本之类的. configuration定义配置文件,比如:config.ini,log4j.properties等配置文件. environment包含了一些基础bundle,比如:spring系列:log4j等. platform是基于OSGi上的,做二次开发的bundle. 这里面比较麻烦的就是,osgi这个…
最近的一项研究了解了一下OSGI技术,感觉OSGI尽管有一定的学习难度.可是终于掌握和推广之后将是一项对系统开发比較实用的技术.在此和大家分享一下自己的感悟. 1.什么是OSGI OSGI直译为"开放服务网关",是一个由OSGI联盟发起的以Java为技术平台的动态模块化规范.眼下基本的实现有:apache的Felix.Eclipse的Equinox等 2.使用OSGI的优点 OSGI可以看作是一种做系统架构的工具和方法论.可以让系统开发和设计人员以模块化的思想来开发和设计系统. 在以往…
本书主要模块化模式的优点.模块化方法与模式.OSGi简单使用等内容.分3大部分: 第一部分介绍了模块化概念.为什么要模块化,以及一些模块化要考虑的东西,如模块粒度,依赖关系,重用性灵活性等. 第二部分介绍模块化的一些模式.採用了GoF设计模式的格式(模式名称.模式表述.图示.描写叙述.多种实现.效果.例子.小结),看着有些乱,可是收获不少. 第三部分介绍OGSi结合Java怎样使用.以及怎样模块化现有系统.Java中无法直接模块化(Java SE模块化功能Jigsaw被推迟到了Jave SE 9…
OSGI介绍 OSGI简介 OSGI (Open Service Gateway Initiative)联盟成立于1999 年,它是一个非盈利的国际组织,旨在建立一个开放的服务规范,为通过网络向设备提供服务建立开放的标准,是开放业务网关的发起者. OSGI联盟的初始目标是构建一个在广域网和局域网或设备上展开业务的基础平台,对OSGI 的最早设计也是针对嵌入式应用的,诸如机顶盒.服务网关.手机.汽车等都是其应用的主要环境. 由于OSGI的诸多优秀特性(可动态改变系统行为,热插拔的插件体系结构,高可…
osgi最明显的缺陷 bundle尽管可以为隔离的服务建立独立生命周期管理的热部署方式,以及明确的服务导出和导入依赖能力,但是其最终基于jvm,无法对bundle对应的服务实现计算资源的隔离,一个服务的故障依然会导致整个jvm crush,这使得在一个运行时的osgi上部署模块级服务只获得了模块部署和启停隔离,服务明确依赖的好处,但是没办法实现计算节点的线性扩展,在当前分布式,微服务,网络计算的趋势下,使得osgi只适合构建单一服务节点的内部应用,但是其分离的bundle的部署负担对于微服务架构…