I tried the alternatives and they were fundamentally unworkable. The cost here wasn't that great, mostly it was a matter of figuring out the least bad solution to the problem. Compared to the issues I ran into with java-based integrations, this really was of negligible cost.