TU Wien:Web Application Engineering & Content Management VU (Schranz)

Aus VoWi
Zur Navigation springen Zur Suche springen
Ähnlich benannte LVAs (Materialien):

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Markus Schranz
ECTS 3,0
Letzte Abhaltung 2023W
Sprache Deutsch
Mattermost web-application-engineering-content-managementRegisterMattermost-Infos
Links tiss:184209
Zuordnungen
Masterstudium Software Engineering & Internet Computing Modul Distributed Systems and Networking (Gebundenes Wahlfach)


Inhalt[Bearbeiten | Quelltext bearbeiten]

  • Web Engineering
  • Web Architekturen
  • Web Tech Stacks und Vergleiche
  • Perl/Mason2
  • CMS Systeme
  • Web Security & TLS Certification
  1. eCommerce Protocols & third-party services (payment)
  • Webservices
  • AJAX

Kritik[Bearbeiten | Quelltext bearbeiten]

Die Lehrveranstaltung wurde mit 2021/22 restrukturiert und aktualisiert und ist als TUWEL-Kurs per zoom verfolgbar. Sie führt in das Themengebiet des Web Application Engineerings ein, klassifiziert und strukturiert den untersuchten Themenbereich, bietet Definitionen, Herangehensmethoden und aktuelle Vergleiche zu Web Tech Stacks an (zB LAMP vs MEAN) und vergleicht verschiedenste Web Frameworks.

Reale Projekte des Vortragenden werden zur Motivation der Aufgabenstellungen im Themengebiet diskutiert (Nachrichtenagentur zur Demonstration von CMS-Aufgaben, großes Ticketing Service aus dem Bereich des E-Commerce für Prozessablaufe, DevOps-Aufgaben und Integration von third-party-Komponenten).

Wichtige Themen wie Web-Architekturen, Web-Security, rechtliche und kommerzielle Aspekte des Web Application Engineerings kommen nicht zu kurz und der Vortragende bringt reichlich Pitfalls, Einsichten in Projektvorgehen und Fallbeispiele aus seinem reichen Erfahrungsschatz mit.

Der Übungsteil wählt einen Web Tech Stack aus dem LAMP-Bereich aus, das Beispiel wird als proof-of-concept umgesetzt und versucht, über eine spezifische Stack-Auswahl (Linux/Nginx/Mysql/Mason2) allen TeilnehmerInnen denselben Startvorteil zu geben.


andere Meinung(2010) Der Inhalt ist größtenteils nicht zeitgemäß und teilweise extrem einseitig: Beispiele aus der Praxis sind fast nur Projekte bei denen der Vortragende verantwortlich ist/war. Vor allem sein Steckenpferd, pressetext.at/.de/ wird im Übermaß erwähnt. Ich sage ja nicht, dass es unbedingt ein schlechtes Beispiel ist, aber sicher keines um ein modernes CMS zu beschreiben bzw. gäbe es doch viele wirklich große relevante Seiten bei denen es interessant wäre einen Einblick zu bekommen. Zusätzlich werden größenteils Technologien vorgestellt die in Zukunft kaum noch Bedeutung bei neuen Projekten haben werden. Hier ist es schon ok eine alte, ehemals sehr wichtige Skriptsprache, Perl als Beispiel zu nehmen, aber dann muss man auch mit modernen Sprachen und Frameworks vergleichen wie Java, Ruby, Phyton oder von mir aus PHP (Facebook verwendet PHP das c-compiliert ist zB). Im Übrigen hat auch pressetext.com seit 2009 als Technologie JAVA EE, Java Servlet und AJAX im Einsatz. Der Gipfel des ganzen ist wohl JESSICA. JESSICA ist ein von u.A. dem Vortragenden entwickeltes Templating System (soweit ich es verstanden habe) aus dem Jahre (!) 1995. Das mag damals eine interessante Diplomarbeit gewesen sein, heute jedoch vollkommen (und damit meine ich, ich wage zu bezweifeln ob das überhaupt irgendwo noch eingesetzt wird) irrelevant. Weiters wird XP angepriesen als DAS Prozessmodell für Web Engineering, obwohl allgemein bekannt ist, dass es nicht gerade wenig Kritik daran gibt - wieder, man kann es ja erwähnen, aber dann muss man auch andere erwähnen und vergleichen (obwohl das überhaupt nicht in das Themengebiet fällt mMn). Verstört wird man dann noch mit Worten wie "HTML-Programmierung".

Im ganzen muss ich sagen ziemlich enttäuscht zu sein, ich hätte mir mehr erwartet weil mich das Themengebiet interessiert, deswegen die Ausführung hier.

Andere Meinung: Seit dem SS17 ist die Lehrveranstaltung wirklich gut und eine der interessantesten des ganzen Curriculums.

Die Übung ist zwar fordernd, lässt aber auch viel Freiraum für Kreativität. Beispielsweise kann der Stack frei gewählt werden.

Übung 1: Aufsetzen eines Tech-Stacks mit frei wählbaren Technologien und Frameworks

Übung 2: Implementierung von Business Logik

Übung 3: Frei wählbarer Schwerpunkt (Betrieb/CI/CD/Mobile App)

==> Anmerkung 1: Ich vermute mal, dass sich diese Meinung auf die gleichnamige LVA aus dem Sommersemester bezieht: TU Wien:Web Application Engineering & Content Management VU (Mairhofer, Mayerhofer)

==> Anmerkung 2: Ja, sehr wahrscheinlich sogar, die LVA ist immer noch genauso wie oben beschrieben

Ablauf[Bearbeiten | Quelltext bearbeiten]

Die Lehrveranstaltung gliedert sich in einen Vorlesungsteil und einen Übungsteil. Der Vorlesungsteil besteht aus sechs Vorlesungseinheiten, über die es am Semesterende eine Prüfung gibt. Im Rahmen des Übungsteils soll in Gruppen von 1-3 Leuten mit Hilfe des Web Application Servers Mason ein einfaches Content Management System entwickelt werden, dass dann im Rahmen eines 15-minütigen-Abgabegesprächs besprochen wird.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Keine besonderen, allerdings sind Perl-Kenntnisse bei der Übung von Vorteil.

Vortrag[Bearbeiten | Quelltext bearbeiten]

Der Vortrag erscheint wegen des starken Eigenbezugs auf die Projekte des Lehrveranstaltungsleiters (Pressetext Austria und eine Eventveranstaltungs-Lösung) zuweilen etwas abseits des Üblichen, ist aber gut verständlich und mit ausreichend netten Folien versehen. Im Vergleich zum reinen Folienkonsum ist der Mehrwert der Vorlesung nicht allzu berauschend, was aber eher für die Folien als gegen den Vortrag spricht.

WS2023: Prof. Schranz hält seine Vorlesungen wirklich mit Enthusiasmus und ist sehr bemüht. Die Anwesenheit in der Vorlesung ist jedoch nicht verpflichtend und bringt auch ehrlich gesagt auch wenig Mehrwert. Die letzten Vorlesungen waren dementsprechend auch sehr, sehr wenig besucht. Praktisch alles, was er sagt steht auch auf den Folien, die er bereits im Vorhinein auf Tuwel stellt.

Übungen[Bearbeiten | Quelltext bearbeiten]

Im Rahmen des Übungsteils ist ein einfaches Content Management System mit Hilfe des Web Application Servers Mason zu entwerfen die auf der Skriptsprache Perl aufbaut. Diese Aufgabe ist in Gruppen von bis zu fünf Personen zu erledigen. Es gibt ein "Kick-Off" Meeting nach der dritten oder vierten Vorlesungseinheit bei dem Anwesenheitspflicht besteht und bei dem Prof. Schranz die Übungsumgebung vorstellt. Am Ende des Semesters muss die Gruppe zu einem Abgabegespräch, bei dem der LVA-Leiter bis zu 25 Punkte für den Übungsteil vergibt.

Es empfiehlt sich bei der Umsetzung der Übung auch auf ein bisschen Eyecandy zu achten (z.B. schönes responsive HTML5 Template). Für gut umgesetzte Beispiele gibt Prof. Schranz auch gerne mehr als die veranschlagten 25 punkte.

Wichtig: Der Übungsteil ist Voraussetzung für den positiven Abschluss der Lehrveranstaltung.

Probleme[Bearbeiten | Quelltext bearbeiten]

  • Der MySQL Server ist öffentlich zugänglich und man sieht und alle Tabellen der anderen Gruppen und kann diese beliebig bearbeiten und löschen
  • Der Übungsserver ist eine Katastrophe: selbst 3 Wochen vor der Deadline war der Server jeden 2-3 Abend down.
  • Es wird keine Versioning angeboten: jeder arbeitet direkt auf dem Produktivserver. Man muss hier sehr aufpassen, dass man sich nicht gegenseitig Sachen überschreibt.
  • Grundsätzlich ist es mal gut eine einfaches CMS entwickelt zu haben, aber warum mit solchen veralteten Technologien? Man merkt Perl einfach an, dass es schon über 25 Jahre alt ist (damit meine ich dass sie umständlich ist). Auch hab ich jetzt nicht die vorteile von Mason gemerkt (das autohandler-Konzept führt meiner Meinung nur zu schlechter lesbaren Code)
  • Hab ich schon erwähnt, dass ich Perl scheiße find?

Situation WS15/16[Bearbeiten | Quelltext bearbeiten]

  • Im Wintersemester 20015/16 war es zwar immer noch so, dass alle LVA Teilnehmer alle Tabellen sehen konnten und diese beliebig bearbeiten und löschen konnten, allerdings hat das zu keinen Problemen geführt
  • Der Übungsserver lief stabil, war immer verfügbar, und es gab (für unsere Gruppe) nie ein Problem beim Entwickeln
  • Es gab kleine Probleme mit dem DB-Server, da dieser 1 oder 2 Mal nicht erreichbar war
  • Das Versioning ist mit git eigentlich problemlos zu lösen, trotzdem mussten lokal geänderte Files jedes Mal auf den Server kopiert werden
  • Für die Übung gab es 25 Punkte und die Klausur 100

Abgabgegespräch[Bearbeiten | Quelltext bearbeiten]

Im Zuge der Übung muss ein 20 minütiges Abgabegespräche absolviert werden. Während diesem Gesrpäch muss zuerst das entwickelte CMS hergezeigt werden. Also "wie schaut das ganze aus", "was für Seiten gibt es", "wie können die Inhalte bearbeitet werden". Danach muss, man den Code ein bisschen herzeigen und erklären.

Alles in allem ist die "Prüfungsatmosphäre" sehr entspannt und Professor Schranz sucht nicht nach kleinen Fehlern für die er Punkte abziehen kann, sondern will einfach nur sehen wie das Problem gelöst wurde. Wenn man die Übung halbwegs gewissenhaft gemacht hat sollte es absolut kein Problem sein eine hohe Punktezahl zu bekommen.

Außerdem ist zu erwähnen, dass nicht viel Wert darauf gelegt wird wo der Content mit dem das CMS befüllt ist wirklich herkommt. In unserem Fall war es volkommen außreichend ein paar Wikipedia Artikel herzunehmen und diese in das CMS einzufügen, da es primär ja nicht um die Contenterzeugung geht.

Prüfung[Bearbeiten | Quelltext bearbeiten]

Hauptsächlich offene Fragen und eingie Single Choice. Nicht besonders schwer aber viel zu schreiben für 1 Stunde. Gefragt wird grundsätzlich der ganze Fragenkatalog. Bei unsicherheiten muss man nur kurz überlegen WWSD ("What would Schranz do"), das heißt sich bei den Fragen mal in die 90er zu versetzen und aus dieser Prespektive zu antworten (Beispielsweise meint er mit "Web Service" einfach eine Website auf der man was machen kann)

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

Vom LVA-Leiter wird angegeben, dass der Übungsteil, wenn man flott arbeitet und das nötige Vorwissen mitbringt, in zwei Stunden erledigt werden kann. Realistisch betrachtet muss man jedoch damit rechnen, dass zumindest ein ganzer Tag für die Übung draufgeht.

Für die Vorlesungsprüfung reicht es, sich die Folien mehrmals gut durchzulesen.

hilfreiche Links[Bearbeiten | Quelltext bearbeiten]

[1]

Wo gibts Mitschriften, Skripten, Folien...[Bearbeiten | Quelltext bearbeiten]

Die Vorlesungsfolien werden vom Lehrveranstaltungsleiter regelmäßig nach den einzelnen Vorlesungseinheiten zum Download zur Verfügung gestellt.

Tipps[Bearbeiten | Quelltext bearbeiten]

  • Für die Übung stellt der Lehrveranstaltungsleiter seinen privaten Server zur Verfügung; da dieser jedoch ab und zu abstürzt, empfiehlt es sich, nicht zu knapp vor der Deadline mit der Übung zu beginnen.
  • Die Prüfung ist nicht schwer, allerdings viel Schreibarbeit. Es empfiehlt sich die Verwendung eines Schreibwerkzeugs, mit dem man ausdauernd schreiben kann (z.B. Füllfeder).
  • Im WS15/16 war am Übungserver ein Beispielprojekt einer Gruppe aus dem vorherigen Semester. Wenn man dieses als "Vorlage" hernimmt reduziert sich der Einarbeitungsaufwand massiv. Prof. Schranz erwähnt auch explizit, dass man sich das Projekt hernehmen soll, schaun wie das Problem gelöst wurde, und sich daran orientieren soll.
  • Für die Teilnahme an den Abschlusspräsentationen gibt es Bonuspunkte, allerdings lohnt es sich nicht daran teilzunehmen, wenn bereits (fast) alle Punkte bei den Übungen erreicht wurden: "die TUWEL Punkte für die Abschlusspräsentation werden nicht separat gezählt. Sie können nur insgesamt 60 Punkte für den Übungsteil erreichen"