I’m a long-time member of Adobe’s organization supporting and promoting its enterprise solutions (the recent eight years predominantly focusing on our Experience Cloud offerings). I’ve worked as a solutions consultant and I know how demanding our customers can be. None of our out-of-the-box solutions deliver all the functionality each and every one of our customers is requesting. It is an obvious observation, for sure, as we all know within enterprise software, integration efforts are by default required to make our solutions work with systems the customer already has in place (CRM, ERP, etc.).
Due to the cloud-based nature of most (if not all) of our solutions, small additional requirements to add some extra functionality are not really trivial either. Although we develop software with API-first in mind these days, additional functionality might require some modifications to the core product. This is less in the control of the customer, due to the SaaS offering, and more in control of Adobe itself and as a result subject to the typical flow of submitting feature requests, discussing importance in advisory boards, etc.
With the introduction of the Adobe Experience Platform and its underlying API-first thinking, Adobe has come up with its own serverless offering, based on Apache OpenWhisk. Adobe I/O Runtime, as it is named, is part of Adobe I/O. I/O consists of a number of services to support developers, with everything from documentation to tools, in order to quickly deploy custom functionality. It’s currently still in beta, but will be generally available to our customers from this summer.
Speaking for my peers in the field, Patrick Burggraaf and Marc Meewis, we have used Adobe I/O Runtime a lot over the last year. More often than not, we’ve used it to convince our customers that those rough edges — small pieces of functionality our solutions are missing — can be very easily solved with the functionality in Adobe I/O Runtime. With the additional benefit of Runtime being part of Adobe Experience Platform, and as such close to our solutions in terms of network latency.
Let me give you three examples:
- Implement QR-codes in Adobe Campaign Standard
Out of the box, Adobe Campaign Standard lacks a QR-code component, often required in a confirmation transactional message. To solve this, deploy a Runtime function that implements the generation of the QR-code and call it using dynamic parameter from within an image inserted in your email template. It’s as simple as shown in the Adobe Campaign Image Source URL dialog above.
- Sync new contacts in CRM and Adobe Campaign Standard
So you get a new contact in your CRM, and your CRM automatically issues a CRM Id for this. But you also need that contact in Adobe Campaign Standard. Develop an Adobe I/O Runtime function for creating a contact in your CRM, a Runtime function for creating a profile in Adobe Campaign Standard, and combine them in a sequence, ensuring the output (including the CRM Id) of the CRM contact creation can be used as input for the Adobe Campaign Standard profile creation. So, you sync the two as you create them.
- Integrate Adobe Experience Manager Forms with Adobe Campaign Standard
Adobe Experience Manager Forms does not provide out of the box landing pages or other forms you can use with Adobe Campaign Standard. But once you have defined your Adobe Campaign Standard profile API's as Adobe I/O Runtime functions, and have exposed these functions through a Swagger representation, AEM Forms can easily use that Swagger representation to generate a forms data model which you then can use to design your form. All bindings are taken care of automatically for pre-fill and/or submission purposes. Magic!
The last example is exactly what we will explore in more detail in my upcoming tech lab at Adobe Summit EMEA, titled LAB6 — Seamlessly integrate Forms with Adobe Campaign Standard Using Adobe I/O.
Check out the full schedule for more information, and join us in London in May!
I hope I’ve made clear just how much we, in the field, love Adobe I/O Runtime. We now have our own serverless platform that allows us to convince our customers that the additional functionality they require from Adobe solutions is easier to meet than in the past. And we, consultants and solution engineers, can use that platform to polish our solutions and really let them shine in front of our customers!