Ada Web Application
Ada Web Application is a framework to build a Web Application in Ada 2012.
The framework provides several ready to use and extendable modules that are common
to many web application. This includes the login, authentication, users, permissions,
managing comments, tags, votes, documents, images. It provides a complete blog,
question and answers and a wiki module.
AWA simplifies the Web Application development by taking care of user management with
Google+, Facebook authentication and by providing the foundations on top of which you
can construct your own application. AWA provides a powerful permission management
that gives flexibility to applications to grant access and protect your user's resources.
AWA integrates the following projects:
- ASF (https://github.com/stcarrez/ada-asf)
- ADO (https://github.com/stcarrez/ada-ado)
- Ada Util (https://github.com/stcarrez/ada-util)
- Ada Wiki (https://github.com/stcarrez/ada-wiki)
- Ada EL (https://github.com/stcarrez/ada-el)
- Ada Security (https://github.com/stcarrez/ada-security)
- Dynamo (https://github.com/stcarrez/dynamo)
These projects are distributed under the Apache License 2.0.
AWA relies on the following external projects:
- AWS (http://libre.adacore.com/libre/tools/aws/)
- XMLAda (http://libre.adacore.com/libre/tools/xmlada/)
These projects are provided as tarball in 'external' directory.
They are distributed under different licenses (GNU GPL).
They are not compiled unless you tell configure to do so.
The AWA framework integrates a set unit tests and provides a framework
to build unit tests for AWA applications. The unit tests are based on
Ada Util test framework which itself is built on top of the excellent
Ahven test framework (Ahven sources is integrated in Ada Util).
You may get Ahven or Aunit at:
The AWA framework uses git submodules to integrate several other
projects. To get all the sources, use the following commands:
git clone firstname.lastname@example.org:stcarrez/ada-awa.git cd ada-awa git submodule init git submodule update
If XML/Ada and AWS are already installed in your environment, configure,
build and install as follows:
./configure --prefix=/usr/local make make install
If you don't have XML/Ada or AWS, you must build them and install them first.
You can use the XML/Ada and or AWS packages provided in the 'external' directory.
To do this, run the configure as follows:
./configure --enable-xmlada --enable-aws
This will extract and configure XML/Ada in 'xmlada' and AWS in 'aws'.
The build process of XML/Ada and AWS will take care of installing these
two packages before configuring other AWA components.
make make install
A docker container is available for those who want to try AWA without installing
and building all required packages. To use the AWA docker container you can
run the following commands:
sudo docker pull ciceron/awa
The Ada Web Application sources as well as a wiki documentation is provided on:
You may read the following tutorials to lean more about the technical details about
setting up and building an Ada Web Application:
- Step 1: Ada Web Application: Setting up the project
- Step 2: Ada Web Application: Building the UML model
- Step 3: Review Web Application: Creating a review
- Step 4: Review Web Application: Listing the reviews