模式8:Independent Deployment

模块应该是可以被独立部署的单元。如果一个模块可以被独立部署,那么它就不可以依赖其他的任何模块。但另一方面,除去所有的对外依赖显然是不太现实的。我们希望能够尽可能的减少模块之间的耦合,但是另一方面各个模块为了能够一起协作实现某项功能,耦合又会不可避免的存在。


Snaps介绍

Snaps的前身是springsource下的一个项目,叫slices。后来迁移到了Virgo项目下,叫做Virgo Snaps,简称VS。使用snaps,我们可以将多个OSGi bundles组建成一个web应用。每一个bundle只负责与URL空间对应的内容。一个snaps web应用一般由一个host与多个snap组成,host是唯一的,snap有多个,每个snap有且只有一个父结点。


模式10: External Configuration

外部配置可以让一个模块运行于不同的环境中。如下图所示,XML文件被Client类用来配置client.jar模块。可以注意到,负责初始化client.jar的配置信息与表示模块行为的Client类是分隔开的。 配置一个模块去它的适应运行环境有多种方法。配置文件可以放在模块里,也可以单独放在另一个模块,或者两种方法同时使用。第一种方法的优点是在默认环境使用时变得简单,缺点是默认配置很可能在其他环境不能使用。第二种方法的优点是模块不再与环境耦合,从而可以在不同环境重用,而缺点是每个新环境都需要重写配置文件,而且没有缺省的配置。


模式7:Container Independence

模块应当独立于运行时的容器。 过度依赖容器的模块称为重量级模块,它们不能再容器之外执行。一个比较好的重量级技术的示例是EJB,而轻量级框架的迅速出现,如Spring,直接原因就是重量级技术有不少缺陷。不依赖容器的轻量级模块主要有两大显著的优势: 1. 他们可以移植于不同的运行平台。 2. 他们是可测试的。


Apache <mark>Karaf</mark>用户指导

Karaf是一款成熟而且优秀的OSGi运行环境以及容器。本文介绍安装Karaf的步骤、Karaf的目录结构、Karaf的启动和停止、Karaf控制台的使用以及Karaf的很多用于帮助开发者更加灵活的部署应用的特性,如日志处理系统、安全性等。通过学习本文,你会更了解Karaf的功能,更方便的使用Karaf进行开发。


Karaf开发手册(1)

继续Karaf,看完了用户手册,来继续看看开发手册吧。关于定制发布、安全框架、使用features-maven-plugin、故障排除调试分析监测、开发命令、使用编程方式连接到控制台 编写集成测试、创建bundles、Shell 语法等内容尽在其中。感谢snoopy7713 给我们带来的翻译。


Karaf开发手册(2)

Karaf通过允许JAAS工作在OSGi环境中增强支持JAAS。该框架通过在运行时智能的部署新的密钥库或信任库来增加一个OSGi密钥库的管理功能。该功能允许部署在JAAS运行时,JAAS基本配置在应用程序的各个部分发挥作用。包括通过默认的虚拟登录模型的配置应用Karaf域远程登录控制。


Karaf开发手册(3)

接下来让我们来看看Karaf中有关故障排除,调试,分析以及检测相关的内同,通过控制台,我们能够非常方便的对其进行操作。日志可轻易的通过组命令在log shell下通过控制台控制。如果你在非常糟糕的状态下结束了Karaf或者你想迅速转换到干净状态,你只需要在安装目录中安全的移除数据目录。


GlassFish OSGi-JavaEE Part1: GlassFish与企业级OSGi开发

欢迎进入GlassFish OSGi-JavaEE专题!自从GlassFish v3开始,一个新的特性被加入到GlassFish中,那就是GlassFish OSGi-JavaEE。作者汤泳现就职于南京富士通南大软件技术有限公司。2013年2月成为GlassFish OSGi以及OSGi-JavaEE模块的Committer, 同时也是OSGi Alliance的Supporter。


GlassFish OSGi-JavaEE Part2

在Part1中,我们提到了企业级OSGi制定了一系列的规范来与JavaEE集成,其中,最具代表性的规范是OSGi WEB应用程序规范,这部分将带领大家深入理解OSGi WEB应用程序规范和GlassFish OSGi/WEB容器。


最受欢迎的文章

最新评论