1、OSGi 是什么
微内核,为系统动态化提供实现的基础,模块化设计、开发的标准,Dynamic Module System For Java —— JSR 291
2、OSGi能带来什么
模块化:意味着更规范的设计,意味着更好的重用,意味着人才培养体系的更为标准
动态化:动态的管理系统的模块,动态的改变系统的行为
提升设计:更为仔细的考虑模块耦合的问题,模块化的设计思想
3、OSGi的工具箱
OSGi R4 RI----Equinox
Eclipse IDE (3.1 以上版本的插件内核使用了OSGi的规范)
4、OSGi下的B/S应用
嵌入Web容器(Bridge方式)
直接使用Equinox基于Jetty的HttpService的实现
如何移植现有的B/S结构的应用
典型的:struts+spring+hibernate的应用,Spring-OSGi目前仍然比较的困难..........
5、OSGi的优势
模块化:
a、系统由一堆的Bundle组成
b、每个Bundle由一堆的Component组成
c、Component通过对外提供服务接口来提供功能
d、Component通过引用服务接口来获取功能
动态化:
a、模块动态的部署、卸载、停止、启动
b、模块行为、配置动态的改变
Component Model的支持:
a、Component生命周期由框架自动管理 —— Component自动的激活、自动的注销
b、所引用的服务在运行期才能确定 —— 所引用的服务自动的注入、自动的注销
c、Component通过对外暴露服务接口来提供功能,通过引用服务接口来获取功能
6、OSGi的劣势
对于企业应用支撑的不足:
a、分布式应用
b、跨模块(Bundle)的事务的支持
c、企业级B/S应用程序的支持
d、与本地应用集成的支持
以往应用移植到OSGi需要付出较大的代价 (但是,OSGi还是值得学习的,毕竟它还需要时间来成长)
7、OSGi的前景
OSGi为企业应用的开发提供良好的支持:
a、Spring-OSGi
b、OSGi EEG提供的规范Bundle
c、IBM、BEA提供的支撑企业应用开发的Bundle
d、成为多种语言的模块化的标准——目前已可支撑PHP版本
成为SCA的实现规范:
a、IBM、BEA的大力推动
本人对OSGi的了解欢迎大家批评指正
分享到:
相关推荐
OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化...通过阅读这本书,你可以获得对OSGI的全面认识,从理论到实践,从而在你的项目中更好地利用OSGI的优势,构建更加灵活、可维护的Java应用。
- **学习成果:** 对OSGi有一个初步的认识,包括其模块化设计思想和服务平台理念。 **2. 深入学习OSGi基础应用** - **资料来源:** 《OSGi in Practice》电子书的前4章。 - **学习目标:** 掌握OSGi的基础应用细节...
- **背景**: 作者自工作以来一直关注插件体系结构,从早期接触ant、maven等工具开始,逐渐认识到模块化的重要性。 - **目标**: 通过本书籍,作者旨在分享其在OSGI领域的实践经验,特别是使用Equinox框架的心得体会。...
**OSGI_Assignment** 在Java世界中,OSGi(Open Services Gateway Initiative)是一个模块化系统和Java服务平台,它提供了一种动态管理软件...这个过程不仅能提升你的编程技能,还能让你对模块化系统有更深的认识。
标题 "书籍配套的源代码" 暗示了这些文件是与某本IT技术书籍相关的编程...通过Eclipse这样的集成开发环境,读者可以方便地导入和运行这些代码,观察它们的运行效果,从而加深对OSGi技术及其在实际项目中的应用的认识。
1. **了解 Spring**: 如果您还没有使用过 Spring 框架,建议先熟悉一下 Spring 的基本概念和技术栈。 2. **了解 OSGi**: OSGi 是一种模块化容器,了解其基础知识对于使用 Spring DM 至关重要。 3. **快速启动 - OSGi...
通过这些知识点,开发者可以对Eclipse插件开发有一个全面的认识,从基础知识到高级概念,从技术实现到版权声明,都有涉及。这有助于开发者在遵循版权政策的同时,高效地学习和实践Eclipse插件开发。
Apache Karaf是一款轻量级的Java企业服务框架(Service-Oriented Architecture,SOA)容器,它是基于OSGi(Open Service Gateway ...结合源代码和书中的讲解,实践操作和分析,将使你对Apache Karaf有更全面的认识。
本书从认识JUnit、不同的测试策略、JUnit与构建过程、JUnit扩展4个方面,由浅入深、由易到难地对JUnit展开了系统的讲解,包括探索JUnit的核心、软件测试原则、测试覆盖率与开发、使用stub进行粗粒度测试、使用mock...
它提出了一种在OSGi层之上运行的模块化体系结构,使其可以通过插件高度扩展。 它支持多种协议绑定,例如HTTP和CoAP。 提供了各种互通代理,以实现与供应商特定技术(例如Zigbee和Phidgets设备)的无缝通信。 ...
这可能影响到应用的并发性能,需要开发者对事务超时和会话管理有充分的认识。 4. [HHH-8022]:提到回归问题,即在Hibernate 4.2.0 CR1中返回的`REFCURSOR`在本正式版中出现问题。开发者在使用命名查询时需要注意这...
《JUnit实战(第2版)》从认识JUnit、不同的测试策略、JUnit与构建过程、JUnit扩展4个方面,由浅入深、由易到难地对JUnit展开了系统的讲解,包括探索JUnit的核心、软件测试原则、测试覆盖率与开发、使用stub进行粗粒度...
【深入探讨 Java 类加载器】 Java 类加载器是Java虚拟机(JVM)的核心组成部分,它的主要任务是将Java类的字节码加载到JVM中以便执行...无论是解决运行时问题还是设计复杂的系统架构,都需要对类加载器有深刻的认识。
- 选择`Create an OSGi bundle manifest`选项来启用OSGi支持,这是Eclipse 3.0及以上版本的动态加载标准。 2. **配置插件属性**: - 在`New Plug-in Project`向导中,选择创建一个RCP应用(勾选`Would you like ...
最后,本书可能还会涵盖一些高级主题,如OSGi服务、Eclipse IDE的性能优化以及Eclipse与云计算、大数据等现代技术的结合。这将使读者对Eclipse的潜力有更全面的认识。 总之,《Eclipse In Action》是一本全面而深入...
在开始之前,我们需要对Java有基本的认识。Java是一种面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布,其设计目标是“一次编写,到处运行”。它的语法简洁且强类型,有着丰富的类库,特别...
1. 技术领导:软件架构师需精通JAVA主流技术,如Spring Cloud、Spring Boot、SpringMVC、Mybatis、Zookeeper、JPA、OSGI等,负责核心功能的架构设计和代码模板编写,确保系统公用核心模块的开发与维护。 2. 方案评审...