MongoDB in der Praxis

MongoDB ist eine dokumentenorientierte NoSQL-Datenbank, die sich immer größerer Beliebtheit erfreut. Im Vortrag gibt es  zunächst eine Einführung in die grundlegende Funktionsweise. Dabei werden die verschiedenen Möglichkeiten aufgezeigt, wie man Abfragen formuliert. Danach werden weiterführende Konzepte wie Replikation und das sog. Sharding zur horizontalen Skalierbarkeit vorgestellt.

In einem zweiten Teil wird konkret gezeigt, wie man MongoDB per Java-API ansprechen kann. Nach dem Java-Treiber werden verschiedene Frameworks für das sog. Object/Document-Mapping vorgestellt, u.a. Spring Data MongoDB und Morphia.

 

Tobias Trelle

Dipl.-Math. Tobias Trelle ist Senior IT Consultant bei der codecentric AG, Solingen. Er ist seit Mitte der 1990er Jahre im IT-Business unterwegs und interessiert sich für Software-Architekturen und skalierbare Lösungen. Tobias hält Vorträge auf Konferenzen und Usergruppen, bloggt, verfasst Artikel in Fachzeitschriften und ist Autor des Buchs „MongoDB: Der praktische Einstieg“.

 

Veranstaltung

Ort: LVM Versicherung, Kolde-Ring 21, LVM Akademie („Kristall“ Neubau-Hochhaus)

Datum: 17.02.

Einlass ab 18 Uhr, Beginn des Vortrags ca. 18:30. Die Teilnahme ist kostenlos.

 

Vortrag: Docker Orchestrierung mit Kubernetes

Immer mehr Anwendungen werden modular entwickelt, und die Module einzeln in Docker Containern auf verschiedenen Servern installiert, sei es in der Cloud oder auf eigener Hardware vor Ort. Während sich die Docker Container auf der lokalen Entwicklermaschine noch manuell recht gut managen lassen, wird es bei der Installation und Überwachung auf verteilten Test- und Produktivservern schnell unübersichtlich. Hier kommt Kubernetes ins Spiel: Kubernetes wurde von Google initiiert und wird inzwischen als Open Source Project unter der Flagge der Cloud Native Computing Foundation weiterentwickelt. Kubernetes ermöglicht die deklarative Beschreibung der für die Anwendung benötigten Docker Container, und installiert diese dann automatisch auf der verfügbaren Hardware. Bei Ausfall eines Containers wird dieser automatisch neu gestartet (ggf. auf einem anderen Server), Up- und Downscaling sowie Rolling Updates sind ebenfalls möglich. In diesem Talk möchte ich die Konzepte von Kubernetes erklären und mit einer Demo veranschaulichen.

Marc Sluiter

Marc Sluiter ist Software Engineer bei Luminis Technologies. Erste Programmiererfahrungen sammelte er mit Amiga Basic. Während des Studiums gab es kurze Ausflüge zu Pascal, C und C++, sowie den ersten Kontakt zu Java. Zu Anfang des Berufslebens gab es noch einige .Net Projekte, schnell wurde dann jedoch Java der Programmierschwerpunkt.

Nebenbei beschäftigt sich Marc sich mit Android Entwicklung sowie Java auf dem Raspberry Pi, inklusive Einbindung des Leap Motion Input Device.

Veranstaltung

Ort: LVM Versicherung, Kolde-Ring 21, Raum 3.01.08 Konferenzraum II Links

Datum: 27.01.

Einlass ab 18 Uhr, Beginn des Vortrags ca. 18:30. Die Teilnahme ist kostenlos.

 

Elasticsearch: Ein praktischer Einstieg (Buch)

Das Buch „Elasticsearch: Ein praktischer Einstieg“ ist ein deutsches Buch von Florian Hopf.

Was schnell auffällt: Florian Hopf schafft es schnell den Rahmen für Elasticsearch zu schaffen ohne dabei zu weit auszuholen. Auf den ersten zwei Seiten wird die Historie, der Bezug zu Lucene und dem Apache Solr Suchserver geschaffen. Dabei wird Elasticsearch auch sogleich zu Solr abgegrenzt.

Angenehm fällt auf, dass für die Beispiele auf der Kommandozeile ein mündiger Leser, der mit seinem Betriebssystem umgehen kann, vorausgesetzt wird. Auf Bilderbuchanleitungen und Schritt-für-Schritt-Anleitungen wird an dieser Stelle verzichtet und damit ein fokussierter Lesefluss ermöglicht.

In den ersten Kapiteln werden wichtige Konzepte und der Hintergrund von Elasticsearch und Lucene eingeführt.
Weiter geht es mit Grundlagen zu Informationretrieval mit Analyse, Tokenization und Stemming sowie Selektion, Sortierung und Scoring von Ergebnissen.
Nach dem Thema Indizierung aus verschiedenen Datenquellen wird in Kapitel 6 zum Thema Verteilung und Skalierung eine gute Einführung gegeben.
Auch zu den verschiedenen Zugriffsmöglichkeiten, Datenmodellierung und Einsatz von Elasticsearch als zentrales Loggingsystem und Konfiguration/Monitoring für produktiven Betrieb finden sich Einführungen.
Bei allen Abschnitten sind viele Querverweise angegeben, so dass der Leser nach dem Einstieg die Möglichkeit hat mittels Onlinequellen tiefer einzutauchen.

Dem Buch merkt man an, dass der Autor Florian Hopf langjährige Erfahrung mit Lucene, Apache Solr und auch Elasticsearch hat. Es handelt sich hier um ein Buch aus der Praxis für die Praxis mit guten Beispielen, die nachvollziehbar sind und zum Experimentieren anleiten. Das sollte man dabei dann aber auch: Aufgrund der vielen Beispiele zielt das Buch eher auf direktes Ausprobieren, als einen Leser, der das Buch erst durcharbeitet oder den Unterwegs-Leser.

Negativ aufgefallen sind dabei Links, die das http Protokoll nutzen, obwohl die Inhalte auch per https geschützt verfügbar wären. Gerade bei Seiten, die als Quelle für Softwareinstallationen (Java JVM, Elasticsearch) dienen, wäre hier die abgesicherte Alternative vorzuziehen. (Dabei ist in dem Kommandozeilenbeispiel für den Elasticsearch Download https gezeigt, möglicherweise sind die Links daher im Produktionsprozess vom Setzer „angepasst“ worden.)

Das Buch basiert auf Elasticsearch Version 1.6 obwohl zum Zeitpunkt der Veröffentlichung bereits Elasticsearch 2.1.1 aktuell war. Da hier im wesentlichen neue Funktionen hinzugekommen sind, alte jedoch weiterhin verfügbar sind, ist das kein grosses Problem. Ist der praktische Einstieg in Elasticsearch erst einmal geglückt, fällt es leicht auch die neuen Funktionen einzuordnen und in seinen Anwendungsfällen zu integrieren. Zudem hat Florian Hopf auf der Webseite zum Buch auch direkt passende Informationen genau zu dem Thema bereitgestellt: http://elasticsearch-buch.de/2015/12/16/elasticsearch-2.html

Fazit: Es gibt verschiedene Gründe, sich das Elasticsearch Buch zuzulegen. Zum einen handelt es sich um ein Werk, das in deutsch nativ verfasst wurde, und sich entsprechend angenehm lesen lässt. Zum anderen ist der Einstieg wirklich praxisorientiert: Effizient auf den Punkt gebracht und dabei einprägsam ohne störende Schnörkel. Wer dieses Buch gelesen hat, schafft es bestimmt erste Anwendungen mit Elasticsearch erfolgreich umzusetzen und – falls nötig – sein Wissen mit Hilfe der weiterführenden Quellen zu vertiefen.

Das Buch „Elasticsearch: Ein praktischer Einstieg“ ist für 32,90 Euro bei Amazon als broschierte Ausgabe erhältlich.
ISBN Nummer: 978-3-86490-289-5
Verlag: d.punkt

Die Rezension „Elasticsearch: Ein praktischer Einstieg“ wurde von Thomas Kruse verfasst. Thomas Kruse ist als Berater, Architekt und Coach für die trion development GmbH tätig. Er befasst sich dabei unter anderem mit der Konzeption von Softwaresystemen, die Elasticsearch verwenden. In seiner Freizeit engagiert er sich für OpenSource Projekte und leitet die Java Usergroup in Münster.  Für die Rezension wurde ein Exemplar des Buches zur Verfügung gestellt.

 

Veranstaltungen Java User group Münster 2016

Auf dieser Seite findet sich eine kurze Übersicht zu allen Vorträgen die wir von der Java Usergroup Münster für 2015 geplant haben.
Zusätzlich haben wir einen regelmäßigen Stammtisch, den wir über die Mailingliste, den Blog hier und den Google Kalender ankündigen.
Alle Termine finden sich auch im Google Calendar der JUG Münster. Updates und Infos gibt es über Twitter (@JUG_MS) und die Mailing-Liste der JUG Münster.

Die Vorträge finden falls nicht anders angegeben bei der LVM Versicherung statt. Einlass ist – falls nicht anders angegeben – jeweils ab 18:00 Uhr und der Vortrag startet im Regelfall gegen 18:30 Uhr.
Alle Termine sind vorläufig und können sich noch kurzfristig ändern – um Anmeldung über Xing bzw. Verifikation der Veranstaltung auf unserer Homepage wird gebeten. (Die Xing Anmeldung nutzen wir zur Planung der Teilnehmerzahl / Catering. Über die Xing Gruppe der Java Usergroup Münster gibt es zu den einzelnen Vorträgen eine Einladung für eine komfortable Anmeldung.)

Anfahrt zur LVM Versicherung: Anfahrtbeschreibung – mit öffentlichen Verkehrsmitteln per Bus (Linie 7,15,16, Haltestelle Kolde-Ring) am besten zu erreichen. (Google Transit / Google Maps / Bings Maps ist sicher hilfreich).

Bei Vorträgen in 3.xx.xx Räumen bitte beim LVM Hauptgebäude am Empfang melden, die 5.xx.xx Räume sind im Neubau-Tower, bei den 6.xx.xx Räumen bitte am Gebäude in der Sperrlichstrasse am Empfange melden, da wir keine separate Ausschilderung haben.

Übersicht Vorträge

  • 27.1. Marc Sluiter, Kubernetes / Docker, 3.01.08 Konferenzraum II Links
  • 17.2. Tobias Trelle, MongoDB, LVM Akademie
  • 23.3. Hendrik Ebbers, Custom WebComponents, 3.01.08 Konferenzraum II Links
  • 27.4. Kai Roepke, Graylog, 3.01.08 Konferenzraum II Links
  • 18.5. Markus Höfer, Cassandra, 3.01.08 Konferenzraum II Links
  • 15.6., Andy Gumbrecht, Tomitribe, 3.01.08 Konferenzraum II Links
  • 24.8., Andres Almiray, AsciiDoc, LVM Akademie
  • 14.9. Rabea Gransberger, Code Review, 3.01.08 Konferenzraum II Links (verschoben)
  • 26.10., Matthias Wessendorf, Cloud native Java EE Microservices, 3.01.08 Konferenzraum II Links
  • 7.12., Krystof Beuermann, Swift für Backend Entwickler, 3.01.08 Konferenzraum II Links
 

Elasticsearch – Mehr als Volltextsuche

Elasticsearch ist ein auf Lucene basierender verteilter Suchserver.
Neben der Volltextsuche machen Features wie die Aggregationen, mit denen
Informationen auch aus grossen Datenmengen extrahiert werden können,
Elasticsearch auch zu einer guten Lösung für Analytics-Anwendungsfälle
oder als Datenspeicher für zentralisiertes Logging.

Dieser Vortrag gibt eine Einführung in die Nutzung von Elasticsearch für
Volltextsuche, Analytics und zentralisiertes Logging in Verbindung mit
den Werkzeugen Logstash und Kibana. Zusätzlich wird auf die Integration
in Java-Anwendungen eingegangen.

Florian Hopf

Florian Hopf arbeitet als freiberuflicher Softwareentwickler in
Karlsruhe. Er ist verantwortlich für kleine und grosse Suchlösungen, im
Intranet und Internet, für Web-Inhalte und anwendungsspezifische Daten,
basierend auf Lucene, Solr und Elasticsearch. Er ist einer der
Organisatoren der Java User Group Karlsruhe und des Search Meetup
Karlsruhe sowie Autor eines in diesem Jahr beim dpunkt.verlag
erscheinenden Buchs zu Elasticsearch.

Veranstaltung

Ort: LVM Versicherung, Kolde-Ring 21, Raum 3.01.08 Konferenzraum II Links

Datum: 4.11.

Einlass ab 18 Uhr, die Teilnahme ist kostenlos.

 

Slides: einfuehrung-in-elasticsearch (pdf)

 

Vortrag 4.11. – Elasticsearch, mehr als Volltextsuche

Abstract

Elasticsearch ist ein auf Lucene basierender verteilter Suchserver. Neben der Volltextsuche machen Features wie die Aggregationen, mit denen Informationen auch aus grossen Datenmengen extrahiert werden können, Elasticsearch auch zu einer guten Lösung für Analytics-Anwendungsfälle oder als Datenspeicher für zentralisiertes Logging.

Dieser Vortrag gibt eine Einführung in die Nutzung von Elasticsearch für Volltextsuche, Analytics und zentralisiertes Logging in Verbindung mit den Werkzeugen Logstash und Kibana. Zusätzlich wird auf die Integration in Java-Anwendungen eingegangen.

Referent

Florian Hopf arbeitet als freiberuflicher Softwareentwickler in Karlsruhe. Er ist verantwortlich für kleine und grosse Suchlösungen, im Intranet und Internet, für Web-Inhalte und anwendungsspezifische Daten, basierend auf Lucene, Solr und Elasticsearch. Er ist einer der Organisatoren der Java User Group Karlsruhe und des Search Meetup Karlsruhe sowie Autor eines in diesem Jahr beim dpunkt.verlag erscheinenden Buchs zu Elasticsearch.

Veranstaltung

Ort: LVM Versicherung, Kolde-Ring 21, Raum 3.01.08 Konferenzraum II Links

Einlass ab 18 Uhr, die Teilnahme ist kostenlos.

 

Vortrag am 19.8.: Praxisbericht Microservices mit eigenem Spring Boot Starter

Vortrag

Was bedeutet es eigentlich für die verwendeten Tools und Technologien, wenn man statt einer Anwendung und einem Prozess plötzlich sehr viele, kleinere Anwendungen hat? In dieser Session berichten wir von unseren Erfahrungen bei der Umstellung von monolithischen Batch-Anwendungen mit Hunderten von Jobs auf Micro-Batch-Services mit jeweils einem Job – von der Entwicklung eines eigenen Spring Boot Starters über Test, Release als RPMs, Deployment bis hin zum zentralen Monitoring über Spring Boot Admin, einem eigenen Administrations- und Monitoring-Tool für Spring-Boot-Anwendungen. Die Erfahrungen sind dabei auf Nicht-Batch-Anwendungen übertragbar. Hier gibt’s nicht bloß Theorie, sondern Berichte aus der Praxis!

Die Referenten

Tobias Flohre arbeitet als Senior-Softwareentwickler/Architekt bei der codecentric AG. Seine Schwerpunkte sind Java-Enterprise-Anwendungen und Architekturen mit JEE/Spring. Er ist Autor diverser Artikel und schreibt regelmäßig Blogbeiträge zu den Themen Architektur und Spring. Zurzeit beschäftigt er sich mit Integrations- und Batch-Themen im Großunternehmen sowie mit modernen Webarchitekturen.
Dennis Schulte ist seit 2009 als Senior IT Consultant bei der codecentric AG tätig. Er unterstützt seine Kunden insbesondere im Bereich Enterprise-Architekturen und der Optimierung von IT-Prozessen. Aufgrund seiner langjährigen Erfahrung als Architekt und Entwickler verfügt er über ein umfassendes Wissen im Bereich Java EE und Open-Source-Technologien und hier insbesondere im Umfeld Spring Batch und Massendatenverarbeitung. Seine Projektschwerpunkte liegen in der Architekturberatung und der Durchführung von Projekten im Versicherungsumfeld.

Veranstaltung

Ort: LVM Versicherung, Kolde-Ring 21, Raum 3.01.08 Konferenzraum II Links

Einlass ab 18 Uhr, die Teilnahme ist kostenlos.

Spring Boot Schulungen

Interesse an Schulungen im Umfeld von Spring Framework und Spring Boot: Anbieter von Spring Boot Schulung in Münster und Europa.

 

Vortrag am 15.4. – Node.js und Evented I/O Alternativen auf der JVM

Node.js (oder mittlerweile auch I/O.js) ist als „Evented I/O Runtime“ weit verbreitet und vielseitig im Einsatz. Aber wie kann die neue Node.js Welt in vorhanden Enterprise Architekturen eingebunden werden? Es gibt ausgereifte Monitoring Prozesse für JVM Runtime Umgebungen und ein nicht unerheblicher Anteil von Fachlogik ist in Java-Bibliotheken implementiert. Zusätzlich ist die Ausführung von JavaScript Code in Node.js nur Single-Threaded. Lohnt sich das dann überhaupt?
Die nahtlose Integration und (nahezu vollständige) Kompatibilität zu Node.js Anwendungen in JVM Umgebungen verspricht Nodyn von RedHat, hierbei werden aber JVM-native JavaScript Engines wie Nashorn bzw. DynJS verwendet. Zusätzlich spielen hier auch Netty und Vert.x eine Rolle.
Diese Lösung ermöglicht es nicht nur JavaScript Code asynchron und nicht-blockierend zu verwenden, sondern diesen auch in verteilten Umgebungen mit Hilfe des Vert.x Eventbusses ablaufen zu lassen.
Mit Hilfe meines „Beer-as-a-Service“ zeige ich Möglichkeiten, wie mittlerweile auch im Unternehmensumfeld JavaScript serverseitig eingesetzt werden kann.

Über Niko Köbler

Niko Köbler ist freiberuflicher Software-Architekt, Developer & Trainer für Java & JavaScript (Enterprise) Lösungen, Integrationen und Webdevelopment. Er ist Co-Lead der JUG Darmstadt, schreibt Artikel für Fachmagazine und ist regelmäßig als Sprecher auf internationalen Fachkonferenzen anzutreffen. Niko twittert unter @dasniko
 

Vortrag am 18.3.: Modern Java Web Development

Hinweis: Der ursprünglich geplante Talk von Nils Wloka fällt krankheitsbedingt aus, dieser Vortrag behandelt HTML5 Webentwicklung.

Abstract

Seit dem Aufkommen von Trends wie Mikroservices, Ajax und HTML5/JavaScript Anwendungen muss sich ein Java Architekt nicht mehr nur zwischen den Standards Stacks Spring-MVC oder JavaEE mit JSF entscheiden. In diesem Vortrag werden die verschiedenen Optionen für Front-End und Back-End Entwicklung  vorgestellt und in das umgebende Ökosystem eingeordnet.

Für Entwickler werden Werkzeuge und mögliche Arbeitsabläufe anhand von Demos vorgestellt. Architekten finden eine Übersicht der Integrationsoptionen und aktuellen Entwicklungen nicht nur im Java Umfeld, wie Webcomponents, React.js und Angular.js

Veranstaltung

Ort: LVM Versicherung, Kolde-Ring 21, Raum 3.01.08 Konferenzraum II Links

Einlass ab 18 Uhr, die Teilnahme ist kostenlos.

Folien

Die Folien zu dem Vortrag befinden sich hier: modern-java-web-html5

Unterstützung für AngularJS Entwicklung und Schulung bietet in Münster z.B. trion.de an.

 

Workshop/Vortrag 3.3.2015: Softwarearchitektur Speed-Dating

Zeitgemäße Softwarearchitektur ist nicht das Werk einzelner. Architekturansätze und Ideen entstehen im Team und werden gemeinsam reflektiert. Alle Entwickler müssen sie zumindest verstehen und mittragen können. Aber was genau müsst Ihr vermitteln? Reicht aufschreiben? Hilft UML?
Stefan Zörner zeigt auf lebendige Weise, wie Ihr Eure Softwarearchitektur wirkungsvoll kommunizieren könnt. Nach kurzen theoretischen Inputs rund um Architekturdokumentation und -bewertung probiert Ihr das Gehörte gleich aus. Ihr lernt die Lösungen anderer Teilnehmer kennen und erfahrt Schritt für Schritt, welche Zutaten in einem Architekturüberblick keinesfalls fehlen sollten – egal wie kurz er ist. Ihr lernt die richtigen Fragen zu stellen und passende Antworten parat zu haben.
Bringt bitte die Bereitschaft mit, Euch über Eure Projekte und Softwarelösungen auszutauschen, und anderen Teilnehmern Feedback zu geben. Die sonst üblichen Speed-Dating-Themen wie Kinderwünsche klammern wir aus.
Sprecher: Stefan Zörner (embarc Software Consulting GmbH, Hamburg)

Über Stefan Zörner

Von der Bayer AG über IBM und oose zu embarc. Stefan Zörner blickt auf 20 Jahre IT-Erfahrung zurück und stets gespannt nach vorn. Er unterstützt in Architektur- und Umsetzungsfragen mit dem Ziel, gute Architekturansätze wirksam zu verankern. In lebendigen Workshops vermittelt er Handwerkszeug dazu und steckt mit seiner Begeisterung an. Stefan ist aktives Board-Mitglied im iSAQB, Apache-Committer und Contributor im arc42-Projekt. Sein Buch über Architekturdokumentation erscheint im Hanser-Verlag. Der pragmatische Ansatz, Architektur festzuhalten, findet großen Anklang. Stefan ist gebürtiger Münsteraner.

Veranstaltung

Ort: LVM Versicherung, Kolde-Ring 21, Raum 3.01.08 Konferenzraum II Links

Einlass ab 18 Uhr, die Teilnahme ist kostenlos.

Bitte meldet euch per Xing verbindlich an, die Anzahl Plätze ist begrenzt: https://www.xing.com/events/workshop-vortrag-3-2015-softwarearchitektur-speed-dating-1523414/

 

Die Slides zu dem Vortrag wurden uns freundlicherweise hier zur Verfügung gestellt: http://www.embarc.de/java-user-group-muenster-2015-softwarearchitektur-speed-dating/