My employer is considering a global model of an « enterprise architecture » consisting of layers building from legacy applications (at bottom of the model) upper to channel management (portals on top of other layers) with an enterprise-wide « business services integration layer » in the midlle (meaning some kind of E.A.I. solution or Enterprise Service Bus as the current buzzword says). This is a model typically invented by object-oriented architects. The kind of J2EE guys you know. It is said to be an « industry best practice » (ranting : which means we paid a consulting firm a lot of money and you can not criticize it since its credibility is proportional to the price we paid our consultants). What to think of such a model ?
I feel like such a model is nice but rather useless. What does it mean for the enteprise ? It may mean that you wish portals to be the unique location of user interfaces which I don’t think is necessary a good idea. And it certainly means that you want to build an enterprise-wide layer of business services which looks as a not-bad idea. Well, this model is certainly a nice pseudo-justification for financing an E.A.I. project involving the consultancy we hired for drawing this « best practice model ».
But my main point is that this model does not address the real issues of enterprise technical architecture. I think that these issues reside more in both information architecture (agreeing on common vocabularies, taxonomies, ontologies, …) and the technical design of web services (REST vs. RPC) and other issues raised by the W3C Technical Architecture Group. I think that addressing these issues is something that provides a lot more sustainability to the information system than wanting to considering the whole information system as a big object model.
This model tries to group set of IT software components according to their role : presentation, composition, aggregation, integration, etc. And it says that each role should not be tightly coupled with others (which is right). But this model is also not practical : the legacy information system is so far from this model and our organization is so much decentralized than this global model that I feel like mapping reality to this ideal model is impossible. It would cost so much (both in investment and in recurring costs) that I don’t see the relevancy of such a model. It seems to me that the enteprise architects should rather work on interoperability between IT components with general design rules focusing on sustainability rather than trying to plan and build a cathedral on top of a bazaar.
I really feel like object-oriented architects typically live in cathedrals. Object-oriented designers rather live inside chapels which fit better in a bazaar context. The problem is that today, most corporations believe that « enterprise architects » means « cathedral-oriented designers ». Do you know any Fortune corp. that asks technical architects to address the sustainability of their internal bazaar ? Do you know any CIO who publicly admits that his job is to manage a bazaar and asks architects to help him in his job without pretending changing it into a cathedral planning job ?