Worum es bei uns geht

Dies ist eine Gruppe für alle Java Developer in und um Augsburg. Wir wollen unsere Räumlichkeiten nutzen um in einem regelmäßigen Austausch mit Menschen mit ähnlichen Aufgaben und Fragen zu haben.

Bevorstehende Events (3)

AdoptOpenJDK – was ist das eigentlich? - Hendrik Ebbers

In den letzten zwei Jahren gingen bzgl. der neuen Java Roadmap und der geänderten Lizenzbestimmungen von Oracle viele Gerüchte und Fragen durch die Java-Community. Heute kann man sich nicht mehr einfach seine Java Runtime bei Oracle runterladen und auf den eigenen Firmenservern nutzen, sondern muss zwischen verschiedenen Providern wählen. Einer dieser Runtime-Anbieter ist AdoptOpenJDK. Aber wer bzw. was verbirgt sich eigentlich hinter AdoptOpenJDK und wie unterscheiden sich diese Java-Distributionen und Lizenzen von denen anderer Anbieter? Mit bereits über 100 Millionen Downloads ist auf jeden Fall klar, dass wir es hier nicht mit einem Nischenprodukt zu tun haben. Als Mitglied des TSC von AdoptOpenJDK will ich in diesem Talk einen Überblick zur Entstehung und Intention von AdoptOpenJDK geben und zeigen, wie hier ein großes communitybasiertes Projekt zur kostenlosen Weiternutzung von Java entstanden ist. Natürlich wird auch auf Fragen zum Thema Security und Zukunftssicherheit von AdoptOpenJDK eingegangen werden.

Checkt auch den Host der JUG Augsburg: www.mischok.de und den Spring Boot Blog: www.spring-boot-blog.de

Du willst Programmieren lernen? Schau bei der Mischok Academy vorbei: www.mischok.academy

Neues von microstream - Markus Kett

Benötigt einen Veranstaltungsort

Link zum Talk:
https://microstream.youcanbook.me/zoom/NRVA-IBCZ-DDAB

MicroStream ist die erste Java Persistence (Engine), mit der man beliebige Java Objekt-Graphen oder einzelne Subgraphen in einer beliebigen Storage-Lösung nativ speichern kann. Nativ bedeutet, dass der Objekt-Graph so wie er im RAM von der JVM gehalten wird, persistent gespeichert wird. Der MicroStream Ansatz unterscheidet sich fundamental vom traditionellen RDBMS/NoSQL DB-Server Programmiermodell:

1. nur noch 1 Datenmodell: Java-Klassen ohne Abhängigkeiten (POJOs)

2. kein DB-spezifisches Datenmodell mehr (Tables, Column-Store, JSON, Key-Value, DB-spezifisches Graph-/Object-Modell) - welche zu Objekt-Graphen, die wir in Java verwenden inkompatibel sind

3. überhaupt keine Mappings mehr

4. keine DB-spezifische Query Language mehr, keine klassischen Selects mehr, einfach nur Getter-Aufrufe

Objekt-Graphen im RAM lassen sich als superschnelle Java In-Memory Datenbank nutzen. Dabei ist der Objekt-Graph eine echte Multi-Model-Data-Structure, da beliebige Java-Typen wie Collections genutzt werden können. Queries: Mit Java Streams und GraphQL lassen sich Objekt-Graphen in nur Mikrosekunden durchsuchen und die Suche sogar parallelisieren. Das ermöglicht bis zu unglaubliche 1000 Mal schnellere Suchergebnisse als vergleichbare JPA-Queries und ist sogar bis zu 100 Mal schneller als das Lesen von Objekten aus einem lokalen Cache. Zusätzliche Caching-Frameworks wie EHCache sind damit ebenfalls überflüssig. Das Endergebnis ist eine ultraschnelle Pure Java In-memory Datenbank-Applikation oder Microservice mit ultraschneller Persistenz. MicroStream selbst ist eine kleine Java API, die in beliebige Java-Projekte via Maven eingebunden wird und auf dem Server, Desktops, in Container, in GraalVM Native-Images und auch auf Android benutzt werden kann.

MicroStream richtet sich an Java Entwickler, die hoch performante Datenbank-Applikationen oder Microservices mit eigener Persistenz entwickeln wollen und eine ultraschnelle, leichtgewichtige, einfach implementierbare, Pure-Java Alternative zu JPA/ORM-Frameworks wie Hibernate sowie zu heutigen NoSQL-Ansätzen suchen.

MicroStream ist bereits seit über 5 Jahren im Produktiv-Einsatz u.a. bei der Allianz SE in über 30 Ländern weltweit. 2019 wirde die erste freie Version von MicroStream veröffentlicht. Mit dem nächsten Major-Release wird MicroStream Open-Source und in Kürze Bestandteil von Helidon, Open Liberty und anderen Microservice-Frameworks.

Checkt auch den Host der JUG Augsburg: www.mischok.de und den Spring Boot Blog: www.spring-boot-blog.de

Du willst Programmieren lernen? Schau bei der Mischok Academy vorbei: www.mischok.academy

Quo Vadis JVM? Funktional coden in Java, Scala und Kotlin - Jerat & Pfleiderer

Die Bedeutung funktionaler Programmierkonzepte nimmt im Entwickleralltag immer weiter zu. Spätestens seit Java 8 sind funktionale Konstrukte zunehmend präsent. Was früher noch als "zu akademisch" oder "nice-to-have" abgestempelt wurde, bietet heute in der Praxis unverzichtbare Mehrwerte. Unveränderliche Datenstrukturen, Funktionen höherer Ordnung, Funktionskomposition und weiterführende Konzepte fördern Testbarkeit, Modularität und Wiederverwendbarkeit. Das sind alles unbestreitbare Kriterien für sauberen Code.

Die Erfahrung zeigt, dass es oftmals an der praktischen Erfahrung mit funktionalen Pattern fehlt, um diese an geeigneten Stellen korrekt zu verwenden. Auch fällt es vielen Entwicklern anfangs schwer, sich selbst von den bekannten imperativen Mustern zu lösen. Dahinter stecken eingefahrene Denkmuster, die erst einmal überwunden werden müssen. Natürlich fallen auch initiale Lernaufwände an. Denn plötzlich wird die Bedeutung von seiteneffektfreier Programmierung und referentieller Transparenz relevant. Vor dieser ersten Lernhürde schrecken viele Entwickler zu Unrecht zurück. Die Belohnung ist eleganter und prägnanter Code, der sich leichter warten lässt.

In dieser Session lernen die Teilnehmer verschiedene typische Pattern aus der funktionalen Programmierung kennen. Der Fokus liegt darauf, den Nutzen dieser Pattern zur praktischen Verwendung zu vermitteln. Für die Code-Beispiele wurden die beiden JVM-Programmiersprachen Kotlin und Scala gewählt. Jedoch können Entwickler in jeder Sprache unmittelbar von den vorgestellten Konzepten profitieren.

Florian Pfleiderer beschäftigt sich als Senior Consultant bei Digital Frontiers mit agiler Software-Entwicklung. Seine Kunden berät er in den Bereichen Architektur, Microservices und Craftsmanship.

Benedikt Jerat ist als Consultant für Digital Frontiers tätig. Seine Schwerpunkte liegen dabei auf der Softwareentwicklung im Scala-, Java- und Spring-Umfeld mit Fokus auf funktionaler Programmierung.

Unsere Speaker: www.digitalfrontiers.de/
Host: www.mischok.de
Programmieren lernen: www.mischok.academy
Spring Boot blog: www.spring-boot-blog.de
Digitalisierung: go-digital.mischok.de

Fotos (29)