什么是OSGi

什么是OSGi
The Open Services Gateway Initiative (OSGi), also known as the Dynamic Module
System for Java,
OSGi也被称为Dynamic Module System for Java
defines an architecture for modular application development. OSGi container
implementations such as Knopflerfish, Equinox,
OSGi对模块化开发定义了一个体系。OSGi容器实现(有Knopflerfish, Equinox, Apache Felix)
and Apache Felix allow you to break your application into multiple modules and
thus more easily manage cross-dependencies between them.
允许将应用程序分割成多个模块,同时使得不同模块之间的依赖易于管理。

Similar to the Java Servlet and EJB specifications, the OSGi specification
defines two things:
和Java Servlet,EJB相似,OSGi标准定义了两件事:
a set of services that an OSGi container must implement
一堆OSGi容器需要实现的service
a contract between the container and your application.
容器和你的程序之间的契约

Developing on the OSGi platform means first building your application using
OSGi APIs, then deploying it in an OSGi container.
基于OSGi平台进行开发意味着必须要用OSGi API来构建你的程序,然后将它们部署到OSGi容器中去。
From a developer’s perspective, OSGi offers the following advantages:
从一个开发者的角度来书,OSGi提供了以下优点:
You can install, uninstall, start, and stop different modules of your
application dynamically without restarting the container.
你可以在不重启容器的情况下,来安装,卸载,启动停止你应用程序中的模块。
Your application can have more than one version of a particular module running
at the same time.
同一时间你的应用程序中的一个模块的不同版本可以一起运行
OSGi provides very good infrastructure for developing service-oriented
applications, as well as embedded, mobile, and rich internet apps.
OSGi为面向服务应用提供了很好的基础框架,例如嵌入式,手机,富internet程序。

http://en.wikipedia.org/wiki/OSGi
http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html?page=1