Edge Application Lifecycle Management
JamaicaAMS
aicas’ application management system for deploying and managing software applications, their lifecycle, security, and resources across embedded and edge systems.
The Challenge
Manage the Complexity of Modular Software
An adaptive while scalable architecture makes it easy to add, replace, and maintain individual software components. But in embedded and edge systems, being able to flexibly configure an application is not enough. Teams also need control over how components behave at runtime, which resources they consume, and how the complete application is deployed.
Control Individual Components
Application frameworks may provide component lifecycle management without the ability to forcefully stop individual components. For systems with stronger operational requirements, teams need a way to regain control when a component does not stop as expected.
Limit Resource Consumption
Components compete for finite system resources. Without enforceable limits, an individual component can consume CPU time, memory, and filesystem resources needed elsewhere in the system.
Manage Complexity
With the advantages of modular applications usually comes an overhead in complexity. While encapsulation eases debugging and bug fixing, it makes dependency management harder.
Control System Access
Components need access to the system to provide their specified functionality. They should not have more permissions than are required for their individual task. The system needs to be protected against malicious or erroneous API usage.
The Solution
Bring Operational Control to Components, Resources, and System Access
JamaicaAMS is a flexible and adaptable application management system and service platform using Java that implements a complete, dynamic component model based on the OSGi standard.
JamaicaAMS extends the underlying application framework with capabilities for stronger component and resource control. It provides a pre-composed and pre-compiled runtime and supports multiple deployment formats for different target environments.
Control the Lifecycle Component
Manage modular application components and keep the control to safely stop individual components when required.
Service Registry and Dependency Management
Advanced dependency management automates away the complexity of modular service architectures. A central service registry, automatic dependency resolution and the ability to run multiple versions of the same component support the weaving of a long-lasting and robust application.
Enforce Resource Budgets
Define and enforce budgets for individual components across system resources including CPU time, memory, filesystem resources, and API access.
Protect the System
By running all components in a virtualized environment, JamaicaAMS protects the system against malicious and erroneous access preserving the – potentially remote – device always in a running and controllable state.
Business Outcome
Reduce Embedded Software Constraints. Save engineering time and costs.
Reduce Lifecycle Costs
Develop, test, update, and replace software components independently. Keep systems operational during maintenance, debugging, and bug fixing instead of redeploying or stopping the complete application. This reduces effort across updates, system variants, maintenance, and field service.
Accelerate Time-to-Market
Develop and release components independently instead of integrating every change into a monolithic system release. Reuse components across supported hardware, processor architectures, and operating systems to reduce system-specific development and testing. Simplify deployment across heterogeneous fleets, shorten release cycles, and bring new features to market faster.
Extend Product Lifetime
Add, update, or replace functionality throughout the system lifecycle without redeploying the complete system. Adapt deployed systems to new requirements over time and extend the economically viable lifetime of existing hardware.
Capabilities
Application Management for Modular Java Systems
Dynamic Component Model
JamaicaAMS implements a complete and dynamic component model based on the OSGi standard.
Per-Component Resource Limitations
Enforce budgets for individual components across relevant system resources, including CPU time, memory, filesystem resources, and API access.
AOT-Compiled JAR Extensibility
Extend JamaicaAMS with precompiled JARs for improved performance.
Forceful Component Stop
JamaicaAMS provides the capability to forcefully stop individual components, extending the component control available in many application frameworks.
Pre-Composed and Pre-Compiled Runtime
Ahead-of-Time compilation can be used to fine-tune application execution speed and memory footprint for the requirements of embedded targets.
Multiple Deployment Formats
JamaicaAMS is available as:
â—Ľ
Copy-in Binary Package
â—Ľ
Container Image
â—Ľ
Amazon Machine Image (AWS AMI)
â—Ľ
Red Hat Universal Base Image (UBI)
â—Ľ
Yocto Layer
Why JamaicaAMS
Why JamaicaAMS for Adaptive Software Lifecycle Management?
JamaicaAMS combines the standardized OSGi component model and Apache Felix ecosystem with additional capabilities for controlling components, limiting resource consumption, and deploying a pre-composed runtime.
True Bundle Stop
Forcefully stop individual components when waiting for them to complete is not acceptable due to timing issues and error cases.
Per-Bundle Resource Limitations
JamaicAMS allows to apply resource limits to individual bundles as well as the overall framework level.
Pre-Composed Runtime
Deploy a pre-composed and tested runtime instead of downloading, assembling, and qualifying the required runtime components independently.
Compiled Extensions
Extend the runtime with pre-compiled JARs where improved performance is required.
Multiple Deployment Formats
JamaicaAMS is available as:
â—Ľ
Copy-in Binary Package
â—Ľ
Container Image
â—Ľ
Amazon Machine Image (AWS AMI)
â—Ľ
Red Hat Universal Base Image (UBI)
â—Ľ
Yocto Layer
Capability
Regular OSGi
e.g. Apache Felix
JamaicaAMS
Component Model
Yes
Yes
Community Extensions & Updates
Yes
Yes
Specific Patches and Fixes
No
Yes
Full Bundle Control (“stop”)
No
Yes
Per-Bundle Resource Limitations
No
Yes
Pre-Composed Runtime
No
Yes
Just-in-Time Compilation
Yes
No
*
Extensibility with Pre-Compiled JARs
No
Yes
OSGi on QNX and VxWorks
Yes
**
Yes, Built-in
JamaicaAMS offers following capabilities:
Component Model, Community Extensions & Updates, Specific Patches and Fixes, Full Bundle Control ("stop"), Per-Bundle Resource Limitations, Pre-Composed Runtimes and OSGI on QNX and VxWorks. It is extensible with pre-compiled JARs.
Support for Just-in-Time Compilation is limited*
Regular OSGi, for example Apache Felix only supports Component Model, Community Extensions & Updates and Just-in-Time Compilation.
Support for OSGi on QNX and VxWorks is limited**
*
For Windows and macOS, aicas provides a serviced build based on OpenJDK and Apache Felix without JamaicaAMS-specific functionality.
**
When running on JamaicaVM
Use Case Examples
Where is JamaicaAMS used?
Platform Support
JamaicaAMS Platform Support
Target OS
x64
AArch64
RISC-V
Other
Linux
Yes
Yes
Yes
On Request
QNX
Yes
Yes
On Request
On Request
VxWorks
Yes
Yes
On Request
On Request
Other OS
On Request
On Request
On Request
On Request
Windows
Yes
*
Yes
*
On Request
On Request
macOS
Yes
*
Yes
*
On Request
On Request
On x64 and AArch64 JamaicaAMS supports Linux, QNX, Vxworks, Windows* and macOS*
RISC-V is only support on Linux*, all other OS and CPU architectures on request.
Linux
â—Ľ
Debian/Ubuntu-based
â—Ľ
RPM/RHEL-based
â—Ľ
Android-based
â—Ľ
Yocto-built
*
For Windows and macOS, aicas provides a serviced build based on OpenJDK and Apache Felix without JamaicaAMS-specific functionality.
Reviewed and Approved by AWS
aicas JamaicaAMS has been evaluated and approved by AWS and is now qualified software to run on AWS cloud services.
JamaicaAMS on AWS Marketplaceaicas EdgeSuite
JamaicaAMS within aicas EdgeSuite
JamaicaAMS is built on JamaicaVM, combining modular application management with a realtime Java runtime and development environment designed for embedded and IoT systems.
Combined with aicas’ Edge Device Portal (EDP), JamaicaAMS bundles can dynamically be deployed from remote for development, testing, and production workflows. aicas’ Edge Data Gateway (EDG) profits from JamaicaAMS running on a device for collecting and preprocessing data and connecting data sources and cloud endpoints with pre-build components from JamaicaCAR and JamaicaIOT.
Explore aicas EdgeSuiteNext Step
Evaluate JamaicaAMS for your Application Architecture
Discuss your component architecture, resource-control requirements, target environment, and deployment model with aicas.
FAQ