Every system is responsible for publishing its own events.  I hold that as a core requirement of participating in an Enterprise Application Integration Infrastructure (EAI-I).  What does that mean:

The system, as part of it’s ownership, it’s code, it’s configuration, is responsible for describing how it meets corporate canonical event requirements.  That belongs with the system, not with the EAI side. 

EAI is responsible for routing, translation, orchestration, logging, management, etc.  It should behave correctly regardless of how data is collected from the source system. 

Problem is that there are serious advantages to having a central infrastructure to manage these connections.  I spend a lot of my time looking at ‘spaghetti’ diagrams and one thing that is absolutely clear to me is that I spend way too much time collecting data individually on these integration points.  That reduces my ability to actually manage any of these connections.  As we move more to SOA, we will need this even more. 

What I’d like to see is a standard mechanism that meets the following needs.  If anyone can help me to understand a known standard or existing RFC that addresses these points, I’d appreciate it.

  1. A system publishes and makes available the list of integration points that it has with other systems.
  2. The EAI system queries these published points to drive it’s configuration and expectations.
  3. Publishing of these expectations should be both dynamic (as a message) and static (as something that can be queried)
  4. The description of an integration pathway or channel must be standardized, so that different EAI infrastructures can use them, and so that different reporting and management systems can leverage them, without adapters.
  5. A system can version the connection points with a release in a way that is not too difficult for developers to understand and work with.

Note that UDDI presents PROVIDERS for integration.  I need CONSUMERS and COLLABORATORS to cooperate as well, in a way that is completely under the control of the system that consumes, collaborates, or provides the integrations. 

 

By Nick Malik

Former CIO and present Strategic Architect, Nick Malik is a Seattle based business and technology advisor with over 30 years of professional experience in management, systems, and technology. He is the co-author of the influential paper "Perspectives on Enterprise Architecture" with Dr. Brian Cameron that effectively defined modern Enterprise Architecture practices, and he is frequent speaker at public gatherings on Enterprise Architecture and related topics. He coauthored a book on Visual Storytelling with Martin Sykes and Mark West titled "Stories That Move Mountains".

Leave a Reply

Your email address will not be published. Required fields are marked *

seven + twelve =

This site uses Akismet to reduce spam. Learn how your comment data is processed.