`
wyuxiao729
  • 浏览: 34716 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

osgi实战项目(osmp)一步一步玩转osgi之组件介绍(1)

    博客分类:
  • osgi
阅读更多

很久没有写过博客了,最近osmp项目开源后,接到很多朋友的咨询,现以osmp项目为基础一步一步介绍和带领大家步入osgi的世界。

 

适合入门的OSGI实战项目:

http://git.oschina.net/wyuxiao729/osmp

 

osmp的起源:

在上上家公司的时候和同事一起完成某运营商的智能网管入围测试项目,在他的带领下一步一步的接触osgi,同时被osgi灵活方便的部署和热加载深深的吸引,在完成此项目后,离开了公司,进入到一家游戏,娱乐,运营的公司,由于公司的很多项目是通过php开发的,在我进入公司后,公司决定使用java开发将原来很多项目重写一次,由于被osgi深深打动,于是决定使用osgi来搭建基础架构,并提供服务给前端。和上上家一起过来的同事一起基于osgi开发,并慢慢演进成现有框架。虽说已经离开了上家公司,步入到现今这家互联网公司,也从以前的osgi和传统开发转变为现在的基础设施组,搞devops方面的开,容器云方面的开发,一直还是放不下osgi,故将原来代码框架中的业务剥离出来开源出来。以供大家一起入门和交流!!!!

 

OSMP组件介绍:

osgi环境下的组件(servicemix部署)

osmp-http:通过cxf对外发布统一请求入口,提供restful和soap两种协议的通讯,将接收到的请求解析后路由到业务bundle去执行并返回给调用方

osmp-intf-define:抽像出来的核心框架的接口定义,基中最主要是两个接口 BaseDataService.java(定义的基本服务接口)、ServiceInterceptor.java(定义的基本拦截服务接口)

osmp-service:服务组件,实现osgi的BundleListener和ServiceListener监听器,当有bundle被安装、升级时,将服务注册到zookeeper上,同时提供给osmp-http来查询服务将调用服务

osmp-jdbc:数据持久层组件,提供基于druid数据源的动态创建和消毁,同时提供了一套基于jdbc-template并模仿mybatis的数据持久层接口,sql的动态管理功能等。

osmp-resource:提供全局的资源配置管理

osmp-log:全局的日志监控和管理

osmp-cache-define:osgi环境下全局组件业务cache定义

osmp-osgi-cache:osgi环境下基于ehcache的业务缓存,可以通过osmp-web实时动态的修改缓存策略,比如开启基于方法的缓存,动态调整失效、存活时间,也能方便的扩展为通过redis的分布式缓存。

osmp-config:全局配置管理,配置osmp-web(管理后台)下发配置和参数

osmp-monitor:使用camel写的一个简单的性能监控组件,主要用到了camel-http,camel-quartz,定时将服务器cpu、memory信息推送到osmp-web(管理后台)

osmp-util:工具组件

osmp-tools:工具组件

osmp-zookeeper:zookeeper工具组件

 

osmp-demo:简单的基于osmp下业务开发的demo

 

管理后台

osmp-web:osmp的管理后台,这个不多说,直接跑在tomcat,jetty里。

osmp-cache:web工程下的cache组件,可以通过页面动态修改缓存策略,开启,关闭基于方法级别的业务缓存。

 

提供给业务方的sdk

osmp-client:提供给业务方的sdk client,通过此组件监听zk上注册的服务,服务器的状态,及osmp-web发布的策略,进行服务发布、服务路由、负载均衡算法,基于参数级别的灰度等。

 

 

各基础业务组件有相互依赖关系,最小部署单元如下:

osmp-http、osmp-intf-define,osmp-service、osmp-utils、osmp-tools

 

由于提交的代码当中要跑起来,其他组件达到ppt当中的效果,所以其它组件也必须要部署,如果只想单机跑的话。以上组件就ok了,但是可能要稍微的注释掉一些代码才行!

 

基础组件就介绍到这儿。如果有不太清楚的欢迎加群:335898216 交流!

 

下一篇将介绍osmp-http 在osgi环境下通过 cxf发布restful服务和webservice服务,将请求解析后调用业务组件提供的服务!

 

0
0
分享到:
评论

相关推荐

    OSGI实战.docx

    1. Equinox:由Eclipse基金会开发,是OSGI参考实现之一,广泛用于Eclipse IDE和其他企业级项目。 2. Oscar:Apache Felix项目的一部分,也是一个流行的开源OSGI实现。 3. Knopflerfish:轻量级且功能丰富的OSGI框架...

    OSGi 入门+进阶+实战

    1. **构建OSGi应用**:使用Maven或Gradle的OSGi插件,可以方便地构建符合OSGi规范的模块化项目。 2. **Spring与OSGi集成**:Spring Dynamic Modules (SDM) 提供了将Spring应用与OSGi环境结合的工具,使Spring应用...

    OSGI合集 OSGi原理与最佳实践

    网上收集的OSGI资料. 包括: OSGi原理与最佳实践(精选版).pdf OSGI实战和源码.rar osgi进阶.pdf Introduce.OSGi.ppt OSGi.in.action.ppt r4.cmpn.pdf r4.core.pdf r4.enterprise.pdf

    基于osgi框架实战源码

    标题"基于osgi框架实战源码"揭示了本次学习的主题,即OSGi框架在实际项目中的应用。"osgi实战源码"这一描述进一步强调了这是一份可以动手实践的源代码,它以一个具体的购物车案例为背景,展示了如何在项目中运用OSGi...

    OSGI 实战教程

    **OSGI实战教程** OSGI(Open Service Gateway Initiative)是一种开放标准,用于创建模块化Java应用程序。它通过提供一个服务导向的架构,使得组件可以独立地安装、升级、激活和停用,从而解决了Java应用程序的...

    osgi介绍osgi介绍

    通过阅读《OSGi原理与最佳实践》和《OSGI实战》这两本书,可以深入了解OSGi的细节,学习如何在实际项目中有效地使用OSGi,解决上述挑战,并充分利用其优势。这些书籍通常会涵盖OSGi的配置、服务注册与查找、打包规范...

    OSGi原理与最佳实践(完整版)&OSGi_in_action

    1. **实战指南**:通过实际案例,展示如何将OSGi应用于不同的场景,如企业级应用、嵌入式系统或云计算环境。 2. **高级特性**:深入讲解OSGi的高级功能,如动态性、安全性、远程服务和网络服务。 3. **工具与框架*...

    OSGI组件编程(osgi.component.programming)

    OSGI组件编程是一种在Java平台上构建模块化应用程序的方法,它由OSGi联盟制定标准,并被广泛应用于企业级软件开发,尤其是对于需要高度可扩展性和动态性的系统。在本教程中,我们将深入探讨如何使用Eclipse和Equinox...

    OSGI 开发文档中文的

    9. **实战应用**:"OSGI实战.pdf"可能包含实际项目案例,演示如何在真实场景中应用OSGI解决特定问题。 通过阅读这份文档和解压后的"dist.rar"和"code.rar"文件,你不仅可以深入了解OSGI技术,还能获得实践经验,...

    OSGI进阶实战教程

    OSGi学习不错的材料 OSGi学习不错的材料 OSGi学习不错的材料 OSGi学习不错的材料

    OSGI原理与最佳实践

    资源名称:OSGI原理与最佳实践内容简介:国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而...,介绍OSGi的作用及基本概念...

    OSGi原理与最佳实践pdf下载(完整版)

    OSGI原理与最佳实践的完整版,共12...第1 章OSGi 简介 第2 章OSGi 框架简介 第3 章基于Spring-DM 实现Petstore 第4 章基于Apache CXF 实现分布式Petstore 第5 章构建OSGI Bundle Repositor'y 第6 章OSGi 规范解读 ……

    OSGI 入门资料PDF

    1. OSGI原理: OSGI的核心在于它的模块系统,称为“bundle”。一个bundle是一个自包含的Java模块,包含了类、资源和元数据,可以独立加载和卸载。OSGI运行时环境(称为“framework”)管理这些bundle的生命周期,...

    基于java的开发源码-OSGi 分布式通讯组件 R-OSGi.zip

    基于java的开发源码-OSGi 分布式通讯组件 R-OSGi.zip 基于java的开发源码-OSGi 分布式通讯组件 R-OSGi.zip 基于java的开发源码-OSGi 分布式通讯组件 R-OSGi.zip 基于java的开发源码-OSGi 分布式通讯组件 R-OSGi.zip ...

    osgi规范实战进阶等等等

    - **OSGI实战**:OSGI实战.pdf可能提供了实际案例,帮助读者了解如何将OSGi应用于实际项目。 - **介绍性材料**:Introduce.OSGi.ppt和OSGi.in.action.ppt可能是幻灯片形式的教程,涵盖了基础概念和用法。 通过...

    osgi框架开发介绍

    2. **企业级应用**:在大型企业应用中,OSGi可以帮助构建松耦合的组件,便于开发、测试和部署。 3. **IDE和工具平台**:Eclipse IDE就是一个基于OSGi的平台,其插件系统就是OSGi服务模型的体现。 四、学习资源 ...

    Enterprise OSGI in action

    《企业OSGi实战》一书是OSGi企业应用的权威指南,它不仅涵盖了OSGi在企业环境中的应用,还提供了Java企业版(Java EE)与OSGi特性的融合方法。本书详细介绍了模块化编程的重要性,以及OSGi如何强化Java的模块化能力...

    OSGi 入门 学习 实战 进阶

    《OSGi实战》这本书可能涵盖了如何在实际项目中应用OSGi技术,包括Bundle的创建、服务的注册和发现、依赖管理等方面。通过这本书,读者可以了解到如何将复杂的程序分解为小型、可重用的模块,以及如何利用OSGi的生命...

Global site tag (gtag.js) - Google Analytics