1. Architecture¶
An EDG installation that has been extended with EDG-AF
consists of:
The EDG server running in Tomcat or another servlet container
One or more
EDG-AF
apps running outside the EDG serverThe EDG App Framework: code that connects
EDG-AF
apps with the EDG server
The design is inspired by Shopify apps.
1. EDG server
The EDG server is deployed in the usual way, as a Java web application (.war) in a servlet container such as Tomcat. EDG-AF does not require any special configuration of the EDG server.
EDG-AF apps manipulate the EDG server programmatically via the latter’s public APIs. These are enabled by default, but the means of accessing them differs depending on the authentication system. See the EDG developer documentation documentation and the EDG client documentation for information on programmatic access to the EDG APIs.
2. EDG-AF Apps
An EDG-AF
app is a web application that answers HTTP requests on certain paths. Only one path is required of all applications:
GET /configuration
which returns a JSON object describing the features an EDG-AF
app supports (e.g., importers, jobs). See the EDG-AF API reference for the expected shape of this object.
Depending on the configuration, additional paths may be requested. For example, if GET /configuration
returns an importer configuration with "id": "example"
, then:
GET /importer/example
should serve an HTML page with form inputs for the importer.
3. The EDG App Framework
EDG-AF apps are installed into an EDG Ecosystem by:
Requesting
/configuration
to find out the features anEDG-AF
app supportsGenerating an EDG project (.zip file) that connects to the
EDG-AF
app from EDGUploading the EDG project to EDG
The EDG project generated during the installation process makes use of integration points provided by the EDG core product for the EDG-AF
app.
For example, when an EDG-AF
app includes an importer the installation process will generate RDF that defines an ImportPlugin
as well as an SWP page for the importer.
The SWP page will contain an embedded <iframe>
that connects to the EDG-AF
web application.