`
snoopy7713
  • 浏览: 1151887 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

为什么学习OSGi

    博客分类:
  • OSGi
阅读更多

为什么学习OSGi
最近有好几个人都问了我这个问题,问的挺好的,在软件业界新技术层出不穷,做技术的人每天都要不断的学习新技术,在学习每样技术之前,自然是要知道为什么要学习它,说白点,就是得给自己一个理由,对于一个对OSGi完全陌生的人而言,学习OSGi能带给什么呢,给大家几个可选的理由:


1、想提升系统设计能力
      OSGi提供了系统级别的软件设计的指导,在传统的设计中对于系统大多数设计师都是采用分模块形成业务架构、进而模块详细设计的步骤,遵循OSGi也是类似如此,只是它能够更加规范的让设计师们去完成这些过程,而不是象现在百花齐放,每个设计师都有自己的一套设计的方式,这就象UML带来的好处,大家以后在设计的交流上是不是就更加容易了呢,当然,这是从大方向来看的,具体的细节方面那是另一回事,基于OSGi的系统基本都采用分Bundle、对Bundle基于Service-Oriented Component Model思想的详细设计,而OSGi对于Bundle各建classloader的机制则是更加容易同时也是强迫的让设计师们很容易就去做到模块解耦的设计,即使你不用OSGi,那也没关系,OSGi的思想难道不值得学习吗,学习了OSGi的这些优秀的思想你也可以在自己的项目/产品中采取类似的设计来提升系统的设计。


2、想实现动态的可管理的系统(即插即用)
      N多人都已经知道了,基于OSGi的系统具备充足的动态性,而这其实也是我们在做Java开发时一直想实现的,现在有这么一个现成的已经被证明可实现动态性的规范给你使用和学习,何不使用试试或者学习学习它的设计,然后自己做个动态的系统玩玩呢?
      其实很多时候我们是因为在用Java时养成的习惯思维,看OSGi可以让你稍微突破突破java带给你的常规思维习惯,去做到按版本的动态的加载类等一些功能,这是很好的。


3、想建立规范的开发方式和培训体系以及形成积累
      对于公司而言,规范的开发方式是一直以来都所期望的,而基于OSGi呢,很容易就可以让公司做到这点,基于OSGi公司所有的项目都可以按照统一的基础架构、开发方式、部署方式来完成,自然公司在开发知识方面的培训体系就能很容易的形成了。
      至于形成积累方面,更是公司都所期望的,就像我上篇blog所说的一样,基于OSGi的话可以将公司所做过的项目的模块都放入OBR中,当做新项目的时候就只需要去OBR中下相应的Bundle就可以搭出个脚手架,甚至是差不多的系统了。

上面只是简单的列了三点,OSGi带给业界的影响绝对是远超过IoC这种纯粹解决专一问题的设计思想的,给自己一个理由,或者是没事的时候抽空找个OSGi的应用试试吧,体验体验,也许你就会上OSGi的

ps:最近有个想法,既然每家公司都要养人做自己的开发平台,那么不如各家公司联合起来做开发平台,进而把开发平台开源出来,这样每家公司就可以大概只要养一两个人了做开发平台了,毕竟大部分的公司都不是依靠卖开发平台来赚钱的,而这样多家公司联合做的好处在于可以聚集各家公司的强人,呵呵,其质量、进度等必然会高过一家公司去做,当然,这种方法中最为重要的就是首先要树立一致的目标,毕竟每家公司对于其开发平台的功能还是有所轻重区别的,希望有共同想法的朋友们响应下......

分享到:
评论
1 楼 killko 2013-02-02  
有同感,望交流。

相关推荐

    经典OSGI学习资料

    在这个压缩包中,我们可以找到一个名为"OSGI介绍"的文件,它可能包含了OSGI的基本概念、核心特性以及如何开始学习OSGI的相关知识。 首先,OSGI的核心概念是模块系统。在OSGI框架中,每个模块被称为服务单元或bundle...

    OSGI学习文档

    OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化Java应用程序。它提供了一种动态、可热更新的环境,使得开发者可以更灵活地管理软件组件。在深入理解OSGI之前,我们先来了解一些基本概念。...

    osgi学习笔记(一)

    OSGi(Open Services Gateway Initiative)学习笔记(一) 在IT领域,OSGi是一种模块化系统和Java服务平台...如果你计划深入学习OSGi,建议阅读《OSGI进阶.pdf》这本书,它将为你提供丰富的实践经验和深入的技术知识。

    osgi学习资料

    学习OSGi的步骤** - **理解基础概念**:首先,你需要掌握OSGi的基本概念,包括Bundle、服务、生命周期和依赖管理。 - **学习环境搭建**:可以使用Eclipse Equinox或Apache Felix等开源实现搭建OSGi运行环境。 - **...

    osgi学习笔记(二)

    学习OSGi时,深入理解源码可以帮助开发者更好地掌握其实现原理。例如,可以研究Apache Felix或Equinox的源码,了解它们如何处理bundle的加载、依赖解析和服务注册等核心功能。 10. **挑战与解决方案** 虽然OSGi...

    osgi相关文档、及学习资料

    OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它为开发人员提供了一种管理和部署应用程序的方式,使得软件可以被分解成独立的组件,这些组件可以在运行时动态地安装、更新和卸载。这种模块化的...

    OSGI 入门资料PDF

    学习OSGI实战,你需要理解bundle的打包、部署和配置,以及如何使用OSGI命令行工具进行管理。 3. OSGI进阶: 进阶学习OSGI涉及到更深入的概念,如动态性、服务和事件模型。动态性意味着bundle可以在运行时安装、...

    OSGi相关框架学习资料

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

    osgi介绍osgi介绍

    OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它为开发人员提供了一种动态、模块化的运行时环境。在OSGi中,应用程序被分解为称为“bundle”的独立单元,这些bundle可以相互依赖并独立地加载、...

    OSGI进阶实战教程

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

    《OSGi实战》完整中文版

    《 OSGi实战》是学习OSGi的全面指导,利用与架构和开发人员相关的示例清楚地讲解OSGi概念,同时探讨了很多实践场景和技术,阐述了开发人员有多需要OSGi,怎么将OSGi嵌入其他容器中,将遗留系统移入OSGi的最佳实践,...

    osgi,林昊写的osgi实战和进阶

    OSGI(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发者将应用程序分解为一系列可独立部署、更新和交互的服务。林昊所著的《OSGI实战》与《OSGI进阶》是深入理解OSGI技术的重要参考资料,适合...

    OSGi到底给我们带来了什么[附PPT和Demo]

    10. **最佳实践**:学习OSGi可以帮助开发者遵循最佳的模块化设计原则,提高代码质量,减少维护成本。 综上所述,OSGi是一个强大的工具,能够帮助Java开发者构建更加灵活、可扩展和可维护的应用程序。提供的PPT和...

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

    OSGI组件编程是一种在Java平台上构建模块化应用程序的方法,它由OSGi联盟制定标准,并被广泛...通过本教程,你将学习到如何在Eclipse和Equinox环境下,有效地编写和调试OSGI组件,从而掌握这一现代Java开发的重要技术。

    OSGI规范中文版

    OSGi(Open Services Gateway Initiative)是一种在Java平台上进行模块化编程的规范,它为Java应用提供了动态化、服务化和模块化的运行环境。OSGi规范定义了一组核心的Java包和Java类的框架,允许一个应用程序或组件...

    OSGI + Webservice 例子

    在"OSGI + Webservice 例子"中,新手可以学习如何将OSGI的模块化特性与Web服务的跨平台通信能力结合。下面将详细介绍这个例子中可能涉及的知识点: 1. **OSGI模块创建**:首先,你需要了解如何创建一个OSGI模块,这...

    spring osgi相关资源

    Spring OSGi是Spring框架与OSGi(Open Service Gateway Initiative)规范相结合的一种技术,它...通过学习和掌握Spring DM Server的使用以及Spring OSGi的相关库,开发者可以更好地在OSGi环境中构建和管理Spring应用。

    osgi进阶(中文)

    OSGi进阶文档不仅是学习OSGi的宝贵资源,也是在实际项目中运用OSGi技术的指南。文档强调了模块化设计的重要性,并通过具体的实践案例来指导开发者如何在现实世界中有效地使用OSGi。无论对于初学者还是有经验的开发者...

    OSGI学习手册及实践

    - **ClassLoader**:OSGI使用独立的类加载器为每个Bundle提供隔离的类加载环境,确保不同Bundle之间的类不会冲突。 - **Bundle的生命周期**:定义了Bundle从安装、启动到停止和卸载的各个阶段及其状态转换。 - **...

Global site tag (gtag.js) - Google Analytics