The secrets to successful integration
The secrets to successful integration
CASENINE SPOTLIGHT SERIES
In conversation with: Theodoor van Donge, Lead Software Engineer at CaseNine
Why is it that one integration is a success, while another integration project causes unnecessary headaches? There are a few secrets that contribute to a successful integration project. Theodoor van Donge, Lead Software Engineer at CaseNine, puts them in a row and shares interesting tools that come in handy.
What steps are important for successful integration?
"For any integration, it is important to take a hard look at the users. Provide a clear answer to the question of what functionality is needed. Involve a Software Architect early in the process so that you already benefit from this expertise immediately. Together you draw up a detailed mapping. You go over important issues, such as what the landscape looks like, but also how the applications communicate with each other."
Are there other elements that contribute to successful integration?
"It pays to assume a modular approach so that you retain the ability to decouple the individual components at a later stage. That decoupling is important and sometimes underplayed in practice. The reason is simple: software is tenable. In practice, we often see a technical lifespan of 5 to 10 years. There may come a time when you would like to decouple, such as when switching to a competitor. With a modular approach, you retain that flexibility. An Event-Driven architecture can help with this."
"Make sure you have a good schedule and clear overview of priorities. By doing so, you prevent departments from having to wait for each other, for example, before a test phase can begin. You then incur unnecessary costs."
How do you increase the chances of a successful live-go?
"Thorough testing of the technology is an important basis for success. In the testing phase, you can use a simulator to test the links. A simulator is the logical choice. An obvious explanation, of course, is that you don't simply link the test environment to production. A simulator also ensures that there is less dependency. You can then still test, for example, even if the other component is not yet ready."
What useful tools does the toolbox consist of that come in handy during integrations?
"At CaseNine, we use a variety of tooling. MuleSoft (www.mulesoft.com) provides reusable APIs and integrations, which come in handy during development. MuleSoft Anypoint Platform is MuleSoft's integration platform for SOA, SaaS and APIs. For testing and debugging -integrations, RequestBin (www.requestbin.com) is a good choice. You can use RequestBin to set up an endpoint and then receive and inspect HTTP requests from various sources. In doing so, you can easily see things like header and payload."
What tools can be used to test APIs?
"For efficient API testing, SoapUI (www.soapui.org) comes in handy. For building and using APIs, we at CaseNine also work with Postman (www.postman.com). Letter carrier is an API platform that also allows developers to collaborate during the development of an API. It includes an API Repository, which allows you to give different teams access to the code. Letter carrier also provides a set of tools that you can use, among other things, when developing, testing and documenting APIs."
Are there other tools that are useful in practice?
"For monitoring and keeping visibility into Elasticsearch data, you can use Kibana (https://www.elastic.co/kibana/). When it comes to documentation of the project, in practice you can use a variety of tooling. It also depends on the client's situation. For example, we use Confluence (https://www.atlassian.com/software/confluence), but also Microsoft Office solutions, such as Excel and SharePoint. A wiki platform also lends itself well to setting up proper documentation. With documentation, it's not so much about the tooling used, but more about giving the right attention and putting 'effort' into setting up good documentation."
How do you recognize good integration?
"Every integration is of course unique and has its own characteristics. Still, you can recognize a solid integration by a few recurring pillars. First, the mapping is in order and there is up-to-date documentation of the integration. Among other things, documentation helps with management and ensures that other project members - possibly at a later time - can efficiently make changes to the project. In addition, documentation also helps with testing. With a good integration, security is also in order: messages are sent securely and the chance of a "man in the middle" attack is limited. Of course, logins are used. Monitoring security and performance in general is also important: this means that with a good integration, monitoring is always in order. This allows you to intervene quickly at times when necessary and make proactive adjustments. This approach is also important for traceability."
TIP: The importance of good documentation
Always provide good documentation. This will include how the integration was built and how it works.
Are there other points that make good integration stand out?
"It is also important that you use a future-proof integration architecture. By doing so, you get the most out of your investment and ensure that you are flexible for any future changes. Finally, using a modern message format also helps ensure that you maximize the speed at which you achieve integration."
Want to know more about the possibilities of a solid integration program? Contact us directly for an interview of download the Sales Deck. The Sales Deck concisely presents the benefits of key topics, such as Shared DevOps and CPQ. Use this deck if you want to learn more about the topic or start the conversation with others within your organization.
Receive notification when a new blog arrives
We would love to keep you updated on the latest news.