Getting software applications inside and outside the enterprise to integrate with each other and transfer data properly has been through many phases. Starting with manual data exchange (i.e. re-typing), and then moving to flat files, and then FTP (File Transfer Protocol), it has been fraught with danger along the way. Problems with errors, data integrity and security have always been major issues.
SOA
A new approach was heralded in the early 2000s with the introduction of SOA (Service Oriented Architecture). This was seen a major breakthrough in the way systems could be architected so that integration was independent of product, technology or vendor. SOA introduced the concept of a service – an self-contained unit of work that has well-defined, understood capabilities. Services should be ‘loosely coupled’, meaning that they had little or no information about the definitions of other separate components. SOA had benefits, it made developers:
- stop thinking of individual systems as silos of information,
- consider how to improve information flow within and between applications,
- examine how to reuse and standardize functions that are used across systems.
While SOA was big step in addressing integration challenges, it created other problems. Its value was in making people think about application architecture, and in using its methodology, but it didn’t address a number of key issues, including:
- Services data – how data extracted from one service should be interpreted when being input to another service.
- Loose coupling complexity – with increasing number of services, the interactions between services becomes more complex.
- Operational and change management – the challenges of changing business operations, organizational structures, and culture to support SOA presented many roadblocks to its implementation.
Other technology challenges emerged later when organizations that had used SOA to implement an enterprise service bus (ESB) discovered that changes and upgrades presented major headaches. As applications have proliferated, especially in the cloud, old-style integration technologies have struggled to cope.
APIs
In recent years there has been a new movement, lead by major cloud vendors like Google and PayPal, to advance the use of APIs – rules and routines for building software applications by defining their operations, inputs, outputs, and structures. Apart from just allowing the sharing of data, an API can make it easier when adding new features in an existing application.
The advantages of APIs have even be covered by the Harvard Business Review, noting how they allow much greater scalability when it comes to information sharing, as well as enabling competitive advantage.
Enterprise APIs not only make transferring data easier and more seamless, they are also an efficient way to control access. Enterprise APIs can be used to create different levels of data access, for example:
-
- Level 1: free and open access to least-valuable data
- Level 2: limited data access requiring registration
- Level 3: Custom integration and access to high-value content requiring agreements such as licensing and revenue-sharing
The flexibility of APIs has been shown in the growth of cloud services which has propelled the use of more ‘lightweight’ communications between applications – the move from standards like SOAP and XML, to REST and JSON.
iPaaS
In the same way that vendors promoted ESBs in the SOA era, new (or the same) vendors now push ‘API management’ as a business need. The problem is that API management focuses on publishing and managing APIs, not connecting applications. What businesses need is to be able to build composite services out of their existing internal systems, and to do it without coding. The solution that can enable integration projects involving any combination of cloud and on-premise applications is iPaaS (integration platform as a service). iPaaS is an emerging technology that gives enterprises of all sizes the capability to build, execute and manage integrations between different data sources, applications, APIs, and cloud services.
For a business wanting to integrate its ERP system with other business applications, whether in the cloud or on-premise, a quicker and more cost-effective solution is to look at an integration platform like Flowgear which has the API management capabilities included, and is in the cloud, so you don’t have to install anything. Flowgear’s connectors allow you to plug into a wealth of different applications and start integrating them quickly.