Java EE Projektseminar Daniel Alberts & Sonja Subicin Sprachliche Informationsverarbeitung Universität zu Köln Sommersemester 2010
Sitzung Organisatorisches zum Seminar Java EE Projektplanung Defi nition von Aufgaben: fachliche und technische Sicht Modellierung von Datenmodell und Operationen Wahl der Architektur und der Technologien Crashkurs Relationale Datenbanken Erstellen von Datenbanken und Tabellen Basisoperationen Relationen zwischen Tabellen erstellen und abfragen Java und Datenbanken: Probleme und Ansätze
Organisatorisches Scheine Module Mastermodule 1+2, Ergänzungsbereich, Studium Integrale Credit points Aktive Teilnahme 2 credit points Aktive Teilnahme + Referat 4 credit points Ansprechpartner Studiengang Jürgen Hermes E-Mail: jhermes@spinfo.uni-koeln.de Sprechstunde: Montag, 14-15 Uhr SIV, Philosophikum, 3. Etage, Zimmer 337
Organisatorisches Materialien Homepage des Kurses http://www.spinfo.phil-fak.uni-koeln.de/java-ee.html Literatur Antonio Goncalves (2009) Beginning Java EE 6 with GlassFish 3, Apress. Seminarordner im Büro der SIV
Einführung Java SE vs. Java EE Java Standard Edition (Java SE) Sammlungen von Programmierschnittstellen (APIs) Definiert wesentliche Funktionen: Sprache, Kontrollstrukturen, Stringverarbeitung java.lang Ein- / Ausgabe java.io Datenstrukturen, Zeitangaben, Internationalisierung java.util User Interface Toolkits: java.awt, java.swing etc. Client-Anwendungen
Einführung Java EE Professionelle (Web-)Anwendungen Transaktionsbasiert Skalierbar Verteilt Interoperabel Sicher
Einführung Java EE Java Enterprise Edition (Java EE, früher J2EE) Erweiterung der Java SE Sammlungen von Programmierschnittstellen (APIs) Spezifikationen für Enterprise-Anwendungen Transaktionen Java Transaction API (JTA) Persistenz Java Persistence API (JPA) etc. Programmierung durch Benutzung von Frameworks (Toplink, Hibernate, Spring etc.), die die Spezifikationen erfüllen. Java EE-Anwendungen erfordern einen Application Server (z. B. GlassFish, JBoss)
Einführung Java EE Implementierungen der offenen Standards Kommerziell: WebSphere, WebLogic Open Source: GlassFish, JBoss, Hibernate Open JPA, Jersey etc.
Einführung Dreischichtige Systeme z.b. Tomcat Jetty Client 1 Browser HTTP JSP, JSF Client 2 SWT-App Client 3 C++-App Soap Rest EJB JPA Glassfish, JBoss Toplink, Hibernate
Einführung Java EE
Projekt Mögliche Anwendungen (Nicht zu komplizierte) Web-Anwendung, z. B. Reise-Buchungssystem Online-Bookshop / Videothek / etc. Keyword Extraction Literaturverwaltung für wissenschaftliche Artikel Vokabeltrainer???
Projekt Projektplanung
Projekt Projektplanung Anforderungen des Kunden Pflichtenheft Definition von fachlichen und funktionalen Einheiten Beschreibung eines Zustandes: Ziel ist... Kann als Vertragsgrundlage dienen Umwandlung der Anforderungen Technische Spezifikation Einteilung in Arbeitspakete Ziel Vorgehensweise Aufwand Projektstrukturplan / Netzplan
Projekt Projektplanung Fachliche Anforderungen - Beispiele Die Anwendung muss unsere Unternehmensstruktur widerspiegeln Neue Bezahlmöglichkeiten müssen im Nachhinein noch berücksichtigt werden können Die Berechtigungen für die Nutzer müssen bequem geändert werden können
Projekt Projektplanung Technische Anforderungen - Beispiele Die Anwendung muss unsere Unternehmensstruktur widerspiegeln betrifft die Modellierung der Daten Neue Bezahlmöglichkeiten müssen im Nachhinein noch berücksichtigt werden können betrifft die Erweiterbarkeit der Geschäftslogik, z.b. durch passende Interfaces Die Berechtigungen für die Nutzer bequem geändert werden können betrifft die Usability / Gestaltung der GUI
Projekt Projektplanung Projektplanung - Modellierung von Datenmodell und Operationen Datenmodell Was sind die Substantive? Welche logischen Einheiten gibt es? Wie hängen diese Einheiten zusammen? (Verknüpfungen, Vererbung, usw) Gibt es Kriterien für die Validierung von Daten? Operationen Was sind die Verben? Welche Aktionen können ausgeführt werden? Wie hängen Aktionen zusammen? Wie ist das Verhalten im Fehlerfall?