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.
In the practical part of this seminar, small groups of students will work on improving developer productivity in the context of enterprise applications. As an example, students might develop Eclipse plugins for a database query designer tool that provides instant feedback about the data that is queried and resulting runtimes of queries.