研究目的:该apache项目实现了blueprint和其他sessionmanage的功能,这是项目必须的。

概述:

Aries项目发布了一个可插入的java组件集,实现了一个企业级的OSGI应用程序编码模型。

它包括了OSGI组织-企业专家组定义的面向应用程序规范的实现和扩展,以及多bundle应用程序的组装格式,用于开发一个基于运行时的多样化OSGI实现。

构建和使用Aries组件:

参看用户样例:这里告诉你如何构建Aries组件。

Aries提供企业级OSGI组件,诸如:Blueprint容器和项目,用来集成企业级技术,诸如:JTA,JNDI,JPA到OSGI环境中,并使这些技术为bundle所用。一些Aries组件,如Aries Blueprint container,不要求任何除OSGI容器之外的东西,另外一些组件,企图集成到应用服务器或者集成运行中去,例如:ServiceMix或者Geronimo。

Aries Programming Model

Apache Aries中使用的编程模型被描述在下面的章节里:

Aries Applications

一个Aries应用程序是一个或多个OSGI模块的集合,这些模块组合在一起提供相关的业务功能。一个Aries应用程序可以有多个模块以不同的方式组合构成。例如,一个Aries应用程序提供web banking功能,这个功能可以由一些web内容(web application bundles)、blueprint上下文bundle、(JPA实体bundle+持久化配置文件)bundle组成。

一个Aries应用程序与他自身模块所提供的服务隔离,这样做的目的是应用程序不为外界所见,除非清晰地配置导出功能。一个aries应用程序有多种方式接受工作负载(用户请求):一个aries应用程序可以包括web bundle来执行http的访问,也可以导出一个个的service为其他aries应用程序所用或者发布成web Service.

在隔离的运行环境中,每个Aries应用程序与他的OSGI服务注册库一起,运行在它自身隔离的OSGI框架实例中。一个aries应用程序中的bundles,不能看到另一个OSGI应用程序中定义的bundle,service或者package,除非这些bundles,services ,packages被清晰地被指名应用程序共享。一种Aries应用程序可以装在和消费来自共享bundle空间的OSGI服务。也就是说,这种OSGI框架实例是所有隔离的OSGI应用程序框架实例的父类。(只有暴露,才能被共享)

Aries应用程序的结构

一个Aries应用程序被打包成zip文件,并且以.eba为后缀,结构如下:以下略