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) 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