您好,欢迎访问三七文档
OSGi介绍2013-4内容OSGi简介OSGi相关实现OSGi优势和劣势OSGi的前景OSGi简介-OSGi是什么OpenServiceGatewayInitiativeDynamicModuleSystemForJava—面向Java的动态模块系统模块化设计、开发的标准为系统动态化提供实现的基础微内核OSGi简介-OSGi能带来什么模块化意味着更规范的设计意味着更好的重用意味着人才培养体系的更为标准动态化动态的管理系统的模块动态的改变系统的行为提升设计更为仔细的考虑模块耦合的问题模块化的设计思想OSGi简介-框架OSGi简介-框架L0:运行环境L1:模块L2:生命周期管理L3:服务注册OSGi简介-Bundle借绍Bundle是一个框架定义的模块化单元,它包含模块运行时需要的class文件和资源文件,通过Manifest.MF文件组织起来。Bundle在OSGi框架中以jar的形式进行部署,Bundle也是框架中需要部署的唯一实体。框架中的各个Bundle是物理隔离的,它们通过Export-Package、Import-Package和service的方式进行交互。OSGi简介-Bundle通讯机制OSGi简介-bundle生命周期OSGi简介-Bundle的结构一个Bundle的结构Bundle-Alarm|--classes(编译的类文件)|--OSGi-INF(可选目录,DS的描述文件放在这个目录)|--META-INF(manifest文件放在这里)|--….(自定义)OSGi简介-Bundle的ActivatorpublicclassActivatorimplementsBundleActivator{publicvoidstart(BundleContextcontext)throwsException{……}publicvoidstop(BundleContextcontext)throwsException{……}}OSGi简介-声明式服务(DS)Component.xml是DS的声明式服务配置文件,像spring的applicationContext.xml一样,在这个文件中可以定义服务,配置服务之间的依赖关系?xmlversion=1.0encoding=UTF-8?componentname=AlarmServiceimplementationclass=com.boco.tongyong.AlarmServiceImpl/serviceprovideinterface=com.boco.tongyong.service.AlarmService//servicereferencename=DaoServiceinterface=com.boco.tongyong.DaoAervicebind=setDaoAerviceunbind=unsetDaoAervicepolicy=dynamic//component内容OSGi简介OSGi相关实现OSGi优势和劣势OSGi的前景OSGi相关实现—应用情况目前业界基于OSGi构建和支持OSGi的系统已经非常多了,比如Eclipse,WASAppServer、Jboss、SpringDMServer等与Spring一样,OSGi框架是低侵入性的,同时学习的曲线并不陡峭,就开发来说除了需要关注系统动态性带来的变化外,仅仅是打包方式的不同OSGi相关实现-实现方式Equinox:在OSGI规范的基础上增加了扩展点的支持,该项目在Eclipse社区广泛应用Felix:OSGi规范的标准实现,Apache项目SpringDM:Spring和OSGi的结合,在OSGi规范的基础上构建,支持Felix和Equinox。与OSGi的DS是互补的,同时Spring中的其它特性均可以在OSGi中使用。OSGi相关实现—B/S程序嵌入Web容器(Bridge方式)直接使用Equinox基于Jetty的HttpService的实现基于OSGI容器运行如何移植现有的B/S结构的应用典型的:struts+spring+hibernate的应用Spring-OSGi目前仍然比较的困难OSGi相关实现—OSGI容器FelixEquninoxVirgotomcatJbossosgi内容OSGi简介OSGi相关的实现OSGi优势和劣势OSGi前景OSGi优势与劣势—模块化、动态化模块化系统由一堆的Bundle组成每个Bundle由一堆的Component组成Component通过对外提供服务接口来提供功能Component通过引用服务接口来获取功能动态化模块动态的部署、卸载、停止、启动模块行为、配置动态的改变OSGi优势与劣势–不足对于企业应用支撑的不足跨模块(Bundle)的事务的支持企业级B/S应用程序的支持以往应用移植到OSGi需要付出较大的代价内容OSGi简介OSGi相关的实现OSGi优势和劣势OSGi前景OSGi的前景OSGi为企业应用的开发提供良好的支持Spring-OSGiOSGiEEG提供的规范BundleIBM、BEA提供的支撑企业应用开发的Bundle成为多种语言的模块化的标准目前已可支撑PHP版本成为SCA的实现规范IBM、BEA的大力推动OSGi资料OSGiOpendocOSGi官方网站在建的OSGi中文网站!
本文标题:OSGi介绍
链接地址:https://www.777doc.com/doc-7381572 .html