Blog

Alle Beiträge mit dem Tag JPA

JVM-Con-Logo

Unser Kotlin-Workshop auf der JVM-Con 2018

Zeit und Ort des Workshops: JVM-Con in Köln, 28.11.2018, 9:00 bis 13:00 Uhr. Siehe auch: Eintrag im Konferenz-Programm

Kotlin – die neue beste Programmiersprache für die Java Virtual Machine (JVM). Wirklich?

Versprechungen macht die Programmiersprache aus dem Hause JetBrains viele. Es ist die Rede von einer nahezu perfekten Interoperabilität mit Java, signifikant weniger Boilerplate-Code und besserer Skalierbarkeit, um nur einige der Vorteile zu nennen.

Hält Kotlin, was es verspricht?
weiterlesen

Prozess- und Business-Daten Hand in Hand mit Camunda und JPA

Typischerweise läuft ein automatisierter Geschäftsprozess nicht zum Selbstzweck, sondern erwirtschaftet Daten, die länger relevant sind als die eigentliche Prozessinstanz. Beispiel Buchbestellung: Während der Laufzeit des Bestellprozesses benötigen wir sowohl Informationen aus dem Prozess (Was ist als nächstes zu tun? Wer soll dies tun?) als auch Informationen aus der Domäne (Welcher Kunde hat bestellt? Was ist die zu zahlende Summe? Ist der Artikel auf Lager?) Wir haben es also mit flüchtigen Daten zu tun, die rein prozessablaufbezogen sind und persistenten Daten, die in Drittsystemen (Warenwirtschaft, Rechnungswesen, Reporting, …) verwendet werden sollen.

Es stellt sich daher grundsätzlich die Frage, wo wir diese Daten speichern.
weiterlesen

EJB 3.1 professionell: Expertenwissen aus erster Hand

EJB 3.1 professionell

EJB 3.1 professionell

Als Nachfolger zu unserem erfolgreichen Buch „EJB 3 professionell“ erschien unlängst die zweite, aktualisierte und erweiterte Auflage „EJB 3.1 professionell – Grundlagen- und Expertenwissen zu Enterprise Java Beans 3.1“.

Wie schon beim Vorgänger taten sich auch dieses Mal einige unserer Kollegen von Holisticon zusammen, um ihr Wissen und ihre Praxiserfahrung in das Buch einfließen zu lassen. Unter ihnen ein Mitglied der EJB 3.1 Expert Group sowie Mitglieder der Expert Groups zu den kommenden Spezifikationen von EJB und CDI. Aber auch (oder gerade?) die vielen wertvollen Anmerkungen der Leser des Vorgängers sind in das Buch eingeflossen – danke an dieser Stelle noch einmal für die eingegangenen Hinweise.

Über EJB 3.1 hinaus liefern die Autoren fundierten Einblick in die Java Persistence API 2.0 – der Persistenzstandard für die gesamte Java-Plattform (Java SE und EE). Abgerundet wird das Buch durch projektrelevante Themen wie Contexts and Dependency Injection (CDI), Sicherheit und Softwaretest. Das Themenspektrum und viele Praxishinweise sowie Checklisten machen das Buch nicht nur zum Grundlagenwerk, sondern auch zum ständigen Begleiter und Nachschlagewerk im Projekteinsatz.

Weitere Informationen finden Sie auf der Verlagsseite.

Der Quelltext zum Beispiel findet sich hier.

Ein Blocker in Hibernate

Die JPA (Java Persistence API) ist seit geraumer Zeit eine der innovativsten Neuerungen in der Enterprise-Java-Welt. Geprägt durch verschiedene Technologien sind viele elegante Lösungen für wiederkehrende Problemstellungen in eine Spezifikation eingeflossen. Hibernate ist eine sehr verbreitete Open-Source-Lösung, die die JSR-220 und JSR-317 implementiert. Eine essentielle Verbesserung von JPA gegenüber J2EE Entity Beans ist die Unterstützung von Vererbung. Zum Bedauern vieler Entwickler existiert jedoch in Bezug auf Vererbung ein schwerwiegender Bug in Hibernate, welcher zwar bereits bekannt ist, aber leider nicht korrigiert wurde, obwohl die Lösung dafür bereits existiert.

weiterlesen

Persistenz, Transaktionsgrenzen und Optimistische Locking-Strategie

Die erste Regel der verteilten Systeme lautet: verteile nicht die Systeme. In der Tat kann die Architektur eines monolithischen Systems auf wesentliche komplexe Fragestellungen verzichten, die in der Architektur des verteilten Systems eine entscheidende Rolle spielen. Manche funktionale Anforderungen lassen sich jedoch nur sehr schwer in einem monolithischen System realisieren, so dass eine verteilte mehrschichtige Anwendung mit einem Server und einem (Rich-) Client entsteht. Eine mögliche, nicht seltene Variante ist die Bereitstellung von Funktionalität über eine Serviceschicht, die vom Client aus benutzt wird. Der Entwurf von funktionalen Service-Schnittstellen ist ein wichtiger Schritt in der Entwicklung der Mehrschichtanwendung. Auch für den Aufbau der serviceorientierten Architektur ist die Frage des Schneidens der Services von zentraler Bedeutung. Es ist ein Balanceakt zwischen fein- und grobgranular, zustandslos und zustandbehaftet, synchron und asynchron, transaktional und fire-and-forget.

Architektur

Ein nicht-untypisches Design einer Mehrschichtapplikation ist mit einem Boundary-Control-Entity Architekturpattern beschrieben.
weiterlesen