Monate: August 2015

Agile Webentwicklung mit Spring Boot und AngularJS

Technologie-Vorträge über aktuelle Kundenprojekte oder rund um die Software-Entwicklung im Allgemeinen sind in der iSYS Software GmbH schon seit langem eine gern gesehene Tradition. In der diesmaligen Veranstaltung von Fabian Trampusch und Najum Ali ging es um Webentwicklung und dabei konkret über den in drei Projekten erfolgreich eingesetzten Technologiestack. Dabei spielen besonders die beiden Frameworks Spring Boot und AngularJS eine große Rolle. Der Fokus dieses Beitrags liegt auf der Erfahrung, die mit diesen beiden Technologien im Zusammenspiel gemacht wurden. Projektanforderung Sowohl für interne als auch für externe Kundenprojekte sind aktuell Webanwendungen der Standard, um fachspezifische Datenpflege zu ermöglichen. Dabei müssen Daten vom Server angefordert werden, welche von Endbenutzern (je nach Recht) manipuliert und wieder gespeichert werden können. Auch wenn sich die fachlichen Anforderungen teilweise sehr unterscheiden, so ist jedoch die technische Handhabung der Daten sehr ähnlich. Für die technische Umsetzung wurden moderne Frameworks eingesetzt, welche ausschließlich unter Opensource-Lizenzen stehen. Diese Frameworks übernehmen einen Großteil der Standardimplementierung einer Webanwendung, sodass sich der Entwickler vielmehr auf die tatsächliche Geschäftslogik konzentrieren kann. Demnach kann man erste Ergebnisse der Anwendung schon nach wenigen Stunden sehen und diese mit dem Kunden in agilen Iterationen abstimmen. Technologiestack mit Spring Boot und AngularJS Der grundlegende Gedanke der Architektur …

Hibernate beyond OR-Mapping: Hibernate Search

Hibernate ist als OR-Mapping-Framework seit Jahren fest in der Java-Welt (und darüber hinaus, siehe NHibernate ) etabliert. Weniger bekannt sind allerdings die zusätzlich enthaltenen Module, mit denen Hibernate dem Entwickler auch über die OR-Mapping-Thematik hinaus das Leben einfacher machen kann. Eines dieser Module ist Hibernate Search, das im jStage Backendsystem “Stagemanager” bereits für eine Vielzahl an Suchen verwendet wird. Es setzt auf das objekt-relationale Modell von Hibernate auf und erweitert es um Funktionen zur Implementierung von Volltextsuchen. Unter der Haube steckt dabei die mächtige Such-Bibliothek Lucene. Die Verwendung von Hibernate Search setzt zwar ein gewisses Grundverständnis der Funktionsweise von Lucene voraus, entbindet den Entwickler  aber größtenteils von der Low-Level-Programmierung auf Lucene-Ebene. Sowohl bei der Entwicklung der Indexierung als auch der eigentlichen Suche ergeben sich so signifikante Produktivitätsvorteile gegenüber einer rein auf Lucene basierenden Implementierung. Konfiguration Sehen wir uns zunächst die Definition eines Suchindex in Hibernate Search an. Zunächst müssen wir unser Hibernate Properties File, bzw. unter JPA unsere persistence.xml, um die folgenden Angaben ergänzen.

In der ersten Property definieren wir, dass wir unsere Indizes in einem …