Consuming services
On the surface, consuming services using Python is easy. There are plenty of libraries available for all protocols and data formats. Consuming external services or interacting with internal microservices is just a part of everyday work these days. As you try to do the same in Tuxedo, you might feel tempted to call one or more REST or SOAP services directly from your application code. The service will work just fine, but you will lose features that make Tuxedo applications great.
The best way to consume external services is by creating proxy services for them in Tuxedo and hiding the external call behind a familiar Tuxedo service call. It makes application maintenance easier. As you know from Chapter 7, Distributed Transactions, most services are subject to two timeouts – the blocking timeout and the transaction timeout. Proxy services should not participate in the transaction and the transaction timeout will not apply. However, the blocking timeout can...