Integration - what technology when?
Integration is a key element of many of the projects that our customers choose to build on the WEM platform. With our recent releases, we have enhanced the options you have to integrate your applications with your WEM projects, even further. WEM offers a huge variety of integration options, all available in every project and most easily setup, even by the most novice user. This blog highlights some of the integration standards available in WEM and when and where you should use them. For details on the how of using these technologies I invite you to read the blogs on that specific technology or attend our integration training listed on our training schedule under my.wem.io.
SOAP “Simple Object Access Protocol” is a highly standardized and self-documenting messaging framework, where everything you can do is strictly defined in a WSDL “Web Service Description/Definition Language” document. SOAP is a very rigid integration standard, which makes it especially easy to use for novice or non-technical users, because both systems integrating with each other have a pre-defined way of communicating. When using SOAP, the data exchanged is always in the XML format, but you’ll never know, as WEM does all the translation from and to XML into the familiar WEM datamodels. WEM can both, expose from (let others integrate with your WEM Project) and consume (integrate with other systems) SOAP web services with a minimum of technical skills. Integration between WEM Projects is possible and even fairly easy, using the SOAP standard. You use this option when integrating projects where you don’t want to expose all data to the other projects.
The OData standard is in many ways the most flexible and easiest integration option for WEM, you can expose all your data from your WEM project and have any other application supporting the OData standard interact with that data, where reading, updating and writing are all possible. WEM can also consume OData exposed services. These capabilities are offered as a standard feature on many (if not all) applications from Microsoft, SalesForce.com, Oracle and many others. To use the OData integration option you don’t need much technical knowledge, but there are limitation around security and data integrity that you should consider. One of the many interesting uses of the Odata standard is integrating your WEM project with Microsoft O365, CRM system or other administrative application.
HTTP “Hypertext Transfer Protocol” is what most people call a website, plain and simple it’s the world wide web browser version. Using WEM you can easily just execute a call to any website and retrieve the information that would normally be shown on the screen of your web browser and process that information in your WEM project. While this is not the nicest way of integrating, especially from a technical perspective, sometimes applications offer a nice human readable web interface but no fancy API, or maybe the API comes at an additional cost. The raw HTTPS (please, use the secure version with the “S” at the end!) is your solution of last resort when integration with an application or website that doesn’t offer an integration API in SOAP, REST or OData formats.
Using WEM you can import and export a host of different file formats. Some of these, like PDF, are mostly read-only, others like pictures can be edited by using some of the more advanced Widget features WEM offers and yet others are fully machine readable. WEM supports many different formats, from CSV to XLS and DOCX and PDF. The format you use is mostly dictated by the data you want to import or export and the available formats in the applications you want to integrate with. Sending an invoice to a customer? Show the invoice in the body of the email as HTML and attach a copy in PDF. Want to do statistical analyses and your statistics application doesn’t support OData (unlikely), use CSV. Want to import a large list from your previous administration built in Excel, use XLSX or CSV. The file integration is most often used when batch processing with human intervention is required, this is not a commonly used integration for application to application interaction.