OSGi学习-总结】的更多相关文章

经常听到.见到OSGi这个名字.那么就单开一篇文章记录一下对OSGi的学习吧. 主要是做一些概念上面的学习.暂时不打算深入实践. 主要参考:http://www.osgi.com.cn/article/7289520 这篇文章吧.…
最近的一项研究了解了一下OSGI技术,感觉OSGI尽管有一定的学习难度.可是终于掌握和推广之后将是一项对系统开发比較实用的技术.在此和大家分享一下自己的感悟. 1.什么是OSGI OSGI直译为"开放服务网关",是一个由OSGI联盟发起的以Java为技术平台的动态模块化规范.眼下基本的实现有:apache的Felix.Eclipse的Equinox等 2.使用OSGI的优点 OSGI可以看作是一种做系统架构的工具和方法论.可以让系统开发和设计人员以模块化的思想来开发和设计系统. 在以往…
本文是osgi实战一书的前几章读书总结 1.  OSGi简介 Java缺少对高级模块化的支持,为了弥补Java在模块化方面的不足,大多数管理得当的项目都会要求建立一整套技术,包括: 适应逻辑结构的编程实践: 多个类加载器的技巧: 进程内部组件间的序列化: OSGi服务平台是专门针对Java对模块化支持不足的情况,由OSGi联盟定义的一个行业标准.OSGi服务平台引入一个面向服务的编程模型,被称作"VM中的SOA". OSGi是Java平台的一个模块化层,在计算机科学里,软件应用程序的代…
Bundle可以被动态地安装.启动.停止和卸载.Bundle是服务(Service)和组件(Component)的载体.在OSGi中,每个Bundle都有自己独立于其他Bundle的ClassLoader,正因为这样,各个Bundle内部的类是隔离的 Bundle之间的交互方式:1.通过Package的Export(对外暴露自己的一个或多个package)和Import(导入别人的一个或多个package)来进行.2.通过Service的方式进行.一个Bundle作为Service提供方,对外提…
上一篇说了很多虚的东西,现在说点别的. OSGi系统的独立环境下的项目结构以及启动脚本. 先说项目结构,基于equinox的OSGi容器的项目结构如下所示: bin中定义启动脚本,停止脚本之类的. configuration定义配置文件,比如:config.ini,log4j.properties等配置文件. environment包含了一些基础bundle,比如:spring系列:log4j等. platform是基于OSGi上的,做二次开发的bundle. 这里面比较麻烦的就是,osgi这个…
从基础开始,先来说说OSGi的基本理念. OSGi通过隔离底层classloader,强制应用在设计的时候就考虑模块化,并且基于白板模式来支持服务的注册与订阅. 在OSGi中,模块可以等价理解为bundle,在bundle的基础上,提供了相应的生命周期的管理.同时,为了在多个bundle之间可以进行友好的合作,提供了内部注册中心,基于白板模式支持了服务的注册与订阅. 还有一些基础的概念,比如:片段.插件依赖.包导入导出.以及远程服务等. 这里只细说远程服务,其余的随便google下就好了. 1.…
底层代码可见性控制 Java提供了private,public,protected和package private(无修饰符)这四种访问控制级别,不过这仅仅提供了底层的OO数据封装特性.包这个概念确实是起到了分割代码的作用,但是如果包中的代码需要对包外可见,那么必须设置为public(或者protected,如果是使用了继承的话). 这样的话就可能出现一个问题: 首先大家看看下面的例子,其中有三个java文件:  org.serc.helloworld.Hello.java:定义了一个接口 pa…
前言 OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化.面向服务.面向组件的应用程序.Eclipse如此庞大和复杂的插件体系,就是基于OSGi.Liferay也是基于OSGi.OSGi是模块化设计的一种标准,适用于大中型项目.在一些小型项目中,开发者也可以自己设计私有的classLoader机制来实现插件开发环境,比如openfire OSGi是在Java平台上开发模块化应用程序的一种方式.它允许你构建模块(称之为bundle),它们彼此之间是隔离的,具备明确的和可管理的依赖…
关于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…