Enterprise applications are about storing, displaying, manipulating, and analyzing large amounts of often complex data and the support and automation of business processes with that data. By that definition, data is the central aspect of enterprise software that drives the execution of business processes.
In this seminar, we describe characteristics of enterprise applications. In addition, we discuss typical enterprise business processes and elaborate on the requirements of information systems, which support these workflows. We introduce the concept of in-memory computing, which requires a programming model different from traditional disk-based database management systems. It requires a rethinking of how a system architecture needs to be designed and how functionality has to be distributed among the different layers. We furthermore focus on, how enterprise applications are developed and discuss improvements to this programming model.