Team LiB
Previous Section Next Section

Chapter 1: Introduction to Enterprise Application Design

Overview

Applications and data in various forms are important to all companies nowadays. Obviously this has been true for a long time, but with the globalization of enterprises of today it has become even more important. Information has been a key part of society ever since humans started living in communities. Early on it was vital to keep track of the seasons so people could anticipate when best to hunt, sow seed, and so on. As human society has grown more and more complex, so has our need for information.

In this chapter, we are going to spend some time discussing how enterprises have ended up with their information spread over so many places that it is often hard to retrieve. We are also going to have a look at something called enterprise application integration (EAI), a concept developed to bring order to chaos.

Even though integration may involve some techniques and tools unnecessary in an ordinary multitier application, the basic design does not change much. So developers can still use the knowledge they have.

One thing we would like to point out is that designing for scalability is as important to integration projects as it is to all other projects. You will always have to consider this in enterprise applications. Unnecessary delays and bad performance cost time and money, and if you do not plan solutions to this during design, your application will most certainly be considered a failure after it has been deployed. In this book, our goal is to show you some tips and tricks to build more successful solutions that scale well.

Note 

One thing we have learned over the years is to always design an application so that it is possible to scale it. Even though a particular application may not be intended for use by more than a handful of people from the start, many such applications have a tendency to grow, and suddenly hundreds of users want it. If you have designed for scalability from the beginning, you really will not have a problem when this happens. You can simply separate the different layers from each other and place them on different computers or clusters. With minimal effort, you suddenly have an application that can serve many users without a complete rewrite.


Team LiB
Previous Section Next Section