After discussing #7: Incorrect granularity of services , let's move on to #6.
In organizations data and functionality/processes are often fragmented, but are needed centrally. What are the causes of this fragmentation. Does a SOA solve this complexity automatically? Most companies start with a SOA and are confronted with this complexity during the implementation of the SOA.
First let’s take a look at the problem.
The real problem is the way the data is stored and how functionality/processes are organized. The SOA architecture style won’t change these problems automatically. In some cases a SOA can make it worse due to the complex integration.
The complexity is caused by the functionality and data fragmentation over different systems, processes and locations. In many cases the fragmentation of core data is caused by organizational growth (for instance mergers and acquisitions). In most cases these companies have a heterogeneous data environment with redundant data elements such as static customer information, common business data or common external data (for instance government, market, or statistical data). Due to the fragmented data, it is often hard to create a complete view of the core business data such as customer information. In portals however, a complete view is needed. An incomplete view can lead to an inconsistent user experience. This might introduce risks and in the long term could lead to being untrustworthy as a company. In order to create a complete view, different complex and inefficient mechanism are needed for accessing/updating the systems/databases. This can lead to inefficiency and higher cost due to the overhead in accessing/updating data in multiple databases using different mechanisms. The real problem is the way the data is stored and how functionality/processes are organized.
Some organizations introduce a SOA in order to reduce the complexity, but what they really do is introduce JBOWS (Just a bunch of web services) and don’t solve the complexity at all. The existing business processes and business functionality remain the same.
In order to reduce complexity the following things need to be organized:
Complexity is not easy to reduce. SOA can help, but won’t solve the problem automatically. The root cause of the complexity is the way data, functionality and processes are organized. Solving these problems will really reduce complexity.
Next week, Vincent Partington will continue with pitfall #5.
Filed under Architecture, SOA |
[...] by Vincent Partington in the early evening: May 26, 2008 Last week we discussed #6 - which means we’ve now passed the halfway point of SOA Pitfall countdown! Let’s quickly move on to [...]
[...] Traduction libre du billet “Top 10 SOA Pitfalls: #6 - SOA does not solve complexity automatically” publié par Rik de Groot [...]
[...] area. Quality (deprecated term: non-functional) requirements become more important because the complexity of a SOA architecture has larger impact on performance, availability, application management. There are also [...]