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 Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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: [email protected] Sprechstunde: Montag, 14-15 Uhr SIV, Philosophikum, 3. Etage, Zimmer 337 Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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 Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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 Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 Einführung Java EE ‣ Professionelle (Web-)Anwendungen · Transaktionsbasiert · Skalierbar · Verteilt · Interoperabel · Sicher Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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) Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 Einführung Java EE ‣ Implementierungen der offenen Standards · Kommerziell: WebSphere, WebLogic · Open Source: GlassFish, JBoss, Hibernate Open JPA, Jersey etc. Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 Einführung Dreischichtige Systeme z.B. Tomcat Jetty Client 1 Browser HTTP Client 2 SWT-App Soap Client 3 C++-App Rest JSP, JSF EJB Glassfish, JBoss JPA Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 Toplink, Hibernate Einführung Java EE Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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 ??? Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 Projekt Projektplanung Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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 Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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“ Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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 Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010 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? Sprachliche Informationsverarbeitung - Universität zu Köln - Sommersemester 2010