HiveMind是一个服务(services)和配置(configuration)的微内核。
服务 :HiveMind的服务由一系列容易访问和组合的普通Java对象组成(Plain Old Java Objects)。每一个服务最好用一个被它实现了的接口进行定义(但是HiveMind现在并不强制这点)。在需要的时候HiveMind会负责实例化 每一个服务并且进行必要的配置。另外,HiveMind可以通过依赖注入让服务协同工作。 配置 :HiveMind允许你为你的服务提供一个由你规 定格式的复杂配置信息。同时,也可以将在不同模块里申明(contribution)的配置信息集中起来,并将它们全部转化为对象数据。在 HiveMind的配置支持下,服务的体系结构可以和数据驱动的解决方案,完美的,有效的无缝结合。 微内核:HiveMind是一个用于创建应用程序的框架,而不是一个应用程序或应用服务器。HiveMind的“核心”是启动逻辑。它知道如何解析和理解模块部署描述符,并使用它们去实例化并初始化所有的服务和配置。 在HiveMind里,一个服务是某个Java接口的实现。和其它框架,比如说SOAs(Service Oriented Architectures, 再比方SOAP或EJBs),不同的是HiveMind只关心组合处于同一个虚拟机上的Java代码。HiveMind通过描述符描述不同的服务、服务的 生命周期和如何将服务组合在一起。HiveMind非常注意线程安全和单例服务对象的延迟创建。因此你不必在代码里面关心这些。
HiveMind位于应用程序代码和低层J2EE或其它API之间。