How to setup a standalone PrintEngine

To take off the load of PDF generation from our A12 dataservices backends we are planning to deploy the PrintEngine as its own service and then just call it from our backends.

From the official documentation I am not completly sure if our plan is viable and what we would need to think and take care of. Maybe somebody has done it before and could give us some hints for our current questions:

  1. Can the PrintEngine run as a standalone application? If not, what would the minimum viable setup look like (e.g. what A12 dependencies are necessary)?
  2. Has somebody done this before and could give us some tips?
  3. Is there some recommended way of how to exchange attachments/documents & the generated PDFs? I’d imagine that putting everything into a single synchronous request and waiting for the generation to be done could overwelm the service quite fast. Sharing data via the filesystem and let the generation be done asynchronously may be more memory efficient.

Any tips regarding this topic are appreciated!

Thank you for asking! Here come the answers from a Print Engine dev team perspective:

  1. The Print Engine is a library. You can integrate it in any JAVA application, for example a Spring (Boot) app. The only A12 dependency that Print Engine would introduce is the one to A12 Kernel.
  2. No sorry, we are not aware of any other project that has done it this way.
  3. Usually, http or a queue implementation is sufficient. For most projects, a database as exchange point should provide good enough latency. However, you should always consider why not using A12 Data Services.