Kiosk-Artikel

Enterprise Java: Die Rolle des EE-Servers in Zeiten von Docker und Co.

Java EE war jahrelang von den Application Servern geprägt, die den Standard implementierten. Sprach man von JEE (bzw. damals noch J2EE) war das gleichbedeutend mit WebLogic, WebSphere und Co. Wie hat sich diese Sichtweise gewandelt? Welche Bedeutung hat ein Standardisierungsprozess wie JEE heute und was wird eigentlich aus den Application Servern?

Eine kompakte Einführung in die Programmiersprache Python

Die Einsatzgebiete der ehemaligen Skriptsprache sind umfassend. Vielfältige Arten von Anwendungen können mit Python programmiert werden. Dieser Artikel führt Sie in die Grundkonzepte der Sprache ein, gibt einen Überblick über die Sprachstrukturen und zeigt, wie Sie mit Python erste Programme schreiben. So erhalten Sie die Basis für eine weitergehende Beschäftigung.

Gradle 6: Dependency-Management reloaded

Das kürzlich erschienene Release 6 des modernen Build-Tools bringt eine Menge neuer Features, die es erlauben, Java-, Groovy-, Kotlin- und Scala-Projekte besser zu strukturieren und zu modularisieren. Ein Highlight ist dabei die Einführung des Gradle-Module-Metadata-Formats, um Module mit reichhaltigen Metadaten zu publizieren und wiederzuverwenden.

Softwarearchitektur: Worauf es ankommt

Die Architektur definiert die Struktur eines Softwaresystems und ist zentral für den Erfolg eines Projekts. Deswegen ist Softwarearchitektur so wichtig. Aber in Wirklichkeit ist Softwarearchitektur noch viel mehr, und eine erfolgreiche Softwarearchitektur erfordert viele, teilweise überraschende Maßnahmen.

Konkurrenz belebt das Geschäft: Runtimes im Überblick

Im folgenden Artikel geben wir einen Überblick über die MicroProfile Runtimes, die das Technology Compatibility Kit (TCK) für die jüngeren MicroProfile-Releases zum Stand Mitte Dezember bestanden haben: Thorntail, TomEE, Payara Micro, Open Liberty, KumuluzEE und Helidon. Zahlreiche weitere Runtimes, die die Spezifikation nur in Teilen erfüllen, berücksichtigen wir hierbei nicht.

Vorbereiten eines Projekts mit PRINCE2

PRINCE2 [1] beinhaltet sieben Prozesse, die Aktivitäten beschreiben, die für ein effektives Projektmanagement nötig sind. Sie wurden im letzten Teil der Kolumne bereits kurz angerissen. In den folgenden Ausgaben dieser Kolumne gehe ich im Detail auf die verschiedenen Prozesse und die damit in Beziehung stehenden Aktivitäten ein. Diese Aktivitäten finden auf den drei beschriebenen Managementebenen statt: Lenken, Managen und Liefern.

Lessons learned: Akzeptanztests in Java mit JGiven

Die meisten Entwickler wissen, was Komponententests sind, auch wenn sie selbst keine schreiben. Aber es gibt noch Hoffnung: Die Situation ändert sich, und immer mehr auf GitHub gehostete Projekte enthalten Unit-Tests. In einer Standardkonfiguration für Java-Projekte mit NetBeans, Maven und JUnit ist es nicht ganz so schwer, die ersten Zeilen Testcode zu erstellen. Neben dem Ansatz, der in Test-driven Development (TDD) verwendet wird, gibt es noch andere Technologien wie Behavior-driven Development (BDD), auch Akzeptanztests genannt, die wir in diesem Artikel vorstellen möchten.

ECK macht es einfach: Natives Elasticsearch auf Kubernetes

Vor nicht langer Zeit war es undenkbar, persistente Daten auf Kubernetes zu stellen. Kluge Ops-Teams hätten eher auf einen vergleichbaren Cloud-Service gesetzt und die Funktionalität für Simplizität und ein ruhiges Gewissen geopfert. In den letzten Jahren ist Kubernetes aber gereift und in Bereiche vorgestoßen, die zuvor nicht annähernd als geeignet für die Containerorchestrierung angesehen wurden.

Gegen den Trend: Plädoyer für mehr ganzheitliche Architekturarbeit in der IT

Architekturarbeit in der IT ist seit vielen Jahren ein schwieriges und häufig missverstandenes Thema. Dazu kommt, dass die Effekte der Hyperspezialisierung und Technologieexplosion dazu führen, dass IT-Architekturen die eigentliche Problemstellung oft immer schlechter unterstützen. Man findet immer häufiger One-Size-fits-all-Lösungen oder rein hypegetriebene Architekturen. Trotzdem deutet nichts auf eine Umkehr dieses Negativtrends hin. Zeit für eine Bestandsaufnahme und einen Blick auf die daraus resultierenden Probleme für die Architekturarbeit.

Vom Post-it zum Test: Event Storming aus der Sicht eines Testers

Event Storming ist im Domain-driven Design eine gute Methode, ein gemeinschaftliches Verständnis aller Projektbeteiligter bezüglich der Anwendungsdomäne zu erlangen und dabei ein Prozessmodell zu erstellen. Oft wird dabei aber außer Acht gelassen, dass die dabei entwickelten Informationen nur mit wenig Aufwand direkt in automatisierbare Testfälle transformiert werden können. Daher soll hier die Frage beantwortet werden, wie die verschiedenen Modellierungspattern des Event Stormings in sinnhafte Behavior-driven-Design-Testfälle umgesetzt werden können.

Smoke Testing: MQTT-Anwendungen mit dem MQTT CLI testen

Bereits heute kommunizieren Millionen von Endgeräten im Internet of Things über das MQTT-Protokoll miteinander. Die Prognosen, wie viele es in den kommenden Jahren sein werden, überschlagen sich immer wieder. Gegenüber diesem prognostizierten rasanten Wachstum erweist sich die Entwicklung neuer Geräte jedoch oft als langsam. Das kann häufig die Entwicklung weiterer Anwendungen blockieren, die die Daten der Geräte verarbeiten sollen. Um diese Engpässe zu überbrücken, kann das Tool MQTT CLI verwendet werden. Das Kommandozeilenwerkzeug simuliert schnell und einfach Endgeräte und kann so für erste Tests von MQTT-Anwendungen verwendet werden.