appNG is an open source, horizontally scalable application platform for developing and operating applications efficiently. It can be used to build an Application Platform as a Service (aPaaS).
APACHE-2.0 License
image::appng-logo.png[] :snapshot: 1.26.6-SNAPSHOT :stable: 1.26.5 :current: {snapshot} ifdef::env-github[] :caution-caption: 🔥 :important-caption: ❗ :note-caption: 📎 :tip-caption: 💡 :warning-caption: ⚠️ endif::[]
[caption="Apache License 2.0",link=LICENSE] image::https://img.shields.io/badge/License-Apache%202-blue.svg?style=flat-square[]
[caption="Maven Central",link=http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.appng%22%20AND%20a%3A%22appng-application%22] image::https://img.shields.io/maven-central/v/org.appng/appng-application.svg?style=flat-square[]
== Welcome to appNG appNG is a web application platform and a web application framework, based on http://tomcat.apache.org/[Apache Tomcat^] and the https://spring.io[Spring Framework^].
With appNG, you can build your own applications and deploy them to the platform within minutes.
appNG is very well suited to create and operate your own application platform as a service (aPaaS).
== Core Features
== Getting started
admin
with password appNG$42
=== Download and run the appNG web-application version If you run appNG in production you should use the web-application version, which is a standard web application archive (WAR-file).
Download the latest stable release from https://appng.org/appng/builds/stable/appng-application-{stable}.war
For further documentation on installing appNG go to the link:appng-application/README.adoc[README] of the appNG web-application.
=== Create your first appNG application Using the appNG Maven Archetype, you can easily create your first own application.
mygroupid
and myartifactid
with the desired values):Next, change into the created project folder and run mvn package
.
In the target folder, a file named myartifactid-1.0-SNAPSHOT-<yyyyMMdd-HHmm>.zip
should have been generated.
This file is the application archive.
=== Deploying the application The next step is to deploy the application through a local repository, e.g. the application archives are served from the local file system.
During installation of the appNG standalone version, a local repository has been created at /path/to/appng-standalone-{stable}/repository/
.
So the first step is to copy myartifactid-1.0-SNAPSHOT-<yyyyMMdd-HHmm>.zip
to this location.
-DoutFolder=/path/to/appng-standalone-{stable}/repository/
Next, we use the appNG CLI to install the application and to activate it for the site manager
(that has been created during installation).
In /path/to/appng-standalone-{stable}/appng/WEB-INF/bin
, execute the following commands:
Both commands should return without any message, meaning they where successful.
You can also use the appNG Manager or the appNGizer to install and activate an application. To see a list of available CLI commands, execute ./appng
or ./appng -h
.
The final step is to reload the site manager
. Therefore, login at http://localhost:8080/manager and click on the reload-icon shown next to the site in the overview. A message "Site has been reloaded." should appear.
After a re-login (see details below), a new navigation item named MYAPPLICATION
should appear on the site's navigation on the left. When clicking it, you see the results of your very first appNG application. Congratulations!
During installation, the application's role Admin
has been added to the appNG's built-in Administrators
group, to which your user belongs to.
Since the groups of a user are determined once during login, you need to re-login to apply the newly received permissions.
=== What's next? You should import the Maven project into your favorite IDE. Then start browsing the code to get an idea of how an appNG application works. You should also take a look at the https://appng.org/appng/docs/{current}/reference/html/developerguide.html[Developer Guide].
You may also want to check out appNGizer at http://localhost:8080/appNGizer. The user manual can be found here: https://appng.org/appng/docs/{current}/appngizer/html/appngizer-user-manual.html
== Components
[width="100%",options="header"] |==================== | Name | Type | Description
| https://github.com/appNG/appng[appNG^] | Web application | The appNG platform.
| https://github.com/appNG/appng[appNGizer^] | Web application | Provides the appNG REST API. The appNGizer is part of the appng Git Repository. During the build a separate appNGizer WAR file is packaged.
| https://github.com/appNG/appng[appng-standalone^] | Standalone version with bundled Tomcat | Includes the applications: Manager, Authentication and Scheduler and also the appNG Template
| https://github.com/appNG/appng-manager[appNG Manager^] | appNG privileged application | Provides a web-based interface to administer appNG and to access other appNG applications.
| https://github.com/appNG/appng-authentication[appNG Authentication^] | appNG privileged application | Provides different authentication mechanisms for appNG.
| https://github.com/appNG/appng-scheduler[appNG Scheduler^] | appNG privileged application | Provides job scheduling services.
| https://github.com/appNG/appng-template[appNG Template^] | appNG template | The classic XSLT based template, used in conjunction with the appNG Manager.
|====================
NOTE: The appNG and appNGizer web applications run in Apache Tomcat, while appNG applications run on the appNG platform. appNG privileged applications have elevated permissions to access and control the appNG platform. appNG templates define the visual appearance of appNG applications.
== Documentation
[width="100%",options="header"] |==================== | Component | Type | Format
|appNG |JavaDoc |https://appng.org/appng/docs/{current}/javadoc/[HTML]
|appNG |Application Developer Guide |https://appng.org/appng/docs/{current}/reference/html/developerguide.html[HTML^], https://appng.org/appng/docs/{current}/reference/pdf/developerguide.pdf[PDF^]
|appNGizer |Platform installation guide |https://appng.org/appng/docs/{current}/appngizer/html/appngizer-platform-installation-guide.html[HTML^], https://appng.org/appng/docs/{current}/appngizer/pdf/appngizer-platform-installation-guide.pdf[PDF^]
|appNGizer |User Manual |https://appng.org/appng/docs/{current}/appngizer/html/appngizer-user-manual.html[HTML^], https://appng.org/appng/docs/{current}/appngizer/pdf/appngizer-user-manual.pdf[PDF^]
|====================
== Download Releases
[width="100%",options="header"] |==================== | Component | Version | Format
|appNG |{stable} |https://appng.org/appng/builds/stable/appng-application-{stable}.war[WAR^]
|appNG with https://camunda.org/[Camunda BPMN^] |{stable} |https://appng.org/appng/builds/stable/appng-application-camunda-{stable}.war[WAR^]
|Standalone |{stable} |https://appng.org/appng/builds/stable/appng-standalone-{stable}.zip[ZIP^]
|====================
== Download Snapshots
[width="100%",options="header"] |==================== | Component | Version | Format
|appNG |{snapshot} |https://appng.org/appng/builds/snapshot/appng-application-{snapshot}.war[WAR^]
|appNG with https://camunda.org/[Camunda BPMN^] |{snapshot} |https://appng.org/appng/builds/snapshot/appng-application-camunda-{snapshot}.war[WAR^]
|Standalone |{snapshot} |https://appng.org/appng/builds/snapshot/appng-standalone-{snapshot}.zip[ZIP^]
|====================
WARNING: Snapshots reflect the current development status. We do not recommend to use snapshots in production and might not be able to help, if you are running cutting-edge appNG. However, if you want to take a look at the latest features, feel free to download a copy and try it out.
== Getting help
Please ask your question at https://stackoverflow.com/[Stack Overflow^] and make sure to add the https://stackoverflow.com/questions/tagged/appng[appng^] tag to your question.
If you think you found a bug or want to propose a new feature, please create a ticket in our https://appng.org/jira/[issue tracker^].
If you require an Enterprise Support Plan, please contact https://www.aiticon.com[aiticon GmbH^] for further information. aiticon also offers trainings, consulting, development and hosting for appNG.
== How to contribute See link:CONTRIBUTING.adoc[Contributing to appNG]
== Developer Links
== License appNG is licensed under the https://www.apache.org/licenses/LICENSE-2.0[Apache License 2.0^].