In Zukunft wird Jakarta EE höchstwahrscheinlich nicht mehr mit Namespace javax Hand in Hand gehen - zumindest wenn man von der Entwicklung der API spricht. Das schlug wie eine Bombe bei der Java Enterprise Community ein auf der Jax-Woche. Was sind die alternativen zu Namespace? Wie geht es weiter? Viele Fragen sind offen. Tanja Obradovic, Program Manager von der Eclipse Foundation, gab uns hierzu ein Interview.
Lernen, Probleme lösen und Softwareentwicklung haben eine ganze Reihe von gemeinsamen Eigenschaften. All diese Dinge benötigen eine ordentliche Portion Gehirnschmalz. Wie wir es schaffen, mit gehirngerechten Methoden unser (Entwickler-)Leben einfacher zu machen, verrät uns Jens Bendisposto (Senior Consultant bei INNOQ und Sprecher auf der JAX 2019) im Interview.
In jedem Unternehmen gibt es große Softwaresysteme, die über viele Jahre weiterentwickelt wurden und deren Wartung Jahr für Jahr immer zäher und teurer wird. Vor dem Hintergrund neuer Architekturparadigmen wie Microservices sollen diese Systeme nun modern, skalierbar und flexibel werden. Dabei ist die Hoffnung, dass man sich der großen, schwerfälligen Monolithen entledigen kann, indem man sie in kleinere, besser zu beherrschende Microservices zerlegt.
Java verharrte bislang beim switch-case-Konstrukt sehr bei den uralten Wurzeln aus der Anfangszeit der Programmiersprache und den Kompromissen im Sprachdesign, die C++-Entwicklern den Umstieg erleichtern sollten. Relikte wie das break und bei dessen Fehlen das Fall-Through waren wenig intuitiv und luden zu Fehlern ein. Zudem war man beim case recht eingeschränkt bei der Notation der Werte. Das alles ändert sich glücklicherweise mit Java 12. Dazu wurde die Syntax leicht modifiziert und erlaubt nun die Angabe einer Expression sowie mehrerer Werte beim case. Auf diese Weise lassen sich Fallunterscheidungen deutlich eleganter formulieren.
Die Auftrennung des historisch gewachsenen Monolithen in eine Unmenge von Microservices scheint heute Pflicht. Wirklich unabhängig sind die Services am Ende allerdings nur dann, wenn die Trennung konsequent auf allen Ebenen vollzogen wird. Nicht nur den Code, sondern auch die Datenbank gilt es zu trennen. Willkommen in der Wunderwelt der verteilten Transaktionen.