Over time, technology has evolved and new tools have emerged and helped to change some areas. Seeing the potential of these technologies, organizations increasingly began to use and invest in these tools to automate their processes and optimize their costs. These tools then began to be referred to as enterprise software.
Enterprise software is a type of software widely used in organizations, companies, or governments that provide a service to make their processes better and optimize the cost and efficiency. Over time, the complexity of this software increased as they began to provide a lot of services. As different services demanded more communication, scalability became increasingly important. With this, some problems surfaced.
Enterprise patterns is a set of solutions for common problems that appear in enterprise software as a result of the complexity of enterprise environments. Many enterprise patterns are based on GoF patterns and differ only in the way in which we implement them. On Java EE, enterprise patterns are divided into three groups: presentation patterns, business patterns, and integration patterns. These patterns act on the presentation tier, business tier, and integration patterns, and we'll cover their details in Chapter 2, Presentation Patterns, which covers presentation patterns, Chapter 3, Business Patterns, which covers business patterns, and Chapter 4, Integration Patterns, which covers integration patterns.
Enterprise patterns are very important for professionals who create software, because bad practices in the creation of software could inflate the cost and risks involved in the projects. Because of the complexity of the enterprise software, an error could propagate along the time and environment, making the enterprise environment unsustainable.