Other places of interest:
- Installation Guide
- Configuration Guide
- Download Area
- Web Applications specification
- Servlex Project on GitHub
Servlex is a container for EXPath Web Applications (or webapps for short). It enables you to install and run such webapps, written in XML technologies (using XQuery, XSLT and/or XProc components). Servlex handles all the networking, and connects the components to the HTTP layer.
Day-to-day, the way you will interact most with Servlex is via the Webapp Manager and/or the REST API.
The purpose of the Webapp Manager is to, well, let you manager webapps. The Webapp Manager is itself a webapp. It is not built-in Servlex, but uses its APIs to present the user with a web interface.
Because the Webapp Manager is itself a webapp, it needs to be installed before you can use it. If you used the Servlex Installer, bundled with Apache Tomcat, then the Webapp Manager is already pre-installed and configured in the repository created during the installation. Details are convered in the Installation Guide.
You can access the Servlex Admin Console at http://localhost:19757/manager/. The Console lets you manage the webapps in a Servlex instance, by listing them, removing them, deploying a webapp from a XAW file, or directly from CXAN.
If you are eager to test Servlex, you can deploy the sample web application
available in the installation dir, as
hello-world-n.n-n.xaw. Go to the
Console, to the "Deploy" tab, fill in the form by choosing the file and press
deploy. Check the abstract you get on the next page looks OK, keep the
default context root suggested, and press
deploy again. You can now access
the example application by visiting http://localhost:19757/hello-world/. The
sources are available in the dir
hello-world/ in the installation dir.
This sample application is just a few forms, each one-field, sending a string to either an XSLT function, an XQuery function or an XProc step, which in turn responds with a page based on this parameter.
In order to deploy a webapp, you can POST the XAW file to the endpoint
[my-app] must be replaced by the context root
under which you want the webapp to be acessible. For instance, to install a
webapp to be accessible at:
then send the XAW file as a HTTP POST request to:
In order to install a library package, do not include a context root at the end of the endpoint URL, and POST the package to:
For instance, if you want to use CURL from the command line, or the excellent HTTPie:
http://localhost:19757/servlex/~rest/deploy/my-app http POST :19757~rest my-app \ @.. to/my-app.xawcurl --request POST --data-binary @.. to/my-app.xaw \
You can set webapp config parameters by simply passing them as URL parameters.
For instance, if the webapp
my-app.xaw provides the parameter
the following command will install the webapp, and provide a value for that
parameter at the same time:
# note the endpoint, with a parameter http POST :19757/servlex/~rest/deploy/my-app?content-dir=/some/server/dir/ \ @../path/to/my-app.xaw
To install a library package, do not include a context root, and use the fix deploy endpoint:
# note the endpoint, with no context root http POST :19757/servlex/~rest/deploy @../to/lib.xar
A new REST endpoint will be added, to remove libraries and webapps once they have been installed.