Over the past several decades, we have seen an evolution in enterprise architecture. The evolution has gone from monolithic architectures (COBOL-based programs running on mainframes) to component-based architectures (Java EE and .NET applications) and headed towards Service-Oriented Architectures (transforming the enterprise into a highly interoperable and reusable collection of services which positions it to better adapt to ever-changing business needs). As the progression of an architectural approach leads to more reuse and separation of concerns, enterprise application development continues to require well-defined processes and more tiers of technology. As a result, some areas of enterprise application development increase in complexity.
I spent most of yesterday afternoon working on a paper I’m co-writing. It was one of those days when the writing came easy. I was moving from topic to topic, but then I realized that I was reaching too far backward – I was explaining things which I shouldn’t have had to explain to the audience I was trying to reach. When I first started writing, one of the pieces of advice that I heard was that you should always imagine that you are writing to a particular person. It gets your juices going – you’re automatically in an explanatory state of mind and you know what you can expect from your audience. I was doing that, but I noticed that I was drifting.