Thursday, August 11, 2011

Why we keep (re)inventing a good architecture design


Thanks to the proliferation of ideas and open source tools, good integration architecture is actually a very easy thing to achieve but has been so entangled in how organizations work and how ideas are shared that it ends up becoming a fairly messy exercise. If you are still unsure, try asking two architects to agree on the details of a solution.


This article will attempt to highlight some key points in an architecture that is supposedly common across all enterprises integrations. I believe an architect’s opinions heavily influence which architecture components he/she chooses and the below are based on mine.

Bus.
This can be considered the backbone of the enterprise. Without a good distributed communication mechanism, most projects will end up investing a significant amount of time (and money) discovering how distributed components interact remotely (or locally). The difficult thing however is to select and agree on a bus.

ESBs.
A good open source ESB should do the trick but this doesn’t preclude using a proprietary one as long as the fundamental loose coupling principles are followed (but please don’t add a “wrapper on top of an existing “wrapper” to make it look loosely coupled when in fact, the underlying API or technology is not mature enough to guarantee a stable interface.


Security
I will try to avoid details at this point because this might trigger a war with the security experts. Here are my basic expectations from security:
-          How are identity and authorization service providers configured and used?
-          Who has access to the deployments and passwords? Where are these defined?
-          Can I secure the entire communication, the entire message or just one fragment of the message?

      Container (lifecycle management)

     (coming soon)


     The opinions and statements in this communication are my own and do not necessarily reflect the opinions or policies of CA.