What are the Keys to Integration, API Design, and API Management?
What are the Keys to Integration, API Design, and API Management?
Learn how an understanding of user workflows, flexibility, data, and ease/reliability are important to successful API design, management, and integration.
Join the DZone community and get the full member experience.Join For Free
Ready for feedback: How would you use Capital One’s Virtual Card Numbers API?
To gather insights on the state of integration, API design, and API management, we spoke with 19 executives who are familiar with integration and APIs and asked them, "What are the keys to successful integration?"
Here's what they told us:
- Understand user workflow – who the users are and what they’re trying to do. Integrations take different specialty things and put them together so the user can realize a higher-level workflow. We design how the integration will result in higher-level workflow. In phase I the technology is so valuable markets will tolerate its complexity. In phase II the technology becomes productized. It still stands alone in how people envision using it. In phase III the technology/product becomes part of the overall workflow. Integrations are part way into phase III. Determining how to integrate into the work product. We are trying to look at communications in the context of work.
- Now focused on a holistic look at tools to address a wide spectrum of needs and support all users in the organization. A lot more different devices with mobile and IoT. Different integration patterns. Increased number of SaaS applications. Empower business users to share data between Google Analytics and Marketo freeing up the Integration Center of Excellence to focus on more strategic issues.
- Integration has shifted from batch to streaming. Clients want data in real-time.
- Planning. All applications generate a lot of data and need to integrate. 1) Future-proofing your business. 2) Flexibility – new use cases and processes. 3) Scaling – data continues to grow exponentially. APIs need to scale. 4) When you buy an iPaaS it must meet your immediate needs and scale up to serve the full enterprise.
- Consider the future changes and other systems being integrated as changes dictate. Be flexible in how you design and the software you choose. Know that how data is being passed around can change.
- You need to meet data where it lives. It’s great when an API you want to consume is well designed and documented but what do you do when it isn’t? What do you do when there isn’t an API at all and you need to webscrape or parse CSVs? Your toolset needs to be flexible and shouldn’t be too opinionated when it comes to external data. Even within the boundaries of systems you control, you shouldn’t let your initial opinions/decisions about data back you into a corner. Favor systems that persist original data after consumption/transformation and allow playback. As we build larger and more distributed data integration platforms, metrics and alerts become more important. Make sure you think of these ahead of time, and don’t allow for too much variety in the way your systems are instrumented.
- Enhance the ability to take data from anywhere and enable business owners to get value from it.
- Data integration management in a large organization is challenging. It gets even more complex when it’s hybrid as well. The key is to plan so that you’re not a roadblock to the business. Key considerations for a successful program include: 1) Having out-of-the-box, high-performance connectivity to all the on-premise and cloud sources and targets you’ll need to integrate. 2) Compatibility across on-premise and cloud data integration capabilities including shared skills, shared code (mappings) and shared management tools. 3) Support for multiple integration patterns: batch, real-time, API integration, etc. 4) The ability to smoothly grow your data management capabilities as you need them, including data quality, data governance, master data management, metadata management, security, B2B, etc. 5) Metadata management tools that provide data lineage and business meaning and context to reduce errors, enable self-service, and speed up changes to the environment.
- Easy to use. A CI server like Jenkins. Provide an API for others to integrate with like Archer. Just be there and work. Developers don’t want to have to build an integration. Your API needs to be in the proper app store where your customer can find it (e.g., in the Jenkins app store). Be clear about the brand and that you are supporting the customer.
- The key to successful integration is to make sure the participating applications are open and ready enough for integration. This directly translates to each application having a good API design and equally good implementation, effectively addressing the following aspects. Well documented: The API listing should make very clear what is possible and how to make the best use of it. Regardless of how well they are implemented, API adoption can fail — leading to integration projects getting into trouble — if the documentation is poor. Easy to adopt: It should be implemented using popular and standard technologies, rather than proprietary mechanisms. Flexible, yet stable: Frequently changing and deprecating an API is often a recipe for failed integrations. It makes sense to be flexible in terms of having more parameters or more calls than changing an existing API at the whim of every request. Backward compatible: Calling applications could stall and become useless if an API gets removed or discontinued often. Backward compatibility is needed for a while to allow all applications to move to the recent versions. Migration: It is critical to provide procedures and tools to ease moving to later versions of the API. Secure: Often overlooked, API security is a critical aspect that could make or break API adoption. It is vital that the designers keep security as an important factor right from the initial design, yet abstract the complexity from the API consumers. This includes the choice of authentication mechanism, encryption of the communication channel, and ensuring authorization rules are applied and all input is validated on every API call.
- Abstract out complexity. Provide a seamless integration between components. Provide a tool which simplifies integration for business users. Connectivity, discovering data, mapping, creating value for the customer by offering productivity in these areas with pre-built integrations that reduce time to market.
- 1) Integrate with all other systems and applications. Some companies still use SOAP and it’s hard for them to move to REST. It’s not an easy transition. Give ample time to migrate and integrate. 2) A lot of systems don’t have good integration. We use OSLEI and CTE automated screen scraping. Primarily legacy applications or companies late to the API arena. 3) Built applications that are tightly coupled require field ids and intuition for users as a closed system.
- First, providers should have a concrete understanding of why the API should be made publically available. Our goal is to empower users to create customized work apps and integrations to enhance their productivity. For other companies, it may be just to supplement existing solutions and products with unique functionalities. The second key to success is to make it easy for developers to get started. API providers should provide resources (how-to tutorials, etc.) to help developers effectively begin the process. Additionally, provide SDKs for the most popular languages and constantly update your documentation.
What are the keys to successful integration, API design, and API management from your perspective?
Here’s who we talked to:
- Murali Palanisamy, E.V.P., Chief Product Officer, AppViewX
- Kevin Fealey, Director of Automation and Integration Services, Aspect Security
- Max Mancini, VP of Ecosystem, Atlassian
- Shawn Ryan, V.P. Product Marketing, Digital as a Service, Axway
- Parthiv Patel, Technical Marketing Manager, Built.io
- Chaitanya Gupta, CTO, Flock
- Anwesa Chatterjee, Director of Product Marketing, Informatica Cloud
- Simon Peel, CMO, Jitterbit
- Keoki Andrus, VP of Products and Steve Bunch, Product Manager APIs and Integrations, Jive
- Rajesh Ganesan, Director of Product Management, ManageEngine
- Brooks Crichlow, Vice President, Product Marketing, MongoDB
- Derek Smith, CEO, Naveego
- Guillaume Lo Re, Senior Software Engineer, Netvibes
- Vikas Anand, V.P. Product Management and Strategy – Integration, Oracle
- Keshav Vasudevan, Product Marketing Manager, SmartBear
- Kevin Bohan, Director of Product Marketing, TIBCO
- Pete Chestna, Director of Developer Engagement, Veracode
- Milt Reder, V.P. of Engineering, Yet Analytics
Opinions expressed by DZone contributors are their own.