The Most Important Elements of Enterprise Integration

DZone 's Guide to

The Most Important Elements of Enterprise Integration

The top four: 1) data accessibility; 2) API integration; 3) focus on simplicity; and, 4) a secure, stable, reliable integration platform.

· Integration Zone ·
Free Resource

We interviewed 20 business executives from 16 different companies to understand what they felt were the most important components of enterprise integration.

Here’s who we talked to:

Adam Fingerman, Chief Experience Officer, ArcTouch | Jon Gelsey, CEO, Auth0 | Nishant Patel, CTO, and Matthew Baier, COO, Built.io | Tyson Whitten, API Management Product Marketing, CA Technology | Andrew Warfield, CTO and Co-Founder, Coho Data | Mike Han, V.P. Operations, Liferay |Uri Sarid, CTO, Conor Curlett, Principal Architect, MuleSoft |Gabe Stanek, Director of Field Engineering, Neo Technology | Florent Solt, CTO, Netvibes | Zeev Avidan, V.P. Product Management, OpenLegacy | Sean Bowen, CEO, Push Technology | Jon Bock, Vice President Products, Snowflake Computing |Asanka Abeysinghe, V.P. Solutions Architecture, WSO2 | James Jinnette, Director of Information Technology, unidentified CRO | Suchit Bachalli, President, Unilog |Phil Manfredi, Aaron Sandeen and Kiran Chinnagangannagari, Co-Founders, Zuggand |

While there was no agreement with regards to the most important elements of enterprise integration; however, four themes emerge from the executives with whom we spoke: 

  • Data accessibility
  • API management
  • The need to focus on simplicity
  • A secure, stable and reliable integration platform

Here are their specific comments:

  1. Architecture and integration. We need to break projects into small chunks and then complete the projects chunk-by-chunk. Document and implement standards internally. Get buy-in at the initial stage of the integration project. Build an integration platform. Be specific and precise - do not generalize. Provide integration capabilities. Have a central group managing the process. Provide templates and samples. Have a proper onboarding program, especially for new business units. When choosing an integration platform, extensibility is key. We see customized platforms that must support extensibility by adding extensions like ODE. Quality of services like security, scalability and reliability are critical to the ultimate success of the project.
  2. Ensure customers are happy with the quality of the data provided. It comes down to customer service, you must have sound communications with the customer. The ultimate goal is to reduce the price and time of bringing a product, service or app to market.
  3. It depends on what the client is looking for. You could be building a big architecture with everything the client needs but it may take three to five years to build. It takes time to integrate different frameworks and architectures. You also need a short-term solution in the meantime - a completely different solution to integrate or a shortcut. Focus on simple solutions or a part of the architecture. Provide specific solutions to specific problems.
  4. API management. All data sets are exposed as an API to do integrations and to meld other data within the organization. APIs provide the ability to access external data sources and integrate with data sources within the organization.
  5. Businesses must realize that people are using these systems and they must work together. A lot of people look at enterprise integration as an IT problem but it’s not, it’s a business problem. Mobile is a new trend. Integration is not new. You have to actively unlearn what you know about enterprise integration to integrate in the cloud. Enterprise integration is now  a week-long/month-long proposition versus year-long process. What used to take nine months now takes four to six weeks. Apps have moved into the cloud. All apps have APIs. The availability of APIs is skyrocketing. Companies are investing in the cloud versus hardware and systems. We run DevOps for customers but not ourselves. Young companies can jump into integration faster. They’re more used to quick cloud deployment. New companies don’t have pre existing systems to set up and integrate into the cloud. Three years ago it was all about mobile apps. Now it’s all about connecting APIs.
  6. Mobile or otherwise, there is great data but locked in the organization. We need to unlock the data to be mobile friendly, low bandwidth, available offline, easily accessible. IBM has mobile first and Oracle has the mobile cloud. Middleware connectivity is the glue connects with the backend.
  7. Make it as simple as possible for one resource to talk to another.
  8. How to bring data together - data hygiene is a necessity. Different components of applications need data in different forms. You need to format and provide the data per the requirements of the user. Some applications need to see data quickly, others need the data to be in a perfect format in order to analyze it. Know what’s needed and in what form it’s needed.
  9. Seeing more data - web, mobile, customer experience, internet of things. APIs are driving alignment across the enterprise to improve mobile development, user experience, handling more data, and security.
  10. Single-sign-on given the way machines are talking to each other. Today there are a lot of web services across the enterprise. We want to connect and enable departments to talk (e.g. HR is using SAP, R&D and ticketing). We accomplish this with HTTP and APIs.
  11. Converge traditional enterprise data with large data stacks.
  12. Point-to-point is the easiest but it’s also the most brittle. The interface gets changed without telling the other party(ies). This ease lulls people into thinking it’s the right solution. In an SOA world, define the right granular interface with agreed upon protocol that’s well documented. Developers and managers need to keep this in mind so the solution they create can evolve in three years. How are you going to add to the platform? How does it scale? Put in place a messaging system to ensure systems talk to each other.
  13. Challenges:
    1. Urgency for mobile apps creates a problem with backend enterprise integration - five APIs result in five Rest calls.
    2. Security holes due to Rest - how to get data out to mobile app securely.
    3. Backend becoming unwieldy due to connecting hundreds or thousands of mobile apps.
    4. How do you make all this cost effective and reliable? Create a reactive data layer that allows people to bridge the gap between the frontend and backend. Build to work over the internet - a flexible, living, breathing data layer. Decouple business logic from APIs. Create one SDK with a load of APIs. By creating a data structure up front you can get everyone up to speed more quickly by decoupling everything.
  14. B2B ERP systems have a lot of critical processes - pricing, inventory, transactions (purchase orders, sales orders, transfers, adjustments). It’s a nightmare to think of moving away from an ERP or think about making it available on the web. It used to be that the inventory product master from the ERP would be replicated on the web. Now that e-commerce is connected, we let ERP be the master of the process but not product content, customer experience, etc. The web store front-end has the bells and whistles, the backend delivers price and availability.
  15. Make things work to drive the business purpose. Enable more ad hoc API integrations for greater connectivity. Be sustainable, maintainable and easily changed. Be able to expand, handle mergers or acquisitions, address competitive pressures, be omnichannel, mobile-friendly, et.al.
  16. Use the right data sources from a single data repository. Bits are important. You need to put the right data in the right data sources and harmonize the data across sources.

Do you agree that these are the key elements to enterprise integration or do you think there are others that should be considered?

api, architecture, enterprise integration, simplicity

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}