CAS Enterprise Application Development Java EE Inhaltsverzeichnis 1 2 3 4 5 6 7 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 9 10 11 12 13 Abstract Umfeld und Motivation Zielgruppe Ausbildungsziele Voraussetzungen Kursübersicht Kompetenzprofil Kursbeschreibungen Java EE Plattform Data Tier (Java Persistence) Business Tier (Enterprise JavaBeans) Testing Web Services Client Tier (Angular) Security Architektur und Design Kompetenznachweise Ergänzende Lehrmittel Dozierende Organisation Termine Study Guide CAS EADJ 3 3 3 3 3 4 5 6 6 6 6 7 7 7 7 8 9 9 10 10 10 2/11 1 Abstract Java EE definiert einen Standard zur Realisierung von Enterprise-Applikationen nach einem einheitlichen, komponentenbasierten Applikationsmodell und stellt eine entsprechende Technologieplattform zur Verfügung. 2 Umfeld und Motivation Java EE ist für viele Firmen eine wichtige Plattform für die Integration bestehender und neuer Dienstleistungen. Java EE Applikationen weisen eine Multi-Tier-Architektur auf, wobei jeder Tier seine spezifischen Aufgaben hat, zu deren Realisierung bestimmte Design-Patterns und geeignete Technologien eingesetzt werden. Zudem können Java EE Applikation in Microservices unterteilt werden, die zur Erfüllung der Gesamtaufgabe untereinander kommunizieren. Als Frontend kommt entweder eine klassische Webapplikation oder eine moderne JavaScript-basierte Rich-Internet-Applikation (RIA) zum Einsatz. 3 Zielgruppe Das CAS richtet sich an erfahrene Java-Entwickler, welche Enterprise-Applikationen mit Java EE realisieren wollen. 4 Ausbildungsziele Die Teilnehmenden verstehen das Java EE-Applikationsmodell und kennen die Aufgaben eines Applikationsservers. Mit den entsprechenden Technologien sind sie in der Lage, eine EnterpriseApplikation auf der Java EE-Plattform zu realisieren. 5 Voraussetzungen Wir erwarten fundierte Erfahrung in der Java-Entwicklung. Grundlegende Kenntnisse der Konzepte von verteilten Systemen, Web und Datenbanken sind ebenfalls erforderlich. Details zu den allgemeinen Zulassungsbedingungen finden Sie auf unserer Webseite. Study Guide CAS EADJ 3/11 6 Kursübersicht Kurs/Lehreinheit Java EE Plattform Lektionen Stunden 8 Dozierende Simon Martinelli Data Tier (Java Persistence) 36 16 Simon Martinelli Business Tier (Enterprise JavaBeans) 48 24 Stephan Fischli Testing 12 Web Services 36 16 Simon Martinelli Client Tier (Angular) 36 16 Stephan Fischli Security 12 Peter Andres Architektur und Design 24 Simon Martinelli Total 212 Jonas Bandi 72 Das CAS umfasst insgesamt 12 ECTS Punkte. Für die einzelnen Kurse ist entsprechend Zeit für Selbststudium, Prüfungsvorbereitung etc. einzurechnen. Study Guide CAS EADJ 4/11 7 Kompetenzprofil Legende: 1. Kenntnisse von Begriffen, Definitionen und Regeln; Faktenwissen 2. Verstehen von Zusammenhängen, Erklären von Sachverhalte erklären können 3. Anwendung des Wissens in einfachen Situationen 4. Analyse der eigenen Lösung 5. Synthese neuer Lösungen und Anwendung in komplexen Situationen 6. Beurteilung der Anwendbarkeit für bestimmte Probleme und Situationen, methodische Abwägung und Evaluation von Alternativen, Beziehungen zu anderen Fachgebieten Study Guide CAS EADJ 5/11 8 Kursbeschreibungen Dieser Study Guide beschreibt die Ziele, Inhalte und Organisation des Lehrgangs. Änderungen, insbesondere bezüglich des Inhalts, sind bis zu Beginn des Lehrgangs jederzeit möglich. Angaben zu Terminen und Kompetenznachweisen sind ab Studienbeginn verbindlich. Der Begriff Kurs schliesst alle Veranstaltungstypen ein wie Vorlesung, Lehrveranstaltung, Fallstudie, Living Case, Fach, Studienreise, Semesterarbeiten usw. 8.1 Java EE Plattform Kursbeschreibung Lernziele Die Teilnehmenden haben eine Übersicht über die Java EE-Plattform, deren grundlegenden Konzepte und zugehörige Technologien. Themen − − − Prinzipien: Komponenten, Container, Kontexte Patterns: Injection, Proxy, Interceptoren Services: Remoting, Concurrency, Pooling, Persistenz, Transaktionen, Security, Naming, Messaging, Validierung, Asynchronität Lehrmittel − Skript, das alle wesentlichen Lerninhalte umfasst 8.2 Data Tier (Java Persistence) Kursbeschreibung Lernziele Die Teilnehmenden kennen die Konzepte des Java Persistence API und können damit die Persistenzschicht einer Java EE-Applikation realisieren. Themen − − − − Entities, Entity Manager, Persistenzkontext Abbildung von Entities in relationale Datenbanken (O/R-Mapping) Beziehungen und Vererbung von Entities Abfragen mit JPQL und der Criteria API Lehrmittel − − Skript, das alle wesentlichen Lerninhalte umfasst Pro JPA 2: Mastering the Java Persistence API (siehe [1]) 8.3 Business Tier (Enterprise JavaBeans) Kursbeschreibung Lernziele Die Teilnehmenden kennen das Komponentenmodell der Enterprise JavaBeans und können dieses in Java EE-Applikationen effizient umsetzen. Themen − − − − Architektur der Enterprise JavaBeans Komponentenmodell, Rollen, Deployment Session- und Message-driven Beans Transaktionen und Security Lehrmittel − − Skript, das alle wesentlichen Lerninhalte umfasst Enterprise JavaBeans 3.1 (siehe [2]) Study Guide CAS EADJ 6/11 8.4 Testing Kursbeschreibung Lernziele Die Teilnehmenden wissen, wie man eine Java EE-Applikation testen kann. Themen − − Automatisiertes Testen, Unit-Tests, Mocking Strategien zum Testen von Java EE-Applikationen Lehrmittel − Skript, das alle wesentlichen Lerninhalte umfasst 8.5 Web Services Kursbeschreibung Lernziele Die Teilnehmenden kennen die Konzepte von Web Services und können solche mit den entsprechenden Java-Technologien realisieren. Themen − − − Konzepte von Web Services Implementierung SOAP-basierter Web Services mit JAX-WS Implementierung von RESTful Web Services mit JAX-RS Lehrmittel − − Skript, das alle wesentlichen Lerninhalte umfasst Java Web Services: Up and Running (siehe [3]) 8.6 Client Tier (Angular) Kursbeschreibung Lernziele Die Teilnehmenden kennen das Angular Framework und können damit eine RichInternet-Applikation realisieren. Themen − − − Programmiersprache TypeScript Angular Architektur, Datenbindung, Dependency Injection Implementierung von Templates, Komponenten, Services, Direktiven Lehrmittel − − Skript, das alle wesentlichen Lerninhalte umfasst ng-book: The Complete Book on AngularJS (siehe [4]) 8.7 Security Kursbeschreibung Lernziele Die Teilnehmenden kennen die Java EE-Sicherheitsmechanismen und können diese in Anwendungen angemessen einsetzen. Themen − − − − Übersicht über die Java SE und Java EE-Sicherheitsmechanismen Container-basierte Authentifizierung und Autorisierung Konfiguration von Realms, Gruppen, Usern und Security-Rollen Verschlüsselte Übermittlung von Daten mittels SSL Lehrmittel − Skript, das alle wesentlichen Lerninhalte umfasst Study Guide CAS EADJ 7/11 8.8 Architektur und Design Kursbeschreibung Lernziele Die Teilnehmenden kennen die wichtigsten Einflussfaktoren für die Architektur von Java EE-Applikationen und können sinnvolle Softwarearchitekturen für verschiedene Projektszenarien erstellen. Themen − − − − Aufbau und Bestandteile der Java EE-Plattform Aufgaben eines Java EE-Applikationsservers Referenzarchitekturen für verschiedene Projektszenarien Java EE-Patterns Lehrmittel − − Skript, das alle wesentlichen Lerninhalte umfasst Real World Java EE Patterns-Rethinking Best Practices (siehe [5]) Study Guide CAS EADJ 8/11 9 Kompetenznachweise Für die Anrechnung der 12 ECTS-Punkte ist das erfolgreiche Bestehen der Qualifikationsnachweise (Prüfungen, Projektarbeiten) erforderlich, gemäss folgender Aufstellung: Kompetenznachweis Gewicht Art der Qualifikation Erfolgsquote Studierende Data Tier 1.5 Schriftliche Prüfung 0 – 100 % Business Tier 2.0 Schriftliche Prüfung 0 – 100 % Web Services 1.5 Schriftliche Prüfung 0 – 100 % Client Tier 1.5 Schriftliche Prüfung 0 – 100 % Architektur und Design 1.5 Schriftliche Prüfung 0 – 100 % Projekt 2.0 Software-Entwicklung 0 – 100 % Gesamtgewicht 10.0 0 – 100 % A-F ECTS Note Alle Studierenden können in einem Qualifikationsthema eine Erfolgsquote von 0 bis 100% erarbeiten. Die gewichtete Summe aus den Erfolgsquoten pro Thema und dem Gewicht des Themas ergibt eine Gesamterfolgsquote zwischen 0 und 100%. Die Gesamterfolgsquote wird in eine ECTS Note A bis E umgerechnet, gemäss Studienreglement. Weniger als 50% Gesamterfolgsquote ergibt eine ungenügende Note F. 10 Ergänzende Lehrmittel Ergänzende Lehrmittel sind Empfehlungen, um den Stoff zu vertiefen oder zu erweitern. Die Beschaffung liegt im Ermessen der Studierenden: Nr Titel Autoren Verlag Jahr ISBN Nr. [1] Pro JPA 2: Mastering the Java Persistence API Merrick Schincariol, Apress Mike Keith 2009 ISBN: 9781430219569 [2] Enterprise JavaBeans 3.1: Developing Enterprise Java Components Andrew Lee Rubinger O'Reilly 2010 ISBN: 9780596158026 [3] Java Web Services: Up and Running Martin Kalin O’Reilly 2013 ISBN: 9781449365110 [4] ng-book: The Complete Book on AngularJS Ari Lerner Fullstack io 2013 ISBN: 9780991344604 [5] Real World Java EE PatternsRethinking Best Practices Adam Bien Lulu (Print on Demand) 2012 ISBN: 9781300149316 Study Guide CAS EADJ 9/11 11 Dozierende Vorname Name Firma E-Mail Stephan Fischli BFH / ISC-EJPD [email protected] Simon Martinelli simas GmbH [email protected] Peter Andres Informatik Service Center EJPD [email protected] Jonas Bandi Ivory Code GmbH [email protected] 12 Organisation CAS-Leitung: Prof. Dr. Stephan Fischli Tel: +41 31 848 32 74 E-Mail: [email protected] CAS-Administration: Andrea Moser Tel: +41 31 84 83 211 E-Mail: [email protected] 13 Termine Daten: KW 43 2016 bis KW 11 2017 Montag, von 08:30 bis 16:15 Uhr Mittwoch, von 16:30 bis 19:45 Uhr Stundenplan siehe Webseite "Durchführungsdaten" Details Study Guide CAS EADJ 10/11 Dokumenteninformation Study Guide CAS EADJ 2016-08-10 Die Inhalte und Angaben in diesem Study Guide können sich bis zum Studienstart noch verändern. Berner Fachhochschule Technik und Informatik Weiterbildung Wankdorffeldstrasse 102 CH-3014 Bern Telefon +41 31 848 31 11 Email: [email protected] → ti.bfh.ch/weiterbildung → ti.bfh.ch/cas-eadj Study Guide CAS EADJ 11/11