Die Version 6 der Java Enterprise Edition steht kurz vor der Verabschiedung. Viele Stimmen sagen, dass die darin enthaltenen Technologien nunmehr nahezu ausgereift und alle Erwartungen erfüllt seien. Es werden die neuen Features insbesondere in den Bereichen Enterprise JavaBeans, Webanwendungen, Java Persistence und Webservices beleuchtet. Die anschließende Diskussion kann zeigen, ob die anfangs angesprochenen Vorschusslorbeeren gerechtfertigt sind und ob die Wunschliste tatsächlich vollständig abgearbeitet wurde.
EJB 3.1
- Session Beans ohne local Interface
- Singletons, Timer
- Session Bean Methoden asynchron
Servlet 3.0
- Ease of Development
JSF 2.0
- Ohne faces-config.xml?
JPA 2.0
- Weitere Mapping-Optionen
- Relationsfelder im Primärschlüssel
Durch die Java EE 5 ist es gelungen, die Komplexität der Entwicklung von Enterprise-Anwendungen drastisch zu reduzieren und mächtige Defaults zur Verfügung zu stellen. Entwickler sollen mit Hilfe der Java EE 5 Software Web Services und SOA-Applikationen (Service-oriented Architecture) der nächsten Generation erstellen. Neuen Techniken, wie die APIs Enterprise JavaBeans 3.0 (EJB) und JavaServer Faces sowie das Java Persistence API und das "Java API for XML-based Web Services" (JAX-WS), sollen die Entwicklung von Web- und Unternehmensapplikationen beschleunigen.
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
Kurzbeschreibung
Softwarequalität ist keine Spracheigenschaft. In jeder noch so guten Programmiersprache kann man schlechte Programme schreiben – sogar in Java. Herr Seekamp, Senior Consultant bei der GEDOPLAN GmbH, macht in diesem Vortrag anhand von Fallbeispielen aus seinen Projekten deutlich, was verständlichen und wartbaren Code ausmacht, welche Regeln man dafür beherzigen sollte und welche Analysewerkzeuge dabei unterstützen können.
Inhalt
Regeln für guten Java-Code
Statische Code-Analyse
Refactoring
Werkzeuge zur Sicherung der Qualität
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
Kurzbeschreibung
Automatische Softwaretests rücken immer mehr in den Mittelpunkt. Gerade die derzeit vielfach eingesetzten agilen Vorgehensweisen benötigen ein teamübergreifendes und reproduzierbares Verfahren zur Sicherung der Softwarequalität. In diesem Vortrag legt Dirk Weil, Geschäftsführer der GEDOPLAN GmbH aus Bielefeld, das Augenmerk auf die Werkzeuge, die in Java-Projekten zum fortlaufenden Build und Test von Software genutzt werden können. Anhand einiger Praxisbeispiele zeigt er den Aufbau und Betrieb einer Continuous-Integration-Umgebung, die GEDOPALN für Softwareprojekte betreibt. Dozent: Dirk Weil, Gedoplan
Inhalt
- Grundlagen und Motivation automatischer Softwaretests
- Testziele und Verfahren (Unit-Tests, Regressionstests, Akzeptanztests etc.)
- Build- und Testautomatisierung
- Beispielumgebung auf Basis von Ant, Maven, Subversion und Hudson
- Code-Analyse
- Extreme Feedback
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
Kurzbeschreibung
Beschreibung: Mit der Veröffentlichung von iPhone, iPod Touch sowie iPad und dem iPhone OS hat Apple den Markt für mobile Endgeräte massenfähig gemacht. Google liefert mit dem Android-Betriebssystem ebenfalls eine stetig wachsende Plattform. Einer der Erfolgsfaktoren ist der auf beiden Systemen verfügbaren Browser "Mobile Safari" bzw. die technologische Basis WebKit. Diese freie HTML-Rendering-Bibliothek wird nicht nur von Apple und Google eingesetzt, sondern auch von anderen Unternehmen, wie Nokia, Adobe und Blackberry verwendet. Dozent: Peter Hecker, GFU Cyrus AG
Inhalt
- Einführung und Motivation
- Die WebKit-Plattform
- Überblick "mobile" Frameworks
- Zusammenfassung und Fazit
Durch die Java EE 5 ist es gelungen, die Komplexität der Entwicklung von Enterprise-Anwendungen drastisch zu reduzieren und mächtige Defaults zur Verfügung zu stellen. Entwickler sollen mit Hilfe der Java EE 5 Software Web Services und SOA-Applikationen (Service-oriented Architecture) der nächsten Generation erstellen. Neuen Techniken, wie die APIs Enterprise JavaBeans 3.0 (EJB) und JavaServer Faces sowie das Java Persistence API und das "Java API for XML-based Web Services" (JAX-WS), sollen die Entwicklung von Web- und Unternehmensapplikationen beschleunigen.
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
Kurzbeschreibung
Softwarequalität ist keine Spracheigenschaft. In jeder noch so guten Programmiersprache kann man schlechte Programme schreiben – sogar in Java. Herr Seekamp, Senior Consultant bei der GEDOPLAN GmbH, macht in diesem Vortrag anhand von Fallbeispielen aus seinen Projekten deutlich, was verständlichen und wartbaren Code ausmacht, welche Regeln man dafür beherzigen sollte und welche Analysewerkzeuge dabei unterstützen können.
Inhalt
Regeln für guten Java-Code
Statische Code-Analyse
Refactoring
Werkzeuge zur Sicherung der Qualität
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
Kurzbeschreibung
Automatische Softwaretests rücken immer mehr in den Mittelpunkt. Gerade die derzeit vielfach eingesetzten agilen Vorgehensweisen benötigen ein teamübergreifendes und reproduzierbares Verfahren zur Sicherung der Softwarequalität. In diesem Vortrag legt Dirk Weil, Geschäftsführer der GEDOPLAN GmbH aus Bielefeld, das Augenmerk auf die Werkzeuge, die in Java-Projekten zum fortlaufenden Build und Test von Software genutzt werden können. Anhand einiger Praxisbeispiele zeigt er den Aufbau und Betrieb einer Continuous-Integration-Umgebung, die GEDOPALN für Softwareprojekte betreibt. Dozent: Dirk Weil, Gedoplan
Inhalt
- Grundlagen und Motivation automatischer Softwaretests
- Testziele und Verfahren (Unit-Tests, Regressionstests, Akzeptanztests etc.)
- Build- und Testautomatisierung
- Beispielumgebung auf Basis von Ant, Maven, Subversion und Hudson
- Code-Analyse
- Extreme Feedback
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
Kurzbeschreibung
Beschreibung: Mit der Veröffentlichung von iPhone, iPod Touch sowie iPad und dem iPhone OS hat Apple den Markt für mobile Endgeräte massenfähig gemacht. Google liefert mit dem Android-Betriebssystem ebenfalls eine stetig wachsende Plattform. Einer der Erfolgsfaktoren ist der auf beiden Systemen verfügbaren Browser "Mobile Safari" bzw. die technologische Basis WebKit. Diese freie HTML-Rendering-Bibliothek wird nicht nur von Apple und Google eingesetzt, sondern auch von anderen Unternehmen, wie Nokia, Adobe und Blackberry verwendet. Dozent: Peter Hecker, GFU Cyrus AG
Inhalt
- Einführung und Motivation
- Die WebKit-Plattform
- Überblick "mobile" Frameworks
- Zusammenfassung und Fazit
The article "JDK 9 und die Plattformmodularisierung - Die Stichsäge kommt voran" was published in the German Javamagazin 1.2016 and describes the current snapshot of project Jigsaw with the Java platform modularization in the JDK 9 early access release build 83. Examples of the current tool set are included, like jdeps, jimage and jlink as of JDK 9 EA b83. Please be aware of newer JDK 9 early access release builds and the changed proposed JDK 9 release schedule. The proposed date for JDK 9 general availability should be expected in late march 2017 but always check first JDK 9 release schedule at http://openjdk.java.net/projects/jdk9/
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
In agilen Projekten ist funktionierende Software wichtiger als ausufernde Dokumentation. Durch kurze Entwicklungszyklen (Iterationen) werden den Anwendern schon während der Entwicklung Teilpakete der geplanten Softwarelösung mit einem sinnvollen Funktionsumfang bereit gestellt. In agilen Projekten ist die flexible Reaktion auf Änderungen der Anforderungen wichtiger als ein starrer Projektplan. Agilität bei der Entwicklung erfordert aber auch Agilität bei der Beschreibung der funktionalen Anforderungen (Requirements Engineering). Use Case-Modelle eignen sich hervorragend für diese Aufgabe. Durch dieses Vorgehen ist es möglich, Wünsche der Anwender, geänderte Rahmenbedingungen und Erfahrungen aus der bisherigen Entwicklung in der Realisierung zu berücksichtigen. Reinhard Brüggemeyer, Dozent dieses "Treffpunkt Semicolon", zeigt, warum in agilen Projekten der Anwender und seine Aufgaben im Mittelpunkt stehen. Pro und Contra des agilen Vorgehens gegenüber dem klassischen Requirements Engineering werden diskutiert.
Das Build-Tool Apache Maven hält zunehmend Einzug in Projekte. Es ist aber mehr als "nur" ein Build-Tool. In seinem Vortrag „Automatischer Build mit Maven“ stellt Stefan Scheidt Maven vor und beleuchtet einige fortgeschrittene Themen.
The article "JDK 8 im Fokus der Entwickler" in German language should help to embrace Java SE 8 features by developers and adopting these capabilities to test new applications in an early phase for a proven runtime environment or running JDK 8 in enterprises.
Der JBoss AS 7 / EAP enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern.
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
Präsentation zu meinem Vortrag bei der EnterJS 2015.
ECMAScript 2015, der Standard, der als Grundlage für die Implementierung von JavaScript dient, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig, und neuere Browser setzen sie bis zu einem gewissen Grad bereits um. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES 2015 ausliefern, da es eben nicht alle relevanten Browser unterstützen. In diesem Vortrag erfahren Sie, wie sich heute schon mit Transpilern und Polyfills in ES 2015 entwickeln lässt und welche Vorteile das bietet. Anhand von Codebeispielen wird gezeigt, wie man proprietäre Lösungen wie RequireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicher macht.
The article "JDK 9 und die Plattformmodularisierung - Die Stichsäge kommt voran" was published in the German Javamagazin 1.2016 and describes the current snapshot of project Jigsaw with the Java platform modularization in the JDK 9 early access release build 83. Examples of the current tool set are included, like jdeps, jimage and jlink as of JDK 9 EA b83. Please be aware of newer JDK 9 early access release builds and the changed proposed JDK 9 release schedule. The proposed date for JDK 9 general availability should be expected in late march 2017 but always check first JDK 9 release schedule at http://openjdk.java.net/projects/jdk9/
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
In agilen Projekten ist funktionierende Software wichtiger als ausufernde Dokumentation. Durch kurze Entwicklungszyklen (Iterationen) werden den Anwendern schon während der Entwicklung Teilpakete der geplanten Softwarelösung mit einem sinnvollen Funktionsumfang bereit gestellt. In agilen Projekten ist die flexible Reaktion auf Änderungen der Anforderungen wichtiger als ein starrer Projektplan. Agilität bei der Entwicklung erfordert aber auch Agilität bei der Beschreibung der funktionalen Anforderungen (Requirements Engineering). Use Case-Modelle eignen sich hervorragend für diese Aufgabe. Durch dieses Vorgehen ist es möglich, Wünsche der Anwender, geänderte Rahmenbedingungen und Erfahrungen aus der bisherigen Entwicklung in der Realisierung zu berücksichtigen. Reinhard Brüggemeyer, Dozent dieses "Treffpunkt Semicolon", zeigt, warum in agilen Projekten der Anwender und seine Aufgaben im Mittelpunkt stehen. Pro und Contra des agilen Vorgehens gegenüber dem klassischen Requirements Engineering werden diskutiert.
Das Build-Tool Apache Maven hält zunehmend Einzug in Projekte. Es ist aber mehr als "nur" ein Build-Tool. In seinem Vortrag „Automatischer Build mit Maven“ stellt Stefan Scheidt Maven vor und beleuchtet einige fortgeschrittene Themen.
The article "JDK 8 im Fokus der Entwickler" in German language should help to embrace Java SE 8 features by developers and adopting these capabilities to test new applications in an early phase for a proven runtime environment or running JDK 8 in enterprises.
Der JBoss AS 7 / EAP enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern.
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
Präsentation zu meinem Vortrag bei der EnterJS 2015.
ECMAScript 2015, der Standard, der als Grundlage für die Implementierung von JavaScript dient, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig, und neuere Browser setzen sie bis zu einem gewissen Grad bereits um. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES 2015 ausliefern, da es eben nicht alle relevanten Browser unterstützen. In diesem Vortrag erfahren Sie, wie sich heute schon mit Transpilern und Polyfills in ES 2015 entwickeln lässt und welche Vorteile das bietet. Anhand von Codebeispielen wird gezeigt, wie man proprietäre Lösungen wie RequireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicher macht.
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Michael Kurz
Folien zum Vortrag Go Fullstack: Webanwendungen mit Java EE 6 bauen von Michael Kurz auf der W-JAX 2011 in München.
Die dazugehörenden Beispiele sind unter https://github.com/jsflive/mygourmet-ee zu finden.
Funktionale Reaktive Programmierung mit SodiumTorsten Fink
Reaktive Programmierung hat sich über RxJS in der Web-Entwicklung als Standardentwicklungsmuster etabliert. RxJS selber ist zwar sehr mächtig aber gleichzeitig auch sehr komplex und damit anfällig für Fehler, die aus Unverständnis entstehen. Alleine die Unterscheidung zwischen heißen, kalten und lauwarmen Strömen können einen Entwickler bei dem ersten Kontakt mit dem Framework nachhaltig verwirren.
Die funktionale reaktive Programmierung (FRP) stellt eine Variante reaktiver Programmierung dar. Sie basiert auf einem vergleichsweise kleinen und stringentem Satz an Basisoperationen und Kombinatoren. Diese ermöglichen es, komplexe GUI-Logik modular zu implementieren und dabei typische Fehlerklassen bei der GUI-Entwicklung auszuschließen.
In diesem Vortrag wird FRP anhand des Open-Source Frameworks Sodiums vorgestellt.
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickPhilipp Burgmer
Slides for my presentation at WebTechCon/IPC 2014.
Visit us at http://www.thecodecampus.de
Folien zu meinem Vortrag bei der WebTechCon/IPC 2014.
AngularJS verspricht, die Entwicklung moderner Single-Page-Webanwendungen radikal zu vereinfachen. Doch kann dieses Versprechen auch bei Anwendungen, die über eine Demoanwendung (To-do-App) hinausgehen, gehalten werden? In diesem Vortrag zeigen wir die Stärken und Schwächen von AngularJS anhand unserer Erfahrungen aus mehreren Projekten und unserer Schulungen. Wie meistert man den Einstieg? Was sind die Gefahren, und wie minimiert man sie? Ist AngularJS bereit für den Einsatz in großen Anwendungen? Wir geben Antworten. Zusätzlich geben wir einen Ausblick auf AngularJS 2.0, wie die bekannten Schwächen dort behoben werden sollen und was an Neuerungen zu erwarten ist.
Kurzbeschreibung
Über 16 Mio. Facebook User in Deutschland - alleine diese Zahl macht deutlich, dass Unternehmen mittlerweile am Web 2.0 und den Sozialen Medien nicht mehr vorbeikommen. Aber wie steigt man in das Thema ein und was muss man bedenken, wenn man mit seiner Firma, Marke oder Produkt in den Sozialen Medien aktiv werden will? Fragen, die Bert Branahl, Geschäftsführer ConsultM, Bielefeld in seinem Vortrag beantwortet. Dabei werden Beispiele aus der Praxis zeigen, was heute im Web 2.0 möglich ist.
Kurzbeschreibung
Softwareentwicklung braucht Profis. Wie aber definiert man einen "professionellen" Software-Entwickler ? Clean Code Development ist eine der ersten "Versuche", um diese Frage möglichst umfassend, technologieunabhängig und über die Bedürfnisse des Kunden hinaus zu beantworten.
Inhalt
Was ist ein professioneller Software-Entwickler
Professionlität
Qualität
Das CCD Werte-System
Prinzipien und Praktiken
Das Grad-System
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...GFU Cyrus AG
Kurzbeschreibung
Der Vortrag geht darauf ein, was Facebook & Co. mit den ihnen anvertrauten Daten macht. Er schafft ein Bewusstsein dafür, wie man selbst am besten mit seinen Daten im Internet umgeht.
Inhalt
Unendlich viele persönliche Daten werden heute bei Facebook und Co. eingegeben und dieses wird fast immer noch mit reichlich Bildmaterial untermauert.
Hier gibt es Fotos von Partys, aus dem Büro oder dem eigenen Garten.
Wir erzählen jedem der es Wissen will oder auch nicht dass wir ab nächste Woche im Urlaub, Offline oder untergetaucht sind.
Wozu werden diese Informationen eigentlich verwandt?
Wer kann sieaußerhalb der eigenen Community noch gebrauchen und warum?
Stehen wir somit häufig nicht vollkommen "nackt" in der Öffentlichkeit?
Der Vortrag zeigt Risiken aber auch Chancen des "Social Webs" auf und soll primär sensibilisieren, verantwortungsvoll mit persönlichen Daten umzugehen, egal ob es die Eigenen oder die von Dritten sind.
SharePoint 2010 - Was ist neu, was wird besser!GFU Cyrus AG
Microsoft Office SharePoint Server (MOSS) 2007 hat sich als ernstzunehmende Plattform für Portale, Collaboration und Content Management System (CMS) am Markt etabliert und gehört laut Gartner Group neben IBM WebSphere Portal Server und SAP NetWeaver Portal zu den Marktführer dieser Kategorie Software. Ab Mitte 2010 wird die nächste Version der Microsoft SharePoint Server (MSS) 2010 erscheinen. Nach dem schon hohen Grad Alltagstauglichkeit der Version 2007 folgt der Server 2010 mit vielen produktiven Verbesserungen. Diese sind im Bereich der Bedienbarkeit (Usability), der Administration und auch der Entwicklung zu finden.
* Vorstellung der neuen SharePoint Produktpalette (Server, Suche, Designer, Visio, InfoPath, Excel, Oberfläche, Workspace)
* Demonstration der neuen Administration - Konzeptionelle Änderungen zum Vorgänger
* Demonstration der neuen Web-Oberfläche (Ribbons)
* Demonstration des neuen SharePoint Designers (Wiederverwendbarkeit von Anpassungen)
* Zusammenfassung der weiteren Neuerungen
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...GFU Cyrus AG
Viele Unternehmen scheuen sich gerade in wirtschaftlich angespannten Zeiten verständlicherweise, eine Optimierung Ihres IT-Service Managements anzugehen. Diese paradoxe Situation liegt u.a. daran, dass die in der Praxis etablierten Methoden -aufgrund Ihres Umfangs und Ihrer scheinbaren Komplexität- als nahezu unüberwindbare Hindernisse empfunden werden. Gerne möchten wir Ihnen vorstellen, wie Sie durch schlanke und ergebnisorientierte Strukturen einen wertschöpfenden Betrieb Ihrer IT-Services sicherstellen und gerade in der heißen Phase der Implementierung organisatorische oder personelle Störungen vermeiden. Ergänzend möchten wir Ihnen einen Überblick zum Thema ISO 20.000 und die damit verbundene mögliche Erhöhung der Wettbewerbsfähigkeit Ihrer Organisation bieten.
Liferay Portal - ein Webportal für viele UnternehmensanforderungenGFU Cyrus AG
Liferay Portal ist eines der führenden Open Source Portalsysteme und wird verwendet, um eine Vielzahl innovativer Unternehmenslösungen zu betreiben, z.B. Mitarbeiter-, Vertriebs- Kunden- und Partnerportale, soziale Netzwerke, Workspaces zur Teamarbeit, Unternehmensintranets und öffentliche Websites - zu einem Bruchteil der Kosten properitärer Systeme. Darüber hinaus ermöglicht Liferay die innovative und einfache Integration von Backend-Systemen wie Finanzlösungen, CRM und ERP- Software in Kombination mit den bereits eingebauten Social, Collaboration und Web 2.0 Funktionen. Zahlreiche nationale und internationale Unternehmen setzen Liferay bereits ein (u.a. Lufthansa, Deutsche Post, Deutsche Telekom, BMW, Sparkasse KölnBonn, RWE, Vodafone, HanseMerkur Versicherungen) und es werden täglich mehr. Liferay - ein System auch für ihre Unternehmensanforderungen?
Webportale - Konzept, Vision und Realität. Eine Geschichte von Erfolg und Scheitern.
Liferay - ein Portal für alles? Der Herausforderer aus dem Open Source Lager.
Einsatzszenarien - Was geht? Was nicht? Und was auf gar keinen Fall?
Lifepräsentation - Ein Klick sagt mehr als 1000 Folien. Ein Walk-through durch die Keyfeatures von Liferay
1996 hat PostgreSQL seinen Kampf gegen kommerzielle Datenbanksysteme aufgenommen. Als Erbe des Datenbank Management Systems Ingres ist PostgreSQL (daher auch der Name, Post=nach, (in-)"gres") auf dem Weg immer mehr kommerzielle Datenbanksysteme auch im Highlevel Segment zu verdrängen. Mit dem Zusatz SQL verdeutlich PostgreSQL sein bestreben die SQL-ANSI-Normen umzusetzen. Vor allem im Hochschulbereich wird PostgreSQL Entwickelt und auch eingesetzt. Datenmengen von mehreren Milliarden Datensätzen pro Tabelle bewältigt PostgreSQL mit Leichtigkeit denn gerade im GIS (Geografischen Information Systemen) Umfeld sind solche Datenmengen unabdingbar.
PostgreSQL im Überblick
Einsatzgebiete
Erfahrungsberichte
Grenzen und Ausblicke
Erweiterungen rund um PostgreSQL
PostgreSQL im Einsatz (Praxisberichte)
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...GFU Cyrus AG
JSF (JavaServer Faces) ist seit 2004 der Standard für komponentenbasierte Webanwendungen. Anfangs nur belächelt und als Intranetlösung abgetan, ist JSF heute eine stabile Grundlage, auch für Webanwendungen im Internet. Seit Juni 2009 ist mit JSR 314 die Version 2.0 fertig spezifiziert. Dieser Vortrag von Robert Reiz gibt eine kurze Einführung in die Grundlagen, einen kurzen geschichtlichen Rückblick und eine Einführung in die neuen Features von JSF 2.0.
Grundlagen und Rückblick
Vorstellung von JSF 2.0
Fazit
Wieviel Web2.0 braucht Ihr Unternehmen?GFU Cyrus AG
Für die Generation Y (ab Ende der 1970er Jahre geborene) ist der Einsatz von Web2.0 Tools wie Blogs, Twitter, Wikis, Social Networks etc. eine absolute Selbstverständlichkeit. Wie aber können Unternehmen vom Social Web profitieren? Ist die Investition in Web2.0 bereits ein Muss, oder geht es auch Ohne? Wo sind die Risiken und wie kann ich Ihnen begegnen?
Übersicht und Kurzeinführung
Anwendungspotentiale
Herausforderungen
Fazit
Das Java-Spring-Framework in der PraxisGFU Cyrus AG
Die Java EE Plattform hat sich in der server-seitigen Anwendungsentwicklung mit Java durchgesetzt. Doch dieses Standardmodell basiert auf den Enterprise JavaBeans, die einen schwergewichtigten Ansatz darstellen.
Mit dem Spring Framework gibt es jetzt eine so genannte "leichtgewichtige" Alternative.
Hierbei werden ausschließlich POJO (Plain Old Java Object) Objekte verwendet und die verwendeten Dienste der Java EE Plattform wie z.B. der Transaktionsdienst nur deskriptiv konfiguriert.
Der Vorteil liegt in der einfachen Entwicklung sowie der robusten Testbarkeit der Anwendung.
Einsatzmöglichkeiten des Spring Frameworks
Das Spring Framework
Tool Unterstützung für die Anwendungsentwicklung
Spring AOP
Spring und JDBC
Testen mit Spring
Spring und Java Standards
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungGFU Cyrus AG
In einer Vielzahl von GFU-Kursen wurde bereits die UML-Notation vermittelt. Von praktischem Interesse ist jedoch die Umsetzung im Rahmen einer GPA/OOA/OOD, um eine Umsetzung in modernen objektorientierten Programmiersprachen zu ermöglichen.
Im Rahmen dieses Vortrages wird die Anwendung der UML am Fallbeispiel einer Software zur Seminarverwaltung unter Verwendung von agilen Methoden beschrieben. Im Fokus steht dabei, den objektorientierten Ansatz der Softwareentwicklung zu verdeutlichen. Ausserdem soll die spezielle Sichtweise jedes UML-Diagramms auf die zu entwickelnde Software sowie die Zusammenhänge der Diagramme betont werden. Behandelt werden soll:
GPA/OOA mit Use Cases
GPA/OOA mit Aktivitätsdiagrammen
OOA Objekt- und Klassendiagramme
OOD Klassendiagramme
OOD Zustandsdiagramme
OOD Sequenzdiagramme
Damit in Zusammenhang werden agile Konzepte vorgestellt:
der ideale Kunde & der ideale Programmierer
Methoden der Entwicklung: Scrum, TDD, FDD
OOA Anwendungsfälle mit Story Cards
OOA Risk/Value Priorisierung und Planning Poker
OOA/D Ermittlung der Klassen mittels CRC-Kartenmethode
OOP Pair-Programming
OOP Continuous Integration
Unternehmen entwickeln, produzieren und vertreiben ihre Produkte weltweit. Somit ist auch die Entstehung und Nutzung von Wissen in Unternehmens nicht mehr auf einen Standort beschränkt. Wissensmanagement hilft hohe Reisekosten zu reduzieren, indem die Experten des Unternehmens in Wissensnetzwerken organisiert werden und standortverteilt koordiniert zusammenarbeiten können. Innovative lokale Lösungen werden im ganzen Unternehmen weitergegeben. Informationen zu neuen Verfahren oder erkannten Problemen werden schnell an alle betroffenen Mitarbeiter weitergeleitet. So können z.B. teure Rückrufaktionen vermieden und die damit verbundenen Imageschäden abgewendet werden.
Ein hoher Ausbildungsstand und lebenslanges Lernen der Mitarbeiter sind entscheidend für die erfolgreiche Erzeugung komplexer Produkte und Dienstleistungen. Wechseln jedoch hochqualifizierte Mitarbeiter in eine andere Abteilung oder verlassen das Unternehmen, kann dies problematisch werden. Wissensmanagement hilft, das Wissen wechselnder oder ausscheidender Mitarbeiter zu bewahren.
Was ist Wissensmanagement
Wissensbasen
Wissenswegweiser
Wissensstafette
Wissensnetzwerke
Kompetenzmanagement
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...GFU Cyrus AG
Der Erfolg von Softwareentwicklungsprojekten hängt maßgeblich von einer guten Anforderungsanalyse ab. Je später Konzeptionsfehler erkannt werden, desto höher sind die Kosten der erforderlichen Korrekturen. Wir stellen in diesem Vortrag dar, wie durch eine strukturierte und dabei nicht zu formale Vorgehensweise frühzeitig sichergestellt werden kann, dass die später entwickelte Anwendung den Wünschen des Auftraggebers entspricht und zudem eine verlässliche Basis für die Einschätzung des Entwicklungsaufwands entsteht.
Im Vortrag verdeutlichen wir die Vorgehensweise an dem Beispiel einer Konzeption eines Systems zur Betriebsdatenerfassung und Leistungsentlohnung. Mit einem Mix aus Office- und UML-Werkzeugen konnte hier in kurzer Zeit ein gemeinsames Verständnis mit der Fachabteilung des Kunden erreicht werden und die formale Basis für die nachfolgende Realisierung des Systems geschaffen werden.
Auswahl von Werkzeugen aus dem Office- und Modellierungsumfeld
Halbformale Beschreibung von Anwendungsfällen
Erstellung eines fachlichen und technischen Glossars
Komponentenmodellierung mit UML
Entwicklung eines Anwendungs-Prototyps
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGFU Cyrus AG
Microsoft Office SharePoint Server und Co. sind in der Unternehmens-IT angekommen. Kein anderes Produkt und Technologie der Firma Microsoft wird zurzeit so stark nachgefragt, evaluiert und natürlich auch eingesetzt.
Die Gründe dafür sind vielseitig: Angefangen von der zentralisierten Dokumentablage (DMS), über webbasierte Zusammenarbeit (Collaboration) oder auch als Internet-/Intranetplattform (CMS) bietet er ein Menge Grundfunktionalität.
Aber SharePoint kann noch mehr. In der Kombination mit BizTalk lassen sich die existierenden IT-Systeme integrieren und Geschäftsprozesse automatisieren.
Automatisierung von Geschäftsprozessen mit IT
Herausforderungen verteilter Systeme
Anforderungen zum Einbinden von Menschen
BizTalk: Prozess- und Integrationsplattform
Vorteile von BizTalk
"Dream-Team" Sharepoint, InfoPath, BizTalk
Lösung für verschiedene Herausforderungen
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...GFU Cyrus AG
Kennen Sie das auch:
Das Leitertreffen der Projektgruppen "Neue Produktentwicklungen XYZ" ist angesagt. Heute nennt man das "Meilenstein" oder Statusbesprechung, manchmal auch KVP Meeting. Sie suchen in Ihren Dateien den Maßnahmenplan und siedend heiß fällt Ihnen ein, daß Ihre Gruppenmitglieder noch immer nicht alle notwendigen Informationen gemeldet bzw. eingetragen haben. Streß bricht aus und parallel überlegen Sie sich vorsorglich, womit Sie die diversen Lücken und nicht eingehaltenen Termine begründen können.
Als Sie zu dem vereinbarten Termin eintreffen, geht es erstmal nur um diejenigen, die nicht oder verspätet kommen. Während der Besprechung aller Projektleiter können Sie noch vor Ihrem Part aufatmen: den anderen geht es auch nicht besser! Auch sie haben sich nicht an die getroffenen und schriftlich dokumentierten Inhalte und Termine gehalten.
So - oder ähnlich - finden jeden Tag tausende von Projekt besprechungen statt. Die Folge: Terminverschiebungen - oft mehrfach, überzogene Budgets, mangelnde Akzeptanz von Projektgruppenergebnissen und die Kosten steigen und steigen und steigen..!
Aber: es gibt es einige, die können Projekte sehr erfolgreich gestalten. Immer wieder! Was machen diese Projektteams anders, was zeichnet sie aus und kann man von ihnen lernen und das auf die eigene Arbeitssituation übertragen?
Spezielle Merkmale der Projektarbeit
- Einmaligkeit der Aufgabe
- Komplexität
- Beteiligung verschiedenster Unternehmensbereiche, von Fachexperten und ggf. von Kunden
- Begrenzte Ressourcen (Kosten und Zeit)
Spezielle Ablauf- und Aufbauorganisation
- Teamarbeit - Toll - Ein Anderer Macht`s
- Rolle des Projektleiters und der Auftraggeber
Akzeptanz von Projekten
- Verbindlichkeit aller Beteiligten
- Kommunikation nach innen und außen
- Qualitätssicherung in Projekten
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...GFU Cyrus AG
Zum heutigen Zeitpunkt besteht ein noch weitgehend unverteilter Markt für standardisierte Versicherungskernanwendungen mit viel Potenzial für die Zukunft. Welche Anbieter kann der deutschen Versicherungswirtschaft mit standardisierten und industrialisierten Verfahren und Produkten helfen, damit sie im schwieriger gewordenen Markt der Finanzdienstleistungen erfolgreich bleibt.
Ausgangsituation
- Zentrale Herausforderungen
- Versicherer unter Druck
Kosten
- Prozesse
- Verdrängungswettbewerb
Paradigmenwechsel
- Industrialisierung
Standardsoftware / Kernanwendungen
- Anbietervergleich (ICIS/COR/SAP/FJA)
Marktaufteilung
pen Source Software hat sich in vielen Bereichen der IT-Architektur und insbesondere im Umfeld der Systemsoftware etabliert.
Mit der Hilfe eines Learning Management System (LMS) bzw. "Lernplattform" können Lerninhalte als reine Online-Kurse oder als Bestandteil von Blended Learning Konzepten zur Verfügung gestellt werden. Neben der reinen Wissensverwaltung ermöglichen Lernplattformen die Administration der Teilnehmer, sie bieten Möglichkeiten der Kooperation, der Kommunikation und der Wissensstanderhebung.
Technische Basis für den weltweiten Einsatz dieser Systeme sind typischerweise browserbasierte Web-Anwendungen. Neben kommerziellen Anbietern gibt es eine Reihe von freien Lösungen zur Auswahl. Die Open Source Software "moodle" gehört hierbei zu den populärsten Anwendungen dieser Art.
Das Business Problem: Gründe für den Einsatz einer Lernplattform
Die Auswahl der Software: Was spricht für bzw. gegen den Einsatz freier LMS
Die Bausteine von "moodle": Plattform, Komponenten und Begrifflichkeiten
Die Plattform im Einsatz: Unterstützung des internationalen Marketing
Die Erweiterungen im Überblick: LDAP, Repository, Conferencing, Whiteboard
Ausblick und Fazit
LINQ - Einheitlicher Datenzugriff in .NETGFU Cyrus AG
Auch mit Objektorientierung gibt es immer noch eine große Kluft zwischen Programmen, die in einer Hochsprache geschrieben wurden und den Daten, die diese Programme bearbeiten.
In Hochsprachen wie C# oder VB verwenden Entwickler spezialisierte Datentypen, Objekte, Methodenaufrufe und hochgradig optimierte Compiler, während beim Datenzugriff alles auf ein paar Strings reduziert wird, die SQL-Abfragen beinhalten.
Entwickler arbeiten hierbei mit zwei total unterschiedlichen Paradigmen (Syntax von SQL und der bevorzugten Programmiersprache) sowie Typsystemen und konvertieren also ständig Daten zwischen zwei verschiedenen Domänen. Diese Unstimmigkeit ist Ursache für menschliche Fehler und verschwendet Zeit.
LINQ ist Microsoft Antwort auf dieses Dilemma. Die Veranstaltung zeigt die Konzepte und Möglichkeiten der neuen .NET-Schnittstelle.
Die Idee hinter LINQ
Die verschiedenen Varianten
- LINQ to Objects
- LINQ to SQL
- LINQ to DataSet
- LINQ to XML
- LINQ to Entity
- LINQ to .....
Kurze Syntax-Übersicht
Praktische Beispiele LINQ To Objects
Kurz-Video LINQ to SQL
Fazit und Ausblick
Java oberflächlich betrachtet - Welche GUI ist die richtige?GFU Cyrus AG
Für die Entwicklung neuer Software gilt es bei der Wahl der Benutzeroberfläche (engl. GUI) einiges zu bedenken: Benutzerfreundlichkeit, technische Zuverlässigkeit, Geschwindigkeit, Verteilbarkeit und nicht zuletzt Wirtschaftlichkeit. Zusätzlich kommen immer komplexere, Desktop-ähnliche Anforderungen auf die GUI-Architektur und -Entwicklung zu.
Herr Weil diskutiert in diesem Treffpunkt die folgenden Fragestellungen und gibt Hilfestellungen für die Wahl der geeigneten Vorgehensweise:
Welche Architekturanteile werden in Java-Anwendungen genutzt?
Webanwendung oder Rich Client?
Wie hält man Rich Clients aktuell?
Welche Web-Techniken wie z.B. AJAX und GWT können sinnvoll eingesetzt werden?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Neue Features der Java EE 6
1. g GFU Cyrus AG
Ihr Partner für IT Schulung
"Semicolon" Vortragsreihe bei der GFU
Vortrag am Dienstag, 09. Juni 2009
Thema
Die Leichtigkeit der Softwareentwicklung
Stärken und Schwächen der neuen Spezifikation Java EE 6
Einführung
Peter Hecker, GFU Cyrus AG
Vortrag
Dirk Weil, GEDOPLAN GmbH
2. Entwicklung von Informationssystemen
29 Jahre am Markt
~35 Mitarbeiter
Beratung und Entwicklung
Konventionelle und
GEDOPLAN
neue Technologien
Maßgeschneiderte Lösungen Objektorientierte Softwareentwicklung
Standardsoftware
SAP®
SOA Java .NET
3. Seit 1998 im Bereich Java:
50+ Beratungs- und Entwicklungsprojekte
Konzeption und Entwicklung
30+ Seminartitel
GEDOPLAN
Java / Java EE
Diverse App.-Server Objektorientierte Softwareentwicklung
Glassfish
IBM WebSphere
JBoss SAP®
Oracle WebLogic SOA Java .NET
SAP NetWeaver
7. Java Enterprise Edition
J2EE 1.4
schwergewichtig
viele XML-Descriptoren
Java EE 5
POJOs, IoC / DI
Configuration by Exception
Java-5-Annotationen statt XML
Java EE 6
Fortsetzung des Trends zur Einfachheit
Diverse "Wunscherfüllungen"
7
8. Servlet 3.0: Konfiguration mit Annotationen
Bisher Registrierung in web.xml
public class SimpleServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
{
…
<web-app>
<servlet>
<servlet-name>SimpleServlet</servlet-name>
<servlet-class>de.gedoplan.demo.SimpleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name>
<url-pattern>/demo/SimpleServlet</url-pattern>
</servlet-mapping>
…
8
9. Servlet 3.0: Konfiguration mit Annotationen
Registrierung per Annotation
@WebServlet(name="SimpleServlet",
urlPatterns={"/demo/SimpleServlet"})
public class SimpleServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
{
…
Auch für:
Init-Parameter
Servlet Filter
Context Listener
9
10. Aber: Servlets sind keine POJOs!
Servlet-Klasse implementiert HttpServlet
Alternative Jersey/JAX-RS
@Path("/demo/SimpleServlet"})
public class SimpleServlet
{
@Get
@Produces("text/plain")
public String getMessage()
{
return "Hello, world";
10
11. JSF 2.0: Konfiguration mit Annotationen
Bisher Deklaration von Managed Beans in faces-config.xml
public class DemoBean
{
private double steuerSatz = 0.19;
public double getSteuerSatz()
{
return steuerSatz;
}
<faces-config>
... <managed-bean>
<description>DemoBean</description>
<managed-bean-name>demoBean</managed-bean-name>
<managed-bean-class>de.gedoplan.demo.DemoBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
11
12. JSF 2.0: Konfiguration mit Annotationen
Deklaration von Managed Beans per Annotation
@ManagedBean(name = "demoBean")
@RequestScoped
public class DemoBean
{
private double steuerSatz = 0.19;
public double getSteuerSatz()
{
return steuerSatz;
}
...
12
13. JSF 2.0: Konfiguration mit Annotationen
Annotation auch für:
Managed Properties @ManagedProperty(value=”#{barBean}”)
private BarBean barBean;
Converter
Validatoren
Renderer
Lifecycle
13
14. JSF 2.0: faces-config.xml
ist optional
überschreibt Annotationen
weiterhin für
Anwendungsparameter wie Lokalisierung, Phase Listeners etc.
Navigationsregeln
14
15. EJB 3.1: No Interface Beans
Bis EJB 3.0: Obligatorisches Local oder Remote Interface
@Stateless
public class ArbeitsplatzDaoBean implements ArbeitsplatzDao
{
public void insert(Arbeitsplatz entity) { … }
public void update(Arbeitsplatz entity) { … }
…
@Local
public interface ArbeitsplatzDao
{
public void insert(Arbeitsplatz entity);
public void update(Arbeitsplatz entity);
…
Für rein interne Nutzung (Local!) lästig
15
16. EJB 3.1: No Interface Beans
Interfaces sind nun optional.
Wenn kein Interface deklariert:
Container stellt Referenz-Objekt (Proxy) zur Verfügung
Proxy enthält alle öffentlichen Methoden der Bean.
Proxy ist von der Bean-Klasse abgeleitet.
Nutzung (z.B.) aus anderen EJBs über den Typ der Bean-Klasse.
@Stateless
public class ArbeitsplatzDaoBean
{ @Stateless
public void insert(Arbeitsplatz entity) { … } class SomeOtherBean
public
public void update(Arbeitsplatz entity) { … }
{
… @EJB
private ArbeitsplatzDaoBean dao;
…
16
17. EJB 3.1: No Interface Beans
Erstellung des No-Interface-Referenzobjekts auch zusätzlich mit
@LocalBean
Achtung: Alle öffentlichen Methoden sind zugreifbar!
Aufruf nicht-öffentlicher Methoden wirft Exception.
17
18. EJB 3.1: Singletons
Genau eine Bean-Instanz pro JVM.
Neue Annotation für Session Beans: @Singleton.
@Singleton
public class SomeBean
{
…
18
19. EJB 3.1: Singletons
Lebenszyklus wird durch den Container gesteuert.
@Startup erzwingt
@Singleton
Instanziierung beim @Startup
Applikationsstart. public class A { … }
@DependsOn definiert @Singleton
public class B { … }
Abhängigkeiten für die
Instanziierung. @Singleton
@DependsOn("B")
public class C { … }
@Singleton
@Startup
@DependsOn({"A", "B"})
public class E { … }
19
20. EJB 3.1: Singletons
Unterstützt nebenläufigen Zugriff (Concurrent Access).
CMC (Container Managed Concurrency, Default)
Container kontrolliert und regelt den Zugriff.
Steuerung durch @READ und @WRITE (Default).
@AccessTimeout für Limitierung der Blockade.
BMC (Bean Managed Concurrency)
Entwickler muss synchronized, volatile etc. einsetzen.
20
21. EJB 3.1: Singletons
Concurrency Strategy: Beispiele
@Singleton
@ConcurrencyManagement(CONTAINER)
public class A { ... } @Singleton
@Lock(READ)
@Singleton public class D
@Lock(WRITE) {
public class B { ... } ...
@Singleton @Lock(WRITE)
@Lock(READ) public String sayBye() { ... }
public class C { ... } ...
}
@Singleton
@AccessTimeout(10000)
public class E { ... }
21
22. EJB 3.1: Singletons
Singletons sind statusbehaftet.
Status besteht bis zum Applikationsende (Shutdown/Undeploy).
Im Clusterbetrieb gibt es pro JVM eine Singleton-Instanz.
System Exceptions führen nicht zur Zerstörung.
22
23. EJB 3.1: Timer
Timer Service wurde von EJB 2.1 mit beschränkter Funktionalität
eingeführt:
Alle Timer müssen programmatisch erzeugt werden.
Unflexibles Scheduling der Timer.
Kein Cluster-Support.
23
24. EJB 3.1: Timer
Programmatische Instanziierung durch erweitertes Interface
TimerService.
Deklarative Instanziierung durch Annotationen.
Timer können persistent gehalten werden.
Timer sind nun cluster-fähig.
Nicht-persistente Timer 1 x pro JVM.
Persistente Timer 1 x pro Cluster.
24
25. EJB 3.1: Timer
@Schedule steuert Erzeugung und Intervalle.
@Schedule wird auf Timeout-Callback-Methoden angewandt.
@Stateless
public class TimerEJB
{
@Schedule(dayOfWeek="Mon")
public void itIsMonday(Timer timer) { … }
@Schedule(dayOfMonth="Last")
public void itIsEndOfMonth(Timer timer) {
… }
}
25
26. EJB 3.1: Timer
Eine Methode kann auch mit mehreren Timern ausgestattet werden
Umfangreiche Erweiterung der Schedule-Terminologie
// Every Tuesday at 7.30am
@Schedule(hour = "7", minute = "30", dayOfWeek = "Tue")
// From Monday to Friday, at 7, 15 and 20
@Schedule(hour = "7, 15, 20", dayOfWeek = "Mon-Fri")
// Every hour on Sundays
@Schedule(hour = "*", dayOfWeek = "0")
// Last Friday of December, at 12
@Schedule(hour = "12", dayOfMonth = "Last Fri", month="Dec")
// Three days before the last day of the month, for every month of 2009, at 8pm
@Schedule(hour = "20", dayOfMonth = "-3", year="2009")
// Every 5 minutes of every hour, starting at 3pm
@Schedule(minute = "*/5", hour = "15/1")
26
27. EJB 3.1: Asynchrone Session-Bean-Methoden
Session Beans unterstützen asynchronen Methodenaufruf.
Kontrolle wird dem Client zurückgegeben werden, bevor der
Container den Aufruf an die Bean-Instanz weiterleitet.
Es können vom Client parallele (nebenläufige) Prozesse angestoßen
werden.
27
28. EJB 3.1: Asynchrone Session-Bean-Methoden
Asynchrone Methoden werden durch die @Asynchronous
gekennzeichnet.
Sowohl Klassen, als auch Methoden können annotiert werden.
Rückgabe-Typ asynchroner Methoden:
void @Stateless
public class C implements CLocal { … }
Future<V>
@Local
public interface CLocal
{
@Asynchronous
public void flushBye();
}
28
29. JPA 2.0: Weitere Mapping-Optionen
Abbildung von Collections (ohne explizite Relation)
Neue Annotation dafür: @ElementCollection.
@Entity
public class Person
{
@ElementCollection
private Set<String> hobbies;
Auch nutzbar für einbettbare Elemente (@Embeddable).
Realisierung wie Relation mit Primärschlüssel-Join.
29
30. JPA 2.0: Weitere Mapping-Optionen
@Entity
public class Vehicle
Relationen auf einge- {
@Id
bettete Objekte int vehicleId;
@Embedded
PurchaseInfo purchaseInfo;
@Embeddable
public class PurchaseInfo …
{
int price;
@Temporal(DATE) @Entity
@Column(name=”PUR_DATE”) public class Dealer
Date purchaseDate; {
@Id
@ManyToOne int dealerId;
Dealer dealer;
@OneToMany(mappedBy=”purchaseInfo.dealer”)
… Collection<Vehicle> vehiclesSold;
…
30
31. JPA 2.0: Weitere Mapping-Optionen
Unidirectional One-to-Many mit einem Foreign Key
@Entity
public class Vehicle
{
@Id
private int vehicleId;
@OneToMany
private Set<Part> parts;
…
31
32. JPA 2.0: Relationsfelder im Primärschlüssel
In manchen Fällen, insbesondere bei der Integration von Alt-
Systemen (lagacy databases) ist es notwendig, Primärschlüssel mit
Fremdschlüssel einer anderen Tabelle zu realisieren…
32
33. JPA 2.0: Relationsfelder im Primärschlüssel
Beispiel:
public class ProjectId
{
@Entity String name;
@IdClass(ProjectId.class) int dept;
public class Project …
{ }
@Id
String name;
@Id
@ManyToOne
@JoinColumn(name=”D_ID”)
Department dept;
… @Entity
public class Department
{
@Id
int id;
…
33
34. Fazit
Trend zur Vereinfachung setzt sich fort
Annotationen statt XML
Configuration by Exception
Viele nützliche Erweiterungen
Singletons
Asnchrone Methoden
Timer
Lohnt sich!
34