AWA uses Ada Server Faces for the web framework. This framework is using several patterns from the Java world such as Java Server Faces and Java Servlets.
AWA provides a set of ready to use and extendable modules that are common to many web application. This includes managing the login, authentication, users, permissions.
AWA uses an Object Relational Mapping that helps in writing Ada applications on top of MySQL or SQLite databases. The ADO framework allows to map database objects into Ada records and access them easily.
AWA is a model driven engineering framework that allows to design the application data model using UML and generate the corresponding Ada code.
The new version of AWA provides:
New jobs plugin to manage asynchronous jobs,
New storage plugin to manage a storage space for application documents,
New votes plugin to allow voting on items,
New question plugin to provide a general purpose Q&A.
Dynamo is a tool to help developers write some types of Ada Applications which use the Ada Server Faces or Ada Database Objects frameworks. Dynamo provides several commands to perform one specific task in the development process: creation of an application, generation of database model, generation of Ada model, creation of database.
The new version of Dynamo provides:
A new command build-doc to extract some documentation from the sources,
The generation of MySQL and SQLite schemas from UML models,
The generation of Ada database mappings from UML models,
The generation of Ada beans from the UML models,
A new project template for command line tools using ADO,
A new distribution command to merge the resource bundles.
The most important feature is probably the Ada code generation from a UML class diagram. With this, you can design the data model of an application using ArgoUML and generate the Ada model files that will be used to access the database easily through the Ada Database Objects library. The tool will also generate the SQL database schema so that everything is concistent from your UML model, to the Ada implementation and the database tables.
The short tutorial below indicates how to design a UML model with ArgoUML, generate the Ada model files, the SQL files and create the MySQL database.
The Ada Database Objects is an Object Relational Mapping for the Ada05 programming language. It allows to map database objects into Ada records and access databases easily. Most of the concepts developped for ADO come from the Java Hibernate ORM. ADO supports MySQL and SQLite databases.
The new version brings:
Support to reload query definitions,
It optimizes session factory implementation,
It allows to customize the MySQL database connection by using MySQL SET
Ada Server Faces is an Ada implementation of several Java standard web frameworks.
The Java Servlet (JSR 315) defines the basis for a Java application to be plugged in Web servers. It standardizes the way an HTTP request and HTTP response are represented. It defines the mechanisms by which the requests and responses are passed from the Web server to the application possibly through some additional filters.
The Java Unified Expression Language (JSR 245) is a small expression language intended to be used in Web pages. Through the expressions, functions and methods it creates the link between the Web page template and the application data identified as beans.
The Java Server Faces (JSR 314 and JSR 344) is a component driven framework which provides a powerful mechanism for Web applications. Web pages are represented by facelet views (XHTML files) that are modelized as components when a request comes in. A lifecycle mechanism drives the request through converters and validators triggering events that are received by the application. Navigation rules define what result view must be rendered and returned.
Ada Server Faces gives to Ada developers a strong web framework which is frequently used in Java Web applications. On their hand, Java developers could benefit from the high performance that Ada brings: apart from the language, they will use the same design patterns.
The new version of Ada Server Faces is available and brings the following changes:
The Security packages was moved in a separate project: Ada Security,
New demo to show OAuth and Facebook API integration,
Integrated jQuery 1.8.3 and jQuery UI 1.9.2,
New converter to display file sizes,
Javascript support was added for click-to-edit behavior,
Add support for JSF session beans,
Add support for servlet error page customization,
Allow navigation rules to handle exceptions raised by Ada bean actions,
Ada Security is a security framework which allows web applications to define and enforce security policies. The framework allows users to authenticate by using OpenID Authentication 2.0. Ada Security also defines a set of client methods for using the OAuth 2.0 protocol.
A security policy manager defines and implements the set of security rules that specify how to protect the system or the resources.
A user is authenticated in the application. Authentication can be based on OpenID or another system.
A security context holds the contextual information that allows the security policy manager to verify that the user is allowed to access the protected resource according to the policy rules.
The Ada Security framework can be downloaded at Ada Security project page.
Dynamo is a tool to help developers write an Ada Web Application using the Ada Server Faces and the Ada Database Objects frameworks. Dynamo provides several commands to perform one specific task in the development process: creation of an application, generation of database model, generation of Ada model, creation of database.
The new version of Dynamo provides:
Support multi-line comments in XML mappings,
Generate List_Bean types for the XML mapped queries,
Add support for Ada enum generation,
Add test template generation,
Add AWA service template generation,
Add support for blob model mapping,
New command 'add-ajax-form', 'add-query', 'dist', 'create-plugin'
The Ada Database Objects is an Object Relational Mapping for the Ada05 programming language. It allows to map database objects into Ada records and access databases easily. Most of the concepts developped for ADO come from the Java Hibernate ORM. ADO supports MySQL and SQLite databases.
The new version brings:
Support to update database records when a field is really modified,
Customization of the SQLite database connection by using SQLite PRAGMAs,
JSF and ASF use a component-based model for the design and implementation of a web application. The presentation layer is implemented using XML or XHTML files and the component layer is implemented in Ada 05 for ASF and in Java for JSF.
A new version of ASF is available which provides:
New components used in HTML forms (textarea, select, label, hidden),
New components for the AJAX framework,
Support for dialog boxes with jQuery UI,
Pre-defined beans in ASF contexts: param, header,
A complete set of example and documentation for each tag.