Integrating Relatude with other systems

A large percentage of web projects today include integrations with other systems. Relatude is ideally suited for such integrations. Let's look at where you can start.

More than just a regular CMS

Integrating Relatude with other systems is much easier than with most other content management and e-commerce solutions. The core reason for that is Relatude can be seen as a CMS framework, rather than an off-the-shelf product. This means that Relatude was designed from the scratch to do more than publish articles.

Apart from shipping and payment integrations in the e-commerce product which work 100% out of the box, in most situations Relatude provides a toolbox that you can utilize to build your own integrations tailored to your customers needs.

A common question we get is if Relatude can be integrated with system XXX. In our experience, Relatude is NEVER the limiting factor in an integration. It is always the other system that is limited in some way. This is often a result of many systems you want to integrate with are older systems.

In our experience, the hard parts in writing an integration with Relatude is to work around technical limitations in the system you're integrating with, and figuring out the business rules and processes that are relevant for the data that is being integrated, to understand how it should be integrated. The technical side of the integration is rarely the hard part.

Since it's hard to give exact advice that applies to all integrations, we'll only highlight some of the features in Relatude that can help you develop flexible and robust integrations with other systems. If you need more in-depth support for you particular use-case. contact us.

 

Workflow engine

A lot of integrations have imports and exports that can take long time to run. This can be to update data to or from another system. Often the systems you want to integrate with are not designed to respond to lots of requests far with response times well below one second. In order to preserve a good user experience, some of the integrated data needs to be cached/synchronized in Relatude. For such situations, the workflow engine in Relatude is ideally suited.

Scheduled tasks
Usually, you want to run the long running import/export tasks at regular intervals. Relatude also has a scheduled task feature that works with the workflow engine to run the workflows at the scheduled times. The scheduled tasks defined in a Relatude installation can be seen in the System module:

scheduled_tasks_system

Each task can be configured to run as you need:

scheduled_task_options 

The interval options availble:
scheduled_task_intervals

Data model

We've seen how the workflow system can help you with long-running processes in integration scenarios. But one thing is being able to import/fetch information to Relatude. Another is to store it. Rather than storing the imported data in a custom table or something similar, in the majority of cases we recommend to store the data from other systems directly in Relatude as nodes. This allows a much tighter integrations with the rest of the content in Relatude.

One thing is that you can store it, another is how you are able to store it. The flexible data model in Relatude allows you to maintain any structure you have on the data in the other system. You don't have to simplify the content for a page-based tree structure. By preserving the structure of the integrated content, you also retain all of the uses of the original data. So often part of the job in an integration is to make sure the Relatude data model can accurately model/store the data coming from the integrated system.

Leverage .Net

Relatude is a product built on top of .Net. It also means that in Webodes integration projects, you can leverage the power of .Net itself, and all relevant libraries and code written for it. Being the dominant platform in most business segments, you'll find .Net libraries to talk to nearly all software systems in existence.

Powerful query engine

Relatude is capable of maintaining the structure of complex content, that you get from other systems. But another big part of the power of Relatude is what you can do with that data once it's stored in Relatude. Relatude query engine is very powerful, and supports things like aggregations and joins.

The powerful data model in conjunction with the powerful query engine means that you can basically build any type of system in Relatude. We've had people build webmail applications, tv-screen managers, CRM systems and many other  directly inside Relatude.