EDI to API – The evolution of systems integration, Part 2

  • Written By WHISHWORKS
  • 23/08/2020

In last weeks’ blog I looked at the milestones in systems integration from EDI in the 1970s to the distributed computing architectures of the late 1990s, now we’ll move onto the New Millennium and the following:

Common agreement on Web service standards

Developments in the New Millennium were boosted by Extensible Markup Language (XML) and Simple Object Access Protocol (SOAP). XML with schema definitions was a set of guidelines providing data formats in simple text. This made the creation and exchange of custom data structures possible. SOAP, based on XML, was transport protocol neutral, and language independent, and so opened the door for enterprise service integration using Web services:

  • WSDL (Web Service Description Language) an XML-based service description language – used to define message structures, service operations, and communication protocol – emerged as replacement to the CORBA (Common Object Request Broker Architecture) IDL (Interface Definition Language).
  • SOAP, an XML-based communication protocol and a better alternative to the GIOP (General Inter-ORB Protocol) used by CORBA.
  • UDDI (Universal Description, Discovery and Integration), repository service definitions used to dynamically discover and invoke Web services. Again this was XML-based, enabling CORBA interface and implementation registries.
  • (BPEL) Business Process Execution Language, an XML-based language which orchestrates multiple Web services for business integration.

Both Web services and BPEL were widely adopted by the IT and business community, and replaced the 90’s EAI (Enterprise Application Integration) stack.

Over a period of time it became apparent that BPEL was an overhead in application integration. And systems integration architectures in the early 2000s were still subject to vendor lock-in and not always enabled by web services.

Interested in MuleSoft? Get in touch

The recent past – ESB and API based integration

The Java Business Integration (JBI) specification is a common standard for Java-based applications, and is used to address the BPEL overhead. JBI defined an architectural pattern called Enterprise Service Bus (ESB), an application abstraction layer used to mediate between the integration components, via WSDL (Web Services Description Language) to describe the functionality offered by a Web service, and Message Oriented Middleware (MOM) like JMS (Java Message Service) or WMQ (WebSphere MQ).

Two major companies, IBM and BEA (WebLogic) were not part of the JBI specification and have followed other integration paths for Java applications.

Most of the key players in systems integration – TIBCO, BEA, Oracle and IBM – follow a composite application model called Service Component Architecture (SCA). SCA is not an alternative to ESB, rather it is a way of combining different kinds of implementations, either involving mediation through ESB or a simple BPEL orchestration of abstract WSDL interfaces.

  • IBM WebSphere Process Server uses connector interfaces as abstract contracts with BPEL to wire the process flow. As does Oracle, with JCAPS (Java Composite Application Platform Suite), a standards-based Enterprise Service Bus.
  • Oracle Service Bus uses XML modelling under Spring, an application framework and version control container for Java as a component wiring tool.

Similar to EAI, the way of running services through WSDL and the various ways of composite application development combined, is called Service Oriented Architecture (SOA). SOA is widely adopted for both inter and intra systems integration, but the industry began to encounter issues with XML and SOAP that impacted application performance.

ServiceMix and Mule are two notable ESB implementations that delivered critical areas of improvement. The benefits:

  • Application integration is an event driven flow rather than central hub of orchestrated operations.
  • Direct mapping of data fields should be possible between the same data type objects. Marshalling and un-marshalling with an intermediary XML format is not always necessary.
  • SOAP/WSDL based services can be replaced with the lighter weight REST/RAML (REpresentational State Transfer/RESTful API Modelling Language) approach to communications that uses less bandwidth
  • Java Script Object Notation (JSON) is a light weight and UI friendly data format with no overhead like the marshalling or un-marshalling of XML.
  • REpresentation State Transfer (REST) API mean communication and service operations are based on proven HTTP protocol, supporting both JSON and XML.
  • RESTful API Modeling Language (RAML) – A YAML-based (human-readable data serialization language) implementation used to describe the RESTful API implementation. It’s like WSDL to a Web service that enables the service provider to build application interfaces in a standard way.
  • MuleSoft is known for its strengths in API design and integration.

If you would like to find out more about how Systems Integration could help you make the most out of your current infrastructure while enabling you to open your digital horizons, then give us a call or email us at marketing@whishworks.com.

Other useful links:

EDI to API – The evolution of systems integration, Part 1

WHISHWORKS Systems Integration

API Recipes with MuleSoft Anypoint Platform

Latest Insights

WHISHWORKS-MuleSoft Advantages of API-led connectivity

5 customer advantages of API-led connectivity

In this blog post, we highlight five distinctive examples of how API-led connectivity can result in innovation and competitive advantage.

SFDC customer topic listener

Set up Salesforce PushTopics for real-time updates with Mule 4

Learn how a customer-related event from Salesforce CRM, is captured, processed, and synchronised with other business systems using Mule 4.

Salesforce CDC - MuleSoft integration

Salesforce CDC (Change Data Capture) integration using MuleSoft

This article discusses Salesforce CDC (Change Data Capture) integration with applications, databases or other SaaS platforms, using MuleSoft.