Ablauf, Inhalt und Themen SS2014 - Sommersemester 2014

Die Seite wird erstellt Julia Herbst
 
WEITER LESEN
Ablauf, Inhalt und Themen SS2014 - Sommersemester 2014
Ablauf, Inhalt und Themen SS2014

Sommersemester 2014      Michael Theis, Lehrbeauftragter
2
   Wöchentliche Vorlesung (4 SWS)
     Start am 21.03.2013
     Freitag von 15.15 – 18.30 Uhr Raum 0.005

 Themen werden zu Semesterbeginn vergeben
  und einzeln bearbeitet
 Pro Thema eine Seminararbeit (20 Seiten) und
  eine Präsentation (60 Minuten)
 Abschließend Kolloquium (30 Minuten)

                                                 3
Seminararbeit   Präsentation   1. Endnote
 (20 Seiten)    (60 Minuten)      (40%)

                 Kolloquium    2. Endnote
                (30 Minuten)      (60%)

                                            4
Das gesamte Themenangebot im Überblick

                                         5
Architektur

            Spring                    Collaboration

Testen
                       Java                         Web UI

Security                EE                            EJB

           Messaging                   Persistenz

                       Web Services

                                                             6
 Was bringt JAVA EE 7?
 SPRING und JEE: Alternative oder Ergänzung?
 Benutzeroberflächen mit JSF 2.2
 Java-Frameworks zur Erstellung webbasierter
  Benutzeroberflächen
 Rich Clients mit ECLIPSE RCP

                                                7
 Server an Client - Push mit WEBSOCKETS
 Messaging mit Java (JMS)
 SICHERHEIT in unternehmenskritischen
  Applikationen
 Integration von Datenbanken mit JDBC
 Datenzugriffskomponenten mit JPA
 NOSQL und Java EE – Ein perfektes Paar?

                                            8
 Testen mit ARQUILLIAN
 BIG DATA: Hype oder Chance?
 Integration von SOCIAL MEDIA in Java Apps
 ENTITY-CONTROL-BOUNDARY als
  Komponentenmodell

                                              9
 LANG LAUFENDE PROZESSE mit Java EE
 BATCHVERARBEITUNG mit Java
 CONTINUOUS DELIVERY: Keine Angst vor
  Releases
 Komplexität bewältigen mit DOMAIN DRIVEN
  DESIGN

                                             10
Die einzelnen Themen im Detail

                                 11
Die Java-Plattform Enterprise Edition         Einstiegsliteratur und Internetquellen:
(Java EE) ist der Industriestandard für die   Eric Jendrock et. al.
Erstellung und den Betrieb unter-             The Java EE 7 Tutorial
nehmenskritischer Anwendungen in Java.        http://docs.oracle.com/javaee/7/tutorial/doc/
Die aktuelle Version ist die Version 7.       Oracle September 2013
   Erläutern Sie die wesentlichen neuen
    Features, die mit Java EE 7 eingeführt
    wurden.
   Vergleichen Sie – sofern möglich – die
    neuen bzw. weiterentwickelten
    Features der Version 7 mit denen der
    Version 6.

                                                                                         12
In der Java-Community hat sich Spring als   Einstiegsliteratur und Internetquellen:
Vertreter der leichtgewichtigen Container   Spring Framework Homepage
für POJO-basierte Komponenten einen         http://projects.spring.io/spring-framework/
festen Platz erobert.                       Rod Johnson, Expert One-on-One J2EE Design
Vergleichen Sie die Architekturkonzepte     and Development,
von Spring 4.x mit denen der JavaEE 7       Wrox 2002, ISBN: 978-0-7645-4385-2
Spezifikation:                              http://www.wrox.com/WileyCDA/WroxTitle/pr
                                            oductCd-0764543857.html
   Komponentenmodell
                                            Rod Johnson & Jürgen Höller,
   Dependency Injection                    Expert One-on-One J2EE Development without
   Aspect Oriented Programming (AOP)       EJB,
                                            Wrox 2004, ISBN: 978-0-7645-5831-3
 Integration von Infrastrukturdiensten     http://www.wrox.com/WileyCDA/WroxTitle/pr
Nennen Sie die Schwächen und Stärken        oductCd-0764558315.html
der Spring-Plattform im Vergleich zu JEE.

                                                                                          13
Java Server Faces (JSF) hat sich als            Einstiegsliteratur und Internetquellen:
offizieller Standard zur Erstellung von         Ed Burns, Chris Schalk
webbasierten Benutzerschnittstellen mit         JavaServer Faces 2.0: The Complete Reference
Java durch-gesetzt.                             McGraw-Hill 2010
                                                ISBN 978-0-07-162509-8
   Schildern Sie die Grundlagen und
    Konzepte des JSF-Komponenten-               Eric Jendrock et. al.
    modells auf der Basis der JSF 2.2-          The Java EE 7 Tutorial Part III Kapitel 7-16
                                                http://docs.oracle.com/javaee/7/tutorial/doc/
    Referenzimplementierung aus dem             jsf-intro.htm
    Glassfish-Projekt.                          Oracle September 2013
   Erläutern Sie Hintergründe und              Oracle’s JavaServer Faces Homepage
    Leistungsmerkmale der neuen View-           http://www.oracle.com/technetwork/java/jav
    Technologie Facelets                        aee/javaserverfaces-139869.html
   Beschreiben Sie anhand eines
    einfachen Beispiels, wie sich mit JSF 2.2
    webbasierte Benutzerschnittstellen
    erstellen lassen.
                                                                                           14
Obwohl Java Server Faces (JSF) mit der      Einstiegsliteratur und Internetquellen:
Version 6 der Java EE Spezifikation zum     Spring Homepage
offiziellen Standard zur Erstellung von     http://www.springsource.org/
webbasierten Benutzerschnittstellen         Vaadin Homepage
gekürt worden ist, macht es Sinn über       https://vaadin.com/home
„den Tellerrand hinaus“ zu blicken.         Wicket Homepage
   Wählen Sie ein beliebiges populäres     http://wicket.apache.org/
    Java-basiertes WebUI-Framework
    (Spring MVC, Vaadin, Wicket, etc).
   Stellen Sie dessen Grundlagen und
    Konzepte am besten anhand von
    Beispielen dar.
   Bewerten Sie kritisch die Stärken und
    Schwächen.

                                                                                      15
Mit der Eclipse Rich Client Platform bietet      Zeigen Sie, wie sich mit Eclipse RCP
die Eclipse Foundation eine Technologie           komplexe Benutzerschnittstellen
an, mit der sich Benutzeroberflächen              realisieren, installieren und
erstellen lassen, die in Bezug auf                aktualisieren lassen.
Erweiterbarkeit und User Experience              Erläutern Sie, wie sich Java EE-
keine Wünsche offen lassen. Mit der               Applikationen in diese Benutzer-
aktuellen Version 4 (Kepler) haben nun            schnittstellen integrieren lassen.
auch moderne Konzepte wie Dependency
                                              Einstiegsliteratur und Internetquellen:
Injection in die Eclipse-Welt Einzug
gehalten. Widgets lassen sich mit CSS-        Lars Vogel
ähnlichen Dateien gestalten, das              Eclipse 4 RCP: The complete guide to Eclipse
                                              application development
Renderkit ist frei konfiguierbar (SWT oder    Lars Vogel 2013, ISBN: 978-3943747072
JavaFX).
                                              Lars Vogel
   Beschreiben Sie die Grundkonzepte der     Eclipse 4 RCP – Tutorial
    Eclipse RCP Technologie.                  http://www.vogella.com/tutorials/EclipseRCP/
                                              article.html
                                              Eclipse RCP Wiki
                                              http://wiki.eclipse.org/Rich_Client_Platform 16
Im traditionellen Request-Response-          bisher unerreichten User Experience.
Model von HTTP wird die Kommunikation           Schildern Sie die Grundlagen der
ausschließlich durch den Client                  WebSocket API.
getrieben. Der Server kann keine Daten
                                                Beschreiben Sie, wie sich mit Push über
an den Client senden, die der Client nicht
                                                 WebSockets hochdynamische
explizit angefordert hat. Dieses bewährte
                                                 webbasierte Benutzeroberflächen
Vorgehensmodell erweist sich bei den
                                                 realisieren lassen.
heutigen Anforderungen an webbasierte
Benutzeroberflächen zunehmend als            Einstiegsliteratur und Internetquellen:
limitierender Faktor.                        Eric Jendrock et. al.
Das WebSocket-Protokoll hebt diese           The Java EE 7 Tutorial Part III Kapitel 18
                                             http://docs.oracle.com/javaee/7/tutorial/doc/
Restriktionen durch das Bereitstellen
                                             websocket.htm
eines Voll-Duplex-Kommunikationskanals       Oracle September 2013
zwischen Client und Server auf.
                                             JSR 356: Java™ API for WebSocket
Kombiniert mit anderen Technologien
                                             Homepage zu JSR 356 auf JCP.org
wie HTML5 und JavaScript ermöglicht          https://jcp.org/en/jsr/detail?id=356
WebSockets Web-Applikationen mit einer
                                                                                        17
Die Koppelung über Messaging-Systeme        Einstiegsliteratur und Internetquellen:
ermöglicht die flexibelste Art der          ORACLE Homepage über JMS
Integration verteilter Anwendungen. In      http://www.oracle.com/technetwork/java/jms
Java steht für den Zugriff auf Messaging-   -136181.html
Systeme der hersteller-neutrale JMS-        Eric Jendrock et. al.
Standard zur Verfügung                      The Java EE 7 Tutorial Part IX Messaging
   Schildern Sie die Grundlagen von        http://docs.oracle.com/javaee/7/tutorial/doc/
                                            partmessaging.htm
    messaging-basierten Systemen, die       Oracle September 2013
    über JMS integriert werden (Queues,
                                            Gregor Hohpe, Bobby Woolf
    Topics, Connection Factories,
                                            Enterprise Integration Patterns: Designing,
    Nachrichtentypen)                       Building, and Deploying Messaging Solutions
   Zeigen Sie, wie sich mit JMS und EJB    Addison-Wesley Longman,
    Nachrichten über Messaging-Systeme      ISBN 0321200683
    senden und empfangen lassen.

                                                                                       18
In unternehmenskritischen Applikationen         EE-Umgebung integrieren lassen
spielt die Sicherheit vor unzulässigen        Einstiegsliteratur und Internetquellen:
Zugriffen eine entscheidenden Rolle. Die
                                              Eric Jendrock et. al.
Java EE-Spezifikation sieht hier ein          The Java EE 7 Tutorial Part X Security
umfangreiches Set von Möglichkeiten vor,      http://docs.oracle.com/javaee/7/tutorial/doc/
Applikationen sicher zu machen.               partsecurity.htm
   Beschreiben Sie zunächst die Grund-       Oracle September 2013
    lagen der Sicherheit im Sinne von Java    Java EE Management and Security
    EE                                        Technologies Homepage von ORACLE
                                              http://www.oracle.com/technetwork/java/jav
   Erläutern Sie anhand von Beispielen, an   aee/tech/management-139662.html
    welchen Stellen ein Java EE-
    Anwendungen mit welchen Mitteln
    gehärtet werden kann
   Führen Sie auf, wie sich eigene
    Sicherheitsmechanismen in eine Java

                                                                                         19
Auch wenn inzwischen die Java                Einstiegsliteratur und Internetquellen:
Persistence Architecture (JPA) als           JDBC(TM) Database Access
Standard für Persistenztechnologie           aus der Reihe The Java Tutorials
gesetzt ist, gibt es doch Anwendungsfälle,   http://docs.oracle.com/javase/tutorial/jdbc
in denen JPA schlichtweg einfach zu          Oracle 2014
umständlich ist oder nicht weiterhelfen      Spring Framework Reference
kann.                                        Kapitel 13 Data access with JDBC
                                             http://docs.spring.io/spring/docs/4.0.1.RELEA
   Schildern Sie die Grundlagen der JDBC    SE/spring-framework-
    API.                                     reference/htmlsingle/#jdbc
   Erläutern Sie, wie sich mit JDBC
    relationale Daten im Rahmen einer Java
    EE-Applikation integrieren lassen.
   Zeigen Sie, wie die JDBC-Abstraktion
    von Spring den Zugriff über JDBC zu
    einem Kinderspiel werden lässt.

                                                                                           20
Die Java Persistence Architecture (JPA)      Einstiegsliteratur und Internetquellen:
hat sich inzwischen als Standard für die     Eric Jendrock et. al.
Integration von relationalen Daten in Java   The Java EE 7 Tutorial Part VIII Persistence
Applikationen etabliert.                     http://docs.oracle.com/javaee/7/tutorial/doc/
                                             partpersist.htm
   Beschreiben Sie die Grundlagen von
                                             Oracle September 2013
    JPA
                                             Adam Bien
     Entities und Entity Manager            Real World Java EE Patterns
     Persistence Context und Persistence    Rethinking Best Practices (2nd Ed)
      Unit                                   press.adam-bien.com 2012
     Object-Relational-Mapping (ORM)        ISBN 978-1-300-14931-6
      mit Annotations
     Queries
   Zeigen Sie, wie sich Datenzugriffs-
    komponenten auf Basis von JPA
    implementieren lassen

                                                                                        21
Seit Jahrzenten sind relationale Daten-         bekannte NoSQL Datenbank aus.
banken die erste Wahl, wenn es um              Beschreiben Sie deren besonderen
ernsthafte Datenspeicherung geht. Unser         Eigenschaften.
Informationszeitalter mit immer rasanter
                                               Zeigen Sie, wie sich diese NoSQL-
wachsenden Datenmengen bringt die
                                                Datenbank in eine Java EE Anwendung
relationalen Datenbanken jedoch an ihre
                                                integrieren lässt.
Grenzen. Abhilfe schaffen sollen nicht-
relationale „NoSQL“ Datenbanken, die        Einstiegsliteratur und Internetquellen:
der Datenflut mit neuen Konzepten           Prasmod J. Sadalage, Martin Fowler
entgegentreten.                             NoSQL Distilled
                                            Addison Wesley Pearson Education 2013
   Erläutern Sie zunächst die grund-       ISBN 978-0-321-82662-6
    liegenden Konzepte von NoSQL-
    Datenbanken und vergleichen Sie diese
    mit der relationalen Technik.
   Wählen Sie aus dem Angebot eine

                                                                                      22
Arquillian ist eine innovative und              sich diese von denen klassischer Test-
erweiterbare Test-Plattform auf Java-           methoden unterscheiden.
Basis, die es Entwicklern ermöglicht,          Demonstrieren Sie den konkreten
einfach automatisierte Integrationstests,       Einsatz von Arquillian mit einem
funktionale Tests und Akzeptanz-Tests für       Beispiel.
server-seitige Java-Komponenten zu
                                            Einstiegsliteratur und Internetquellen:
erstellen.
                                            Arquillian Homepage
   Beschreiben Sie zunächst, wo bei der    http://arquillian.org/
    Entwicklung server-seitiger Java-
    Anwendungen die Herausforderungen
    bezüglich automatisiertem Testen
    liegen.
   Schildern Sie anschließend die
    wesentlichen Konzepte und
    Eigenschaften von Arquillian und wie

                                                                                      23
In unsere heutigen Informations-               Einstiegsliteratur und Internetquellen:
gesellschaft fallen immer mehr Daten an,       Pavlo Baron
deren Volumen sich nach aktuellen              Big Data Vortrag auf der JAX2011
Berechnungen alle 2 Jahre verdoppelt.          http://www.slideshare.net/pavlobaron/big-
Die Analyse dieser „Big Data“ ist mit          data-jax2011-pavlo-baron
klassischen Datenbanken und Analyse-           Pavlo Baron
tools nicht mehr zu bewerkstelligen.           Big Data für IT-Entscheider
                                               Carl Hanser Verlag GmbH & CO. KG 2013
   Versuchen Sie zunächst, dem Leser den      ISBN 978-3446433397
    Begriff Big Data mit all seinen Aspekten
                                               Ramon Wartala
    näher zu bringen und nennen Sie
                                               Hadoop: Zuverlässige, verteilte und skalierbare
    konkrete Beispiele für Big Data-           Big-Data-Anwendungen
    Szenarien.                                 Open Source Press 2012
   Erläutern Sie dann, wie die Analyse        ISBN-13: 978-3941841611
    derartiger Datenmengen mit Java-           Apache Hadoop Homepage
    Mitteln angegangen werden kann             http://hadoop.apache.org/
    (Map Reduce, Hadoop, NoSQL DBs).

                                                                                           24
Soziale Netzwerke wie Facebook,                angegangen werden kann.
Google+, LinkedIn, XING sind feste           Einstiegsliteratur und Internetquellen:
Bestandteile unserer heutigen Netzkultur
                                             Social Media API for the Java Platform
und durchdringen praktisch alle Bereiche     http://java.net/projects/java-
unseres täglichen Lebens.                    social/pages/Home
Dementsprechend häufen sich auch die
Anforderungen, klassische
Unternehmensanwendungen mit diesen
sozialen Medien zu vernetzen.
   Beschreiben Sie zunächst Szenarien, in
    denen die Integration von
    Anwendungen mit sozialen Netzwerken
    Sinn macht.
   Schildern Sie dann, wie diese
    Integration mit Java-Mitteln

                                                                                       25
Die konsequente Verwendung eines               Zeigen Sie auf, wie sich dieses
einheitlichen Komponentenmodells stellt         Komponentenmodell mit Java EE-
üblicherweise einen wesentlichen                Mitteln umsetzen lässt.
Erfolgsfaktor für die Entwicklung großer       Bewerten Sie das Komponentenmodell
Java EE-Anwendungen dar. Im Bereich             bezüglich seiner Stärken und
der Geschäftskomponenten hat sich das           Schwächen.
Entity-Control-Boundary-Modell als viel-
                                            Einstiegsliteratur und Internetquellen:
versprechender Kandidat erwiesen: es ist
zum Beispiel wesentlicher Bestandteil der   Adam Bien
Component Architecture 4 (CA4) der          Real World Java EE Patterns
                                            Rethinking Best Practices (2nd Ed)
BMW Group.                                  press.adam-bien.com 2012
   Beschreiben Sie zunächst, was sich      ISBN 978-1-300-14931-6
    hinter diesem Komponentenmodell
    verbirgt und welche Rollen die
    einzelnen Beteiligten spielen.

                                                                                      26
In fast jeder nicht-trivialen Applikation      Beschreiben Sie die wesentlichen
muss man früher oder später Aktivitäten         Features der Concurrency Utilities API.
ausführen, die bezüglich ihrer Laufzeit        Erläutern Sie, wie sich damit lang-
den gewöhnlichen Rahmen sprengen                laufende Prozesse standard-konform
(> 120 Sekunden). Bis Java EE 7 gab es          umsetzen lassen.
keine spezifischen APIs, solche Aufgaben
                                               Vergleichen Sie Lösungen auf Basis der
mit Hilfe des Executor-Frameworks sicher
                                                Concurrency Utilities mit @Schedule
auf eine standard-konforme Art und
                                                EJBs und @Asynchronous EJB-Aufrufen.
Weise zu lösen.
Hier können die mit Java EE 7 neu hinzu     Einstiegsliteratur und Internetquellen:
gekommenen Concurrency Utilities (JSR-      Eric Jendrock et. al.
236) Abhilfe schaffen: ManagedExecutor-     The Java EE 7 Tutorial Part XI Kapitel 56
                                            http://docs.oracle.com/javaee/7/tutorial/doc/
Services und ManagedScheduled-
                                            concurrency-utilities.htm
ExecutorServices lassen sich nun als        Oracle September 2013
Ressourcen im Application Server
                                            JSR 236: Concurrency Utilities for JavaTM EE
konfigurieren und aus Applikationen
                                            Homepage zu JSR 236 auf JCP.org
heraus nutzen.                              https://jcp.org/en/jsr/detail?id=236
                                                                                           27
Die Verarbeitung von großen Daten-          Erläutern Sie, wie sich mit Java Batch
mengen ist nicht mehr ausschließlich        Processing Massendatenverarbeitung
mainframe-basierten Systemen vor-           umsetzen lässt.
behalten, sondern wird aus Kosten-          Einstiegsliteratur und Internetquellen:
gründen zunehmend auch auf java-
                                            Eric Jendrock et. al.
basierten Plattformen durchgeführt. Mit     The Java EE 7 Tutorial Part XI Kapitel 55
Java EE 7 ist nun erstmals eine Standard-   http://docs.oracle.com/javaee/7/tutorial/doc/
API für Batchverarbeitung veröffentlicht    batch-processing.htm
worden.                                     Oracle September 2013
Beschreiben Sie zunächst die Grundlagen
der Batchverarbeitung:
   Massendatenverarbeitung
   Jobs / Steps
   Checkpoint / Restart

                                                                                       28
Ein neues Software-Release heraus zu             das Kernstück von Continuous Delivery
bringen ist oft ein schmerzhafter,               bildet.
riskanter und zeitfressender Prozess. Der       Stellen Sie Sie eine Liste von möglichen
Continuous Delivery-Ansatz versucht hier         Produkten zusammen, mit denen sich
durch die Automatisierung des Build-,            die einzelnen Stationen einer
Installations- und Testprozesses sowie           Deployment Pipeline realisieren lassen.
eine verbesserte Zusammenarbeit
                                             Einstiegsliteratur und Internetquellen:
zwischen Entwicklern, Testern und
Operatoren Abhilfe zu schaffen.              Jez Humble, David Farley
                                             Continuous Delivery
   Schildern Sie, wie sich mit Continuous   Addison Wesley 2011
    Delivery Änderungen mit deutlich         ISBN 978-0-321-60191
    verkürzter Durchlaufzeit in Produktion   Jez Humble, David Farley
    bringen lassen.                          Continuous Delivery Homepage
   Beschreiben Sie den wesentlichen         http://continuousdelivery.com
    Aufbau einer Deployment Pipeline, die

                                                                                       29
Domain Driven Design (DDD) hat sich in         Zeigen Sie anhand von essentiellen
der Softwareentwicklung-Community               Patterns aus der DDD-Welt, wie DDD
inzwischen als fester Begriff etabliert.        bei der alltäglichen Entwicklung von
DDD bietet ein Vorgehensmodell auf              Applikationen weiterhelfen kann.
Basis von etablierten Patterns, mit deren   Einstiegsliteratur und Internetquellen:
Hilfe auch komplexe Domänenmodelle in
                                            Eric Evans
großen Unternehmen verständlich,            Domain Driven Design
beherrschbar und änderbar bleiben. Bei      Tackling Complexity in the Heart of Software
DDD liegt der Fokus insbesondere auf        Addison-Wesley Longman, Amsterdam, 2003
einer allumfassenden Sprache, die           ISBN 978-0-321-12521-7
sowohl die fachlichen als auch die          Vaugh Vernon
technischen Experten sprechen und           Implementing Domain Driven Design
leben und die vom Domänenmodell             Tackling Complexity in the Heart of Software
direkt umgesetzt wird.                      Addison-Wesley 2013
                                            ISBN 978-0-321-83457-7
   Beschreiben Sie kurz die
    grundliegenden Konzepte von DDD.        Homepage der DDD Community
                                            http://dddcommunity.org/
                                                                                           30
Michael Theis
Lehrbeauftragter Hochschule München

email michael.theis@hm.edu
mobile + 49 170 5403805
web http://www.tschutschu.de/Lehrauftrag.html

                                                31
Sie können auch lesen