26. Mai
Der Konferenztag am 26. Mai – was erwartet Euch dabei? Ein ganzer Tag mit über 20 JAX-Sessions, live performt und interaktiv gestaltet für Euch und Eure Fragen. Die Sessions sind gegliedert in drei parallele Tracks, rund um die Themen Java, Software-Architektur, Microservices, DDD, DevOps und Serverless, sodass Ihr stets die Auswahl habt. Und nicht nur das — es erwarten Euch den Tag über verschiedene Überraschungen. Es lohnt sich also, den 26.5. in Euren Kalender vorzureservieren, damit Ihr nichts verpasst!
Ob im Home Office oder im Büro – Ihr bestimmt, von welchem Ort Ihr teilnehmt.
Ihr spart Euch Reise- und Hotelkosten und zusätzlich das wertvollste Gut überhaupt: Eure Zeit!
Erlebt unsere erfahrenen und bewährten JAX-Speaker, die insbesondere auch für die Workshops mit den didaktischen Möglichkeiten von Online-Konferenzen aufwarten.
Am Hauptkonferenztag könnt Ihr euch frei zwischen den 3 parallel laufenden Sessions entscheiden und auch ein nachträgliches Wechseln ist jederzeit möglich.
An den Workshop-Tagen erwarten euch Live-Coding und praxisnahe Übungen zu ausgewählten Themen, die den aktuellen Stand der Technologie behandeln.
Ihr folgt dem Vortrag des Speakers per Videoübertragung und werdet von diesem durch die Lerninhalte geführt.
Alle Sessions des Hauptkonfernz-Tags werden aufgezeichnet und Euch anschließend zur Verfügung gestellt.
Teilnehmern der Online-Workshops werden die Aufzeichnungen ebenfalls als Film exklusiv zur Nachbereitung zur Verfügung gestellt.
Bei unseren Online-Workshops wird Interaktion großgeschrieben!
MIttels besonderer Q&A-Einheiten, einer Chat-Funktion und der Möglichkeit, sich per Audio-/Video-Kommunikation auszutauschen, können individuelle Fragen berücksichtigt und das Tempo des Workshops entsprechend angepasst werden.
Virtuelles Get-Together – ein Online-Meeting mit unseren Experten in drei virtuellen Räumen zu vorher definierten Themen.
de
Buchungshinweis: Domain-Driven-Design-Workshop
Wie entwirft und implementiert man ein gutes Domänenmodell? Dieser Frage gehen wir in diesem Workshop nach und entwickeln Lösungsansätze. Durch eine Mischung von Vorträgen und praktischen Übungen erarbeiten wir uns die Grundlagen von Taktischem Design, beschäftigen uns mit geeigneten Architekturstilen, um das Domänenmodell frei von Technologie zu halten, und entwickeln schließlich anhand einer Beispieldomäne ein eigenes Domänenmodell.
Inhalt & Ablauf
Dabei helfen uns die "Building Blocks" wie Entity, Value Object, Repository usw. Außerdem betrachten wir, wie wir mit der Ubiquitous Language die Fachsprache bis in den Code bringen. Um dieses Domänenmodell sauber und frei von Technologie zu halten, bieten sich außerdem die Architekturstile Hexagonal, Onion und Clean Architecture an. Auf diese gehe ich im zweiten Teil des Workshops tiefer ein.
Als Referenzimplementierung betrachten wir den LeasingNinja (leasingninja.io).
Der Workshop wird aus Vorträgen und Übungen bestehen. Dabei werden wir uns auch mehrere Beispiele aus der Praxis anschauen und in den Übungen erarbeiten sich die Teilnehmer selbst an einer Beispieldomäne ein eigenes Domänenmodell.
I. Einführung und Überblick DDD
II. Der Weg zum Domänenmodell / Architekturstile
III. Taktisches Design mit den Building Blocks
IV. Implementieren der Building Blocks
Audience & Requirements
Der Workshop richtet sich an Entwickler und Architekten.
de
Buchungshinweis: Daten-Patterns Workshop
Microservices mögen die Anwendungsentwicklung in manchen Bereichen erleichtern. Der Umgang mit persistenten Daten und ihre Speicherung in relationalen Datenbanken gehören aber leider nicht dazu. Die klassischen Lösungen, mit denen wir früher Daten ausgetauscht und ihre Konsistenz sichergestellt haben, stehen uns nicht länger zur Verfügung. Die ehemals lokalen, synchronen Methodenaufrufe in andere Module unseres Monolithen würden nun Service-Grenzen überschreiten. Komplexe Abfragen über Daten verschiedener Services würden den Zugriff auf Service-fremde Datenbanken erfordern. Und die Änderung von Daten in mehreren Microservices würde verteilte Transaktionen zur Sicherung der Datenkonsistenz benötigen. In einer modernen und effizienten Microservices-Architektur wollen wir jedoch all das vermeiden, damit unsere Microservices unabhängig voneinander und skalierbar bleiben. Wir benötigen daher neue Patterns und Tools, mit denen voneinander unabhängige Microservices ihre Daten austauschen und wir eine Service-übergreifende Datenkonsistenz sicherstellen können. Dafür stehen inzwischen einige Optionen zur Auswahl, die wir in diesem Workshop mit ihrem jeweils idealtypischen Anwendungsfall erarbeiten werden.
Audience & Requirements
Der Workshop richtet sich an Entwickler und Architekten, die über erste Erfahrungen mit Microservices verfügen.
Die Teilnehmer sollten über Grundkenntnisse in der Verwendung von Spring Boot und Docker verfügen.
Jeder Teilnehmer sollte einen eigenen Laptop mit einer IDE der Wahl, einem aktuellen Java und Docker mitbringen.
de
Buchungshinweis: Java-Programmier-Workshop
In diesem Hands-on-Workshop werden relevante Themen zu den neuesten Java-Versionen vorgestellt. Dadurch erhalten die Teilnehmenden einen guten Überblick über wichtige, mit Java 9 bis 11 eingeführte Neuerungen sowie Erweiterungen aus Java 12, 13 und 14. Abgerundet wird der Workshop durch viele Übungen, einige Livedemos, verschiedene Tipps und Tricks sowie ein paar nützliche Handouts.
Inhalt & Ablauf
Beginnend mit Java 10 hat Oracle auf einen sechsmonatigen Releasezyklus umgestellt, um lange Verzögerungen durch potenziell noch nicht fertige Features zu vermeiden. Dementsprechend beschleunigt sich Java und es gibt viele neue Dinge zu entdecken. Java 9 enthält verschiedene Änderungen in der Syntax und vor allem den APIs, unter anderem hilfreiche Funktionalitäten in Streams und Optionals sowie Erweiterungen zur Concurrency mit CompletableFuture. Zusätzlich wurde die Modularisierung eingeführt. Java 10 brachte kleine API-Erweiterungen, vor allem aber var, um die Definition lokaler Variablen zu vereinfachen. Java 11 liefert wiederum einige API-Verbesserungen. Mit Java 12 erhalten wir eine Vorschau auf das neue verbesserte Switch, das schließlich in Java 13 in Verbindung mit mehrzeiligen Zeichenketten als Preview enthalten ist. Auch Java 14 bringt wieder kleine Verbesserungen. Es gibt also einiges zu entdecken.
Zusammenfassend lässt sich sagen, dass Java mit jedem neuen Release cooler und besser wird. Lassen Sie uns gemeinsam einen Blick auf wichtige und hilfreiche neue Features in der Sprache und in den APIs werfen.
Audience & Requirements
Die Teilnehmer sollten ein gutes Java-Know-how besitzen, Vertiefte Kenntnisse sind nicht nötig, aber hilfreich.
Dies ist ein Hands-On-Workshop. Daher ist ein eigenes Laptop mit einer aktuelle IDE sowie einem aktuelle Java 1 (und 14) wichtig.
en
de
Nur neue Projekte können von Microservices profitieren? Nein, gerade das Ergänzen und Ablösen von Legacy-Systemen und Monolithen ist eine Stärke von Microservices. Dieser Vortrag zeigt, wie man die Vorteile des Microservices-Ansatzes nutzen kann, um vorhandene Systeme zu verbessern und so schnell die Vorteile auszunutzen, ohne gleich die gesamte Architektur zu ändern. Dabei zeigt die Präsentation zahlreiche verschiedene Ansätze für Migration und Verbesserung auf.
de
Enterprise Java erscheint mit seinem Memory- und Runtime-Overhead in Zeiten von Cloud-native und Serverless nicht wirklich gut für die Zukunft gerüstet. Erschwerend kommt hinzu, dass viele Enterprise Frameworks mit Annotation Scanning, Aufbau von Proxies und Caches das Start- und Speicherverhalten weiter negativ beeinflussen. Bedeutet das das Aus für Java in der Wunderwelt der Cloud? Mitnichten! Projekte wie GraalVM, Micronaut und Quarkus versuchen, Java in der Cloud zur Numero uno werden zu lassen. Und das auf beeindruckende Art und Weise. Die Session zeigt anhand praktischer Beispiele, was heute bereits möglich ist.
de
Event-driven architectures are on the rise. They promise both better decoupling of components by using an event bus and improved scalability in terms of throughput. Decoupled modules help to scale your software development efforts itself. Event streaming promises to handle ever-growing amounts of "data in motion" in real-time, event sourcing allows us to time travel, and domain events have turned out to be powerful building blocks that lead to a better understanding of underlying business requirements. But there are also pitfalls that you’d better be aware of. For example, event-notifications used inappropriately can lead to tighter coupling or cyclic dependencies between components. It is also easy to lose sight of flows across service boundaries, making it hard to understand how core business logic is actually implemented. This can get even worse, if you lack tooling to get insights into your event flows. Last but not least, the event-driven approach is not well-understood by most developers or business analysts, making it hard for companies to adopt. In this talk, I will quickly go over the concepts, the advantages, and the pitfalls of event-driven utopia. Whenever possible, I will share real-life stories or point to source code examples.
en
Java frameworks often need to dynamically create classes. One approach to do that easily in Java is dynamic proxies. In this talk, we will show how they compare to hand-written classes. We will then examine how we can use dynamic proxies to reduce the amount of code that we have to write. We also briefly explore other dynamically implemented patterns, such as decorator, adapter, and composite.
de
Immer mehr Projekte setzen auf reaktive Programmierung. Beim Bauen reaktiver Systeme stellen Entwicklungsteams irgendwann fest, dass sich sämtliche Vorteile dieser Umstellung nur bei einem durchgängig reaktiven Stack einstellen. Es gibt einige reaktive Messaging- und NoSQL-Integrationen, jedoch gehören SQL-Datenbanksysteme nicht dazu. Dieser Vortrag stellt die Reactive Relational Database Connectivity (R2DBC) Initiative vor. Das Ziel dieses Projekts ist es, ein reaktives API für SQL-Datenbanken zu definieren. Dieser Vortrag erklärt das R2DBC API, seine Funktionsweise und die Vorteile, die sich aus der Nutzung ergeben. Wir schauen uns R2DBC auch im Kontext von Anwendungen an und die Möglichkeiten, wie sich R2DBC effizient einsetzen lässt.
de
de
de
GitLab unterstützt Entwickler nicht nur bei der Versionierung ihrer Projekte, sondern u. a. auch beim Projektmanagement sowie beim Deployment der einzelnen Anwendungen. Diese Session zeigt auf, wie CI/CD mit GitLab durchgeführt werden kann. Insbesondere wird veranschaulicht, wie über GitLab einzelne Features ein- und ausgeschaltet werden können, um verschiedene Implementierungen der Anwendung im produktiven Umfeld einführen und testen zu können.
de
Es ist en vogue, Anwendungen in fachlich geschnittene Microservices zu unterteilen und in Kubernetes-Clustern zu betreiben. Streng genommen ist ein Kubernetes-Cluster ein monolithisches System, bestehend aus untrennbaren Services. Damit ist gemeint, dass die einzelnen Services nicht unabhängig voneinander betrieben bzw. ausgeschaltet werden können. Dieses Konzept erinnert stark an die 90er-Jahre mit ihren großer Application-Servern. Konsequent wäre es, das Betriebskonzept der Softwarearchitektur anzupassen: Unabhängig betreibbare Infrastruktur-Services anbieten, wie z. B. Service Registry, Deployment-Verteilung, Load Balancing …In diesem Vortrag möchten wir zeigen, wie man den Microservices-Gedanken kleiner, abgeschlossener, spezialisierter Bausteine auch in Infrastruktur-Services umsetzen kann, und dabei Alternativen zu Kubernetes aufzeigen und diskutieren. Wir wollen Use-Case-orientiert Lösungsskizzen vorstellen.
en
There were two fatal crashes of the Boeing 737 Max in the fall of 2018 and spring of 2019 grounding the airplane world-wide and begging the question why? In the end, it comes down to software but there is much more to that story. Ken Sipe, our keynote speaker, is in the unique position of being an instrument-rated private pilot and a software engineer with experience working with remote teams, both will provide insight into lessons we will learn as we peel back the details of these tragic events. In this session, you will learn about aircraft types and how they affect decisions of the airline industry from pilot scheduling, plane scheduling, innovation and profits. We will see how an airplane design from 1994 causes challenges in 2018-2019. We will learn how software becomes the solution to a hardware problem of design. We will continue with plane ratings and what “in-type” means and how it plays an affect. We will broach on the topic of the USA FAA relinquishing quality standards to Boeing because of man-power and costs. Last we will hone in on what a pilot does and expects and what the MCAS system did by design. The climax of the talk will center around software requirements and how disconnected remote teams without user experience in the problem space will write exactly what you agree on ... which can be lethal.
de
Auf ein Vierteljahrhundert blickt die Java-Community seit ihrem Bestehen zurück. Zeit für eine Rückschau der besonderen Art. Im Gespräch mit Java-Legende Heinz Kabutz werden die Erfahrungen, welche in dieser Zeit gemacht wurden, erörtert, mit dem Ziel, die außerordentliche Rolle, die Java in der IT-Branche einnimmt, zu beleuchten. Diese Rückschau wird gewiss nicht ohne persönliche Beobachtungen und Anekdoten geschehen und auch für Fragen des Publikums wird es natürlich Raum geben.
de
Gerade Unternehmens- und Industrieanwendungen müssen langfristig wartbar sein. Dieses Ziel lässt sich in der Welt von JavaScript nicht immer einfach erreichen.Das Werkzeug Nx stellt hier eine praxiserprobte Lösung dar. Es stammt von ehemaligen Mitgliedern des Angular-Core-Teams und erweitert das CLI um einige Möglichkeiten zur Schaffung skalierbarer Anwendungen. In dieser Session erfahren Sie, wie Sie mit all diesen Möglichkeiten Ihre großen Unternehmensanwendungen strukturieren und nachhaltig gestalten können. Wir besprechen das Aufteilen Ihrer Anwendung in übersichtliche Bibliotheken, das Abbilden Ihrer fachlichen Domänen, inkrementelles Kompilieren und Testen, die Kategorisierung von Bibliotheken sowie ein darauf aufbauendes Definieren von Zugriffseinschränkungen zum Erzwingen Ihrer vorgesehenen Frontend-Architektur. Am Ende haben Sie einen Überblick über Nx und wissen, wie Sie es zur Schaffung Ihrer nachhaltigen Unternehmenslösungen einsetzen können.
de
Microservices are it! It's how modern IT systems are built! Microservices reduce complexity! Microservices are needed for scalability! Everybody does Microservices! We want them! We need them! Microservices were a big hype in the last few years and meanwhile they reached mainstream - and their difficulties become apparent. About time to adjust the picture! In this session, we will first examine in which places microservices add value and where they just add accidental complexity. Then we will have a look at all the things that you additionally need to take care of to actually get the benefits from microservices (and that are usually forgotten). To complete the picture, we finally will have a look at (better) alternative options for the places where microservices do not add any value. After this session, we will have busted some of the popular microservices myths and you will have a better understanding, when to use them - and when to avoid them.
de
Die Umsetzung von Microfrontends war bis jetzt alles andere als einfach. Da gängige Frameworks und Build-Werkzeuge diese Idee nicht einmal ansatzweise kannten, musste man ordentlich in die Trickkiste greifen. Die von Webpack 5 gebotene Module Federation leitet hier einen entscheidenden Richtungswechsel ein. Sie erlaubt es, separat kompilierte Anwendungsteile zur Laufzeit zu laden und Bibliotheken zwischen ihnen zu teilen. In dieser Session erfahren Sie von Microfrontend-Pionier Manfred Steyer am Beispiel einer Angular-Anwendung, wie Sie diesen Mechanismus zur Schaffung von Microfrontends nutzen können. Neben den Schönwetterszenarien diskutieren wir auch Fallstricke und Ansätze, um diese zu vermeiden. Außerdem werfen wir auch einen Blick auf die Kombination von Microfrontends, die auf unterschiedlichen Technologien basieren, sowie auf mögliche Alternativen. Am Ende der Session haben Sie einen Überblick über das Thema und wissen, wie Sie Module Federation in Ihren Projekten nutzen können und welche Konsequenzen sich daraus ergeben.
de
Kubernetes bietet eine Menge an Funktionalitäten, um die Downtime von Pods sehr gering zu halten. Graceful Shutdown und Zero Downtime Deployments sind mit Kubernetes durchaus möglich. Dies betrifft jedoch nur den geordneten Austausch von Containern oder Pods. Trotz aller Vorkehrungen durch Kubernetes kann es vorkommen, dass der Crash eines Services zu HTTP-5xx-Antworten führt. Zur vollständigen Kompensation von Services, welche sich im Fehlerzustand befinden, müssen andere Maßnahmen ergriffen werden. In dieser Session wird gezeigt, warum der klassische Ansatz mit einem Resilienz-Framework diese Art von Probleme nicht vollständig lösen kann. Dazu wird der Pod-Lifecycle betrachtet und das Vorgehen von Kubernetes beim Ersetzen von fehlerhaften Pods analysiert. Eine mögliche Lösungsstrategie bietet das Client-side Loadbalancing. Am Beispiel des Service-Mesh-Tools Istio wird gezeigt, was nötig ist, um eine vollständige Kompensation mit Hilfe dieser Strategie zu erreichen.
de
Untertägige Lead Times? Eine neue Idee in nur wenigen Stunden zu Ihren Anwendern bringen? Irrelevant für Sie? Deployment einmal pro Woche ist gut genug? Das denken immer noch viele Unternehmen in Deutschland.
In dieser Session werden wir diskutieren, warum diese Vorstellung falsch ist.
Wir werden erörtern, dass untertägige Lead Times eigentlich grundsätzlich unvermeidlich sind, selbst wenn Sie nicht in einem hochdynamischen Markt leben. Wir werden sehen, wie Sie viel Geld sparen, flexibler werden, Ihre Organisation und Prozesse vereinfachen, Stress (!) abbauen und vieles mehr können, einfach nur indem Sie sich für untertägige Lead Times entscheiden.
Lassen Sie sich überraschen und bringen Sie sich in Position für einen Geschwindigkeitsschub.
de
Jeder produktiv betriebene Microservice muß mit Security abgesichert sein. Um dies sicherzustellen, entsteht im Vergleich zu einem monolithischen System durch die hohe Anzahl an Services ein signifikanter Mehraufwand. Erfolgt der Betrieb dann noch in einer Public-Cloud, so darf weder die Kommunikation innerhalb der Infrastruktur des Cloud-Betreibers, noch die Verbindung über das Internet im Klartext erfolgen. Darüber hinaus müssen in jedem einzelnen Service entsprechende Autorisierungsprüfungen stattfinden. In dieser Session wird gezeigt, wie einfach und wie wenig aufwändig die Umsetzung der Securitymaßnahmen mit einem Service-Mesh-Tool, wie beispielsweise Istio, erfolgen kann. Mit ein paar kleinen Istio-Regeln wird die gesamte Kommunikation im Service Mesh mit mutual TLS (mTLS) abgesichert. Auch grundlegende Prüfungen der Service-to-Service-Kommunikation und der End-User-Autorisierung mittels JWT können von Istio übernommen werden. Die weiterführenden Berechtigungsprüfungen innerhalb eines Java Services werden durch die Verwendung der MicroProfile-Spezifikationen veranschaulicht.
en
Based on our study, most enterprises waste 30-70% of memory due to inefficient programming. In this session you will learn effective programming practices, techniques and tricks to write memory efficient code. Memory efficient code facilitates to deliver top performance, reduce the cloud hosting bill (significantly) and, of course, eliminate memory leaks.
en
In 2009, we were awakened to Allspaw and Hammond’s “10 deploys a day”. In 2010, Jez Humble and Dave Farley advised us to “build quality in”. But in 2019, breaches hit 24 Percent of software development teams. Are we staking our future on a pace we haven’t yet learned to secure?
In a year long collaboration with Gene Kim and Dr. Stephen Magill, we objectively examined and empirically documented software release patterns and cybersecurity hygiene practices across 48,000 commercial development teams and open source projects. Our research uncovered different software development and cybersecurity hygiene behaviors that we categorized as Exemplars, Laggards, Features First, and Cautious.
In this session, I will reveal the insights we uncovered. Attendees will learn which techniques, team structures and release patterns exemplary development teams have been championed at large enterprises like ABN AMRO, Walmart, and SEGA, as well as within open source project teams from the likes of Elasticsearch, Mulesoft, and SonarSource. I’ll also share observations of exemplary DevSecOps practices that deliver 50 Percent more commits, release new code 2.4X faster, and remediate security vulnerabilities 2.9X faster.
de
Nach der Freigabe vom JDK 14 werden die aktuellen Merkmale vorgestellt. Neben Bug-Fixes und Security-Patches, stecken im JDK 14 Featurerelease, Sprach- und JVM-Änderungen, Erweiterungen, zugefügte und entfernte Klassen und Methoden, deprecated markierte Features und JDK-Tool-Änderungen. Bereits mit der Einführung der JDK Version 11 wurden die technischen Unterschiede bei der Gleichstellung vom Oracle JDK mit dem Oracle OpenJDK entfernt. Bei diesem Technologietransfer sind alle Bestandteile vom Oracle JDK als Open-Source-Implementierungen in das OpenJDK geflossen, sodass das Oracle JDK 14 durch das OpenJDK 14 ausgetauscht werden kann. Die Anwender können ein JDK oder ein OpenJDK verschiedener Hersteller frei wählen. Im Vortrag wird auch ein Blick auf den langfristigen Einsatz vom Java-Modulsystem geworfen und dies anhand von Beispielen durch Erstellung einer individueller Java Runtime mit der Anwendung verdeutlicht. Zudem werden die Migrationsaspekte älterer Java-Anwendungen zum JDK 14 dargestellt.
de
Transparenz, Commitment, Offenheit, Kommunikation – agile Werte und Praktiken sind nicht nur in Scrum und anderen agilen Frameworks und Methoden wichtig. Firmen und deren Führungskräfte haben erkannt, dass durch geeignete Managementsysteme, die auf solchen Werten aufsetzen und einzelne Aufgaben von Teams und Mitarbeitern mit der Unternehmensstrategie, den Visionen und Plänen verknüpfen, der Erfolg nachhaltig gesteigert werden kann. Eines der innovativsten Rahmenwerke ist Objectives and Key Results, kurz OKR, das von Intel entwickelt und durch den Einsatz und die Weiterentwicklung bei Google sehr populär wurde. Aber wie lassen sich OKR mit den Backlogs und Zielen agiler Teams und ihrer Mitgliedern verbinden? Wie können wir sicherstellen, dass keine divergenten Zielsetzungen entstehen und die vielen Vorteile von OKR und einer agilen Arbeitsweise sich am Ende nachteilig auf die Mitarbeiter und das Unternehmen auswirken? Stephanie Mayer und Christian Schneiker zeigen in ihrem Vortrag pragmatische Lösungen und Tipps und Tricks aus der Praxis, wie Organisationen beide Welten miteinander in Einklang bringen können.
de
Ein weit verbreiteter Ansatz, mit dem Software automatisiert ausgeliefert wird, ist „Continuous Deployment“. Doch haben Sie sich Gedanken gemacht, wie sicher Ihr Continuous-Deployment-Prozess vor Angriffen ist? Schlummert vielleicht eine Schwachstelle, welche Sie noch nicht entdeckt haben?
Immer mehr Unternehmen sind dabei, moderne, kontinuierliche Softwareentwicklungspraktiken und Ansätze wie Continuous Integration (CI), Continuous Delivery (CD), Continuous Deployment oder DevOps einzuführen.
Diese Ansätze unterstützen Unternehmen dabei, ihre Entwicklungsgeschwindigkeit, die Frequenz der Produktauslieferung und die Time to Market zu verbessern.
Doch was passiert, wenn ihr Continuous-Deployment-Prozess nicht sicher ist und es Hackern gelingt, wichtige Zugangsdaten abzugreifen, um damit Ihre schützenswerten Kundendaten, wie beispielsweise Kreditarten- oder Sozialversicherungsnummern, zu stehlen?
In meinem Talk zeige ich Ihnen auf, wie Sie die Threat-Modeling-Methode einsetzen können, um das Sicherheitsbewusstsein so früh wie möglich in Ihren Entwicklungsprozess zu integrieren. Des Weiteren zeige ich Ihnen, welche möglichen Schwachstellen in diesen Prozessen existieren, und habe auch gleich eine Lösung für Sie parat.
de
Webanwendungen werden immer anspruchsvoller. Ständig neue UI Frameworks, dynamisch geladene Webseiten mit immer komplexerem Aufbau – wer kann da noch mithalten? Auch für die Tester hat das Konsequenzen. Soll sich der Test auf die Prüfung der Funktionalität konzentrieren oder auch Aspekte wie Layout und User-Experience berücksichtigen? Wie wichtig sind Cross-Browser-Tests? Setzt man auf die einfache Testerstellung per Record and Play und sind die aufgezeichneten Scripte noch lesbar? Selbst bei eigentlich selbstverständlichen Features wie der sicheren Identifikation von UI-Elementen oder der Stabilität des Tests gibt es deutliche Unterschiede zwischen den verschiedenen Tools. Wir stellen verschiedene Ansätze vor, mit denen Testwerkzeuge für den funktionalen Webanwendungstest mit diesen Herausforderungen umgehen und vergleichen typische Vertreter – von Selenium bis Cypress – anhand von Beispielen.
de
Process Engines mit Unterstützung von BPMN (Business Process Model and Notation) sind in vielen Geschäftsprozessen im Einsatz. Durch die systemgestützte Ausführung von Geschäftsprozessen fallen eine Menge von Prozessdaten an, deren Nutzung ein großes Potenzial für die Optimierung der Prozesse bietet. In diesem Talk zeigen wir, wie wir mit Hilfe von Apache Spark eine leistungsfähige Pipeline zur Vorverarbeitung von Prozessdaten realisiert haben, um damit Machine-Learning-Algorithmen (z. B. in H2O) anlernen zu können. Zudem zeigen wir am Beispiel von Camunda, wie wir mit Hilfe von Apache Kafka die Prozessdaten so extrahieren und archivieren, dass der Produktivbetrieb der Process Engine nicht beeinträchtig wird, wir aber trotzdem einen schnellen und effizienten Zugriff auf die Prozessdaten haben. Weiterhin gehen wir auf die Integration von Machine-Learning-Modellen in Geschäftsprozessen ein, da diese beim Einsatz von KI in Geschäftsprozessen einen wichtigen Aspekt für den Erfolg darstellt. Wie wir dies in der Praxis bereits bei unseren Kunden Duni und Provinzial erprobt haben, darüber wird ebenfalls in diesem Talk berichtet.
de
Neue Operationsmodelle wie Serverless und DevOps erzwingen ein Umdenken. Quarkus zeigt hier, wie schnell und schlank eine Anwendung sein kann. In unserem Talk wollen wir die Vorteile und Möglichkeiten aufzeigen und gemeinsam ein Quarkus-Projekt aufsetzten, das den ganzen Weg vom lokalen Prototyping über Anschluss von externen Systemen wie Datenbank und Single Sign-on bis hin zum Deployment zeigt.
de
Webentwicklung ist spannend, aufregend und technologisch fordernd! Und – so unsere Erfahrung – unheimlich ineffizient, wenn es darum geht, umfangreiche, komplexe Geschäftsanwendungen mit einem Frontend zu versorgen: viel zu viel JavaScript-UI-Code wird im Client geschrieben, viel zu viel Geschäftslogik des Servers muss im Client "vor"-programmiert werden, viel zu viel Augenmerk muss gelegt werden auf eine gesunde Art und Weise der Kommunikation zwischen Browser und Cloud- bzw. Backend-Service – und viel zu hoch sind die Abhängigkeiten vom gerade verwendeten Web-Framework.
Geht's auch anders? Ja. Die Strategie heißt "Less Code", beginnend mit "No Code" im Browserclient, "No Code" im Bereich der Browser-Server-Kommunikation und "Low Code" auf Serverseite. Hinter jedem reißerischen Schlagwort steckt dabei ein einfaches Architekturprinzip – und alles auf einmal bringt einen großen Schub an Effizienz und langfristiger Framework-Sicherheit. Die CaptainCasa-Community ist den "Less Code"-Weg gegangen, der Vortrag ist gespickt mit einer großen Zahl konkreter Anwendungsbeispiele, die live vorgeführt werden.
de
Alle Welt spricht davon, dass wir unsere Monolithen in Microservices zerlegen müssen. Aber stimmt das wirklich? Immer wieder treffe ich Teams, die mit ihrem Monolithen gut klarkommen und sich bei Nachfragen ihres Managements dafür rechtfertigen müssen, warum sie nicht auf Microservices setzen. Dabei haben Microservices nicht nur Vorteile, sondern bringen ihre eigenen Schwierigkeiten mit sich. In diesem Vortrag erfahren Sie, wie Sie Ihren Monolithen strukturieren können und wann eine Zerlegung in Microservices sinnvoll werden könnte.
de
Knative ist eine Kubernetes-basierte Plattform, um moderne, containerbasierte Applikationen zu gestalten. Dabei besteht Knative aus zwei Kernkomponenten: Knative Serving und Knative Eventing. Dieser Vortrag gibt eine mit vielen Demos angereicherte Einführung in diese beiden Bereiche. Wir werden die Kernaspekte Autoskalierung, Traffic Splitting und Revisionierung von Knative Serving ebenso live erleben wie die verschiedenen Möglichkeiten, Events von Quellen wie Apache Kafka flexibel und kostengünstig zu verarbeiten. Nicht zuletzt lernen wir hier auch im Detail den Knative CLI-Client kn kennen, der es erlaubt Knative ganz ohne YAML Deskriptoren zu nutzen.Wenn Du dich für moderne, Event-gesteuerte Serverless-Applikationsentwicklung mit Kubernetes interessierst, dann ist dieser Vortrag genau das richtige für Dich.
de
Die API Economy ist in aller Munde, fast täglich werden neue APIs von Unternehmen oder Behörden veröffentlicht. Es ist praktisch unmöglich, sich einen umfassenden Überblick auch nur über die interessantesten öffentlich zugänglichen APIs zu verschaffen. In diesem Talk begeben wir uns auf eine kleine Rundreise durch die API-Landschaft. Es sollen einige sehr nützliche API-Angebote vorgestellt werden, die sich in zahlreichen Projekten sinnvoll einsetzen lassen. Manche dieser APIs sind recht bekannt, bieten jedoch teils ungeahnte Einsatzmöglichkeiten. Andere APIs sind (noch) relativ unbekannt, können aber dennoch eine große Hilfe darstellen. Reiseteilnehmer sind eingeladen, auch eigene API-Fundstücke kurz vorzustellen.
de
Wie kamen diese Daten zustande? Wer hat die letzte Änderung gespeichert? Welche Daten waren zur letzten Rechnungserstellung gültig? Solche Fragen müssen von modernen Anwendungen beantwortet werden können. Wenn alle Änderungen in einem Auditlog dokumentiert sind, lässt sich das auch recht einfach implementieren. Aber wie erstellt man so ein Auditlog? Und wie stellt man sicher, dass auch wirklich alle Änderungen dokumentiert werden? Eine programmatische Dokumentation ist viel zu umständlich und fehleranfällig. Damit sind Lücken im Auditlog mehr als nur wahrscheinlich. Hibernate Envers bietet dafür eine einfachere und sicherere Lösung. Mit nur einer zusätzlichen Annotation werden alle Änderungen an einer Entität automatisch dokumentiert. Obendrein erhält man ein einfaches und trotzdem mächtiges API, um in den auditierten Daten zu suchen und auch komplexeste Fragen zu beantworten. Wie das genau funktioniert und wie man das Auditlog auf die eigenen Anforderungen zuschneiden kann, zeige ich in diesem Vortrag.
de
Produktivität, Nachhaltigkeit und Wartbarkeit. Wie startet man ein Jakarta-EE-/MicroProfile-Projekt optimal? Von Build-Set-up und IDEs über Strukturierung und Design bis zum (Stress-)Test und Continuous Integration/Continuous Deployment. Mit oder ohne Cloud. Aus der IDE-Perspektive. Fragen der Teilnehmer sind sehr willkommen.
de
Verteilte System sollten heute definitiv nicht mehr ohne Resilienz entwickelt und betrieben werden. Der zuständige Entwickler oder Architekt muss sich zuerst überlegen, welche Resilienzpatterns notwendig sind. Im Anschluss daran stellt sich die Frage, wie die Umsetzung dieser Patterns in den einzelnen Services erfolgen soll. Dabei kann zwischen zwei grundsätzlichen Alternativen unterschieden werden. Zum einen gibt es die Implementierung mit den klassischen Resilienz-Frameworks, wie beispielsweise Resilience4j, Failsafe oder MicroProfile Fault Tolerance. Andererseits ist es mittlerweile auch möglich, Resilienz mit Hilfe eines Service-Mesh-Werkzeugs, wie zum Beispiel Istio, zu etablieren. In dieser Session werden nach einer kurzen Einführung zu Istio die beiden grundsätzlichen Alternativen verglichen. Die jeweiligen Vor- und Nachteile werden aufgeführt und in einer abschließenden Bewertung gegenübergestellt. Darüber hinaus wird noch gezeigt, welche Möglichkeiten Istio für den Test der Resilienz bietet.
de
Java wird im Zusammenhang mit Serverless immer noch Schwerfälligkeit und hohe Start-up-Latenzen nachgesagt. Mit Hilfe des Quarkus Frameworks von Red Hat, der GraalVM von Oracle und den Layers & Custom Runtimes für AWS Lambda lässt sich eine Java-Anwendung mittlerweile einfach zu einem nativ ausführbaren Binary kompilieren und als Serverless Function betreiben. Dabei liegen die Start-up-Zeiten durchaus in konkurrenzfähigen Bereichen zu anderen Umgebungen und sind mit herkömmlichen JVM-Start-ups nicht mehr zu vergleichen. In meinem Talk gebe ich einen schnellen Überblick über Quarkus, die GraalVM und die AWS Lambda Custom Runtimes & Layers. Nachdem die Grundlagen bekannt sind, zeige ich, wie aus einer kleinen Java-Anwendung, die anscheinend schwerfällige JAX-RS-, JPA- und CDI-Prinzipien nutzt, mit wenig Aufwand ein plattformspezifisches und ausführbares Binary werden kann. Dabei gehe ich auch auf die Fallen ein, in die man als Neuling beim Erstellen von nativen Binaries gerne tritt. Am Ende deploye ich die so erzeugte Funktion dann zu AWS Lambda und vergleiche die Start-up-Zeiten mit denen herkömmlicher (Java-)Funktionen.
en
When working out why an application has gone wrong we often find ourselves working with very limited information - we find ourselves looking at a stack trace caused by an uncaught exception, or looking at a ConcurrentModificationException where the interfering thread is unknown, or looking at a heap that has grown without bound.
We ask ourselves “What just happened?” and “How did I get here?”. Existing and new tooling including Java Flight Recorder (JFR) can provide some more info over a bare stack trace. But the ability to record and reversibly replay an application allows us to actually answer these questions.
In this talk we’ll demonstrate how to use LiveRecorder for Java to obtain a recording of a Java application, and how that recording can be used to diagnose a number of these difficult yet everyday problems.
Habt Ihr Fragen?
Kontaktiert uns unter: [email protected]
Ausgefeilte Ingenieurskunst und modernste Technik vereint in einer Drohne: Mit der Mavic-2-Pro und ihrer ikonischen Hasselblad-Bildqualität, entdeckt ihr die Welt der Luftbildfotografie in herausragender Detailgenauigkeit völlig neu.
Meldet euch jetzt für die Online Edition an und gewinnt mit etwas Glück eine Mavic-2-Pro-Drohne im Wert von 1499 €!
Wir drücken Euch die Daumen!