Distribution of the ESA stack across service consumers and service providers has had a significant impact on the role and structure of development tools. In the mainframe and client/server eras, each developer had a top-to-bottom slice of the application stack to work with, from UI to persistence. A single developer or team would craft the UI and create the process logic and the persistence to support it.
In ESA, this situation has changed dramatically. The idea of one developer creating an application no longer applies in a world of service providers and service consumers. Developers create components and building blocks or use those created by others, or both.
In addition, the developer population has changed. In ESA, the people doing development and modification are no longer just highly skilled engineers. Business analysts and others with more understanding of requirements but less technical skill have been added to the mix.
Accordingly, the development tools used in ESA to create composite applications and the supporting building blocks have changed. This section looks at the new development tools and how they interact with each other.
The goal of composite application development in ESA is to allow the developer to ignore implementation complexities and instead focus on using the simplified abstractions created by modeling environments to specify an application's behavior. When this ...