`
yipsilon
  • 浏览: 244729 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

基于Web的OSGi框架构想

阅读更多
 

这两天没什么事情,研究了一下RoR,粗看了一下,感觉Ruby语言比较可怕,短期内不研究。

由于正在开发MINI OSGi,我在想,能不能使用Rails的模式,在OSGi上建立Web应用呢?

于是仔细地想了一下,感觉还是比较可行的,咱们可以这样做:

规定每个Service就是一个action,Service中的Method是action的具体执行方法,代码如下:

Service的Java代码
 
  1. public class SomeAction{   
  2.   public void someMethod(HttpServletRequest request, 
  3.                           HttpServletResponse response) throws Exception{   
  4.     ... ...   
  5.   }   
  6. }  
注册Service的Java代码
 
  1. public class SomeBundle extends BundleActivator{      
  2.      
  3.   private ServiceRegistration registration;   
  4.      
  5.   public void start(BundleContext context) throws BundleException{      
  6.      
  7.     // 注册服务      
  8.     registration = context.registerService("hello"new SomeAction(), null);      
  9.   }      
  10.      
  11.   public void stop(BundleContext context) throws BundleException{   
  12.        
  13.     // 注销服务   
  14.     registration.unregister();   
  15.   }      
  16. }    

 

安装并启动该Bundle后,在浏览器中敲入 http://www.xxx.com/hello/someMethod 就会执行对应Service的someMethod方法的输出结果。这时,我们只需要实现一套IoC框架即可,这岂不很方便?

这样做的好处是:

  1. 真正实现动态更新Actions,只需要在后台启动/更新/停止OSGi的Bundles即可。
  2. 极大地简化了开发,不用写那么多url-mapping了。
  3. 如果在同一名称注册了多个服务,那可以在IoC容器中进行筛选,最常用的就是区别登陆用户与匿名用户。
  4. 暂时只想到这么多.... -_-!

该想法正在验证中,理论上应该可行,希望能通过这个做个真正的基于OSGi的Web应用。努力努力...

修订:

2007-04-06 回复的朋友提出了一个关于URL跳转的问题,其实这个问题可以学学Struts的用法。例如我们把当前框架添加一个后缀如 *.go
当在浏览器敲入 http://www.xxx.com/hello/someMethod.go 时,调用上面的方法。

分享到:
评论
6 楼 yipsilon 2007-04-06  
bluedavy太忙了, 我想他目前主要是搞 osgi.org.cn 这块儿。呵呵。
5 楼 dearwolf 2007-03-21  
yipsilon可以和bluedavy一起搞啊~~
4 楼 carob 2007-03-21  
有现成的

去研究eclipse的OSGI的实现项目:Equinox.

其中的HTTP Service就是这方面的。

你可以在一个Web Container中内嵌OSGI平台,也可以使用将Web Container内嵌为一个Bundle的模型。

目前还在发展中。

另外关于实现一个OSGI模型的Web框架,可以去eclipse研究rsp项目,还没有正式发布,但貌似有一个demo可以跑。

3 楼 shaucle 2007-03-12  
在浏览器中敲入 http://www.xxx.com/hello/someMethod 怎么跳转页面?

#  public class someMethod(HttpServletRequest request,
#                           HttpServletResponse response) throws Exception{
怎么返回值是class type?
2 楼 icefire 2007-03-10  
要是哪个容器直接实现所有封装和框架,那就爽了!呵呵!
1 楼 jolestar 2007-03-10  
想法不错.一直就想要是有个像eclipse一样的web框架平台多好,功能都分成模块.扩展,更新都很方便.不过感觉这东西要是有web容器支持那就更好了.

相关推荐

    osgi框架开发介绍

    3. **IDE和工具平台**:Eclipse IDE就是一个基于OSGi的平台,其插件系统就是OSGi服务模型的体现。 四、学习资源 提供的"osgi框架介绍"可能包含基础的PDF教程,它们通常会涵盖以下几个方面: - OSGi的基本概念和架构...

    基于OSGi和Spring开发Web应用.doc

    "基于OSGi和Spring开发Web应用" OSGi(Open Service Gateway Initiative)是一种面向服务的框架,能够提供动态模块部署和管理的能力。Spring 是一个轻量级的J2EE开发框架,特点是面向接口编程和非侵入式的依赖注入...

    基于osgi框架实战源码

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

    基于OSGI 框架 的客户端接口设计

    本文将深入探讨基于OSGi框架的客户端接口设计,以及如何利用它来提高软件的可维护性和可扩展性。 首先,了解OSGi的核心概念是至关重要的。OSGi框架基于服务导向架构,每个模块称为一个"bundle",这些bundle之间通过...

    四大OSGI框架最新技术对比分析

    四大OSGI框架最新技术对比分析 一、Apache Felix ### 1.1 概述 Apache Felix 是一个致力于实现 OSGi R4 Service Platform 和其他与 OSGi 相关的技术的社区项目,遵循 Apache 许可。最初,OSGi 规范的目标是嵌入式...

    基于osgi整合ssm框架注解开发

    总结,"基于osgi整合ssm框架注解开发"的主题涵盖了使用OSGi的模块化特性来管理和部署基于Spring、SpringMVC和MyBatis的Web应用,同时利用注解简化配置和开发过程。通过这样的整合,开发者可以构建出高度可扩展、模块...

    基于OSGi框架的网络操作工单管理系统的设计与实现论文.doc

    【基于OSGi框架的网络操作工单管理系统设计与实现】 随着网络信息技术的飞速发展,网络规模持续扩大,网络设备的数量呈指数级增长,对网络操作管理的需求也随之提高。现有的网络管理系统虽然具备丰富的管理功能,但...

    探索 OSGi 框架的组件运行机制

    探索 OSGi 框架的组件运行机制探索 OSGi 框架的组件运行机制

    基于OSGi和Spring开发Web应用的Demo

    在IT行业中,构建高效、可扩展的Web应用程序是至关重要的,而OSGi(Open Services Gateway Initiative)和Spring框架的结合提供了这样的解决方案。本篇将详细探讨如何基于OSGi和Spring来开发Web应用,并通过提供的...

    ‪第一个OSGi框架工程

    **环境准备**:要创建一个基于OSGi的HelloWorld项目,首先需要准备好开发环境。这里推荐使用Eclipse Equinox作为OSGi框架的实现。Equinox是Eclipse项目的一部分,提供了完整的OSGi实现和支持。 1. **下载并安装...

    OSGi相关框架学习资料

    资源名称:OSGi相关框架学习资料资源目录:【】EclipseRCP与SpringOSGi技术详解与最佳实践【】osgi.core.javadoc-5.0.0【】OSGi_R4_Spec_zh_cn_origional【】OSGi原理与最佳实践【】OSGi原理与最佳实践的源码【】...

    基于OSGi框架的网络操作工单管理系统的设计与实现硕士毕业论文.doc

    基于OSGi框架的网络操作工单管理系统设计与实现是针对当前网络管理中操作复杂性的挑战,提出的一种高效解决方案。 在传统的网络管理系统中,随着网络规模的扩大,管理操作变得日益复杂,难以统一协调。论文提出的...

    基于OSGi和Spring开发Web应用教程

    在基于OSGi和Spring开发Web应用中,OSGi(Open Services Gateway Initiative)是一个开放标准,用于创建模块化Java应用程序。它允许开发者将应用程序分解为独立的模块,称为bundle,每个bundle都包含自己的类路径、...

    WEB容器托管OSGi容器(轻量级集成方式)

    标题中的“WEB容器托管OSGi容器(轻量级集成方式)”是指在Web应用程序服务器(如Tomcat、Jetty等)中嵌入OSGi(Open Service Gateway Initiative)框架,实现服务组件的轻量化管理和部署。OSGi是一种动态模块化系统...

    自己开发的OSGi Web Console

    1、自己开发的OSGi Web Console,适用于实现了OSGi规范的Equinox、Felix等...2、展示了如何把OSGi框架作为一个组件嵌入到现有的未基于OSGi开发的Web应用当中,在Web应用中可获取OSGi中的Service以增加应用的灵活性。

Global site tag (gtag.js) - Google Analytics