<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Architecture &amp; Microservices on JAVAPRO Germany</title><link>https://javapro.svenruppert.com/categories/architecture--microservices/</link><description>Recent content in Architecture &amp; Microservices on JAVAPRO Germany</description><generator>Hugo</generator><language>de-DE</language><lastBuildDate>Thu, 09 Apr 2026 07:05:03 +0000</lastBuildDate><atom:link href="https://javapro.svenruppert.com/categories/architecture--microservices/index.xml" rel="self" type="application/rss+xml"/><item><title>Url-Shortener - Redirect-Statistiken - Teil 2</title><link>https://javapro.svenruppert.com/url-shortener-redirect-statistiken-teil-2/</link><pubDate>Thu, 09 Apr 2026 07:05:03 +0000</pubDate><guid>https://javapro.svenruppert.com/url-shortener-redirect-statistiken-teil-2/</guid><description>&lt;h2 id="die-vaadin-ui-komponenten-im-detail"&gt;Die Vaadin-UI-Komponenten im Detail&lt;/h2&gt;
&lt;p&gt;In diesem Teil geht es nun weiter mit der Implementierung von den Redirect-Statistiken in dem Open Source Tool URL-Shortener. Den ersten Teil findest Du hier: &lt;strong&gt;&lt;a href="https://3g3.eu/Hfzsf3"&gt;https://3g3.eu/Hfzsf3&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Die Quelltexte findest Du auf GitHub unter&lt;/strong&gt; &lt;a href="https://3g3.eu/url"&gt;&lt;strong&gt;https://3g3.eu/url&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro.svenruppert.com/uploads/sites/1/2026/04/image-4-1024x382.png" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="die-komponentenarchitektur"&gt;Die Komponentenarchitektur&lt;/h3&gt;
&lt;p&gt;Die Vaadin-UI für die Statistik-Funktionalität besteht aus mehreren eng verzahnten, aber bewusst entkoppelten Komponenten. Im Zentrum stehen zwei Views: die StatisticsView als Übersichtsseite und die StatisticsDetailView für die Analyse einzelner ShortCodes. Beide nutzen die wiederverwendbare StatisticsToolbar für Datumsauswahl und Granularitätssteuerung. Diese Trennung folgt dem Prinzip der Komposition über Vererbung – ein Muster, das sich in Vaadin-Anwendungen bewährt hat.&lt;/p&gt;</description></item><item><title>Großes Kino für Java-Entwickler &amp; Architekten</title><link>https://javapro.svenruppert.com/grosses-kino-fuer-java-entwickler-architekten/</link><pubDate>Wed, 08 Apr 2026 12:00:36 +0000</pubDate><guid>https://javapro.svenruppert.com/grosses-kino-fuer-java-entwickler-architekten/</guid><description>&lt;p&gt;&lt;strong&gt;JCON EUROPE 2026 | 20. bis 23. April 2026 | Cinedom in Köln&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wer heute über moderne Softwareentwicklung spricht, spricht zwangsläufig über Java. Kaum eine Technologie prägt die Enterprise-Welt so nachhaltig – und kaum eine Community ist gleichzeitig so lebendig, vielfältig und innovationsgetrieben. Genau hier setzt die JCON an: als Treffpunkt, als Plattform und als Erlebnisraum für Entwicklerinnen und Entwickler aus der ganzen Welt. Mit Teilnehmern aus über 70 Ländern hat sich die JCON längst zu einem internationalen Treffpunkt entwickelt. Dabei bleiben &lt;strong&gt;Offenheit, Wissensaustausch und Community-Gedanke&lt;/strong&gt; zentrale Elemente.&lt;/p&gt;</description></item><item><title>DevOps-Patterns und Java 26 für On-Premises LLM-Plattformen in sicherheitskritischen Umgebungen</title><link>https://javapro.svenruppert.com/devops-patterns-und-java-26-fuer-on-premises-llm-plattformen-in-sicherheitskritischen-umgebungen/</link><pubDate>Mon, 06 Apr 2026 07:00:00 +0000</pubDate><guid>https://javapro.svenruppert.com/devops-patterns-und-java-26-fuer-on-premises-llm-plattformen-in-sicherheitskritischen-umgebungen/</guid><description>&lt;p&gt;Während die erste Welle der KI-Adoption in vielen Organisationen auf Cloud-APIs setzte, ist dieser Ansatz in sicherheitskritischen und regulierten Umgebungen häufig nicht nutzbar. Vertraulichkeitsanforderungen, Datenschutzvorgaben und der Bedarf an technisch durchsetzbaren Betriebsgrenzen stehen dem entgegen. In On-Premises-Setups erweitert sich die Architektur um zusätzliche Laufzeitkomponenten, etwa LLM-Serving, Retrieval und Wissensartefakte wie Indizes und Prompts. Der Fokus verschiebt sich damit von der reinen Modellnutzung zur Plattformfrage: Wie lassen sich Datenzugriffe und Berechtigungen entlang der Pipeline kontrollieren? Wie bleiben Änderungen an Modellen, Prompts und Indizes nachvollziehbar? Und wie lassen sich Fehlerfälle reproduzierbar eingrenzen und zurückrollen?&lt;/p&gt;</description></item><item><title>Von Spaghetti zu Hexagonen: Ein praktischer Leitfaden zur sauberen Java-Architektur</title><link>https://javapro.svenruppert.com/von-spaghetti-zu-hexagonen-ein-praktischer-leitfaden-zur-sauberen-java-architektur/</link><pubDate>Mon, 16 Feb 2026 07:02:42 +0000</pubDate><guid>https://javapro.svenruppert.com/von-spaghetti-zu-hexagonen-ein-praktischer-leitfaden-zur-sauberen-java-architektur/</guid><description>&lt;h2 id="eine-kulinarische-warnung-und-die-dunkle-seite-des-codes"&gt;Eine kulinarische Warnung und die dunkle Seite des Codes&lt;/h2&gt;
&lt;p&gt;Willkommen, Mitarchitekt und geschätzter Entwickler, in unserem hexagonalen Stadtstaat – einem Reich, in dem Pragmatismus suprema regiert und Flexibilität unsere größte Stärke ist. Dieser Leitfaden ist keine Elfenbeinturm-Doktrin voller theoretischer Perfektion, sondern vielmehr ein vielseitiges Werkzeugarsenal, das in der Schmiede realer Herausforderungen und unzähliger Produktionsschlachten geschmiedet wurde.&lt;/p&gt;
&lt;p&gt;Bevor wir die Zitadelle der sauberen Architektur errichten können, müssen wir zunächst die Realität unserer Branche anerkennen. Wir müssen die „Dunkle Seite des Codes“ navigieren. Die Softwarewelt ist voll von kulinarischen Katastrophen, die einen Koch zum Weinen bringen würden. Wir alle kennen &lt;strong&gt;Spaghetti-Code&lt;/strong&gt;^(&lt;a href="#d3a72cc8-f76c-4572-9780-a6334ece7de7"&gt;1&lt;/a&gt;), ein verworrenes Durcheinander, in dem der Programmfluss sich wie Pasta windet und dreht, sodass die Wartung zu einem Albtraum wird, bei dem Referenzen und Abhängigkeiten überall hin springen. Doch das Menü der Katastrophen ist umfangreich.&lt;/p&gt;</description></item><item><title>Beyond UML: Saubere Software-Architektur im Zeitalter von KI‑generiertem Code</title><link>https://javapro.svenruppert.com/beyond-uml-saubere-software-architektur-im-zeitalter-von-kigeneriertem-code/</link><pubDate>Mon, 02 Feb 2026 07:01:37 +0000</pubDate><guid>https://javapro.svenruppert.com/beyond-uml-saubere-software-architektur-im-zeitalter-von-kigeneriertem-code/</guid><description>&lt;h2 id="abstract"&gt;Abstract&lt;/h2&gt;
&lt;p&gt;Wir schreiben heute mehr Code in kürzerer Zeit als jemals zuvor. KI‑Systeme agieren dabei wie ständig verfügbare Juniorprogrammierer: Sie produzieren in Minuten tausende Zeilen Code – aber wer übernimmt dabei die Verantwortung für die Software-Architektur?&lt;/p&gt;
&lt;p&gt;Das eigentliche Problem ist daher oft nicht „schlechter KI‑Code“, sondern die wachsende Schwierigkeit für Menschen, den Überblick zu behalten und fundierte Architekturentscheidungen zu treffen.&lt;/p&gt;
&lt;p&gt;Dieser Artikel diskutiert eine Idee, um schnell ein mentales Modell von vorhandenem Code aufzubauen, Architekturprobleme früh zu erkennen und Änderungen gezielt vorzunehmen – ohne parallel eine statische Dokumentation pflegen zu müssen.&lt;/p&gt;</description></item><item><title>Java 26 übernimmt HTTP/3 mit der Weiterentwicklung des HttpClient</title><link>https://javapro.svenruppert.com/java-26-uebernimmt-http-3-mit-der-weiterentwicklung-des-httpclient/</link><pubDate>Mon, 19 Jan 2026 07:00:49 +0000</pubDate><guid>https://javapro.svenruppert.com/java-26-uebernimmt-http-3-mit-der-weiterentwicklung-des-httpclient/</guid><description>&lt;h2 id="die-zukunft-der-kommunikation-zwischen-microservices"&gt;die Zukunft der Kommunikation zwischen Microservices&lt;/h2&gt;
&lt;p&gt;Moderne verteilte Architekturen, wie etwa Microservices, sind eng mit der Weiterentwicklung von Netzwerkprotokollen verknüpft. Da sich Microservice-Architekturen als der vorherrschende Ansatz für den Aufbau skalierbarer und resilienter Anwendungen etabliert haben, ist die Effizienz der Service-zu-Service-Kommunikation zu einem zentralen Anliegen geworden.&lt;/p&gt;
&lt;p&gt;Obwohl HTTP/1.1 und HTTP/2 bedeutende Verbesserungen brachten, wie etwa persistente Verbindungen und Request-Multiplexing, waren sie weiterhin grundsätzlich durch ihre Abhängigkeit von TCP eingeschränkt. In Netzwerken mit hoher Latenz oder Instabilität können diese Einschränkungen nach wie vor zu Leistungseinbußen, erhöhter Tail-Latenz und geringerer Resilienz unter Last führen. Mit JEP 517 führt Java 26 Unterstützung für HTTP/3 im HttpClient ein und ermöglicht damit QUIC-basierte Kommunikation. Sehen wir uns an, was sich mit HTTP/3 ändert.&lt;/p&gt;</description></item><item><title>Adventskalender – 2025 –Persistence – Teil 02</title><link>https://javapro.svenruppert.com/adventskalender-2025-persistence-teil-02/</link><pubDate>Fri, 05 Dec 2025 07:05:13 +0000</pubDate><guid>https://javapro.svenruppert.com/adventskalender-2025-persistence-teil-02/</guid><description>&lt;p&gt;Heute werden wir den StoreIndicator final in die UI integrieren.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Der Quelltext für diese Version befindet sich auf GitHub unter &lt;a href="https://github.com/svenruppert/url-shortener/tree/feature/advent-2025-day-02"&gt;https://github.com/svenruppert/url-shortener/tree/feature/advent-2025-day-02&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hier ist der Screenshot der Version, die wir nun implementieren.&lt;/p&gt;
&lt;p&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro.svenruppert.com/uploads/sites/1/2025/12/image-8.png" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="vaadin-integration-live-status-des-stores"&gt;&lt;strong&gt;Vaadin-Integration: Live-Status des Stores&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Nachdem die Kommunikation zwischen Client und Server über den AdminClient etabliert wurde, rückt nun die Integration in die Vaadin-Oberfläche in den Mittelpunkt. Das Ziel ist, den aktuellen Systemzustand für den Benutzer sichtbar zu machen, ohne dass eine manuelle Aktualisierung erforderlich ist. Der Mechanismus basiert auf zyklischer Abfrage, Ereignissteuerung und einem reaktiven UI-Konzept, die vollständig in Vaadin implementiert wurden.&lt;/p&gt;</description></item><item><title>Adventskalender - 2025 - Filter &amp; Search – Teil 01</title><link>https://javapro.svenruppert.com/adventskalender-2025-filter-search-teil-01/</link><pubDate>Tue, 02 Dec 2025 07:05:12 +0000</pubDate><guid>https://javapro.svenruppert.com/adventskalender-2025-filter-search-teil-01/</guid><description>&lt;p&gt;Mit der in &lt;a href="https://javapro.io/de/web-ui-fuer-den-url-shortener/"&gt;&lt;strong&gt;[Teil III]&lt;/strong&gt;&lt;/a&gt; beschriebenen Vaadin-Oberfläche steht unserem URL-Shortener erstmals eine voll funktionsfähige Administrationskonsole zur Verfügung. Sie ermöglicht, bestehende Kurzlinks tabellarisch einzusehen und manuell zu verwalten. Doch bereits nach wenigen Dutzenden Einträgen zeigt sich eine klare Grenze: Die vollständige Anzeige aller gespeicherten Mappings ist weder performant noch benutzerfreundlich. Ein effizienter Shortener muss skalieren können – nicht nur beim Erzeugen, sondern auch beim Durchsuchen seiner Daten.&lt;/p&gt;
&lt;p&gt;Der Quelltext zu diesem Stand ist auf GitHub unter &lt;a href="https://github.com/svenruppert/url-shortener/tree/feature/advent-2025-day-00"&gt;https://github.com/svenruppert/url-shortener/tree/feature/advent-2025-day-00&lt;/a&gt; zu finden. Der nachfolgende Screenshot zeigt den Stand, mit dem wir beginnen.&lt;/p&gt;</description></item><item><title>Code. Collaboration. Community.</title><link>https://javapro.svenruppert.com/2-2/</link><pubDate>Mon, 01 Dec 2025 07:01:12 +0000</pubDate><guid>https://javapro.svenruppert.com/2-2/</guid><description>&lt;h3 id="jcon-usa--ibm-techxchange-2025--wo-der-java-spirit-in-orlando-ein-neues-zuhause-fand"&gt;JCON USA @ IBM TechXchange 2025 – wo der Java-Spirit in Orlando ein neues Zuhause fand&lt;/h3&gt;
&lt;p&gt;Als das JCON-Team ankündigte, seine etablierte Java-Konferenzreihe über den Atlantik zu bringen, waren die Erwartungen hoch. JCON Europe gilt seit Jahren als Pflichttermin für Java-Entwickler – lebendig, technisch anspruchsvoll und stark community-getrieben. Die erste US-Ausgabe, &lt;strong&gt;JCON USA @ IBM TechXchange 2025&lt;/strong&gt;, erfüllte diese Erwartungen nicht nur, sondern übertraf sie. Entwickler aus aller Welt kamen nach Orlando zusammen, um drei Tage lang Java in all seinen Facetten zu feiern.&lt;/p&gt;</description></item><item><title>Java trifft Zukunft: Wie Quarkus Architektur, Performance und Cloud-Native nahtlos verbindet</title><link>https://javapro.svenruppert.com/java-trifft-zukunft-wie-quarkus-architektur-performance-und-cloud-native-nahtlos-verbindet/</link><pubDate>Mon, 24 Nov 2025 07:00:53 +0000</pubDate><guid>https://javapro.svenruppert.com/java-trifft-zukunft-wie-quarkus-architektur-performance-und-cloud-native-nahtlos-verbindet/</guid><description>&lt;p&gt;Angesichts der zunehmenden Allgegenwärtigkeit digitaler Technologien, die fortlaufend und immer natürlicher in unsere Umgebung eingebettet werden, stellt sich die essenzielle Frage, welche Rolle Java in dieser zukünftigen Entwicklung von IT-Systemen spielen wird. Mark Weiser, Pionier des ubiquitären Computings, formulierte diesen technologischen Paradigmenwechsel folgendermaßen: &amp;ldquo;Die beste Technologie ist die, die wir gar nicht bemerken, weil sie auf natürliche Weise unseren Alltag bereichert.&amp;rdquo; (sinngemäß nach [LMU19]).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ubiquitäres Computing&lt;/strong&gt; zeigt bereits heute, wie Technologie allgegenwärtig wird und als unsichtbarer Begleiter nahtlos in unsere Umgebung integriert ist. Ein zentraler Faktor dabei ist der nahezu universelle Zugang zu Netzwerken (wie z.B. WLAN), der international immer mehr zur Standardinfrastruktur gehört. Dieser Zugang ermöglicht die Echtzeitvernetzung smarter Geräte, von Smart Homes bis hin zu Wearables, und bildet die Basis für Technologien, die intuitiv im Hintergrund arbeiten und barrierefrei ohne störende Eingriffe miteinander kommunizieren. Zudem fördert das ubiquitäre Computing eine immer engere &lt;strong&gt;Symbiose zwischen Mensch und Maschine&lt;/strong&gt;, in der neue Technologien heranwachsen, die klassische Interfaces zur digitalen Welt wie Smartphones oder Tablets zunehmend ablösen. Geräte wie beispielsweise Mixed-Reality-Brillen (z.B. die &lt;em&gt;Meta Quest&lt;/em&gt; oder &lt;em&gt;Apple Vision Pro)&lt;/em&gt; eröffnen eine neue Form der Interaktion, bei der digitale Informationen direkt und kontextbewusst ins Sichtfeld projiziert werden. Ziel ist nicht mehr nur allgemeine Interaktion, sondern eine präzise Anpassung digitaler Inhalte an die individuellen Bedürfnisse des Nutzers. Diese Entwicklung mündet in das Konzept der &lt;strong&gt;Hyperpersonalisierung&lt;/strong&gt;: Systeme reagieren in Echtzeit auf Standort, Vorlieben und Ziele und liefern so maßgeschneiderte Informationen, Unterhaltung oder Unterstützung im Alltag. Damit zeichnet sich eine Zukunft ab, in der digitale Erlebnisse nahtlos in das persönliche Leben integriert sind.&lt;/p&gt;</description></item><item><title>Signal per SSE, Daten per REST – eine Vaadin-Demonstration in Core Java</title><link>https://javapro.svenruppert.com/signal-per-sse-daten-per-rest-eine-vaadin-demonstration-in-core-java/</link><pubDate>Wed, 03 Sep 2025 13:10:48 +0000</pubDate><guid>https://javapro.svenruppert.com/signal-per-sse-daten-per-rest-eine-vaadin-demonstration-in-core-java/</guid><description>&lt;h2 id="1-einleitung"&gt;1. Einleitung&lt;/h2&gt;
&lt;h3 id="11-motivation-ereignisgetriebene-aktualisierung-ohne-polling"&gt;1.1 Motivation: Ereignisgetriebene Aktualisierung ohne Polling&lt;/h3&gt;
&lt;p&gt;In klassischen Webanwendungen dominiert nach wie vor das Pull-Prinzip: Clients stellen wiederholt Anfragen an den Server, um Veränderungen zu erkennen. Dieses Polling ist einfach, führt aber zu unnötiger Last auf Server- und Netzwerkseite, insbesondere wenn sich der Datenbestand nur sporadisch ändert. Mit &lt;em&gt;Server-Sent Events (SSE)&lt;/em&gt; steht ein standardisiertes Verfahren zur Verfügung, mit dem der Server Änderungen aktiv an verbundene Clients signalisieren kann. Dadurch lassen sich unnötige Anfragen vermeiden, während Aktualisierungen zeitnah an die Oberfläche gelangen.&lt;/p&gt;</description></item><item><title>Die Blockchain in deiner Java Anwendung</title><link>https://javapro.svenruppert.com/die-blockchain-in-deiner-java-anwendung/</link><pubDate>Mon, 01 Sep 2025 07:01:53 +0000</pubDate><guid>https://javapro.svenruppert.com/die-blockchain-in-deiner-java-anwendung/</guid><description>&lt;h2 id="kurzes-vorwort"&gt;kurzes Vorwort&lt;/h2&gt;
&lt;p&gt;Dieser Artikel befasst mit der Integration von Blockchain Mechanismen in Java Anwendungen. Hierbei befassen wir uns nicht mit Preisen oder insgesamt einzelnen Kryptowährungen, dies ist mir wichtig zu Beginn zu erwähnen. Im Verlaufe des Artikels nenne ich Blockchain Netzwerke, sodass ich klarstellen möchte, es handelt sich hierbei ausdrücklich nicht um Anlageberatung oder Werbung für diese Netzwerke und deren Kryptowährungen. Es handelt sich um eine technische Erklärung der Integration von Blockchain in Java mit Web3j.&lt;/p&gt;</description></item><item><title>Was macht Vaadin-Komponenten besonders?</title><link>https://javapro.svenruppert.com/was-macht-vaadin-komponenten-besonders/</link><pubDate>Wed, 20 Aug 2025 13:26:00 +0000</pubDate><guid>https://javapro.svenruppert.com/was-macht-vaadin-komponenten-besonders/</guid><description>&lt;p&gt;Aus meiner Erfahrung heraus hebt sich Vaadin seit jeher von anderen Java-Frameworks ab. Natürlich erlaubt es die Umsetzung moderner Web-UIs, doch der eigentliche Unterschied liegt in seiner &lt;strong&gt;Komponentenarchitektur&lt;/strong&gt;. Diese ist nicht als kurzfristiges Hilfsmittel gedacht, sondern konsequent auf Wartbarkeit und Flexibilität ausgelegt. Damit entsteht die Möglichkeit, Anwendungen über viele Jahre hinweg stabil zu betreiben und dennoch schrittweise zu erweitern.&lt;/p&gt;
&lt;p&gt;Ganz gleich, ob ich eine Komponente aus der offiziellen Bibliothek nutze, eine eigene entwickle oder ein npm-Paket einbinde – Vaadin stellt sicher, dass alle Bausteine einem klaren Muster folgen. Die Verbindung zwischen Server und Client bleibt konsistent und verlässlich. Dadurch konnte ich Anwendungen im Laufe der Zeit Stück für Stück weiterentwickeln, ohne jemals gezwungen zu sein, sie vollständig neu aufzusetzen.&lt;/p&gt;</description></item><item><title>Microfrontends mit Module Federation für bestehende Anwendungen - Ein Erfahrungsbericht</title><link>https://javapro.svenruppert.com/microfrontends-mit-module-federation-fuer-bestehende-anwendungen-ein-erfahrungsbericht/</link><pubDate>Mon, 11 Aug 2025 07:00:34 +0000</pubDate><guid>https://javapro.svenruppert.com/microfrontends-mit-module-federation-fuer-bestehende-anwendungen-ein-erfahrungsbericht/</guid><description>&lt;p&gt;&lt;em&gt;Die Anwendung ist seit mehreren Jahren produktiv – und dann auf einen Hype wie Microfrontends aufspringen, geht das überhaupt? Wir haben das Experiment gewagt und unser bestehendes Frontend umgebaut und Microfrontends mit Module Federation eingeführt. Was uns dazu bewogen hat und was wir dabei gelernt haben, lernt ihr in diesem Artikel.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Wir hatten folgende Situation: zwei Projektteams, welche voneinander unabhängige Webportale in derselben Firma entwickeln, sollen möglichst viele Komponenten wiederverwenden. Die Wiederverwendung wurde beiden Projekten als Ziel vom Management vorgegeben.&lt;/p&gt;</description></item><item><title>Ist Java Cloud-nativ?</title><link>https://javapro.svenruppert.com/ist-java-cloud-nativ/</link><pubDate>Mon, 14 Jul 2025 07:00:00 +0000</pubDate><guid>https://javapro.svenruppert.com/ist-java-cloud-nativ/</guid><description>&lt;p&gt;2025 feiert Java sein 30-jähriges Bestehen und erfreut sich nach wie vor großer Beliebtheit. Dank der hervorragenden Abwärtskompatibilität, der engagierten Community sowie der Vielzahl an Tools und Lösungen zur Erleichterung der Entwicklung mit Java bleibt die Plattform die bevorzugte Wahl für Unternehmensanwendungen.&lt;/p&gt;
&lt;p&gt;Wenn es allerdings um Cloud-native Programmiersprachen geht, zeichnen sich Go, JavaScript, Ruby, Kotlin oder Rust durch ihre besonders hohe Geschwindigkeit und Effizienz sowie Benutzerfreundlichkeit aus – Eigenschaften, die sie zur bevorzugten Wahl für neue Projekte machen. Auch WebAssembly (Wasm) wird bei der Webentwicklung immer beliebter. Die Fähigkeit von Java zur Erstellung Cloud-nativer Programme wird allerdings oft mit Vorsicht genossen.&lt;/p&gt;</description></item><item><title>Mit Vaadin Flow Rest Endpoints in Core Java konsumieren</title><link>https://javapro.svenruppert.com/mit-vaadin-flow-rest-endpoints-in-core-java-konsumieren/</link><pubDate>Mon, 23 Jun 2025 22:15:03 +0000</pubDate><guid>https://javapro.svenruppert.com/mit-vaadin-flow-rest-endpoints-in-core-java-konsumieren/</guid><description>&lt;h3 id="warum-rest-integration-in-vaadin-anwendungen-kein-nachgedanke-sein-sollte"&gt;Warum REST-Integration in Vaadin-Anwendungen kein Nachgedanke sein sollte&lt;/h3&gt;
&lt;p&gt;In modernen Webanwendungen ist die Kommunikation mit externen Services längst keine Sonderfunktion mehr, sondern ein integraler Bestandteil einer dienstorientierten Architektur. Selbst wenn Vaadin Flow als UI-Framework auf serverseitige Java-Logik setzt und dadurch eine hohe Kohärenz zwischen View- und Datenmodell erreicht, entsteht schnell der Bedarf, mit Systemen außerhalb der eigenen Anwendung zu kommunizieren. Das können einfache öffentliche APIs sein – etwa zur Anzeige von Wetterdaten oder Währungsumrechnungen – ebenso wie interne Unternehmensdienste, beispielsweise zur Lizenzprüfung, Benutzerverwaltung oder der Anbindung an ein zentrales ERP-System.&lt;/p&gt;</description></item><item><title>Kino, Code, Community: Die JCON EUROPE 2025 setzt neue Maßstäbe für Java-Events</title><link>https://javapro.svenruppert.com/kino-code-community-die-jcon-europe-2025-setzt-neue-massstaebe-fuer-java-events/</link><pubDate>Fri, 30 May 2025 08:40:10 +0000</pubDate><guid>https://javapro.svenruppert.com/kino-code-community-die-jcon-europe-2025-setzt-neue-massstaebe-fuer-java-events/</guid><description>&lt;p&gt;Von praxisnahen Workshops über Live-Coding im Kinosaal bis zur Mentoring-Revolution – die JCON EUROPE 2025 in Köln war ein Fest für Java-Fans aus aller Welt.&lt;/p&gt;
&lt;h2 id="ein-globales-treffen-der-java-community"&gt;Ein globales Treffen der Java Community&lt;/h2&gt;
&lt;p&gt;Vom 12. bis 15. Mai 2025 wurde Köln zum Epizentrum der internationalen Java-Community. Zur zehnten Ausgabe der JCON EUROPE pilgerten Entwickler aus über 60 Ländern und fünf Kontinenten in den Cinedom, um gemeinsam &lt;strong&gt;30 Jahre Java&lt;/strong&gt; zu feiern. Die Stimmung? Euphorisch, gemeinschaftlich – und immer mit einer Prise Humor.&lt;/p&gt;</description></item><item><title>Java im Ernstfall: Wie Eigenentwicklung Kontrolle schafft und kritische Systeme sichert</title><link>https://javapro.svenruppert.com/java-im-ernstfall-wie-eigenentwicklung-kontrolle-schafft-und-kritische-systeme-sichert/</link><pubDate>Wed, 28 May 2025 13:55:34 +0000</pubDate><guid>https://javapro.svenruppert.com/java-im-ernstfall-wie-eigenentwicklung-kontrolle-schafft-und-kritische-systeme-sichert/</guid><description>&lt;p&gt;&lt;strong&gt;Wenn IT versagt, merkt es keiner – bis es alle betrifft.&lt;/strong&gt;&lt;br&gt;
Ob im Krankenhaus, bei der Energieversorgung oder am Flughafen: In sicherheitskritischen Umgebungen ist der stabile Betrieb digitaler Systeme keine Option, sondern Pflicht. Genau hier zeigt sich, ob Infrastruktur resilient, skalierbar und unabhängig genug gebaut ist, um im Ernstfall standzuhalten.&lt;/p&gt;
&lt;p&gt;Ein prägnantes Beispiel ist die &lt;a href="https://www.fraport.com/de.html"&gt;Fraport AG&lt;/a&gt;, Betreiberin eines der größten Luftfahrtdrehkreuze Europas. Wenn dort Gepäck nicht ankommt oder sicherheitsrelevante Informationen verzögert eintreffen, steht nicht nur der Urlaub einzelner Passagiere auf dem Spiel – sondern die operative Stabilität des gesamten Betriebs. Hinter den Kulissen eines solchen Drehkreuzes läuft eine hochkomplexe digitale Infrastruktur, die rund um die Uhr funktionieren muss – trotz wachsender Anforderungen, alternder Legacy-Systeme und zunehmender Sicherheitsauflagen.&lt;/p&gt;</description></item><item><title>30 Jahre Java - Wie sich die Sprache entwickelt hat</title><link>https://javapro.svenruppert.com/30-jahre-java-wie-sich-die-sprache-entwickelt-hat/</link><pubDate>Mon, 19 May 2025 07:00:31 +0000</pubDate><guid>https://javapro.svenruppert.com/30-jahre-java-wie-sich-die-sprache-entwickelt-hat/</guid><description>&lt;p&gt;Wir feiern 30 Jahre Java. Zeit für einen Rückblick wie sich Java als Programmiersprache entwickelt hat. Wir werden sehen, wie Java verschiedene Paradigmen der Softwareentwicklung integriert hat, ohne seine klare Struktur zu verlieren. Es ist faszinierend, dass man trotz all dieser Veränderungen in Java immer noch genauso programmieren kann wie vor 30 Jahren.&lt;/p&gt;
&lt;p&gt;Als Java Mitte der 90er Jahre aufkam, war die objektorientierte Programmierung das dominierende Paradigma. Dies spiegelt sich in Java wider, das von Anfang an eine „rein“ objektorientierte Sprache war. „Alles ist ein Objekt“ kann wörtlich genommen werden. Mit Ausnahme der Primitiven ist alles von der Basisklasse „Objekt“ abgeleitet. Anfangs hielt sich die Sprache strikt an dieses Paradigma. Dies änderte sich im Laufe der Zeit, als die Sprache immer mehr Elemente des funktionalen Programmierparadigmas übernahm. Diese Entwicklung lässt sich auch in anderen Programmiersprachen beobachten.&lt;/p&gt;</description></item><item><title>Modularer Monolith mit SpringBoot &amp; Maven</title><link>https://javapro.svenruppert.com/modularer-monolith-mit-springboot-maven/</link><pubDate>Tue, 18 Feb 2025 11:17:17 +0000</pubDate><guid>https://javapro.svenruppert.com/modularer-monolith-mit-springboot-maven/</guid><description>&lt;p&gt;Monolithen sind ein bekanntes Architekturmuster, bei dem die gesamte Software als ein Deployable bereitgestellt wird. Sie sind dafür bekannt, dass ihre  Wartbarkeit und Erweiterbarkeit im Laufe der Zeit zu einer Herausforderung werden können. Microservices sollen genau diesen technischen Schulden entgegenwirken. Dabei handelt es sich um einen Architekturansatz, bei dem die Fachlogik in einzelne Services aufgeteilt und separat bereitgestellt wird, was zu einer hohen Flexibilität führt. Diese Flexibilität hat jedoch auch ihren Preis: erhöhte Infrastukturkomplexität, zusätzlicher Netzwerktraffic, erschwertes Debugging von Fehlern und Bugs sowie kompliziertere Lösungen für Transaktionsprozesse, beispielsweise beim Schreiben in Datenbanken.&lt;/p&gt;</description></item><item><title>Kostenminimierung durch Nutzung von Cloud-Speicher mit Spring-Data-Eclipse-Store</title><link>https://javapro.svenruppert.com/kostenminimierung-durch-nutzung-von-cloud-speicher-mit-spring-data-eclipse-store/</link><pubDate>Wed, 21 Feb 2024 14:59:47 +0000</pubDate><guid>https://javapro.svenruppert.com/kostenminimierung-durch-nutzung-von-cloud-speicher-mit-spring-data-eclipse-store/</guid><description>Mit Hilfe von Spring Data und EclipseStore können massive Kosten für Datenspeicherung in der Cloud eingespart werden. Wie das funktioniert, zeigt folgender Artikel durch die Spring-Data-Eclipse-Store-Bibliothek.</description></item><item><title>Bewährte Praktiken für CI/CD Pipelines</title><link>https://javapro.svenruppert.com/bewaehrte-praktiken-fuer-ci-cd-pipelines/</link><pubDate>Wed, 30 Nov 2022 17:51:53 +0000</pubDate><guid>https://javapro.svenruppert.com/bewaehrte-praktiken-fuer-ci-cd-pipelines/</guid><description>Diese Praktiken sollen eine Vorstellung davon vermitteln, wie einige Probleme in modernen CI/CD-Pipelines gelöst und was vermieden werden sollte. Verwenden Sie diese Muster als Richtlinie beim Implementieren Ihrer eigenen Pipelines.</description></item><item><title>Die Zukunft von Containern - Was kommt als Nächstes?</title><link>https://javapro.svenruppert.com/die-zukunft-von-containern-was-kommt-als-naechstes/</link><pubDate>Wed, 15 Jun 2022 17:29:13 +0000</pubDate><guid>https://javapro.svenruppert.com/die-zukunft-von-containern-was-kommt-als-naechstes/</guid><description>Vielleicht haben Sie schon die Schlagworte gehört, die in aller Munde sind, wenn es um die Zukunft von Containern geht. Seltsame Namen wie &amp;ldquo;Micro-VMs&amp;rdquo;… &amp;ldquo;Unikernel&amp;rdquo;… &amp;ldquo;Sandboxes&amp;rdquo;… Haben Sie sich gefragt, was diese Dinge sind und wie Sie sie nutzen können? Oder sollten Sie diese überhaupt verwenden?</description></item><item><title>MicroStream High-Speed Persistence jetzt Open Source</title><link>https://javapro.svenruppert.com/microstream-high-speed-persistence-jetzt-open-source/</link><pubDate>Fri, 13 Aug 2021 16:14:42 +0000</pubDate><guid>https://javapro.svenruppert.com/microstream-high-speed-persistence-jetzt-open-source/</guid><description>&lt;p&gt;&lt;a href="https://microstream.one/"&gt;MicroStream&lt;/a&gt; ist im Kern eine von Grund auf neu entwickelte, hoch performante und ebenso hoch sichere Serialisierung für Java, mit einem darauf aufsetzendem Persistence-Framework für die persistente Speicherung beliebiger Java Objektgraphen (POJOs), die im schnellen Hauptspeicher gehalten werden. Das Ergebnis ist eine hoch performante In-Memory Datenbankanwendung oder ein Microservice mit eigener Persistence.&lt;/p&gt;
&lt;p&gt;Das 2013 gestartete Projekt ist nun in Version 5 als Open Source unter der Eclipse Public License auf &lt;a href="https://github.com/microstream-one/microstream"&gt;GitHub&lt;/a&gt; verfügbar. Mit MicroStream lassen sich beliebige Java Objekte (Plain-Old-Java-Objects), in der Praxis meist komplexe Objektgraphen bestehend aus Millionen von Objekten oder auch nur einzelne Subgraphen davon, persistent speichern und zu einem beliebigen Zeitpunkt ganz oder auch nur teilweise im Hauptspeicher wiederherstellen, z.B. nach einem Systemneustart. Anders als bei traditionellen Java Persistenz-Frameworks wie Hibernate in Verbindung mit relationalen Datenbanken oder bei NoSQL Systemen, werden Java Objekte mit MicroStream nicht mehr auf eine datenbankspezifische Datenstruktur abgebildet (Mapping), sondern serialisiert und direkt in Form von Bytecode persistent gespeichert. Umständliche Mappings, daraus resultierende technische Probleme, rechenzeitintensive Datenkonvertierungen und damit verbundene Latenzen zur Laufzeit fallen vollständig weg.&lt;/p&gt;</description></item><item><title>Architektur-Hotspots aufspüren</title><link>https://javapro.svenruppert.com/architektur-hotspots-aufspueren/</link><pubDate>Mon, 21 Dec 2020 13:18:06 +0000</pubDate><guid>https://javapro.svenruppert.com/architektur-hotspots-aufspueren/</guid><description>&lt;p&gt;&lt;strong&gt;Strukturelle Abhängigkeitsanalysen sind von begrenzter Aussagekraft. Teilweise erfassen sie die wesentlichen Architektur-Hotspots nicht, wie anhand eines Code-Beispiels exemplarisch gezeigt wird. Die vorgestellten Konzepte zur Feature-Modularität sind eine neue Art die System-Komplexität zu erfassen. Sie zielen darauf ab, Architektur-Hotspots zu identifizieren, die den (Wartungs-)Aufwand für neue Features ansteigen lassen.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ein weit verbreiteter Ansatz zur Bewertung von Softwaresystemen und deren Architekturen besteht in der Analyse ihrer Abhängigkeitsstruktur. Ziel ist es Abhängigkeitsstrukturen zu identifizieren, die allgemein als schwer wartbar bekannt sind, zum Beispiel zyklische Abhängigkeiten und bestimmte systemspezifische Verletzungen wie schichtübergreifende Abhängigkeiten. Es besteht kein Zweifel, dass die Abhängigkeitsanalyse wertvolle Einblicke in die Struktur eines Softwaresystems liefert und tatsächlich echte Wartungsprobleme aufdecken kann. Trotz ihrer Nützlichkeit hat die klassische Abhängigkeitsanalyse aber große Schwächen.&lt;/p&gt;</description></item><item><title>Vernetzte Systeme mit FEPCOS-J</title><link>https://javapro.svenruppert.com/vernetzte-systeme-mit-fepcos-j/</link><pubDate>Mon, 21 Dec 2020 09:17:49 +0000</pubDate><guid>https://javapro.svenruppert.com/vernetzte-systeme-mit-fepcos-j/</guid><description>&lt;p&gt;&lt;strong&gt;FEPCOS-J ist ein Programmiergerüst für Java, das die Entwicklung von zusammengesetzten, vernetzten Systemen, wie zum Beispiel Roboterschwärme, beschleunigt, indem es die benötigte Netzwerkprogrammierung automatisiert und die Spezifikation von Nebenläufigkeit vereinfacht. In diesem Artikel werden die Grundlagen und, mit einem einfachen Beispiel, die Anwendung von FEPCOS-J vorgestellt.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;„Das Ganze ist mehr als die Summe seiner Teile.“ Aristoteles (384 v.Chr. - 322 v.Chr.). Dieses Prinzip ist auf ein vernetztes, technisches System, das aus Teilsystemen zusammengesetzt ist, übertragbar. Zum Beispiel ist bei einem Roboterschwarm der Schwarm das Ganze und die Roboter sind die Teile. Jeder Roboter kann für sich fahren. Der Schwarm kann mehr. Er kann zum Beispiel ausschwärmen, indem die einzelnen Roboter in verschiedene Richtungen fahren. Dies ist ein möglicher Mehrwert. Allerdings bekommt man diesen nicht geschenkt. Bei der Entwicklung eines vernetzten, technischen Systems, das ein aus Teilen zusammengesetztes Ganzes ist, ist mehr zu beachten als bei einem einzelnen System. Die Programmierung derartiger Systeme umfasst Netzwerkkommunikation und systemübergreifende Nebenläufigkeit, da die Teile kommunizieren und hochgradig parallel arbeiten. Dies ist ein Mehraufwand.&lt;/p&gt;</description></item><item><title>Von Nixdorf nach Kubernetien - Digitalisierung im Wandel der Zeit</title><link>https://javapro.svenruppert.com/von-nixdorf-nach-kubernetien-digitalisierung-im-wander-der-zeit/</link><pubDate>Thu, 17 Dec 2020 10:16:28 +0000</pubDate><guid>https://javapro.svenruppert.com/von-nixdorf-nach-kubernetien-digitalisierung-im-wander-der-zeit/</guid><description>&lt;p&gt;&lt;strong&gt;Die Politik entdeckt die Digitalisierung als Zukunftsthema und gibt den Rat: &lt;a href="https://bit.ly/altmeier-p1"&gt;„Die Digitalisierung ist auch für Mittelständler eine Pflichtaufgabe“&lt;/a&gt;. Dabei ist die Digitalisierung im Mittelstand schon lange angekommen, wie ein Ausflug in das Optica Abrechnungszentrum, einem Unternehmen der Dr. Güldner Firmengruppe, zeigt – lange bevor das Internet zum Neuland in der Politik deklariert wurde.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="digitalisierung-10"&gt;Digitalisierung 1.0&lt;/h2&gt;
&lt;p&gt;Mit der mittleren Datentechnik, die in den 70er Jahren des vorherigen Jahrhunderts vor allem durch Nixdorf in Deutschland und Europa geprägt wurde, wurden Computer auch für mittelständische Unternehmen erschwinglich. So hat das Optica Abrechnungszentrum bereits früh auf Unterstützung durch die elektronische Datenverarbeitung (EDV), wie IT früher hieß, gesetzt. Damit sich die teure Investition rechnete, waren die Prozesse auf den Computer ausgerichtet, um Leerlauf zu vermeiden. In mehreren großen Schreibbüros mit 40 bis 50 vorwiegend weiblichen Mitarbeitern wurden Abrechnungsdaten an Datensammelsystemen erfasst und gespeichert, anfangs auf Lochkarten, später auf Magnetbändern. Zum Abrechnungslauf wurden die Bänder auf ein Nixdorf 8850 eingespielt und anschließend archiviert. Benutzerschnittstellen waren in der EDV-Bronzezeit kein Thema – der Benutzer hatte sich nach dem Rechner zu richten. Vorherrschend waren Batch-Betrieb und das EVA-Prinzip: Eingabe – Verarbeitung – Ausgabe &lt;strong&gt;(Abb. 1)&lt;/strong&gt;. Hierbei gab es einfache, meist grüne Masken, die über die Tastatur und Enter-Taste bedient wurden. Und gute Datentypisten/-innen konnten die Masken blind und in hoher Geschwindigkeit bedienen. &lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro.svenruppert.com/uploads/sites/1/2020/12/Bild1-1-1.png" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
 &lt;strong&gt;Das EVA-Prinzip &lt;a href="https://bit.ly/uher-t2"&gt;(Abb. 1)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Self-Contained-Systems</title><link>https://javapro.svenruppert.com/self-contained-systems/</link><pubDate>Mon, 14 Dec 2020 15:10:36 +0000</pubDate><guid>https://javapro.svenruppert.com/self-contained-systems/</guid><description>&lt;p&gt;&lt;strong&gt;Self-Contained-Systems ist sowohl ein Architektur-, als auch Organisationsansatz, der im Kern auf dem Domain-Driven-Design-Ansatz aufsetzt und erweitert. SCS soll nicht nur die Trennung und Betrieb von Systemen, sondern auch die organisatorische Strukturierung und Trennung größerer Entwicklungsteams erleichtern. Der Fokus von SCS liegt klar auf Anforderungen und nicht auf technische Implementierungsdetails.&lt;/strong&gt; Self-Contained-Systems (SCS) ist zunächst einmal ein Architekturansatz. Die Idee ist, Anforderungen durch einzelne, fachlich unabhängige Systeme abzubilden. Diese Systeme beinhalten alles, was für die Abbildung der Anforderungen notwendig ist - die Datenhaltung, die eigentliche Geschäftslogik und die komplette Benutzerschnittstelle. Diese Systeme werden dadurch self-contained. Jedes SCS soll von einem eigenen Entwicklungsteam betreut werden. Dieser Architekturansatz soll neben der technischen Trennung der Systeme auch die organisatorische Trennung erleichtern. Durch die Vermeidung von Abhängigkeiten werden auch die Teams unabhängiger und damit flexibler. Soweit die Theorie. Nachfolgend werden Vorteile und auch mögliche Probleme bei der Implementierung des SCS-Ansatzes beleuchtet.&lt;/p&gt;</description></item><item><title>Business-Impact-Analyse mit nur 5 Slides</title><link>https://javapro.svenruppert.com/business-impact-analyse-mit-nur-5-slides/</link><pubDate>Tue, 08 Dec 2020 10:51:41 +0000</pubDate><guid>https://javapro.svenruppert.com/business-impact-analyse-mit-nur-5-slides/</guid><description>&lt;p&gt;**Um zukünftige Schadensszenarien begegnen zu können, müssen Unternehmen im Kontext eines Notfall- bzw. Risikomanagements eine Erhebung ihrer kritischen IT-Systeme durchführen, insbesondere im Rahmen von IT-Architektur-Reviews, Assessments, Audits oder weil die Compliance dies erfordert. In der Praxis ist eine solche Betrachtung viel zu umfänglich. Eine Business-Impact-Analyse kann jedoch mit vereinfachtem Umgang auf fünf Schaubilder reduziert werden. ** Eine gängige und anerkannte Methode für die Erhebung kritischer IT-Systeme ist das Notfallmanagement nach &lt;a href="https://bit.ly/BSI-100-4"&gt;BSI 100-4&lt;/a&gt;. Der Umfang dieses Vorgehens betrachtet jedoch nicht nur die IT-Infrastruktur, sondern eben ein unternehmensweites Notfallmanagement inklusive Organisation und Prozesse. Nicht selten ist ein Analyseprojekt in diesem Kontext bis zu mehrere Hundert PT groß. In der Praxis ist diese Betrachtung viel zu umfänglich, da man im ersten Schritt nur den Technologie-Stack betrachten möchte. Sofern Prozesse und Organisation nicht im Fokus stehen, kann eine Business-Impact-Analyse (BIA) mit vereinfachtem Umfang auf fünf Schaubilder reduziert werden.&lt;/p&gt;</description></item><item><title>Java-EE vs. Spring für Microservices</title><link>https://javapro.svenruppert.com/java-ee-vs-spring-fuer-microservices/</link><pubDate>Fri, 27 Nov 2020 13:14:10 +0000</pubDate><guid>https://javapro.svenruppert.com/java-ee-vs-spring-fuer-microservices/</guid><description>&lt;p&gt;&lt;strong&gt;Hat Jakarta-EE (ehem. Java-EE) immer noch den Ruf schwergewichtig zu sein und hat damit geringe Chancen für eine Microservice-Architektur in Betracht gezogen zu werden? Ist das Spring-Framework die bessere Antwort auf die Frage mit welcher Java-Technologie wir unsere Services bauen? Einmal mehr stehen sich die ewigen Duellanten Jakarta-EE und Spring gegenüber, dieses Mal jedoch mit dem Fokus auf Microservices.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jakarta-EE vs. Spring - schon wieder?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Microservices mit Spring-Boot sind für viele Java-Entwickler zur Norm geworden und werfen einen erheblichen Schatten auf Jakarta-EE, wie Java-EE jetzt heißt. Durch seine beständige Evolution schafft es Spring immer wieder neue Entwicklungsansätze in die Welt zu tragen. Somit passt es sich den neuen Gegebenheiten und unseren sich ständig ändernden Anforderungen an. Spring-Boot hat sicherlich erheblich dazu beigetragen, dessen Grundlagen in der Blütezeit der Microservices entstanden sind. Gerade mit diesem Framework lassen sich schlanke Anwendungen schreiben, die in Self-Contained-JARs ausgeliefert werden. Diese und noch weitere Komponenten aus dem Spring-Ökosystem eignen sich nahezu perfekt, um den Kriterien eines Microservice gerecht zu werden.&lt;/p&gt;</description></item><item><title>Durchdachtes Log-Management für Industrie 4.0</title><link>https://javapro.svenruppert.com/durchdachtes-log-management-fuer-industrie-4-0/</link><pubDate>Fri, 10 Jul 2020 12:51:25 +0000</pubDate><guid>https://javapro.svenruppert.com/durchdachtes-log-management-fuer-industrie-4-0/</guid><description>&lt;p&gt;&lt;strong&gt;Log- und Protokollmanagement ist eine oft wenig beachtete, aber dennoch eine der dringlichsten Herausforderungen zur Absicherung von IT-Strukturen. Dieser Artikel zeigt ein Best Case in Form eines Sicherheitskonzeptes über zehn Etappen und bedient sich dabei zur Veranschaulichung aus der Industrie 4.0-Themenwelt.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sichere Identitäten gelten als wesentlicher Ausgangspunkt für Sicherheitsketten, welche die Datenerhebung, Datentransport und Datenverarbeitung auf Hardware-, Software- und Prozess-Ebene absichern. Damit bilden sie die Voraussetzung für viele weitere Schutzmaßnahmen, die Unternehmen in puncto Datensicherheit ergreifen sollten, um sich compliant und wettbewerbsfähig aufzustellen. Denn klar ist: Sobald es einem Angreifer gelingt, sich unberechtigt einer Identität zu bemächtigen, laufen alle darauf aufbauenden Maßnahmen wie zum Beispiel der Zugriffsschutz ins Leere. So bietet die Gewährleistung sicherer Identitäten über automatisierte Kommunikation ein solides Startglied in der Vertrauenskette. Mit der Einführung eines Sicherheitsprozesses leiten IT-Verantwortliche die notwendigen organisatorischen Veränderungen ein, definieren eine Strategie und nutzen Hilfsmittel zur Erreichung der Sicherheitsziele.&lt;/p&gt;</description></item><item><title>Prototyping spart Zeit und Kosten</title><link>https://javapro.svenruppert.com/prototyping-spart-zeit-und-kosten/</link><pubDate>Thu, 09 Jul 2020 16:51:10 +0000</pubDate><guid>https://javapro.svenruppert.com/prototyping-spart-zeit-und-kosten/</guid><description>&lt;p&gt;&lt;strong&gt;Heute muss Software zügig entwickelt und produktiv gesetzt werden (Time-to-Market). Dabei kann &lt;a href="https://de.wikipedia.org/wiki/Prototyping_(Softwareentwicklung)"&gt;Prototyping&lt;/a&gt; helfen, die Effizienz im Entwicklungsprozess zu verbessern. Allerdings gilt es sorgfältig zu überlegen, welche Prototyping-Methode zum eigenen Projekt passt.&lt;/strong&gt; Softwareentwicklung ist eine sehr dynamische Disziplin, in der sich die Anforderungen schnell ändern. Häufig entwickelt die Auftraggeberseite eine Reihe von Anforderungen oder &lt;a href="https://de.wikipedia.org/wiki/User_Story"&gt;User-Stories&lt;/a&gt;, obwohl sie das entsprechende Resultat nicht genau einschätzen kann. Das Entwicklerteam macht sich Gedanken und arbeitet an einem repräsentablen Stakeholder. Wenn dieser jedoch hinter den Erwartungen zurückbleibt, weil die Anlage zur Visualisierung anfänglicher Anforderungen fehlt, kann es passieren, dass so ein Projekt komplett neu auf die Spur gesetzt werden muss. Das führt im Ergebnis zu einem erhöhten Budgetbedarf für die Produktentwicklung. Um den Ablauf und dementsprechend das Budget zu optimieren, können verschiedene Ansätze verfolgt werden: &lt;a href="https://de.wikipedia.org/wiki/Proof_of_Concept"&gt;Proof-of-Concept&lt;/a&gt;, Wireframes, Funktionales Prototyping, &lt;a href="https://de.wikipedia.org/wiki/Minimum_Viable_Product" title="MVP (Minimum Viable Product)"&gt;MVP (Minimum Viable Product)&lt;/a&gt; oder ein Pilotprojekt. Dieser Artikel konzentriert sich auf das &lt;a href="https://de.wikipedia.org/wiki/Prototyping_(Softwareentwicklung)"&gt;Prototyping&lt;/a&gt;:&lt;/p&gt;</description></item><item><title>Monolithen und Microservices sind keine Gegensätze</title><link>https://javapro.svenruppert.com/monolithen-und-microservices-sind-keine-gegensaetze/</link><pubDate>Tue, 12 May 2020 15:19:38 +0000</pubDate><guid>https://javapro.svenruppert.com/monolithen-und-microservices-sind-keine-gegensaetze/</guid><description>&lt;p&gt;**Microservices sind in - Monolithen sind out. Diese einfache Formel wird der Programmier-Realität nicht gerecht. Denn nach wie vor kämpfen Microservices mit diversen Schwächen, während monolithische Architekturen immer noch eine ganze Reihe systembedingter Vorzüge besitzen. Clevere Programmierer nutzen deshalb mit modernem Software Engineering die komplementären Stärken beider Ansätze. ** Microservices-Architekturen sind nicht umsonst aktuell so beliebt, denn ihre Vorteile sind evident: Sie sind sauber strukturiert, granular skalierbar, ressourcenschonend, leicht erweiterbar und unterstützen die agile Software-Entwicklung in Teams. Dieser Habenseite stehen allerdings einige gravierende Nachteile gegenüber. Der für IT-Abteilungen vielleicht wichtigste ist die Komplexität von Microservice-Strukturen. Denn das Microservice-Portfolio gerät schnell in einen unübersichtlichen Wildwuchs, der nur mit viel Aufwand hinsichtlich Transparenz, Verwaltung und Kommunikation in den Griff zu bekommen ist. Das bindet zwar produktive Ressourcen, ist aber auch deshalb unumgänglich, weil mit der wachsenden Zahl von Microservices das Sicherheitsrisiko steigt. Denn mit ihren APIs, über die sie mit der Außenwelt kommunizieren, sind sie ein beliebtes Angriffsziel von Cyberattacken. Mit den Nachteilen von Microservices wurden prinzipiell bereits die Vorteile monolithisch aufgebauter Software-Architekturen beschrieben. Das ergibt sich aus der Tatsache, dass beide sich in ihren Eigenschaften und Merkmalen fast komplementär zueinander verhalten. Monolithen sind architektonisch einfacher, leichter auszurollen und häufig performanter als Microservices. Letzteres gilt, wenn eine App mit einer Microservices-Architektur zum Beispiel 20 bis 30 API-Aufrufe an 20 bis 30 unterschiedliche Microservices benötigt, um eine einzelne Eingabemaske zu laden, was zulasten der Performance geht. Demgegenüber kommunizieren die Software-Komponenten eines Monolithen in der Regel wesentlich performanter miteinander. Monolithen haben jedoch auch einige gravierende Nachteile: Sie skalieren nur &amp;ldquo;an einem Stück&amp;rdquo;, gelten deshalb als Ressourcenfresser und als schwerfällig, wenn es um die agile Einführung neuer Technologien wie das IoT oder KI geht.&lt;/p&gt;</description></item></channel></rss>