Friday, September 19, 2014

Systems Integration, today

The publication of the seminal book about application integration,  Enterprise Integration Patterns (by Hohpe and Woolf) dates back to 2014, exactly a decade ago.  That book (commonly called the "EIP book") systematically laid out and categorized a sizable body of knowledge that Enterprise Application Integration practitioners had accrued and applied informally over several years, mainly using Message Oriented Middleware (MOM) tools.  It has also influenced the design of recent commercial ESB products.

Even though in the early 2000's, businesses have been communicating for 20 years already using EDI,  the Systems Integration space looked vastly simpler back then.   The categorization most commonly applied in the field was:
  • A2A (Application to Application) a.k.a. EAI
  • B2B (Business to Business)
  • B2C (Business to Consumer)
First of all there were no Cloud based applications: each corporate network was an "island" (containing many application systems) that communicated with other "corporate islands" via EDI or B2B exchanges, and with consumers via good old Web 1.0 websites.    EAI occurred within each corporate island (although across multiple geographical sites).

Secondly, since the capabilities of Web 1.0 sites were so limited from the SI point of view (page scripts mainly doing basic data validation and "cosmetic stuff", with no capability to make server calls), the B2C domain was in effect separate from the other two and mainly the concern of a different type of professional, the portal or website designer.

Integration today

Fast forward ten years: we have had the evolution of Web Service standards (WS-*) together with the wide acceptance of the SOA paradigm, then the emergence of the REST paradigm (contextually with the explosion of integrated mobile applications), the rise of Clouds and SaaS,  of Public APIs, and finally the wonderful (or scary, depending of your viewpoint) new world of the Internet of Things (IoT) and Machine to Machine (M2M) interaction.   In each area, many new patterns have been proposed and documented, building on preexisting knowledge and experience.  On top of this, the world of Business Process Management (BPM) has come out of its old silos represented by old-style workflow management systems, and has claimed its "orchestrating" role in the space of systems integration.
Today's reality is that organizations need more and more IT entities to inter-operate across different protocols, technology stacks, and trust domains in order to support innovative processes. 

The complexity and heterogeneity of the landscape that confronts a System Integrator today and the explosion of the number of integration endpoints is unprecedented, while the more traditional challenges related to bridging data syntactical and semantic differences have by no means gone away.

This calls for structured approaches and governance to underlie any SI initiative,  bringing together the multiple inter-related facets of integration, but necessarily in an agile and pragmatic way.

Design patterns remain the basic tools through which architects and designers document and share their ideas, but it is crucial to understand which of the many patterns to apply when, in which combination, and at which level, given the requirements of the process we need to enable through IT. 

Without structure and governance, the big promise of new technologies could result into a much bigger chaos than the one represented by the "spaghetti" integration architecture that EAI was born to address.



No comments :

Post a Comment