Posts

Eclipse als IDE für Java-/Spring-Projekte einrichten

Bild
Microservice-Entwicklung leicht gemacht mit einer passend eingerichteten Entwicklungsumgebung!  In diesem Post gebe ich Tipps, wie ihr eure IDE installiert, konfiguriert und mit guten Plugins erweitert. Als Bonus für Konzern-Angestellte erkläre ich, wie der Proxy eingestellt wird. Eclipse & JDK installieren Dieser Abschnitt ist irgendwie wenig überraschend... "Eclipse IDE for Java Developers" herunterladen und installieren bzw. entpacken. https://www.eclipse.org/downloads/packages/ JDK in Version 17 herunterladen und installieren. https://www.oracle.com/java/technologies/downloads/#java17 Das aktuelle Eclipe 2022-06 wird mit inkludiertem JRE geliefert. Diese JRE Version wird nur zum Starten von Eclipse benötigt. Das JDK 17 verwendet ihr dann für eure Software-Entwicklung in Eclipse. Ihr könnt natürlich noch weitere JDK Versionen installieren und diese dann auch für die Entwicklung in Eclipse nutzen. Eclipse konfigurieren / Proxy setzen Alle Eclipse Konfigurationen werden ...

Thymeleaf Teil 2 mit Internationalisierung in Spring

Bild
Im 2. Teil meines Spring MVC mit Thymeleaf Artikels geht es um: html Formulare und JavaScript in Templates, Wiederverwendung gleicher html-Blöcke in Thymeleaf und der Internationalisierung (I18N) von Spring Web-Anwendungen. Spring Model-View-Controller mit Thymeleaf und POJOs Den 1. Teil meines Spring MVC mit Thymeleaf Artikels findet ihr hier und auf YouTube: https://agile-coding.blogspot.com/2020/10/spring-mvc-thymeleaf.html Den kompletten Code zu Teil 1 & 2 gibt es hier bei GitHub: https://github.com/elmar-brauch/thymeleaf Wiederverwendung von gemeinsamen html Blöcken Das berühmte Clean Code Prinzip ( Clean Code von Robert Martin ) "Don't repeat yourself" gilt nicht nur für Java-Code. Es gilt für alle selbst geschriebenen Artefakte. Wenn wir für 10 verschiedene html Seiten Thymeleaf Templates erstellt haben, sollten wir unbedingt vermeiden per Copy & Paste den Header, Footer oder ähnliches überall zu duplizieren. Damit wir es nicht an 10 Stellen anpassen müssen...

Monolithische Systeme in Microservices und Self-Contained Systems zerlegen

Bild
Wie schaffen wir es komplexe monolithische Systeme so zu zerlegen, dass die einzelnen Sub-Systeme leicht und unabhängig voneinander entwickelt werden können? In diesem Erfahrungsbericht zeige ich, wie wir ein Shopping-Portal in Microservices und Self-Contained-Systems (SCS) zerlegt haben. Der Artikel ist ein Erfahrungsbericht und beschreibt nur unseren Weg. Es gibt hier sicherlich viele alternative Lösungen. Mit Sicherheit gibt es auch rein Microservice-basierte Architekturen, welche die hier gezeigten Probleme lösen könnten. Video-Präsentation zum Artikel Ausgangssituation: der Monolith Monolithen werden in der IT häufig als einzelnes System beschrieben, das alle Funktion beinhaltet, siehe  https://www.itwissen.info/Monolithische-Software-Architektur.html . Nach dieser Definition hätten wir eigentlich kein Problem, da ich hier ein Content-basiertes Shopping-System betrachte, welches diverse Backend-Systeme über REST-APIs aufruft, die Teile der Funktionalität bereitstellen, z.B. ei...

Bessere Performance bei Datenabfragen durch Redis und Spring Cache

Bild
Hat eure Anwendung Probleme mit langsamen Zugriffen auf Datenbanken oder andere Content liefernde Medien? Dann kann ein Cache mit Hilfe der schnellen In-Memory NoSQL Datenbank Redis helfen. Verwendet Spring Data und Spring Cache, dann müsst ihr nicht im Detail verstehen wie Redis funktioniert. Überblick Cache und Redis Cache Ein Cache wird immer zwischen eine Anwendung oder einen Client und ein Hintergrundmedium (z.B. eine Datenbank oder ein Laufwerk) geschaltet. Vereinfacht gesagt, speichert der Cache die Daten, die vom Hintergrundmedium abgefragt wurden, so dass beim nächsten Zugriff auf dieselben Daten, die Auslieferung aus dem Cache erfolgt. Ein Cache ist für die besonders schnelle Auslieferung seiner Daten optimiert. Dadurch bekommt die Anwendung oder der Client schnellere Antworten vom Cache im Vergleich zu den langsamen Antworten des Hintergrundmediums. Das folgende Schaubild zeigt wie eine Spring Anwendung eine MongoDB als Hintergrundmedium verwendet und die abgefragten Daten i...

Spring Boot: die wichtigsten Features für ein sauber konfiguriertes Projekt

Bild
Spring Boot ermöglicht uns das Erstellen neuer Spring Anwendungen in wenigen Minuten. Dazu bringt es vorkonfigurierte Spring Boot Starter und 3rd Party Bibliotheken mit, die ohne weitere Anpassungen produktionsbereit sind. In diesem Artikel stelle ich dazu die wichtigsten Spring Boot Features genauer vor. Alleinstehende Spring Anwendungen mit eingebettetem Tomcat In diesem Tutorial zeige ich euch, wie ihr eine neue Spring Boot Anwendung erstellt. Das ist eine alleinstehende Anwendung, da sie einen integrierten Tomcat Application Server hat und durch den Build Prozess in eine mit Java ausführbare jar-Datei gepackt wird. Spring Boot EntwicklerInnen müssen also keinen Application Server installieren und dann die gebaute Anwendung (z.B. als WAR Datei) deployen, sondern können einfach eine jar-Datei mittels folgendem Befehl starten: java -jar <Pfad zur jar-Datei im target Verzeichnis> Der eingebettete Tomcat ist eine 3rd Party Bibliothek, die Spring Boot mitbringt. Dieser Tomcat hat ...

Clean Code Dojo: Katas bei Code Wars

Bild
Du bist Software-EntwicklerIn und möchtest besser werden? Das geht durch eigene Übung und Lernen vom Code von anderen. Code Wars ist eine tolle Plattform, die genau das kostenlos anbietet.   Was ist Code Wars? Code was ist eine Plattform für Software-EntwicklerInnen, die Katas in (fast) allen gängigen verschiedenen Programmiersprachen anbietet. Katas sind Übungsaufgaben für Software-EntwicklerInnen, die ich hier schon ausführlicher vorgestellt hatte: clean-code-dojo.html . Das Tolle an Code Wars ist, dass es sehr viele Katas in unterschiedlichen Schwierigkeitsgraden gibt. Die Katas werden von der Code Wars Community erstellt, jeder kann Katas trainieren oder neue für andere Code Wars Benutzer schreiben. Deshalb gibt es hier bereits viele Übungsaufgaben und es werden immer mehr. Die Code Wars Community liefert dann auch den 2. tollen Lerneffekt. Wir können uns nämlich zu jedem Kata, die Lösungen von anderen Code Wars Benutzern anschauen und so Lernen wie andere Probleme lösen oder ...

Microservices mit REST-API in Kotlin und Spring Boot

Bild
Ein angenehmer Aspekt von Microservices ist, dass ihre Entwicklung häufig auf der grünen Wiese startet. Ein neuer Microservice ist also immer eine Chance einen neuen Technologie-Stack auszuprobieren. Für eingefleischte Java-Entwickler bietet sich dazu die Programmiersprache Kotlin an.  Als JVM basierte Programmiersprache kann Kotlin problemlos das bei Java-Entwicklern beliebte Spring Framework verwenden. Daher zeige ich in diesem Artikel, wie ihr mit Spring Boot schnell einen Kotlin Microservice mit REST-API aufsetzt. Neuer Microservice, die Gelegenheit mit Kotlin anzufangen... In meinem beruflichen Umfeld entwickeln wir deutlich häufiger neue Microservices als neue Systeme mit klassischen Software-Architekturen oder als Monolithen. Da sich Microservices auf eine Geschäfts-Capability konzentrieren, siehe auch https://www.martinfowler.com/microservices , ist ihre Codebase im Vergleich zu herkömmlichen Systemen meist deutlich kleiner. Die Situation, einen neuen Microservice auf der g...