Allerlei zum Praktikum Komponenten-Architekturen

Danke für eure Evaluationsbewertung!


Abnahme

Die Abnahme soll folgendes enthalten:
Achtung: Pro Warnung, die Eclipse danach noch ausspuckt (und die keine Falschwarnung ist), werde ich einen Punkt abziehen. Das gilt besonders für Javadoc-Warnungen!

Update 10.2.2009: Ich wurde von Studenten auf eine Eclipse-Gemeinheit hingewiesen, durch die durch das automatische Code-Formatieren Javadoc-Warnungen entstehen. Die Lösung ist eine geänderte Konfiguration des Javadoc-Formatters, siehe JavaDoc-Warnungseinstellungen.

Abgabetermin: Mittwoch 11.3.2009, ab 16 Uhr. Ein Vorschlag für die genauen Uhrzeiten siehe Teilnehmertabelle.

Update 23.02.2009: Da ich die Noten bis 16.3. melden muss, ist leider kein Aufschub zum Beheben von Fehlern oder Kritikpunkten, die in der Abnahme auftreten, möglich (höchstens in Einzelfällen, falls genügend Studenten pünktlich abgeben und ich deshalb direkt mit dem Korrigieren anfangen kann). Bitte fehlerfrei arbeiten ;-).

Wer vorher eine Fragestunde benötigt, möge sich per Mail bei mir melden.


Übungsaufgabe

Diese Aufgabe soll nur dazu dienen, sich schon zu Beginn des Semesters mit den Grundlagen zu beschäftigen, damit beim Projektstart jeder eine Bean ohne größere Probleme basteln kann.
Aufgabenstellung: es soll (in einer neuen Enterprise Application, nicht als Erweiterung meines Stateless-Beispiels) eine Session-Bean gebaut werden, die eine einzige Methode "convertCmToInch" bietet. Diese Methode rechnet den übergebenen Zentimeter-Wert in Inch um (1 Inch = 2,54 cm). Es soll Application Client (Konsole oder Swing-Anwendung, je nach Geschmack) und Web Client geben. Im Web Client entweder eine JSP-Seite oder ein Servlet verwenden. Die Clients sollen die Eingabe eines Zentimeter-Werts erlauben und den Inch-Wert ausgeben.

Bitte alle Methoden mit sauberen JavaDoc-Kommentaren versehen (JavaDoc-Validierung gemäß meinen Vorgaben einschalten). Pro JavaDoc-Warnung ein Punkt Abzug!

Die Aufgabe kann in Zweiergruppen bearbeitet werden.
Es wird 5 Bonuspunkte auf die Endnote geben.


Blabla zum sauberen Programmieren

Kommentierung
Sinnvolles Arbeiten mit Exceptions: http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html
Exception-Un-Konzepte: http://today.java.net/lpt/a/280#antipatterns


Beispiele:

Allgemeine Infos
Stateless Bean
Stateful Bean
Entity Bean
1:N-Entity Relationships
N:M-Relationship
N:M-Relationship mit Join-Table
Entity Inheritance
@Version-Annotation
Unit-Test
SVN-/Subclipse-Verwendung
Security
JSP-Beispiele
Java Server Faces (Basics)
Kuchen-Zutat-Beispiel mit JSF
JSFUnit
Struts 2 (Basics)
Kuchen-Zutat-Beispiel mit Struts
MessageDrivenBean


Links:

JavaEE-Tutorial von Sun: http://java.sun.com/javaee/reference/tutorials/
EJB3-Spezifikation: http://jcp.org/aboutJava/communityprocess/final/jsr220/index.html

JBoss-EJB3-Tutorial: http://www.jboss.org/jbossejb3/docs/
JBoss 5 - Installation And Getting Started Guide: http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/Installation_And_Getting_Started_Guide/5/html/index.html
JBoss 5 - Administration And Configuration Guide: http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/Administration_And_Configuration_Guide/5/html/index.html


UML-Tools:
ArgoUML 0.26.2: http://argouml.tigris.org/ (Javabasiert, kann mittels JavaWebStart ohne Installation getestet werden) Aber irgendwie holperig...

Dia 0.96.1-8: http://live.gnome.org/Dia, Installer unter http://dia-installer.de/download.html (für Linux und Windows). Auch irgendwie holperig...


Übersicht über diverse Taglibs des Jakarta-Projekts: http://jakarta.apache.org/taglibs/index.html
Hier findet man eine Implementation der JSTL, aber auch weitere Hilfs-Libraries wie z.B. eine TagLib für das Arbeiten mit dem Request (siehe JSP-Beispiel 3).

Die Sun-Seite zur JSTL befindet sich hier: http://java.sun.com/products/jsp/jstl/
Die Dokumentationen zur Java Standard Tag Library 1.2 findet man z.B. im J2EE-Tutorial von Sun, oder bei Sun hier: http://jcp.org/aboutJava/communityprocess/mrel/jsr052/index2.html
Die Doku zur JSTL 1.2 habe ich allerdings nur hier gefunden: https://jstl-spec-public.dev.java.net/.


Literatur:

An Literaturempfehlungen habe ich dieses:
Richard Monson-Haefel, "Enterprise Java Beans", 5. Edition, 730 Seiten, bei O'Reilly erschienen. ISBN (englische Version): 0-596-00978-x
http://www.oreilly.com/catalog/entjbeans5/index.html
Enterprise Java Beans
Javid Jamae, Peter Johnson, "JBoss in Action: Configuring the JBoss Application Server", 350 Seiten, im Manning-Verlag erschienen.
Englische Version: ISBN-10: 1933988029, ISBN-13: 978-1933988023
Eignet sich nicht zum EJB-Lernen, sondern mehr für die Grundlagen des JBoss.
http://www.manning.com/jamae/
JBoss In Action
Deutsche Version:
"JBoss im Einsatz. Den JBoss Application Server konfigurieren", 543 Seiten, im Hanser Fachbuch Verlag erschienen
ISBN-10: 3446415742, ISBN-13: 978-3446415744
Thomas Stark "Java EE 5.0. Master Class. Einstieg für Anspruchsvolle", bei Addison-Wesley erschienen
ISBN-10: 3827323622, ISBN-13: 978-3827323620


(auf Studentenempfehlung)
Uwe Rozanski, "Enterprise JavaBeans 3.0 mit Eclipse und JBoss. Praxisbuch und Referenz", Mitp-Verlag
ISBN-10: 3826616995, ISBN-13: 978-3826616990


(auf Studentenempfehlung)
Ian Roughley "Practical Apache Struts 2 Web 2.0 Projects", http://www.apress.com/book/view/9781590599037
ISBN-10: 1-59059-903-9, ISBN-13: 978-1-59059-903-7.




Stand 02.06.2009
Historie:
06.10.2008: Seite erstellt
17.10.2008: Link zum Stateless-Beispiel
22.10.2008: Link zum JBoss-Trailblazer eingefügt (aus "Allgemein"-Seite), Übungsaufgabe.
28.10.2008: Link zum Stateful-Beispiel
05.11.2008: Link zum Entity-Bean-Beispiel
07.11.2008: Link zum KuchenZutat-Beispiel
12.11.2008: Gruppenliste
16.11.2008: Link zum ManyToMany-Beispiel
18.11.2008: Link zum Inheritance-Beispiel
23.11.2008: Link zum Version-Beispiel
24.11.2008: Link zur Subclipse-Verwendung
25.11.2008: Link zum Unit-Test-Beispiel
26.11.2008: Präsentation, Gruppenzuordnung 839992
30.11.2008: Link zum Security- und zum JSP-Beispiel
03.12.2008: Mehr Präsentationstermine, Links zu Taglibs aktiviert
09.12.2008: Link zum JSF-Basics-Beispiel
15.12.2008: Link zum KuchenZutat-JSF-Beispiel
16.12.2008: Link zur Kommentierung und zu Exception-Handling
22.12.2008: Punktzahlen Gruppe 3 und 5, Präsentationstermin Gruppe 1, Hinweis auf neuen Eclipse
26.12.2008: Hinweis auf "cannot simultaneously fetch multiple bags", ArgoUML 0.26.2
04.01.2009: Link auf die Struts2-Beispiele
07.01.2009: Punktzahl Gruppe 4
11.01.2009: Vortrag Gruppe 1 verschoben
14.01.2009: Link zum JSFUnit-Beispiel
21.01.2009: Punktzahl Gruppe 1, Abnahmeanforderungen
25.01.2009: Evaluationsergebnis
28.01.2009: Abgabetermin, MDB-Beispiel
10.02.2009: Hinweis Javadoc, Abgabeuhrzeiten
23.02.2009: Hinweis auf Deadline
25.02.2009: Uhrzeit Gruppe 1 geändert
12.03.2009: Link zur Abnahme
15.03.2009: Punktzahlen
18.03.2009: Link auf (nicht mehr vorhandenen) EJB-Trailblazer ersetzt durch Link zu anderen JBoss-Dokus
02.06.2009: Beispiel "N:M-Relationship mit Join-Table", neuer Literaturtip "JBoss in Action"