Alle Talks im Überblick

From Ops to Platform Engineering - Die Geschichte einer agilen Transformation am Beispiel von otto.de

Der Live-Gang der neuen Otto.de Shopping Plattform war aus Sicht des Operation Teams ein Non-Event wie es im Buche steht. weiter lesen

Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?

Mitunter gelingt ein Entwicklungsvorhaben, und alle sind zufrieden. Oder es scheitert am Ende kläglich. Manchmal auch irgendwas dazwischen. Alles nur Zufall? weiter lesen

PostgreSQL: Die NoSQL Datenbank die niemand kennt

PostgreSQL ist dafür bekannt ein klassisches relationales Datenbanksystem zu sein das mit fixen Datenstrukturen arbeitet. Dass PostgreSQL mittlerweile auch mit schemafreien Daten arbeiten kann ist wenig bekannt. weiter lesen

Resilience mit Hystrix

Verfügbarkeit ist das A und O für Systeme in Produktion, möglichst 24x7, möglichst wenige Ausfälle. weiter lesen

Es werde Licht!

Die meisten Systeme laufen im Dunkeln. Fehler finden sich unter Umständen in Logfiles wieder, wenn das Loglevel richtig gesetzt wurde und die richtigen Daten geloggt werden. weiter lesen

VERT.X for World Domination

VERT.X ist ein auf Netty 4 aufbauendes, event-getriebenes Framework mit simplemem Concurrency-Model. weiter lesen

Java Security Mythen

Java hatte lange Zeit den Ruf, besonders sicher zu sein und Programmierer umfassend bei der Entwicklung sicherer Anwendungen zu unterstützen. weiter lesen

JavaScript und Enterprise. Geht es und wenn ja, wie?

JavaScript war bis dato kein wichtiges Thema für größere Unternehmen. Für einen online Banking- oder Versicherungsauftritt reichten bislang auf der Browser-Seite einfache Mitteln. weiter lesen

Continuous Inspection to the Rescue

Das leidige Thema der Code Qualität wird in Projekten gerne hinten angestellt. Es ist aufwändig und erfordert viel Disziplin von allen Beteiligten. weiter lesen

Maven NodeJs Integration

In den letzen Jahren haben die Frontend Technologien und Entwicklung immer mehr an Gewicht gewonnen. Es geht nicht mehr um eine reine Darstellung der Daten, sondern viel mehr um eine Interaktion mit dem Benutzer. weiter lesen

Programiersprache Go: The Good, the Bad and the Ugly

Go ist eine von den Unix-Legenden Rob Pike und Ken Thompson bei Google entwickelte Open-Source-Programmiersprache: einfach, effizient, produktiv, skalierbar - und sie macht Spaß. weiter lesen

Focus on your Features - Dropwizard takes care of the REST.

Muss es immer ein JEE Application Server oder Spring sein, wenn man eine Applikation mit RESTful Services erstellen möchte? weiter lesen

Micro Services - Die Verheissungen könnten eintreten

Mit Micro Services wird es möglich, die SOLID Prinzipen auf die Architektur anzuwenden. Anwendungen werden in einzelne, collaborierende Services zerlegt. weiter lesen

AngularJS Directive Crash Course

AngularJS ist eines der momentan spannendsten JavaScript MVC Frameworks, das sich von der Konkurrenz vor allem durch drei Merkmale abhebt: weiter lesen

Feige sein!

Auch wenn "Testen feige ist" wissen wir, dass möglichst automatisierte Tests zur Sicherstellung der Korrektheit von Anwendungen unverzichtbar sind. weiter lesen

M2M for Java Developers with MQTT

Mobile devices like smartphones and tablet computers became an integral part of our modern world and single-board computers like Raspberry Pi are cheaper today than at any time before. weiter lesen

Code-Qualität trotz JavaScript

JavaScript erlebt einen besonderen Hype. Die Sprache meldet Ansprüche als Plattform für unternehmenskritische Applikationen an und erobert zunehmend das Server- und Backend-Umfeld. weiter lesen

Meteor vor dem Einschlag: Eine flexible JavaScript Plattform

JavaScript-Applicationframeworks gibt es wie Staub auf dem Mond. Jedoch ist jedes nur auf dem Gebiet gut, für das es geschaffen wurde. weiter lesen

Caching in Business-Anwendungen: Einsatz, Patterns and Best Practices

Das Thema Caching ist für zahlreiche Business Anwendungen relevant und der Markt für Caching-Lösungen reicht von einfachen lokalen Caches bis hin zu mächtigen und komplexen Data Grids. weiter lesen

Nieder mit den Webtests! Wie man Unit Tests für Browser-JavaScript schreibt

Obwohl TDD flächendeckend als erstrebenswert angesehen wird, haben viele Entwicklungs-Teams Probleme damit ihr Browser-JS in der gleichen Art und Weise zu testen wie sie das mit ihrem server-seitigen Code tun. weiter lesen

Spring Boot - Spring ganz einfach

Im Mittelpunkt von Spring stand immer Einfachheit. Spring Boot geht den Weg weiter. Es erleichtert den Zugang zum Spring-Ökosystem, vereinfacht den Build-Prozess - und integriert außerdem Groovy und eingebettete Server in dieses Angebot. weiter lesen

Tod den Java App Servern!

Eine Application auf einem Server benötigt einen Application Server - dieser Vortrag zeigt, warum das nicht so ist und Java Application Server mittlerweile eher aus technischer Sicht ein Nachteil als ein Vorteil sind. weiter lesen

Re-Design von Legacy-Frameworks im Grossunternehmen

Einige der zentral genutzten Frameworks in der Credit Suisse wurden in den letzten Jahren komplett redesigned und erweitert. Unnötige Schnittstellen wurden entfernt bzw angepasst und die Kopplung nach innen und aussen stark verringert. weiter lesen

Building mobile apps with AeroGear and Cordova

Mobile devices are increasingly important as a platform. The number of different devices on the market increases every day. This posses a challenge, how do we support all of them. weiter lesen

NoSQL Schema Design

Das Schemadesign ist bei NoSQL Datenbanken ebenso eine wesentlicher Faktor für die Performance und Wartbarkeit wie bei den herkömmlichen Relationalen Datenbanken. weiter lesen

Private Clouds als Treiber von Innovationen

Cloud Computing ermöglicht es Entwicklern in einer standardisierten, flexiblen Umgebung schnell neue Applikationen zu realisieren. Dabei bieten die meisten Plattformen eine Vielzahl von Technologien zur Auswahl an. weiter lesen

Play Framework - One Web Framework to rule them all

Mit dem Play Framework existiert ein Web Framework für die JVM, das den Geist von Ruby on Rails mitbringt. Play ist von Web-Entwicklern für Web-Entwickler entworfen worden. weiter lesen

Create realtime dashboards using elasticsearch, logstash and kibana

Elasticsearch is often perceived as a pure full-text search engine, however another huge use-case is log management and centralizing - especially in combination with logstash. weiter lesen

Log Management mit Graylog2

Graylog2 ist ein Open Source Log Management und Daten Analyse System. Daten werden von einem Java Server angenommen, verarbeitet und in ElasticSearch geschrieben. weiter lesen

Message Passing Concurrency mit Akka

Der gemeinsame Zugriff auf veränderlichen Zustand aus unterschiedlichen Threads ist eine häufige Fehlerquelle in Java-Anwendungen. Eine Alternative bietet das Toolkit Akka: weiter lesen

RESTful Webapplications mit Apache Sling

Viele klassische Webapplication Frameworks mühen sich seit Jahren daran ab auf einer jeweils proprietären Basis die REST Prinzipien umzusetzen. Apache Sling verfolgt hierbei einen fundamental anderen Ansatz und ist ein Webframework das rund um die REST Prinzipien konstruiert wurde. weiter lesen

Animations-Zauber – Geringer Aufwand, maximale Wirkung

Als Entwickler fokussieren wir unsere Arbeit meist auf die fachlichen Funktionen unserer Anwendungen. Dabei mappen wir Modelle auf grafische Elemente und erstellen damit Eingabemasken. weiter lesen

REST: Implementierungsansätze auf der JVM

REST-basierte APIs werden immer populärer, und damit steigt auch die Anzahl von Bibliotheken und deren Mächtigkeit. In diesem Vortrag wollen wir die Theorie auf das absolute Minimum begrenzen und ganz praktisch zeigen, wie man REST-APIs mit Java und anderen JVM-Sprachen realisiert. weiter lesen

Coupling and Cohesion ain't grandpa's design principles

Eine wichtige Eigenschaft der Softwarearchitektur, die großen Einfluss auf die Wartbarkeit eines Systems hat, ist Modularität. Wenn Applikationen größer werden oder über einen langen Zeitraum entwickelt werden, dann wird diese Eigenschaft zunehmend wichtiger, aber auch schwieriger zu realisieren. weiter lesen

Continuous Delivery and Testing: Wie testen wir Software, wenn wir immer weniger Zeit dafür haben?

Die meisten Softwareteams releasen ihre Software-Produkte deutlich schneller und öfter in Produktion als noch vor 10 Jahren. Die Vorteile liegen auf der Hand: Man bekommt schneller Feedback vom Kunden und man verdient mit einem neuen Feature das Geld schneller und früher. weiter lesen

Evil Maven Snapshots

Agile Methoden wie Scrum definieren Meilensteine an denen regelmäßig Auslieferungen statt finden. Buildsysteme wie Maven verwenden das Konzept von Snapshots um diese "flüchtigen" Builds während der Entwicklung auch als solche zu Kennzeichnen. weiter lesen

All Hands on Deck - Introduction to Lean Architecture

What is the role of architecture in a modern software project? Have we forgotten the value of proper planning in our effort to be flexible and agile while stripping away all excess fat? weiter lesen

Continuous Delivery konkret mit Docker

Bei Docker handelt es sich um ein System, mit dessen Hilfe sehr leichtgewichtige, selbständige Container für Applikationen aufbauen lassen. weiter lesen

Once and for all: Writing JavaScript that runs both in the server and the browser

Writing rich web applications meant duplicating a lot of logic, mostly presentational, in both the server and the client. weiter lesen

Continuous Delivery ist keine Technologie

Seit 2010 entwickeln wir ein Produkt unter Einsatz von Continuous Delivery und einigen anderen "neuen" Methoden. Viele Impulse zu neuen Vorgehensweisen kamen überraschenderweise aus dem Produktmanagement. weiter lesen

Speed up your build using Buck

Buck is a build system that encourages the creation of small, reusable modules consisting of code and resources. It was invented by Facebook engineers to speed up their Android app developlement process. weiter lesen

Automatisches Generieren von Page Objects für GUI Tests

Das automatisierte Testen von GUI-Oberflächen mit Selenium ist sehr pflegeaufwändig. Insbesondere wenn sich die Oberflächen ändern, müssen alle Tests angepasst werden. weiter lesen

Mocken ohne Tippen

Damit ein Unittest ein echter "Unit"-Test ist, darf er keine Abhängigkeiten zu anderen Klassen haben. Beim Schreiben von Unittests werden deshalb üblicherweise alle Abhängigkeiten des getesteten Objekts durch Mock-Objekte ersetzt. weiter lesen

MapStruct - Ein innovativer Ansatz für Bean-zu-Bean-Mappings

Die Abbildung zwischen den Elementen verschiedener Datenmodelle ist eine häufig wiederkehrende Aufgabe bei der Entwicklung von Geschäftsanwendungen, etwa wenn es gilt, das interne Domänenmodell einer Applikation auf ein DTO-Modell zu mappen. weiter lesen

Spring 4 auf Java 8

Spring ist bekannt dafür, umgehend Unterstützung für neue Java-Generationen anzubieten, und nun ist es Zeit für Java 8. weiter lesen

Wer nur unit-testet, lebt spannender! oder: Systemtests von Applikationen, einfacher mit docker

Erst wenn die Systemtests bestanden wurden (aus Enduser-Sicht), sollte man eine Applikation veröffentlichen: ein typisches Einsatzgebiet virtueller Maschinen. weiter lesen

Search-Driven Applications

Wer den Begriff Suche hört denkt oft als erstes an ein Sucheingabefeld mit einer Ergebnisliste. In vielen Applikationen werden allerdings neben diesem klassischen Ansatz auch weitere dynamische Bereiche über Suchengines abgefragt. weiter lesen

Breaking Build - Stell Dir vor der Build ist kaputt und keiner merkt es

Continuous integration hat sich in den letzten Jahren zu einem Standard-Werkzeug in der Software-Entwicklung entwickelt. Je größer das Projekt ist, umso sinnvoller ist es regelmäßig den Zustand des Codes zu überprüfen und frühzeitig auf Fehler und Probleme hinzuweisen. weiter lesen

Am Anfang stand das Wort - Ausführbare Tests mittels ATDD in natürlicher Sprache schreiben

Automatisiertes Testen ist inzwischen fester Bestandteil jedes modernen Entwicklungsprozesses. Entwickler schreiben Tests mit dem Ziel die Funktionalität einer Anwendung sicher zu stellen. weiter lesen

UX is a team effort

In this lightning talk I will, from a designers point of view, claim that more involvement from developers and architects in the design process, results in better UX design. I will also suggest concrete methods for creating multidisciplinary UX process. weiter lesen

Live-Monitoring großer Plattformen mit MoSKito Control

MoSKito ist eine Open-Source Platform zum Messen, Analysieren und Optimieren der Geschwindigkeit und des Verhaltens einer Applikation. MoSKito zeigt jederzeit den Status der eigenen Applikation. weiter lesen

Hypermedia getriebene REST Architektur mit Spring

Spring MVC bietet eine solide Grundlage um REST basierte WebServices mit Java zu implementieren. Dennoch bleibt das umsetzen von Hypermedia und komplexerer Geschäftslogik eine Herausforderung. weiter lesen

Scala in Pattern

Dieser Vortrag lädt interessiert Java Entwickler ein sich Scala durch Pattern zu nähern. weiter lesen

Facebook Presto for the (data) masses

Facebook Presto ist eine verteilte SQL Query Engine. Sie ermöglicht es, in großen Datenmengen und unterschiedlichen Quellen Abfragen zu machen. weiter lesen

Reversible Engineering: Going Back in Time

Irreversibility is the enemy of the software engineer; it adds useless complexity and produces frictions that slow down the development process. weiter lesen

MongoDB - Datenverteilung, aber wie?

Die NoSQL Datenbank MongoDB bietet eine gute Grundlage für flexible und skalierbare Applikationen. weiter lesen

Visualising data with D3 and Rickshaw

Visualising data has never been more important, more exciting or more approachable than it is right now. It's a subject that every creative person should explore because it combines 3 very interesting and challenging fields: Design, maths, code. weiter lesen

"PhoneGap - Der mobile Lückenbüßer"

Wer eine HTML5-Anwendung für's Smartphone realisiert, wünscht sich über kurz oder lang Zugriff auf die eine oder andere native API. PhoneGap - der englische Begriff lässt sich auch als "mobiler Lückenbüßer" übersetzen - verspricht an dieser Stelle Abhilfe. weiter lesen

Firefox OS - was ist das?

Wer sich ein Firefox OS-Smartphone kauft, ist auf den ersten Blick oft aufgrund der vergleichsweise schwachen Hardware und des fehlenden SDKs verwundert. weiter lesen

ROCA im Java-EE-Kontext - Endlich webkonforme Anwendungen bauen!

ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz zur Entwicklung von Webanwendungen, der sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet. weiter lesen

Neue Wege mit CQRS

Das CQRS-Pattern (Command-Query Responsibility Segregation) eröffnet einen neuen Blick auf die Architektur zeitgemäßer Informationssysteme und stellt zahlreiche Annahmen in Frage, die wir als Softwarearchitekten allzu oft als gegeben hinnehmen und die seit Jahrzehnten viele unserer Architekturentscheidungen bestimmen. weiter lesen

Experimental project to interpret and convert PHP code to Scala

The project consists of a PHP lexer/parser using Scala combinators, an interpreter based on a syntax tree that can be converted to Scala, a runtime library encapsulating all the quirks of PHP type and class system and various sub-projects corresponding to the PHP-extensions. weiter lesen

Softwarearchitektur Speed-Dating. Wer einsam bleibt ist selber schuld!

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? weiter lesen

Sponsoren

Small Improvements
akquinet
leanovate
techdev Solutions
codecentric
cofinpro
innoQ
adesso
Jesta Digital
pro!vision
Trifork
axel springer ideas engineering
elasticsearch
e-post
zaunberg

Partner

Java User Group Berlin Brandenburg Logo
iJUG

Medien Partner

O'Reilly
dpunkt.verlag
Galileo Computing