Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Modernizing Oracle Tuxedo Applications with Python

You're reading from   Modernizing Oracle Tuxedo Applications with Python A practical guide to using Oracle Tuxedo in the 21st century

Arrow left icon
Product type Paperback
Published in Mar 2021
Publisher Packt
ISBN-13 9781801070584
Length 202 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Author (1):
Arrow left icon
Aivars Kalvans Aivars Kalvans
Author Profile Icon Aivars Kalvans
Aivars Kalvans
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Section 1: The Basics
2. Chapter 1: Introduction and Installing Tuxedo FREE CHAPTER 3. Chapter 2: Building Your First Tuxedo Application 4. Chapter 3: Tuxedo in Detail 5. Chapter 4: Understanding Typed Buffers 6. Section 2: The Good Bits
7. Chapter 5: Developing Servers and Clients 8. Chapter 6: Administering the Application Using MIBs 9. Chapter 7: Distributed Transactions 10. Chapter 8: Using Tuxedo Message Queue 11. Chapter 9: Working with Oracle Database 12. Section 3: Integrations
13. Chapter 10: Accessing the Tuxedo Application 14. Chapter 11: Consuming External Services in Tuxedo 15. Chapter 12: Modernizing the Tuxedo Applications 16. Assessments 17. Other Books You May Enjoy

Developing a bi-directional gateway

NATS sends a bunch of bytes around, but Tuxedo requests and responses carry around more information. For both systems to communicate seamlessly, we have to advance NATS messages:

  • Requests in Tuxedo have flags such as TPTRAN and TPNOREPLY that indicate that the service call is a part of a global transaction and that no response is expected from the service. NATS does not support transactions, so we do not need the TPTRAN flag, but TPNOREPLY is useful.
  • Tuxedo supports multiple typed buffers. We could find a way to encode CARRAY, STRING, and FML32 messages but for simplicity, we will support only FML32 messages that are sent as Python dictionaries.
  • Responses in Tuxedo have the rval, rcode, and data fields, and we will need them all in our gateway.

To include all extra information in NATS messages, we will use JSON data converted to bytes. The service request will have the following format:

{"flags":"TPNOREPLY...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime