Writing integration tests for Elasticsearch

Elasticsearch is a search engine technology to implement powerful and fast search features. Like every additional component of your Java application Elasticsearch should be covered by integration tests. In this blogpost I show how tests can be written using alexcojocarus Maven plugin.

By | 02.02.2017|Software Engineering|0 Comments

Microservices, ein Vorgehensmodell zur Softwareentwicklung

Der Microservice-Ansatz wird häufig als ein Architekturstil für den Entwurf von verteilten Softwaresystemen gesehen. Er ermöglicht die Implementierung eines Systems durch eine größere Menge von kleinen Diensten (Services). Führt man Unterhaltungen über Microservices werden häufig nur technischen Faktoren genannt. Dabei werden andere Bereiche des Microservice-Ansatzes, die Aufteilung der Services, wie die Services Entwickelt werden und was für Änderungen in der Team und Firmenstruktur nötig sind oft außer acht gelassen. Gerade diese Aspekte können jedoch für den Erfolg eines Projektes essentiell sein und charakterisieren den Microservice-Ansatz daher nicht nur als Architekturstil, sondern auch als Vorgehensmodell zur Softwareentwicklung.

By | 10.01.2017|Software Engineering|0 Comments

Fachartikel: Unleashing Java Security

Innerhalb von Enterprise-Anwendungen spielen Sicherheits-Aspekte eine wichtige Rolle. Nur autorisierte Benutzer oder allgemein autorisierte Entitäten dürfen auf sensible Daten oder Systemteile zugreifen.

By | 09.01.2017|Software Engineering|0 Comments

Impressionen von der „Elastic on tour“ in Frankfurt

Am 24. November fand die Elastic on tour in Frankfurt statt. Bei der Veranstaltung gibt es Vorträge zu Elasticsearch und dem Elastic Stack, Trainings und die Möglichkeit mit den Entwicklern zu sprechen. In diesem Blogpost möchte ich die Eindrücke teilen, die ich vor Ort gesammelt habe.

By | 26.11.2016|Events, Software Engineering|0 Comments

Migration from Elasticsearch 2.4 to 5.0.0 – a review

Recently Elasticsearch 5.0.0 was released. The new version comes with many interesting features like better performance, ingest nodes, a new scripting language or new data structures. I just finished a search feature in a Java application with Elasticsearch 2.4 and decided to upgrade it right away. I write this blogpost to share the findings I gathered during the migration process.

By | 19.11.2016|Software Engineering|0 Comments

Fachartikel: Java Management Extensions (JMX)

Innerhalb eines Enterprise-Software-Projekts gibt es immer wieder die Anforderung, eine Anwendung im laufenden Betrieb zu verwalten. Diese Aufgabe umfasst zumindest das Verändern von Konfigurationsparametern aufgrund geänderter Betriebssituationen zur Laufzeit, das proaktive Aussenden von Mitteilungen bei kritischen Situationen an registrierte Konsumenten und das periodische Aussenden von Reportingdaten für die Überwachung und das Health-Management.

By | 07.10.2016|Software Engineering|0 Comments

Redstack complete – Microservices mit FMW und Exalogic

Der Begriff des Microservice hat seit einiger Zeit eine Menge Aufmerksamkeit gewonnen. Der Microservice-Ansatz kann als ein Architekturstil für den Entwurf von verteilten Softwaresystemen gesehen werden. Kurz gesagt sind Microservices ein Ansatz für die Implementierung eines Systems durch eine größere Menge von kleinen Diensten. Jeder Dienst wird dabei unabhängig ausgeführt, verwendet seine eigenen Daten und bietet leichtgewichtige Kommunikationsmechanismen gegenüber anderen Diensten.

By | 13.07.2016|Software Engineering|0 Comments

Fachartikel: Weiterführende Themen zum Batch Processing mit Java EE 7

Dieser Artikel beschreibt weiterführende Themen wie die Parallelisierung von Batch-Jobs mit Partitionen und Splits sowie Batchlets, Transition-Elemente und das Neustarten von Batch-Jobs. Darüber hinaus werden die Möglichkeiten der Batch-Verarbeitung auf dem Applikationsserver Oracle WebLogic kurz angesprochen.

By | 06.07.2016|Software Engineering|0 Comments

Fachartikel: Microservices – live und in Farbe

Microservices sind derzeit stark gefragt, doch welche Konzepte verbergen sich dahinter und wie lassen sie sich realisieren? Der Artikel erläutert zuerst die Grundprinzipien und stellt dann mit Vert.x ein Framework vor, mit dem Microservices schnell und einfach implementiert werden können. Ein praxisnahes Beispiel zeigt eine Anwendung mit Quellcode-Auszügen, die vollständige Anwendung steht auf GitHub zum freien Zugriff bereit.

By | 04.07.2016|Software Engineering|0 Comments

Fachartikel: Grundlagen des Batch Processing mit Java EE 7

In vielen Unternehmen gibt es immer wieder den Bedarf, große Datenmengen aus einem Quellsystem zu lesen, zu verarbeiten und abschließend in ein Zielsystem zu schreiben. Diese Vorgänge dauern typischerweise sehr lange, zumindest über mehrere Stunden, manchmal Tage. Aufgrund ihrer sehr langen Laufzeiten und sehr großen Datenmengen müssen diese Prozesse autark „unattended” ohne manuelle Eingriffe durchgeführt werden. Dieser Artikel ist der erste Teil einer zweiteiligen Serie und behandelt die Grundlagen von Batch-Verarbeitungen auf Basis von Java EE 7.

By | 06.04.2016|Software Engineering|0 Comments