Information on individual educational components (ECTS-Course descriptions) per semester

  
Degree programme:Bachelor Computer Science - Software and Information Engineering
Type of degree:FH BachelorĀ“s Degree Programme
 Full-time
 Summer Semester 2024
  

Course unit titleEnterprise Applications
Course unit code024717040201
Language of instructionGerman
Type of course unit (compulsory, optional)Compulsory
Semester when the course unit is deliveredSummer Semester 2024
Teaching hours per week8
Year of study2024
Level of course unit (e.g. first, second or third cycle)First Cycle (Bachelor)
Number of ECTS credits allocated10
Name of lecturer(s)Jan AMANN
Wolfgang AUER
Gerhard GAUBE
Andreas GOTTARDI
Peter HOFFMANN
Christoph LOACKER
Peter STADELWIESER


Prerequisites and co-requisites
  • Knowledge of network protocols up to the transport layer
  • Experiences with Object-oriented programming
  • Good working knowledge in Java
  • Basic knowledge in database systems
  • Experience in the development of Web applications
  • Knowledge of XML & JSON
Course content

This course deals with the concepts and technologies of heterogeneous applications that are also distributed across company boundaries:

  • Middleware
  • Client-Server systems with alternatives
  • forms of message exchange
  • distributed object-method calls
  • directory services
  • messaging
  • Jakarta EE and related services
  • web services
  • microservices
  • Health Checks & Failover

As part of the project, students work in teams to develop a complex distributed system with diverse interfaces using a combination of the technologies they have learned.

Learning outcomes

At the end of the course the student is expected to

  • Students know the characteristics of distributed systems, different paradigms of distributed information processing, and efficient communication protocols.
  • Students have an understanding of key middleware concepts, in particular dynamic binding, distributed object orientation, distribution transparency, messaging, blocking/non-blocking procedure calls
  • Students have an overview of relevant distributed systems architectures.
  • Students have experience with distributed objects in Java as well as specific middleware such as JMS, EJB and Web Services and know the specifics of asynchronous communication technologies.
  • Students have an insight into the functionality and programming of directory services, e.g. LDAP.
  • Students are able to implement enterprise-wide applications in practice using Java, Jakarta EE, Web Services/Microservices as well as middleware for cross-language distributed systems and are able to extend the implemented back-end systems with suitable clients, e.g. Web front-ends.
  • Students have basic knowledge of scalability, reliability, fault tolerance and security in distributed systems.
Planned learning activities and teaching methods

Lecture, laboratory exercise, project in a team with requirements workshops and customer presentations, project work with technical coaching and coaching on project management; feedback on the implementations in the project.

Assessment methods and criteria

Assessment of project work developed within a team (50%), final exam (25%), exercises (25%).

For a positive grade, a minimum of 50% of the possible points must be achieved in each part of the examination.

Comment

Not applicable

Recommended or required reading

Abernethy, Randy (2019): Programmer’s guide to Apache Thrift. Shelter Island: Manning Publications.

Bueno, A. S., & Porter, J. (2020). Quarkus Cookbook. O‘Reilly Media.

Coulouris, George F. u.a. (2012): Distributed systems: concepts and design. 5th ed. Boston: Addison-Wesley.

Goncalves, Antonio (2013): Beginning Java EE 7.

Goncalves, Antonio (2020): Practising Quarkus.

Goncalves, Antonio (2020): Understanding Quarkus.

Horstmann, Cay S.; Cornell, Gary (2013): Core Java. Ninth edition. Upper Saddle River, NJ: Prentice Hall.

Ihns, Oliver u.a. (2011): EJB 3.1 professionell Grundlagen- und Expertenwissen zu Enterprise JavaBeans 3.1 – inkl. JPA 2.0. Heidelberg: dpunkt-Verl.

Kalin, Martin (2013): Java Web services: up and running.

Marcus Schießer; Martin Schmollinger (2014): Workshop Java EE 7: Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile. 2. Aufl. Dpunkt.verlag GmbH.

Röpstorff, Sven.; Wiechmann, Robert. (2012): Scrum in der Praxis: Erfahrungen, Problemfelder und Erfolgsfaktoren. Heidelberg, Neckar: dpunkt.

Rubinger, Andrew Lee.; Monson-Haefel, Richard.; Burke, Bill. (2010): Enterprise JavaBeans 3.1. Beijing; Farnham; Sebastopol, CA: O’Reilly.

Sriganesh, Rima Patel; Brose, Gerald; Silverman, Micah (2006): Mastering enterprise JavaBeans 3.0. Indianapolis, Ind.: Wiley Pub.

Tanenbaum, Andrew S.; Stehen, Maarten van. (2008): Verteilte Systeme: Prinzipien und Paradigmen. München [u.a.]: Pearson Studium.

Van Steen, Maarten; Andrew S. Tanenbaum (2023): Distributed Systems, 4th ed. (https://www.distributed-systems.net/)

Wirdemann, Ralf. (2011): Scrum mit User Stories. München: Hanser, Carl.

Zörner, Stefan. (2013): LDAP für Java-Entwickler: Einstieg und Integration. [s.l.]: entwickler press.

Mode of delivery (face-to-face, distance learning)

Attendance is compulsory for kick-off meeting, coaching appointments, seminar exercise appointments, final project presentation, repetition of final project presentation if necessary, written exam.

Summer Semester 2024go Top