Apache ACE is a software distribution framework that allows you to manage and deploy modular OSGi-based applications to many different clients, also known as "targets" in ACE terminology, allowing precise control over which target gets which software. Its key features are:
- being able to deploy software to many different targets;
- atomic upgrades: if an upgrade fails for a target, it is automatically rolled back to the former state;
- deploy different configurations for different targets;
- smart redeployments of only the changed artifacts to your targets;
- complete control on the deployment strategy for your targets.
Getting started
If you are interested in just get Apache ACE up and running, you can read the getting started in 5 minutes. To get more information about the history of Apache ACE, read all about its history and background.
Using Apache ACE
Resources that go into more detail on using Apache ACE:
- read all about using Apache ACE in the users guide;
- if you want to access ACE from the Gogo shell, for example, to automate deployments, read the the Gogo shell client documentation;
- to access Apache ACE from an external client, you can read all about this in the REST API documentation;
- all about managing users using ACE's web UI can be read in the user management guide;
- adding support for new types of artifacts is described in custom artifact type documentation;
- to handle a large number of targets, you can make use of intermediate relay servers;
- configuring HTTP Basic authentication in ACE is described in the authentication guide;
- configuring ACE to use two-way SSL is described in using client certificates;
- various deployment strategies for Apache ACE are described in the ACE deployment strategies document;
- if you are interested in performing load tests, or want to get started with automating ACE deployments, read all about it in our test script document;
Developing for Apache ACE
There are several resources available on extending and developing for Apache ACE, such as:
- setting up an development environment for developing for Apache ACE;
- more details on writing unit and/or integration tests can be found in this document;
- all about the coding style and guidelines can be found in the coding standards;
- guidelines for releasing Apache ACE can be found in the release guide;
- more information about the architectural principals can be found in the architectural guide;
Background information, designs and analysis
- if you are interested about the various roles and terminology used in Apache ACE, read roles and terminology page;
- various use cases are described on the use cases page;
- to get more details on the why and how of certain parts of ACE can be found in the design and analysis documentation.