Ablauf, Inhalt und Themen SS2014 - Sommersemester 2014
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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)
3Seminararbeit Präsentation 1. Endnote
(20 Seiten) (60 Minuten) (40%)
Kolloquium 2. Endnote
(30 Minuten) (60%)
4Das gesamte Themenangebot im Überblick
5Architektur
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
10Die einzelnen Themen im Detail
11Die 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.
12In 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.
13Java 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.
14Obwohl 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.
15Mit 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 16Im 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
17Die 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.
18In 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
19Auch 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.
20Die 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
21Seit 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
22Arquillian 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
23In 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).
24Soziale 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
25Die 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.
26In 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
27Die 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
28Ein 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
29Domain 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/
30Michael Theis
Lehrbeauftragter Hochschule München
email michael.theis@hm.edu
mobile + 49 170 5403805
web http://www.tschutschu.de/Lehrauftrag.html
31Sie können auch lesen