wiki:Architecture

Kraken Architecture

Kraken is composed of following components:

  • Kraken API: API is the minimal set of requirements for kraken bundle.
  • Kraken Core: Core provides OSGi based dynamic module system. You can connect to kraken using telnet client. (e.g. PuTTY) You can install OSGi bundle using just one line of command on kraken console: bundle.install [group-id] [artifact-id] [version]. Maven components are integrated to Kraken Core, so Kraken can analyze dependencies, download and install any maven artifacts automatically.
  • Kraken Filter: Monitoring system must provides log collecting, log filtering, log summarizing, log archiving, realtime reporting, etc. For flexiblity and robustness, monitoring framework should support dynamic filter chaining functionality. Filters should be chained in single JVM instance. Connecting each components across several JVM instance in local machine using messaging subsystem will waste computing resources because of a lot of memory copy. Kraken is OSGi based monitoring framework, but complex OSGi service call can't provide extremly high performance. Kraken Filter is implemented as iPOJO extender and provides filter chaining functionality with minimum overheads.
  • Kraken Bundles: Kraken can load any OSGi bundle. Kraken bundle is a OSGi bundle, but it contains kraken-specific configuration. Kraken bundle can provides kraken script, kraken filter, etc. When you loads a kraken bundle, all kraken scripts in a kraken bundle are registered automatically, then you can call kraken script on kraken console. Kraken script can be used as followings: interactive install/uninstall/configuration, automatic diagnosis, etc.