JAVAPRO – DAS KOSTENLOSE MAGAZIN FÜR JAVA PROFIS

JETZT NEU – AUSGABE 3-2019:

Horror Serialisierung

06 NEUES IN JAVA 13
09 MASTERING THE API HELL
22 COLLECTIONS EFFEKTIVER DURCHSUCHEN MIT JAVA-8-STREAMS
37 WEB- UND DESKTOP-ANWENDUNG AUS EINER CODE-BASE
50 JAVA – ABER SICHER!
60 HORROR SERIALISIERUNG
72 NACHHALTIGE REPORT-ENTWICKLUNG MIT TDD
78 WAS DEVOPS WISSEN MÜSSEN
89 RESILIENZ DURCH ORGANIC-AGILITY

Einfach kostenlos anfordern. Lieferung erfolgt frei Haus. Nur innerhalb D. möglich.
Kein kostenpflichtiges Abo, denn die JAVAPRO kann man nicht kaufen!

Jetzt kostenlos anfordern

 

Containerbasierte Testautomatisierung

In Zeiten von Containern, Clustern, Build-Pipelines und DevOps ist ein hoher Grad an Automatisierung notwendig, um sich auf das Wesentliche zu konzentrieren: Das Softwareprodukt. Hierfür bietet die Open-Source- Welt eine Reihe von Werkzeugen, um vollautomatische, steuerbare und reproduzierbare Build-, Test- und Deployment-Prozesse zu realisieren. Testen von Microservices Ein Tech-Stack mit unterschiedlichsten Technologien, die Fachlichkeit in

MicroProfile für Microservices mit Java EE

Die Entwicklung von Microservices schreitet in einem rasanten Tempo voran und stellt Entwickler vor immer neue und anspruchsvollere Herausforderungen. Nach der Meinung vieler ist Java-EE nicht geeignet, die gestiegenen Ansprüche zu erfüllen. Aus diesem Grund wurde das Eclipse-MicroProfile-Projekt ins Leben gerufen. Ziel ist es, einen Standard für die Entwicklung von Microservices auf Basis von Java

Die Qual der Wahl

Wahlen in München: ca. 950.000 Wähler, 400.000 Briefwähler, 1.000 Wahllokale, Rechenfehler, 10.000 Seiten Papier. Um hier besser zu werden hat der Stadtrat der Landeshauptstadt München beschlossen die Datenerhebung in den Wahllokalen zu digitalisieren. Umgesetzt wurde dieser Beschluss in Form einer offline-fähigen Single-Page-Application und Spring-Microservices im Backend. Wahlen in einer Großstadt sind eine Herausforderung   Bei

API-Design – Do’s and Don’ts

Im Zeitalter der Modularisierung von Software kommt kein Java-Entwickler daran vorbei, früher oder später ein Application-Programming-Interface (API) zu definieren oder zu erweitern. Der Entwurf eines guten API erfordert keine Kenntnisse in schwarzer Magie. Werden einige wenige Konventionen befolgt, erhöht das die Qualität der Schnittstelle deutlich. Was sind die Qualitätsmerkmale eines API? Eine Schnittstelle muss zuallererst

Neues in Java 13

Java-Release 13 ist für September 2019 geplant. Es ist bereits das dritte Major-Release nach der Bekanntgabe des neuen Lizenzmodells und Release-Zyklus im September 2018. Einige Features sind vielversprechend. Für Entwickler halten sich die neuen Features jedoch in Grenzen. Zu den Neuigkeiten von Java 13 gehören 5 Features, welche in Form von JDK-Enhancement-Proposal (JEP) beschrieben sind.

Huawei: Harmony-OS ersetzt Android

Es ist ein Paukenschlag. Der chinesische Konzern Huawei hat auf der eigenen Entwicklerkonferenz HDC im chinesischen Shonshan Lake mit HarmonyOS nun offiziell sein eigenes Betriebssystem als Alternative zu Android vorgestellt. Huawei-Manager hatten zuletzt noch bekräftigt, das System ist nicht als Android-Ersatz gedacht. Harmony OS, das in China unter dem Namen Hongmeng OS laufen soll, war

Penetrationstests von Web-Anwendungen

#JAVAPRO #Testing #Penetrationstest || Penetrationstests sind mittlerweile in vielen Unternehmen geübte Praxis, auch wenn es noch Firmen gibt, in welchen bis heute noch kein einziger Penetrationstest durchgeführt wurde. Bei diesen Tests wird die Angreiferperspektive eingenommen und ein professioneller Tester führt dabei dynamische Analysen durch. Penetrationstests können vielerlei Ziele und Methoden haben. So gibt es ganz

Agile Führung bedeutet Teamwork

#JAVAPRO #Agile #Teamwork Was wir von Robin Hood und seinen Gefährten lernen können: Agilität bringt Wandel. Silostrukturen werden aufgelöst, es herrscht höhere Transparenz, das Nutzererlebnis rückt in den Vordergrund, Führungskräfte begeben sich auf Augenhöhe mit den Mitarbeitern. Diese und weitere Aspekte der agilen Transformation rütteln gehörig an den etablierten Unternehmensstrukturen. Auf der Führungsebene wirft dies

Verzögerungskosten aufdecken erhöht die Produktivität

#JAVAPRO #Agile #Wertstromanalyse || „Wie kommt ein Projekt ein Jahr in Verzug? Ein Tag nach dem anderen.“ Das hat Fred Brooks einmal so weise gesagt. Der Lean-Gedanke und die Warteschlangentheorie bieten das Wissen an, um dieses Problem zu vermeiden. Die vorgeschlagene Abhilfemaßnahme ist, für einen ständigen Durchfluss (auch in der Entwicklung) zu sorgen, um die

Agilität und Hierarchie – ein Widerspruch?

#JAVAPRO #Agile #Strategy || Die Digitalisierung verdichtet, schafft neue Möglichkeiten und macht unser Leben einfacher. Paradoxerweise macht sie dadurch das Leben auch schneller, stressiger,  komplexer und unberechenbarer. Dieser grundlegende Wandel definiert Führung neu und erfordert neue Modelle der Zusammenarbeit. Er erfordert eine hohe Veränderungsbereitschaft, hohe Flexibilität sowie eine ausgeprägte Fähigkeit zur Selbstorganisation/-steuerung. Dieser Artikel stellt

Java-basierter MQTT-Broker HiveMQ ist OpenSource

Bei HiveMQ wissen wir, dass die OpenSource-Community ein Haupttreiber bei der Entstehung von neuen und innovativen Technologien ist. Sowohl MQTT als auch HiveMQ haben in der Vergangenheit stark von der OpenSource und Open-Standard-Community profitiert. Wir denken nun ist der Zeitpunkt gekommen einen wichtigen nächsten Schritt mit HiveMQ zu gehen und dürfen die Entstehung der HiveMQ

Agile-Strategy-Map – Die innovative Führungsmethode

Die Agile-Strategy-Map basiert auf dem Verständnis, dass Organisationen in einem komplexen Marktumfeld leben, sich stetig weiterentwickeln und sowohl die Strategie als auch operative Ziele entsprechend angepasst werden müssen. Die Agile-Strategy-Map ist sowohl eine Methode als auch eine Software, welche jede Organisation befähigt ihre Strategie zu entwickeln, Zusammenhänge zu verstehen, Zusammenarbeit zu fördern und ein aktuelles

Selbstorganisation in agilen Teams

#JAVAPRO #Agile #Teams #Selbstorganisation || In vielen Schriften zum Thema Agilität heißt es, das Besondere an agilen Teams sei u.a. deren Fähigkeit und Möglichkeit zur Selbstorganisation. Das klingt meist so, als ob die Teams vor der Agilisierung nicht selbstorganisierend gewesen wären. Doch Selbstorganisation findet ständig statt – in allen Teams! Sich selbst organisierende Systeme Ein

Office – datenschutzkonform ?

Wer schon einmal Windows 10 installiert hat und dabei nicht auf Express-Einstellungen klickte, kennt die sogenannten Datenschutzeinstellungen. Hier steht dem Nutzer anscheinend das Recht zu, die von Windows angefertigte Datensammlungen zu kontrollieren. „Position, „Diagnose“, „Relevante Werbeanzeigen“, „Spracherkennung“ und „Individuelle Benutzererfahrung mit Diagnosedaten“ heißen die fünf Schieberegler. Auffallend: Der „Diagnose“-Regler lässt sich nicht deaktivieren, sondern nur

Machine Learning – eine Challenge für Architekten

#JAVAPRO #MachineLearning || Aufgrund vielfältiger potenzieller Geschäftschancen, die Machine-Learning bietet,starten viele Unternehmen Initiativen für datengetriebene Innovationen. Dabei gründen sie Analytics-Teams, schreiben neue Stellen für Data-Scientists aus, bauen intern Knowhow auf und fordern von der IT-Organisation eine Infrastruktur für heavy Data-Engineering & Processing samt Bereitstellung einer Analytics-Toolbox ein. Für IT-Architekten warten hier spannende Herausforderungen, u.a. bei

Warum wir Blockchain (nicht) brauchen

 #JAVAPRO #Kryptowährung #Blockchain || Bitcoin-Bashing, Blockchain-Bashing usw. sind heutzutage erlaubt. Viele Kryptowährungen haben 2018 80% ihres Wertes verloren. Selbst McKinsey wagt sich nun aus der Deckung. Nachdem sie 2017 noch gesagt haben, dass kreative Unternehmen von Blockchain profitieren könnten, revidieren sie ihre Aussagen Anfang 2019 wieder. Als 2018 das Buch „Und es wurde… Krypto“ auf

Cross-Platform-Development mit RapidClipse 4

#JAVAPRO #RapidClipse #Eclipse #Vaadin #Java11 Knapp zwei Jahre sind seit dem letzten Major Release RapidClipse 3.0 vergangen. Jetzt ist die neue Version 4.0 verfügbar. Hauptgrund für die lange Wartezeit waren gravierende Änderungen bei den Release-Zyklen von Java und Eclipse sowie der Wechsel auf eine neue UI-Basistechnologie bei Vaadin, was zu erheblichen Unklarheiten geführt hat. Mittlerweile

Flow-Design – Xtend Your Horizon – Teil 3

#JAVAPRO #Architecture #IODA #FlowDesign Der Flow-Design-Ansatz ist so fundamental wie der objektorientierte oder der funktionale, sodass sich die Umsetzung als eigenständiges Sprachkonstrukt geradezu aufdrängt. Doch es muss nicht gleich eine eigene Programmiersprache sein. In Xtend lassen sich über interne DSLs Spracherweiterungen hinzufügen. Der 3. Teil unserer Serie zeigt, wie eine konkrete interne DSL für Flow-Design

Cloud-Computing in der Industrie

 #JAVAPRO #Cloud #IoT || Die Cloud-Computing-Technologie ist die heutige Basis für das Internet-of-Things (IoT) bzw. für Industrie 4.0. Das Internet der Dinge basiert auf einer Reihe von grundlegenden Technologien, wobei Cloud-Computing eines der zentralen Elemente ist und als Plattform für die Anwendungsbereitstellung, Verbindung von Geräten und Sammlung bzw. Aggregation von Daten in Echtzeit dient. Cloud

5 Aspekte über reaktive Programmierung in Java

#JAVAPRO #ReaktiveProgrammierung || Niedrige Antwortzeiten sind ein zentrales nichtfunktionales Feature modernerWeb-Anwendungen. Neben Caching, effizienter Programmierung und moderner Hardware ist die Verwendung reaktiver Bibliotheken eines der vielversprechendsten Konzepte um niedrige Antwortzeiten in einer Web-Anwendung sicherzustellen. In diesem Artikel werden fünf Aspekte herausgestellt, die man bei der Verwendung des reaktiven Patterns berücksichtigen sollte. Das Standard-Threading-Modell bei der

GlassFish 5.1

 #JAVAPRO #GlassFish #JakartaEE #Eclipse Die Java-EE-Referenz-Implementation Eclipse-GlassFish wurde in Version 5.1 Ende Januar 2019 erstmals von der Eclipse-Foundation veröffentlicht. Diese Version implementiert den Java-EE-8-Standard und soll den Grundstein für eine Folgeversion GlassFish 5.2 auf Basis von Jakarta-EE-8 legen, die wenn alles gut läuft, noch in diesem Jahr erscheinen könnte. Prozessänderung und Kompatibilität Wie alle Eclipse-Projekte

Deep-Dive into Annotations – Teil 2

#JAVAPRO #Annotations #CoreJava Java-Annotationen sind ein mächtiges Sprachmerkmal, deren Interna vielen Entwicklern wahrscheinlich nicht sehr bekannt sind. In Teil 2 unserer dreiteiligen Serie wird aufgezeigt, wie sich eigene Annotationen erstellen und mit den notwendigen Eigenschaften versehen lassen. Im ersten Teil unserer Serie wurden die typischen Begegnungsszenarien zwischen Programmierer und Java aufgezeigt, nämlich die fünf Standardannotationen.

9 ways to test your spaghetti code

#JAVAPRO #Testing #LegacyCode #Development #EN Do you want tests for your code, but find it hard to get started? Or maybe you got it going, but ran into code you were not able to test? Testing code that was written without tests in mind can be challenging. The code tends to contain static calls, long

Agile Transition braucht kulturellen Wandel

Schnelllebige Märkte, wirtschaftliche Unwägbarkeiten und eine fortschreitende Digitalisierung stellen Unternehmen vor große Herausforderungen. Für das wirtschaftliche Überleben ist ein hohes Maß an Anpassungsfähigkeit gefragt. Unternehmen müssen agiler werden. Die Einführung agiler Methoden wird jedoch häufig nur aus technischer Sicht betrachtet. Dabei benötigt eine Organisation auf dem Weg zu mehr Resilienz und Antifragilität vor allem einen