Skip to content

tonit/gouken

Repository files navigation

Gouken: Specialized OSGi Runtimes

Tiny OSGi

Gouken is an Open Source project that provides a dramatically simplified OSGi based runtime which is being called “Vault”.
Instead of the routh OSGi Core API it provides things like transactional updates and a repository system.

The Vault API actually never mentions OSGi terminology like “Bundles” or “Manifest Files”.
Instead it provides
– an emphasis on services instead of a particular pyhsical layout (“Configurations” instead of Bundles and Manifests )
– transactional state management
– ad-hoc bundle packaging/late “OSGi-fying”. Let users assemble what they are used to and work from there.
– auditing mechanisms

Specialized Vaults

Based on Vault, you get highly specialized kernels like for example embedded plugin systems or dynamic android service hubs.

Those specialized Vaults address common usecases without requiring you to fully face the reality (reference: OSGi tells you how bad your architecture really is).

Instead, you boot a valid JEE citizen like a webapp or EAR inside your lovely big IBM Websphere Container.
From there, you can gradually move parts of your application to a ?Services based architecture without noticing you are setting inside this “developer unfriendly” ecosystem called OSGi already.

OSGi Forward

This principle, limiting the bottom layer and providing specialized versions, tries to address common OSGi complaints:
- high learning curve
- need to re-desgin existing architectures from ground up
- need to learn new technology tooling (“building Manifest headers”)

Gouken wants to address those problems with a very simple, ready to use, drop-in like, solution taking away as much OSGi “complaints” as possible.

Terminology

Vault = Managed Environment inside an (unmanaged) environment
Kernel = Physical assembly. Usually in native unit of deployment of a foreign ecosystem (EAR,WAR,APK,etc..).
Configuration = State of a vault. Issuing a new configuration is the only way to change the vault state. Atomic.

FAQ

How does this relate to Apache ACE ?

Apache ACE is a one-2-many provisioning system.
The core vault that is the foundation of Gouken uses the same technical foundation (OSGi Deployment Admin) as its Management Agent level.
However, it is a very small subset that focusses on one-2-one deployments instead one-2-many.
In the future, the goal is to use the same management agent on an implementation level.

The core value behind Gouken are its specialized assembly formats that provide direct value for an existing problem space in non-osgi architectures.

About

Specialized OSGi Runtimes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published