基于OSGi的Web应用开发系列一(转帖)

概述:   
    接触OSGi已经有两三年了,而真正运用OSGi于项目之中,也将近两年。这两年来,因为OSGi的不太成熟也让我饱受历练。
    如果你对OSGi这个名词有点陌生,那本系列教程就不太适合你了,如果你想学习本系列教程,请你先去了解OSGi的相关概念。
    拽写本系列教程的目的在于给想要在企业应用中使用OSGi技术的同学朋友们以实际经验指导,希望能给你带来收获。
名词解释:
    OSGi:OSGi是Open Service Gateway Initiative的简称,可以称是一种技术,也可以称是一个平台,亦可称之为一种规范。
    Bundle:OSGi中最重要的元素之一,也是OSGi中最小的物理元素。它是一个jar包,但它持有一份能够进行自我描述的元数据文件(MANIFEST.MF),虽然普通的jar包中也存在有MANIFEST.MF文件,但非Bundle的jar的MANIFEST.MF文件中缺少进行自我描述的元数据信息。
    Equinox:OSGi的一个参考实现,也是Eclipse3.2+的核心。
    SSH脚手架:SSH脚手架是指由Struts+Spring+Hibernate组合在一起的开发框架。
    Spring-DM:Spring-DM是SpringDynamicModules的简称,是由SpringSource提供的,致力于整合Spring框架和OSGi平台的一个框架。
    Plug-in:这里的Plug-in指基于OSGi技术的插件工程。
    Maven:用来管理项目依赖及构建的一个脚本工具。
    EBR:这里的EBR是SpringSource提供的Enterprise Bundle Repository的简称
入门要求:
    学习本系列教程的同学需要了解SSH脚手架,熟悉Eclipse IDE开发,对Maven有一定的了解。
前期准备
    JDK1.6+
    Eclipse3.4+
    Spring2.5.6+
    Spring-DM1.1.2+
    Maven2.0.9+
    EBR访问地址:http://www.springsource.com/repository/app
需要解决的问题
    要使SSH脚手架能够正常运行于OSGi环境,那我们首先要解决的问题有三。其一是cglib的类加载器的改造,其二是解决数据库驱动包跟数据库连接池缺少依赖的问题,其三就是整理运行于OSGi环境下的SSH脚手架需要依赖的Bundle对象。
    也许有人会说,要让Java应用程序运行OSGi那有什么困难的呢?当然,解决问题的手段多种多样,但要创建一个标准的OSGi基于OSGi的应用程序,还确实不是那么的简单。
    解决了以上所说的三个问题,基于SSH开发OSGi应用就不成问题。但该如何解决以上三个问题呢,以及解决了以上三个问题后如何来规范这种基于OSGi环境下的SSH开发呢,又该如何保证开发效率能够保持在或更优于以往开发非OSGi应用时等一系列问题呢。要想了解如何解决,敬请关注本系列文章。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值