Compose your application by creating reusable components called bundles with clear API boundaries. Take full control over the life-cycle of your bundles to selectively enable specific functionality.
Follow best practices by making use of the publish, find, and bind service model. Services are great for specifying your public API and to loosely couple components. Once bound, service calls do not impose any overhead and their dynamic nature makes it easy to create applications that adapt to the current environment.
Bundles as well as services are dynamic. They can come and go and you have full control over the life-cycle of the services you publish. Bundles can be installed at runtime and started or stopped in order to re-configure a deployed system.
We leverage years of industry experience by building upon the OSGi specifications. Although written for the Java Virtual Machine, most of its foundation is language agnostic and can be successfully mapped to a native C/C++ environment.
Multiple platform support is a primary goal. The code base compiles out of the box on many different operating systems, compilers, and architectures.
The software is open-source and licensed under the liberal and commercially friendly Apache 2.0 License.
The core framework, required for interacting with bundles and services. It gives you a lot of power and control over the composition and runtime features of your application.
The Shell is a command line tool for interacting with a C++ Micro Services applications using a textual user interface (TUI). It allows you to inspect services and manage bundles.
The Web Console is a rich and extensible html management agent. Using this bundle adds a html frontend to your application, allowing to inspect and manage its configuration at runtime.
The shell service provided by this bundle evaluates shell commands and is the standard back-end for clients like the Shell TUI.
Covers supported platforms, the build process, and a quick introduction to the basic features.
Read about best practices to see how to solve common problems using fundamental concepts and patterns.