Rygen Technologies is a premier supply chain technology provider, that enables any company to quickly, easily, and efficiently execute and manage freight, connect with partners, and unlock data insights for their supply chain. With emphasis on advanced technology and exceptional customer service, Rygen is fueling the creation of smarter, data-driven solutions that deliver real value and solve real business problems.
One of the most fundamental ways enterprises interact is by exchanging documents. From classic paper documents like packing slips, invoices, and bills of lading to modern digital formats like EDI and JSON, document exchange is at the heart of how businesses share information and coordinate operations efficiently.
Integration platforms, like the one we’ve developed at Rygen, are designed to enable this exchange and coordination. Too often, though, the concept of the document is lost within the technical details of an integration system. That’s a missed opportunity because documents are the backbone of enterprise integration. There is even a well-established pattern to support this: the Document Message Pattern.
Adopting a document-centric approach comes with big advantages. First and foremost, it’s familiar to business users. A document is something they inherently understand and can easily grasp no matter what format it is in. On the technical side, representing messages as documents opens up enormous flexibility. For instance, documents can be represented as JSON, the de facto data format of the web. This makes them easy to view, search, share, and store. And because documents are naturally versionable, tracking changes becomes intuitive (we’ll dig into this shortly).
At its core, X1’s document-centric approach is about empowering users by making integrations simpler, faster, and more transparent. This is why, when building X1, we embraced a document-centric philosophy from day one. Every message X1 processes, no matter the original format, is converted into a document (or documents). X1 takes this pattern seriously, adopting it across the entire stack: from APIs to domain models to the database itself.
What’s Your Type
Just like in the world of paper documents, document messages all have a type. In X1, we take a user-forward approach and allow users to define the types of documents the system can process. This lets users define document characteristics like schemas, examples, and custom tags for correlating documents based on unique properties.
Allowing users to define document types is a key factor in many features of X1. For instance, X1 and many platforms like it allow users to build pipelines of components that process messages, which we call flows. Document types allow users to refine what types of messages a component can work with, enabling them to build flows more easily with better control at design time. This approach not only streamlines the design process but also gives users precise control over how documents are processed, improving both efficiency and flexibility.
Finding Needles in a Haystack
By combining custom document types with powerful search capabilities, X1 empowers users to locate specific information in seconds. With these custom document types in place, users gain powerful tools for finding the exact information they need, quickly and intuitively. By taking a document-centric approach, every message is immutably persisted and can then be used for all types of value-added activities. My favorite of these is simple: search. Throughout my career, I’ve often needed to find a specific message exchanged between organizations—a surprisingly difficult task in many integration platforms.
In X1, our users have complete control over the types of documents the system processes, as described above. Users can then query these types to search for specific documents, using whatever parameters they need. Need to find an invoice that was processed sometime last month with a specific reference number? No problem! Need to find all orders sent to a particular customer this week based on their account number? Easy! These simple cases have been innumerable and always beneficial to our users.
Audit My Documents Please
One of the natural advantages of documents is versioning. In X1, we don’t just process documents; we persist them at every stage of their journey. This creates a Document Lineage, a complete record of every transformation a document undergoes in the system. With lineage tracking, you can see all previous versions of a document, as well as the changes made along the way.
It’s important to note that X1 doesn’t modify documents. Documents in X1 are immutable, just like their paper counterparts. Instead of changing a document, X1 creates a new version at every stage, linking it to its ancestor through the document’s lineage. This approach has proven invaluable for auditing, troubleshooting, and ensuring data integrity.
As an example, a customer recently had an issue where carriers were being dispatched an hour too late. The customer’s internal system was integrated with the API (Application Programming Interface) of a 3PL (Third-Party Logistics provider) who put the blame back on our customer. Using X1, our customer easily located the exact documents sent to the 3PL’s API, traced them through their lineage, and confirmed the issue wasn’t on their end. They then downloaded the documents and their lineage from X1 and shared them with the 3PL, who realized that the issue was, in fact, caused by them!
Going Deeper with Documents
Being document-centric has proven itself to be incredibly valuable to X1. As an example, let’s take the venerable EDI, a long-standing mainstay of electronic communication between logistics companies. EDI literally stands for Electronic Data Interchange, but the data contained within an EDI message represents a business document, like an invoice or an order.
So, naturally in X1 we applied the document approach to the problem of processing EDI and developed a canonical representation of it as a document. Not only did this enable us to benefit from the things listed above, but it also opened up a deeper model for processing EDI, enabling us to provide our users with richer features for mapping and validation, which would not have been possible had we not been so document-centric. Converting EDI messages into documents lets users map fields and validate data more intuitively, reducing development time and complexity.
We have recently begun leveraging our document-centric approach in exciting new ways with our AI assistant, Exey. AI loves documents, and our approach is a perfect fit for machine learning and large language models. For instance, we have fine tuned Exey on documents to automatically generate schemas, data mappings, and transformation scripts, providing our users with significant increases in speed and usability. We look forward to sharing more about this and other ways we are using documents with AI in the months ahead, and I know there will be many opportunities that will reveal themselves to us in this area in the years to come.
Simple is Elegant
Having worked on X1 from the start, I’ve seen firsthand the power of this simple yet elegant pattern. Treating every message as a document opens up a world of possibilities. It makes integrations more intuitive for users, enables seamless versioning and traceability, and aligns with the best practices of enterprise integration design.
When a concept is both simple and effective, we call it elegant. That’s what a document-centric approach is. Building on a pattern with deep roots in integration best practices, X1 delivers a platform that is collaborative, automated, and built for modern enterprises. After all, that’s what integrations are all about.