Business software is delivered in the form of applications that require development and deployment. Just like any other manufacturing domain, application development can benefit from automation and is subject to the learning curve effect. Software producers are therefore always on the lookout for tools and platforms that can accelerate the development process, increase the quality of the finished product, and reduce maintenance cost.
To make matters more complicated, the proliferation of today’s computing environments (hardware, operating systems) and architectures (desktop, client-server, web, mobile) require specialized development and deployment implementations. In addition application platforms are evolving to create abstraction layers which let you separate the application logic from the delivery platform.
The emergence of the next generation of service oriented applications will add distributed computing features and new protocols, and other foundations of Web applications. These business applications employ service-oriented architectures, sophisticated user experiences, BPM and business rules, IP application protocols, metadata management, event management, and other advanced features.