Fortgeschrittene Konzepte verteilter Datenbanken - Programming Database Web Applications
- Prof. Alfons Kemper, Ph.D.
- Varun Pandey, M.Tech.
- Alexander van Renen, M.Sc. (Hons)
- Christian Winter, M.Sc.
- Master's Data Engineering and Analytics
- Master's Mathematics in Data Science
- Elite Master’s Program in Software Engineering (M.Sc.)
- Module Number: IN2140
- Credits: 4
Date of First Meeting
The course will be offered completely online this semester on Zoom. Please register on TUM Online as the links for the Zoom meeting will be sent to registered participants via e-mail. You may still de-register yourself from the course until 15th November.
- Date - 3rd November, 2020
- Time - 10:00 A.M.
- Room - Zoom Meeting
Date of Second Meeting
- Date - 10th November, 2020
- Time - 10:15 A.M.
- Room - Zoom Meeting
- Kickoff Meeting Slides: slides
Registration and De-Registration
Registrations are now open on TUM Online
- De-Register By - 23:59 P.M. 15th November, 2020
- Note - The students who fail to de-register by the aforementioned date will be issued grade 5.0 automatically.
Web applications are structured in the following way: The user interface runs within a web browser on the client’s machine and most of the business logic runs within a web service on a server. The application is divided into three layers: Client, server and database. This course teaches implementation techniques for all three layers:
- Server: Java (Struts, Spring MVC, JSF), Ruby, PHP, Python, Perl
- Database: O/R mapping, SQL, XQuery
Intended Learning Outcomes
After having successfully completed this module, the students have gained the knowledge to plan, design and implement web applications. In addition, they are able to identify valuable business models for web applications. After the course, they have gained experience with the three layers of a web applications (client, server and database). Each student has gained hand-on experience in implementing a web application in a sample project. This praxis oriented approach allows the students to get a deep insight into the technology. This way the students are able to identify and explain the same technologies in different architectures.
Finally, the students learn about user centric, iterative project management by using it in a small team. This helps the students in improving their soft skills within a team.
Explanation of the grading system
Each student is assigned to a group. Each group is self managed and develops their own web application. The overall grade is composed of four project parts and their presentation. The parts of the project are as follows:
- In the beginning of the course, the students develop their own business ideas for a web application within their assigned group. These ideas have to differ from existing concepts. This step includes an analysis of the current market situation, to allow the students to assess the practicability and the profitability of the idea.
- Once the business idea is found, the students have to plan the realization of the project and document the progress with artifacts (UML diagrams, project plan, mock-ups). The groups should focus on a user centric iterative project management.
- Based on the mock-ups, a first prototype of the web application has to be developed. To achieve this, the groups should use modern technologies to realize the three-layered architecture (client, server, database). The selected technologies and their usage should be justified.
- In this last step, the final version of the web application, including the results of the previous steps must be presented in front of an audience. A demonstration of the developed prototype is part of the presentation. The correct functionality of the developed software is a critical part of the work. Each student should be part of the presentation and be capable of answering questions about the project (the developed system, the project plan and the design documents). In addition, the project management and communication within the group is important.
- IN0001: Einführung in die Informatik 1
- IN0006: Einführung in die Softwaretechnik
- IN0008: Grundlagen: Datenbanken
- Bauer, G.: Architekturen für Web-Anwendungen: Eine Praxisbezogene Konstruktions-Systematik (ISBN: 3834805157)
- Zillgens, Ch.: Responsive Webdesign: Reaktionsfähige Websites gestalten und umsetzen (ISBN: 3446430156)
- Purewal, S.: Learning Web App Development (978-1-4493-7019-0)
- Manuale online