A simple HTTP servlet which takes a Cinnamon OSD as input and emits the parsed XML representation from Tika. The first implementation should just use a synchronous process, later ones may use asynchronous processing, so content upload is faster from the user's perspective.
Reasoning:
in Cinnamon 3, Tika and Cinnamon server are one big fat jar, and all Tika parsing happens in the main server, with no chance of offloading the processing.
Tika parses a lot of file formats using many different libraries, some of which may have security issues. The ideal configuration would use a container for the Cinnamon Tika service which can be spun up for just one document. This would help limit a system compromise to the Tika container (unless the hypervisor is also hacked...).
A simple HTTP servlet which takes a Cinnamon OSD as input and emits the parsed XML representation from Tika. The first implementation should just use a synchronous process, later ones may use asynchronous processing, so content upload is faster from the user's perspective.
Reasoning: