The cst-wps project wraps the core transformation engine of HALE 2.1 and provides its functionality through a WPS interface. However, the cst-wps wasn’t in active development for some time, so what has happened?
The cst-wps project in its first incarnation was a collaboration project using the 52°North WPS framework to expose our transformation engine as a OGC Web Processing Service. The 52°N framework handles all requests, parsed and encoded GML and generally, while the cst engine performed the schema transformation according to a previously uploaded configuration. However, due to incompatible licensing at the time (52°North has, since then, changed their licensing rules), we decided to go ahead with a different WPS framework, called PyWPS. Integration proved to be complex, and the resulting project was hard to maintain. Thus, cst-wps became unsupported.
Of course, this wasn’t to be the last word. Based on our all-new transformation engine that is now shipped with HALE 2.5.0, we have also created a new cst web service. It is not yet officially released, but we want to give you a preview of what this entirely new piece of software is capable of.
To use the new web service, you’ll first need to download and install it – normally, just a matter of unzipping the file and starting the server or service. Then, create a schema mapping project in HALE (use 2.5.0 or the the last nightly build), starting with source and target schema and potentially a data sample. After completing the normal workflow on the schema mapping, go ahead as follows:
- Go to File –> Safe Alignment Project as…
- Select “HALE Project Archive” and click “Next”
- Choose a storage location and File Name. The created HALE Project Archive contains the source and target schemas as well as the mapping and some configuration information.
- Open your browser and point it to a CST Service location (by default, http://localhost:8080)
- Go to “Manage Projects” and then pick “Upload a new project”
- Upload your newly created HALE Project Archive and give the project an identifier for later invocation.
- You are now ready for transformation!
Now, you can go back to the main page of HALE Web, go to Transformations and pick “Upload and Transform”. HALE Web requires you to provide one or multiple source files corresponding to the source schema. Furthermore, you can specify the type of result you expect to get, e.g. a gzipped GML file. “Run” the transformation and look quickly before it’s over:
After the execution is completed, you can pick up the generated files. Of course, you can also invoke this service via a web service API – at this stage, not a WPS interface, but rather a very simple one.
First, you will have noticed that HALE Web has a sleek Web UI that enables you to manage projects, but also to manage the service itself. Then, you will notice that the whole reading and writing of GML and the transformation itself is very fast (I had a hard time getting a screenshot while it was running). One of our goals now is to perform smart parallelization and distribution of processing, so that you’ll get very fast responses even for large datasets. Our underlying declarative mapping model is great for making such optimizations.
The new HALE Web Service will be released in the next month. If you want to be an early adopter, go ahead, download the nightly build, and tell us about your experiences! Please also tell us if you still need a WPS 1.0 interface.