Back to top

SEBA Master - Web Application Engineering

Last modified Dec 4

News

  • Plan for Sommersemester 2018 will appear soon.

Organization of the exercise

The lecture's exercise is a project where students develop a web application applying the concepts presented in the lecture.

The project will be done in teams, that consist of exactly four students. In general, the registered students are randomly assigned to the teams. However, students can also form a team by writing an email containing the names and matriculation numbers of all team members to Martin Kleehaus until 27. April (Subject: “SEBA Master – team proposal”). Only one email per team is required.

Please make sure that each of the team members is registered for the lecture in TUMonline.

Content

The master course Web Application Engineering provides the necessary theoretical foundations to design and develop state-of-the art web applications. Next to the technical aspects to develop applications for the web, business aspects are covered with the most common business models and explained with real-world examples.

The students learn how to design web sites from the scratch including patterns for recurring problems. Technical aspects for the development of web applications are presented along with generic platforms and architectures. Students participating in the exercise apply this knowledge in individual projects that cover all aspects from the lecture with the design and development of a web application.  

  1. Web Site Genres
    • Business Models in the Web
    • Web 2.0 and Social Software
    • Anything as a Service (XaaS)
  2. Web Site Design
    • Key Issues of Customer-Centered Web Design
    • An Overview of Web Design Patterns
    • Knowing Your Customers
    • Involving Customers with Iterative Design
    • Processes for Developing Customer-Centered Sites
    • Additional Viewpoints and Aspects
  3. Patterns for Web Site Design
    • Explaining your Value Proposition
    • Creating a Navigation Framework
    • Basic E-Commerce
    • Advanced E-Commerce
    • Helping Customers Complete Tasks
    • Designing Effective Page Layouts
    • Making Site Search Fast and Effective
    • Making Navigation Easy
    • Speeding Up Web Sites
    • Supporting a Wide Range of Devices (Responsive design)
    • Integrating Multiple Touchpoints (Mobile apps, progressive web apps, and hybrid apps)
    • Integrating Independently Developed Web Services, Content, and Processes
  4. Developing serverless Single-Page Webapplications
    • HTML Concepts and Evolution
    • CSS Concepts and their Link to HTML
    • JavaScript Basics
    • SVG and Canvas
    • Web Components
    • Single-Page Applications
    • Component-based Frameworks
  5. Developing Single-Page Webapplications with AngularJS 1.5+
    • Introduction to AngularJS
    • Angular Directives & Components
    • Navigation & Routing
    • Client-Server Communication
    • Consuming RESTful Service
  6. Building REST-enabled back-end service
    • Target architecture and development environment
    • Event-driven architecture and asynchronous I/O operations with node.js
    • Creating REST interfaces using express.js
    • Using document oriented database storage: mongoDB example
    • Enabling user authentication on the web service using JSON web token (JWT)
  7. Advanced Topics in Web Application Engineering
    • Real-time web applications
    • Virtual DOM
    • Hybrid web applications
    • Other web frameworks
    • Traditional web stacks, server side rendering 
  8. High Performance Web Applications
    • Database options for web applications
      • NoSQL databases
      • Multi-model and polyglot persistency
    • Scaling web applications
      • Bottlenecks
      • Scalability patterns
      • Scaling with MongoDB

At the end of the lecture participants will have a solid understanding to contribute to scientific and development projects in this area:

  • Participants know successful patterns of customer-centric web sites, and they are able to explain their business and social impacts.
  • They understand the technological challenges that arise in the implementation of industrial strength web applications.
  • They are able to address purposeful these technological challenges using commercial and open source systems and technologies and proven technical architectures.

Lecture and exercise dates

Number  Date Time Room Topic / Content
L01 24.04.2017

14:15 -

15:45

MI HS 1

0 Introduction

1 Web Site Genres

L02 08.05.2017

14:15 -

15:45

MI HS 1

1 Web Site Genres

2 Web Site Design

L03 15.05.2017

14:15 -

15:45

MI HS 1

2 Web Site Design

E01

16.05.2017

08:00 -

18:00

MI 01.12.035

Exercise 1: Business Idea and Use-case

17.05.2017

18.05.2017

L04

Part 1

22.05.2017

14:15 -

15:45

MI HS 1

4 Developing serverless Single-Page Webapplications

L04

Part 2

22.05.2017

18:15 -

19:45

Interimshörsaal 1

4 Developing serverless Single-Page Webapplications

L05

Part 1

29.05.2017

14:15 -

15:45

MI HS 1

5 Developing Single-Page Webapplications with AngularJS 1.5

L05

Part 2

29.05.2017

18:15 -

19:45

Interimshörsaal 1

5 Developing Single-Page Webapplications with AngularJS 1.5

E02 29.05.2017

-

-

Exercise 2: Business Model and Mock-ups

L06

Part 1

12.06.2017

14:15 -

15:45

MI HS 1

6 Building REST-enabled back-end service

L06

Part 2

12.06.2017

18:15 -

19:45

Interimshörsaal 1

6 Building REST-enabled back-end service

L07 19.06.2017

14:15 -

15:45

MI HS 1

7 Advanced Topics in Web Application Engineering

E03

20.06.2017

08:00 -

18:00

MI 01.12.035

Presentation 3: First iteration of the implementation

21.06.2017

22.06.2017

L08 26.06.2017

14:15 -

15:45

MI HS 1 8 High performance web applications
  03.07.2017

14:15 -

15:45

MI HS 1

Palantir

  • Speaker: Harish Subbanarasimhia
  • Topic: tbd
E04

18.07.2017

08:00 -

18:00

MI 01.10.011

Presentation 4: Final presentation

19.07.2017

20.07.2017

L09 24.07.2017

14:15 -

15:45

MI HS 1

9 Presentation of Top-Teams

Legend:
Lecture Afternoon Slot Exercise Lecture Evening Slot Special Guest

 Assessment Method / Exam

There will be neither a written nor a oral exam at the end of the semester.

The student's performance is primarily assessed on the basis of presentations and deliverables in the context of a project work assignment consisting of four milestones.

Furthermore, prior to every presentation, each student has to answer one "exam-like" question. The questions will cover the content from the finished lectures (range: beginning of the lecture until the current date).

The individual milestones are defined as follows:

  1. Business Idea and Use-cases (22%)
    Contents of the assessment:
    • Identifying, explaining and developing business models in the web
    • Plan the project, assign tasks to team members and justify planning decisions
    • Presentation of your specific business model
  2. Business Model and Mockups (12%)
    Contents of the assessment:
    • Selecting and applying patterns for web application design
    • Explaining a user-centered, iterative development process and applying it in a team
  3. First Prototype (21%)
    Contents of the assessment:
    • Explaining and selecting state-of-the-art technologies for the implementation of web applications
      (This encompasses both client- and server-side aspects)
    • Presentation of a first prototype of your web application
  4. Final Presentation (45%)
    Contents of the assessment (in addition to 3):
    • Explaining web based integration techniques
    • Presenting scientific topics to an audience.
    • Presentation of the final prototype of your web application

Additional skills: Presentation, rhetoric, team communication, project work

Each team writes a report on project activities and results prior to each presentation. The report has to clearly document individual contributions and accomplishments of each team member. Subsequent to each presentation, there is a short question and answer sessions for the examiners.

Prerequisites

Knowledge and skills at the bachelors level (Informatics/Business Informatics) in software engineering, programming and databases.

Intended Learning Outcomes

At the end of the module students understand successful patterns of customer-centric web sites, and they are able to explain their business and social impacts. They understand the technological challenges that arise in the implementation of industrial strength web applications. They are able to address purposefully these technological challenges using commercial and open source systems and technologies as well as proven technical architectures. At the end of the lecture they have sufficient knowledge to contribute to scientific and development projects in this area.

References

[Rau15]

A. Rauschmayer: Exploring ES6, http://exploringjs.com/es6

[Rau16]

A. Rauschmayer: Setting Up ES6, https://leanpub.com/setting-up-es6

[Os10]

A. Osterwalder, Y. Pigneur: Busines Model Generation: A Handbook for Visionaries, Game Changes, and Challenges, John Wiley & Sons, 2010

[Ro09]

D. Roam: The Back of the Napkin: Solving Problems and Selling Ideas with Pictures, Portfolio Hardcover, 2009

[Duy07]          

D. K. Van Duyne, J. A. Landay, J. I. Hong: The design of sites, Prentice Hall Professional, 2007            

[Kru05]

S. Krug: Don't make me think! Web Usability: Das intuitive Web, New Riders Press, 2005 

[Hoe06]

R. Hoekman: Designing the Obvious. A Commonsense Approach to Web Application Design, New Riders Press, 2006

[Ba03] 

P. Baldi, P. Frasconi, P. Smyth: Modeling the Internet and the Web, Wiley, 2003
[Me06] 

E. Mendes, N. Mosley: Web Engineering, Springer, 2006

[Ja04] 

S. Jablonski, I. Petrov, C. Meiler, U. Mayer: Guide to Web Application and Platform Architectures, Springer, 2004