At adesso, we are often faced with the task of combining many different systems into a comprehensive structure for our customers. Just like people, systems need to ‘talk’ to each other to ensure a smooth exchange of information. And, ideally, no communication problems should arise in the process. If a common ‘language’ is used here, there is usually nothing to worry about, because – apart from slightly differing dialects – communication is ultimately based on the same foundation. However, when several components with different languages and diverging technical needs are brought together, things will often get chaotic and difficult.

This is where ‘integration’ enters the stage, a term that is not only used in technical contexts. The integration of databases, frontend and backend components and/or systems is perhaps the best-known example of a technical application of integration. When looking for a way to integrate components in a simpler, more standardised and faster way in future, we discovered MuleSoft and just love the solution. I would like to share some of this love with you in this blog post.

So what is MuleSoft?

MuleSoft is an integration solution from Salesforce that allows users to create REST APIs quickly and efficiently. MuleSoft plays to its strengths when it comes to integrating a wide range of platforms.

This means that predefined connectors can be used for all databases, protocols, office solutions or queues without having to put a lot of effort into implementing them yourself. For instance, experienced users from the medical field can use the HL7 connector that even allows them to implement the somewhat complicated messaging system. For many others, the integration of Salesforce and SAP will make their lives noticeably easier. Moreover, all this can be combined as needed and, with the help of its own Dataweave script language, the data sets can be transformed back and forth at will. In principle, this works very much like a live interpreter. Interpreters translate what is said on the spot, conveying the spoken message in another language. This means that the listeners can readily understand what is being said without having to speak the language themselves.

In a nutshell: MuleSoft ensures smooth communication among systems that would otherwise have to overcome great obstacles before they could ‘talk’ to each other.

And why does adesso use MuleSoft?

We often encounter solutions where clients rely on point-to-point integrations and implement separate backend service connections for each client (mobile/web etc.). In the best case, microservices that are connected to the respective components are used here. But even this has limits.

These services are usually on time, don’t strain the budget and are generally sufficient for a single client. Nevertheless, there are tight limits as to how these solutions can be reused, they are closely linked to their components and are difficult to adapt to changes.

To be able to do this better, we follow the APILed approach proposed by MuleSoft. Here, the services are divided into a three-tier system comprising the Experience, Process and System layer.

Das Drei-Schichten-System, Quelle: MuleSoft

The APIs in the Experience layer are accessed by the clients. Each client can claim its own Experience API. These provide the desired functionalities and access the APIs in the Process layer. The business functionalities are implemented in the Process layer. Since business logics usually require data from external systems, these access the System layer APIs. Only the API layer is directly connected to the actual systems and communicates with them (for example, databases, other SOAP/REST services, Salesforce and SAP). Each service is specialised in a single system and only takes care of handling this connection. The APIs can be protected in all layers with a client ID/secret definition or by depositing an SSH key.

Another key reason why we use MuleSoft is that the entire microcosm is based on Java. Every Java developer will immediately notice that the development environment is a further development of Eclipse. At first glance, the project structure with sources and resources folders looks like a normal Java application. By embedding Maven, we gain access to a large repository ecosystem. Of course, MuleSoft also provides several standard repositories.

Through common/system properties and Spring enterprise beans, the API can be made fit for any environment. The integration of the Java Keystore/TrustStore procedure also makes the complicated principle of ‘encryption/decryption’ familiar and easier to handle. The profound JAVA expertise we already have made the changeover particularly easy.

Support is provided by a platform that offers numerous functions such as the Flow Designer, Runtime Manager, Developer as well as tools for testing and operation.

At the beginning, a REST specification based on RAML or OPENApi is implemented in the MuleSoft Design Centre. In the next step, this is released and can then be accessed in the Exchange. The Exchange also contains the numerous connectors mentioned before. A repository is shown that can also be connected via Maven Repo.

The API is then implemented in Anypoint Studio and the flows are created. These can be tested with the help of MUnit.

Finally, the Runtime Manager is used to provide the API for each previously defined stage and to manage it at runtime.

Das Anypoint Management Center, Quelle: MuleSoft

Das Anypoint Management Center, Quelle: MuleSoft

It is essential for many of our customers that they can run the MuleSoft Runtime in different environments. Thus, any cloud solution is supported (for example, AWS), the entire on-premises system will run on their own servers or MuleSoft’s own cloud solution can be used.

Conclusion

MuleSoft has become an integral part of our tech stack, and we have forged a trusting partnership with the manufacturer. This allows us to focus on essential tasks and drive them forward – such as the design of the overall architecture or the implementation of data transformations. In future, we aim to further expand our MuleSoft competence and establish a Centre for Enablement, in other words, a team of experts that supports customers and internal teams in their work with MuleSoft.

There are still many exciting things to discover and we are motivated to take MuleSoft into diverse projects and customer contexts.

Using MuleSoft, we have, for example, helped a large textile retailer integrate a customer loyalty platform and raised their warehouse logistics management to a new level.

A client from the energy sector benefitted from our support in the advancement of their digital sales area. In another project, the business processes of a large German certification service provider were significantly simplified owing to our MuleSoft consulting and implementation.

If you would like to know more – be it specific details of the MuleSoft solution or further application examples – please feel free to contact me.

You will find more exciting topics from the adesso world in our latest blog posts.

Picture Tony Horst

Author Tony Horst

Tony Horst is an enthusiastic Senior Software Engineer at adesso who focuses on developing and customising software systems with MuleSoft and Java. He only really got to know and love MuleSoft last year. Tony has already been on the road in numerous industries and has helped develop and supervise numerous projects as a developer and Scrum Master since 2011.

Save this page. Remove this page.