Forgot your password?

Conference slides of S&S Media Group
until september 2019

DIREKT BESTELLEN

Bestehendes Abonnement zum entwickler.kiosk-Zugang erweitern

Bitte wählen Sie Ihr bestehendes Abonnement:

Volltextsuche

Ihre Suchergebnisse für:

No content found!

API & Microservices Summit Juni 2018

11. bis 13. Juni 2018
Inselkammerstraße 7-9 Holiday Inn München Unterhaching
82008 , München-Unterhaching - Deutschland

Monday - 11. June 2018

09:00 bis 12:31
Kubernetes, die abstrakte Cloud (Teil 1)

Container sind inzwischen in vielen Projekten das bevorzugte Format, um die eigene Software auszuliefern. Sie bilden die Grundlage für viele Abstraktionen, die helfen, Software im Betrieb zu managen. Die Open Source Lösung Kubernetes bietet eine Umgebung für den Betrieb von Containern. Damit lassen Sie sich auf vielen Nodes verteilt betreiben, untereinander vernetzen und einheitlich überwachen. Dabei ist es egal, wo Kubernetes letztendlich betrieben wird. Das erlaubt eine Unabhängigkeit vom Anbieter der darunter liegenden Infrastruktur und verhindert somit einen Vendor-Lock. Dieser Workshop zeigt, wie sich eine beispielhafte verteilte Anwendung in Kubernetes umsetzen lässt. Wir fangen mit einzelnen Containern an und werden die Anwendung Schritt für Schritt erweitern. Dabei geht es um Aspekte, wie: Container und Pods Vernetzung verschiedener Anwendungsbestandteile Management von Deployments Routing von externen Requests an verschiedene Services Abbildung von Persistenz Paketierung aller Services Dabei werden wir die gesamte Zeit im Blick behalten, wie diese Anwendung einfach auf verschiedenen Infrastrukturen betrieben werden kann. Das kann eine lokale Kubernetes Lösung auf dem Rechner des Entwicklers, eine von einem Cloudanbieter bereitgestellte Umgebung oder eine Installation im eigenen Rechenzentrum sein.  

09:00 bis 12:30
Docker-Basics

Microservices und Docker-Container gemeinsam sind ein echtes Dream-Team. Dieser Workshop ist für Personen, die zwar bereits von Docker gehört haben, aber noch keine Gelegenheit hatten, sich fundiert mit den Grundlagen zu beschäftigen. Rainer Stropek zeigt Ihnen, wie Docker grundsätzlich funktioniert. Sie lernen, Container und Images mit der Docker CLI und Docker Compose zu verwalten. Anhand vieler Beispiele zeigt Ihnen Rainer, wie sie Dockerfiles verwenden, um Images automatisiert zu erstellen. Natürlich werfen wir im Workshop auch einen genauen Blick auf den Docker Hub und publizieren eigene Images mit automatisiertem Build in Verbindung mit GitHub. Der Schwerpunkt des Workshops sind Linux-Container, Windows-Container werden anhand eines kleinen Beispiels gestreift.

API-Design - Tipps & Tricks aus der Praxis

Bei der Entwicklung einer API sollten Qualitätsmerkmalen wie guter Verständlichkeit, leichter Benutzbarkeit und Konsistenz besondere Beachtung geschenkt werden. Dies gilt im Besonderen für APIs, die öffentlich zur Verfügung gestellt werden oder die potentiell von vielen unterschiedlichen Clients angesprochen werden. Ein gutes API-Design stellt sich jedoch nicht von alleine ein. Es sind viele Entscheidungen zu treffen und eine Portion Erfahrung im Schnittstellenentwurf kann gewiss nicht schaden. In diesem Workshop werfen wir einen Blick auf typische Fragestellungen beim Entwurf HTTP-basierter APIs, wie URL Patterns, Filterung, Pagination oder Sortierung. Wir diskutieren Styleguides und JSON Formate und wir beleuchten die Frage, wann und wo der Einsatz von Hypermedia sinnvoll ist.

Web Application & API Security Bootcamp: OWASP Top 10 und darüber hinaus

9 von 10 Webanwendungen haben Sicherheitslücken – das beinhaltet sowohl klassische Websites als auch moderne Single-Page Applications und APIs. Das Open Web Application Security Project (OWASP) gibt alle paar Jahre eine Liste der zehn größten Sicherheitsrisiken heraus, zuletzt 2017. Wir nehmen diese Liste als Anlass, das Thema Web-Security zu behandeln: welche Angriffe gibt es, welche Gegenmaßnahmen stehen zur Verfügung, und welche potenziellen Risiken stehen gar nicht in der Top-Ten-Liste, sind aber trotzdem äußerst relevant und gefährlich?

Wider das Chaos: Microservices-Architektur & Patterns

Die gute Nachricht vorweg: Einen einzelnen Microservice zu implementieren, ist dank Bounded Context, loser Kopplung und klar definierter Kommunikationsschnittstellen denkbar einfach. Nur leider macht ein Frühling noch keinen Sommer und ein einzelner Microservice noch lange keine sinnvolle Anwendung aus! Um am Ende nicht im Chaos zu versinken, benötigt auch eine Microservices-basierte Anwendung eine Architektur und die Verwendung von Patterns. Wie zum Beispiel stellt man die Evolution von Schnittstellen sicher? Oder wie soll die UI eingebunden werden? Welche Aufgaben übernimmt ein API-Gateway und wird es überhaupt benötigt? Sollten Microservices synchron oder asynchron kommunizieren? Oder gar beides? Fragen über Fragen, deren Klärung über Erfolg oder Misserfolg der eigenen Anwendung entscheiden kann. Der Workshop gibt einen Einblick in die verschiedenen Herausforderungen bei der Umsetzung einer Microservices-basierten Anwendung und diskutiert verschiedene Lösungsansätze, Patterns und Best Practices. Ein optimaler Einstieg in den Microservices Summit.

13:30 bis 17:00
Kubernetes-Basics

Ein paar Docker Container machen noch keine Cloud. Damit Docker in Produktion bei nicht trivialen Anwendungsfällen funktioniert, braucht man einen Orchestrator. Kubernetes ist einer der bekanntesten und beliebtesten. Dieser Workshop ist für Personen, die die Docker-Basics schon kennen (z.B. aus dem Workshop vom Vormittag), für die Kubernetes aber noch Neuland ist. Rainer Stropek zeigt Ihnen, wie Kubernetes grundsätzlich funktioniert. Sie lernen die Basics der Kubernetes CLI kennen. Anhand von Beispielen lernen Sie, Lösungen in Kubernetes zu publizieren und zu betreiben.

Survival Guide: Vom Monolithen zu Microservices

Microservices-basierte Architekturen auf der grünen Wiese starten, mag ja noch vorstellbar sein. Was aber, wenn es – wie leider so häufig in der Praxis – einen bestehenden, historisch gewachsenen Monolithen gibt, der schon einmal bessere Tage gesehen hat? Wie kann ein möglicher Migrationspfad aussehen und mit welchen Stolperfallen muss dabei gerechnet werden? Im Rahmen des Workshops nehmen wir uns anhand eines konkreten Beispiels einen solchen Monolithen vor, überlegen, welche Services sich sinnvoll herauslösen lassen und welche Patterns dazu verwendet werden sollten. Natürlich ergeben sich durch die neue Architektur auch neue Herausforderungen, denen wir uns stellen müssen. Aber das kann uns natürlich nicht stoppen…

Kubernetes, die abstrakte Cloud (Teil 2)

Container sind inzwischen in vielen Projekten das bevorzugte Format, um die eigene Software auszuliefern. Sie bilden die Grundlage für viele Abstraktionen, die helfen, Software im Betrieb zu managen. Die Open Source Lösung Kubernetes bietet eine Umgebung für den Betrieb von Containern. Damit lassen Sie sich auf vielen Nodes verteilt betreiben, untereinander vernetzen und einheitlich überwachen. Dabei ist es egal, wo Kubernetes letztendlich betrieben wird. Das erlaubt eine Unabhängigkeit vom Anbieter der darunter liegenden Infrastruktur und verhindert somit einen Vendor-Lock. Dieser Workshop zeigt, wie sich eine beispielhafte verteilte Anwendung in Kubernetes umsetzen lässt. Wir fangen mit einzelnen Containern an und werden die Anwendung Schritt für Schritt erweitern. Dabei geht es um Aspekte, wie: Container und Pods Vernetzung verschiedener Anwendungsbestandteile Management von Deployments Routing von externen Requests an verschiedene Services Abbildung von Persistenz Paketierung aller Services Dabei werden wir die gesamte Zeit im Blick behalten, wie diese Anwendung einfach auf verschiedenen Infrastrukturen betrieben werden kann. Das kann eine lokale Kubernetes Lösung auf dem Rechner des Entwicklers, eine von einem Cloudanbieter bereitgestellte Umgebung oder eine Installation im eigenen Rechenzentrum sein.    

Es gibt nicht nur Request-Response – Alternative API-Ansätze

Klassisches API-Design geht immer davon aus, dass es einen Request gibt, der eine unmittelbare Response zur Folge hat. Was aber, wenn dieses Modell nicht ausreicht? Was ist, wenn die Verarbeitung der Daten zu lange dauert, um auf sie zu warten? Wie kann man mit der Situation umgehen, dass der Server dem Client Daten zur Verfügung stellen muss ohne, dass es einen Request vom Client gibt? Wie müssen APIs gestaltet werden, wenn die Anforderungen asynchroner Natur sind? In dem Workshop werden solche Szenarien diskutiert und passende Technologien wie Long-Polling, Piggyback, Server-Sent-Events, Websockets und serverseitiges Messaging wie JMS vorgestellt. In praktischen Übungen werden Lösungen in einem Java-Backend realisiert. Dabei wird auf klassische Problemstellungen wie API-Design und –Versioning und Authentication eingegangen. Den Teilnehmer erwarten die theoretischen Grundlagen besagter Technologien in Kombination mit praktischen Umsetzungsbeispielen.

Observability für Cloud-Native Anwendungen

Das Thema Observability - also die “Überwachbarkeit" von Anwendungen - ist gerade in aller Munde. Speziell in hochverteilten Microservices-Umgebungen ist es umso wichtiger die Funktion und Zusammenhänge von Anwendungen zu verstehen. Erstmal werden wir den Observability-Baukasten genauer unter die Lupe nehmen. Er besteht aus einer Reihe von Tools rund um Logging, Tracing und Metrics. Jedes dieser Tools hat seinen spezifischen Anwendungsfall und ist nicht für jede Situation geeignet. Wir werden uns dann Prometheus, Opentracing und Fluentd im Detail ansehen und anhand überschaubarer Beispiele sie auch einsetzen. Nachdem wir uns das Observability-Toolkit im Einzelnen angesehen haben, schauen wir, wie deren Zusammenspiel es ermöglicht, typische Produktionsprobleme zu lösen.

17:30 bis 18:30
Jenseits von Consumer-driven Contract Testing

Lose gekoppelte Systeme (auch bekannt als verteilte Systeme oder Microservices) werden immer populärer. Dies führt zu einer steigenden Nachfrage nach Möglichkeiten, um automatisch und zuverlässig sicherzustellen, dass diese modularen Systeme fehlerfrei zusammenarbeiten. Der aktuell leistungsfähigste Ansatz, um Schnittstellen zwischen Komponenten zu testen, ist Consumer-Driven Contract Testing (CDCT). Trotz seiner unbestreitbaren Vorteile gegenüber naiven Integrationstests weist es allerdings auch eine Reihe von Schwächen auf. Dieser Vortrag weist auf diese Schwächen hin und zeigt, wie wir sie überwinden können. Dies gelingt durch den Einsatz von Modellierung in Kombination mit Anleihen aus der Welt der formalen Methoden.

Tuesday - 12. June 2018

09:00 bis 12:30
Vom Cloud-Muffel zum Cloud-Native mit AWS (Teil 1)

Alle reden von der Cloud, nur man selbst scheint noch meilenweit davon entfernt. Zu viele offene Fragen, zu wenig konkrete Antworten. Und genau das soll sich in diesem Workshop ändern. Gemeinsam nehmen wir uns ein typisches Anwendungsszenario aus dem Enterprise-Umfeld vor und migrieren es Schritt für Schritt in die Cloud am Beispiel von AWS. Beginnend bei der Plattforminfrastruktur (DB, Storage etc.) über Standardservices (User Management) bis hin zur anwendungsspezifischen Businesslogik. Am Ende steht eine rein Cloud-basierte Lösung und natürlich die Diskussion, ob wir es nicht evtl. ein wenig übertrieben haben. Denn nicht alles, was technologisch möglich ist, macht auch für jeden Kontext Sinn. Getreu dem Motto „mittendrin statt nur dabei“ darf jeder auch gerne selber Hand anlegen.

Microservices: Technologien im Vergleich

Viele sagen: "Microservices sind kleine REST-Services". Aber die Technologie-Auswahl für Microservices ist viel größer: Asynchrone Microservices mit Kafka, asynchrone Microservices mit Atom-Feeds oder eine Integration auf UI-Ebene sind ebenso möglich wie REST in verschiedenen Variationen. Vor- und Nachteile aller Ansätze werden anhand praktischer Code-Beispiele beleuchtet - wie auch die jeweilige Komplexität. So können die Teilnehmer den für sie passenden Ansatz finden und umsetzten.

Web-APIs mit JAX-RS & MicroProfile entwickeln

API First? API Driven Development? API Governance? Der Blick in die Fachpresse, auf Stellenportale und Projektanfragen zeigt, dass der API Hype Chefetagen und Konzernzentralen erreicht hat. Und während dort über große Visionen diskutiert wird, hat man in den Entwicklungsabteilungen schon die Umsetzung und damit verbundenen Herausforderungen im Blick. Soll man JSON, XML oder binäre Austauschformate wählen? Wie sieht gutes „Error Handling“ aus? Kann man mehrere Versionen parallel anbieten? Und wie kann ich die Wünsche des Ops-Teams und der Fachabteilung nach Monitoring, Metriken und einer guten Dokumentation erfüllen? Der Workshop diskutiert typische Herausforderungen und zeigt welche neuen Möglichkeiten Java EE 8, Jakarta EE und MicroProfile für das eigene Projekt bieten.

Rightsize your Microservice – Wo schneide ich meine Microservices-Landschaft?

Mit Microservices wird versucht, eine Anwendung in möglichst kleine, unabhängige Teile zu schneiden, die dann miteinander kommunizieren. Diese Idee bringt einige Vorteile mit sich. Wie bekommt man es aber hin, dass dabei die Fachlichkeit nicht zerpflückt wird und so der Blick für das große Ganze verloren geht? Wie schneide ich die Services richtig? Und worauf muss bei der Kommunikation der Services untereinander geachtet werden? Der Workshop zeigt, wie Domain-Driven Design dabei helfen kann, diese Fragen sinnvoll zu beantworten und was es sonst noch zu beachten gilt.

09:00 bis 10:30
API Design (Teil 2)

Wir behandeln die Themen, für die im ersten Teil am Montag leider nicht mehr genügend Zeit blieb. Dies sind insbesondere Hypermedia (HATEOAS) und die Frage, wann dessen Einsatz sinnvoll ist und wann eher nicht, sowie eine Betrachtung der JSON-Formate "HAL" und "JSON-API". Diese Session kann auch von Teilnehmern besucht werden, die beim 1.Teil am Montag nicht dabei waren.

11:00 bis 12:30
API Security

Wird eine API bereit gestellt, darf natürlich auch das Thema Sicherheit nicht zu kurz kommen. Dies gilt vor allem, aber nicht ausschließlich, für Public APIs. Diese Session thematisiert die unterschiedlichen Fragestellungen, die sich für API-Anbieter in diesem Kontext stellen und diskutiert mögliche Lösungen und Best Practices. Themen: Authentifizierung, OAuth und Open ID Connect, Verschlüsselung (TLS vs. nachrichtenbasiert), allgemeine Sicherungsmaßnahmen.

13:30 bis 17:00
Resilient Software Design - Eine kompakte Einführung

Mittlerweile hat es sich bei den meisten herumgesprochen, dass man Verfügbarkeit und Robustheit von Anwendungen nicht mehr einfach zum Problem des Betriebs erklären kann, sondern dass man dafür auch etwas auf Entwicklungsseite tun muss - dass man die Anwendungen "resilient" gestalten muss. Aber was genau ist das und warum muss ich mich darum kümmern? Reicht es dafür, einfach eine Bibliothek wie Hystrix oder ein Framework wie Akka einzubauen und alles wird gut? Oder muss ich als Entwickler oder Architekt noch mehr machen? Und wenn ja, worauf muss ich achten? Wie fange ich an? Gibt es etablierte Muster? All diese Fragen (und noch mehr) greift dieses Tutorial auf. Die behandelten Kernthemen sind: Was ist Resilient Software Design und warum wird es immer wichtiger? Welchen Einfluss haben Architektur und Design auf die Robustheit meiner Anwendung? Wo liegen die Herausforderungen? Welche Muster gibt es? Wie nutzt und kombiniert man diese? Welche Grenzen und Trade-Offs gibt es zu berücksichtigen? Worauf muss man achten, wenn man Resilient Software Design in der eigenen Software-Entwicklung einführen möchte? Neben einem kompakten Überblick über das Themengebiet mit vielen konkreten Tipps für die Praxis gibt es natürlich genug Zeit für Ihre konkreten Fragen und Diskussionen.      

JS Microservices mit Docker

Moderne Cloud- und Microservicearchitekturen sollen viele Herausforderungen in der Softwareentwicklung unserer Zeit lösen. Skalierbarkeit von Services und die Abgrenzung von Aufgabenbereichen nach dem SRP lassen sich mit Docker leicht umsetzen, doch wie immer liegt der Teufel im Detail. Oft schwingt bei dem Begriff der Microservices unterschwellig die Meinung mit, dass es sich hier nur um APIs oder HTTP Services handle. Auch im Frontend mit JS bietet Docker viele Optionen und Möglichkeiten isolierter und kontextbezogener zu entwickeln. Dieser Workshop soll folgende zentralen Aspekte klären und erklären: - Erstellung eines Independent JS Microservices mit Angular CLI und Docker - Dynamische Anpassung einer Microservice SPA an das Environment zur Laufzeit - Testing (Unit, Functional, E2E) von SPAs in Docker - Aufbau einer lokalen Entwicklungsumgebung mit Docker Compose - CI/CD von SPAs in Docker

Vom Cloud-Muffel zum Cloud-Native mit AWS (Teil 2)

Alle reden von der Cloud, nur man selbst scheint noch meilenweit davon entfernt. Zu viele offene Fragen, zu wenig konkrete Antworten. Und genau das soll sich in diesem Workshop ändern. Gemeinsam nehmen wir uns ein typisches Anwendungsszenario aus dem Enterprise-Umfeld vor und migrieren es Schritt für Schritt in die Cloud am Beispiel von AWS. Beginnend bei der Plattforminfrastruktur (DB, Storage etc.) über Standardservices (User Management) bis hin zur anwendungsspezifischen Businesslogik. Am Ende steht eine rein Cloud-basierte Lösung und natürlich die Diskussion, ob wir es nicht evtl. ein wenig übertrieben haben. Denn nicht alles, was technologisch möglich ist, macht auch für jeden Kontext Sinn. Getreu dem Motto „mittendrin statt nur dabei“ darf jeder auch gerne selber Hand anlegen.

Swagger aka OpenAPI Workshop

Damit eine Web-API erfolgreich ist, muss die Welt wissen, welche Funktionalität sie bietet. Swagger aka OpenAPI ist ein Standard zur Beschreibung von Web-APIs, auf dem eine Vielzahl nützlicher Tools aufbaut. Egal ob hübsch formatierte Dokumentationswebseite, generierter Server- und Client-Code, Einbindung in Workflow-Lösungen wie Azure Logic App – wenn man seine Web-API mit OpenAPI beschrieben hat, bekommt man diese Dinge mehr oder weniger automatisch. In diesem Workshop stellt Rainer Stropek OpenAPI vor. Gemeinsam mit ihm spezifizieren Sie eine fiktive Web-API mit OpenAPI. Anhand des API-Beispiels lernen Sie wichtige Tools kennen, generieren Code, veröffentlichen die API-Beschreibung zur Verwendung in der Cloud und vieles mehr.

Architekturtipps & Best Practices für gelungene API-Integration

Durch den Trend zu Microservice-Architekturen und die Bereitstellung von Public APIs ist die Verbreitung HTTP-basierter APIs noch weiter angestiegen. Doch in der Praxis ist zu beobachten, dass bei der Umsetzung von APIs und ihrer Clients wohlbekannte Fehler und Anti-Patterns wiederholt zum Einsatz kommen. So entstehen eng gekoppelte, zerbrechliche und wenig widerstandsfähige Lösungen, deren Wartung und Weiterentwicklung deutlich aufwendiger wird als erhofft. Dieser Vortrag beleuchtet typische Fallen und zeigt alternative Lösungswege auf. Themen sind u. a. Datenmodelle, Implementierungsstrategien für die HTTP-Kommunikation, Swagger und Code-Generatoren, Data Binding Frameworks und die Sicherung des Datenverkehrs.

17:30 bis 18:30
Bitte ein Git. Alles unter (Versions)kontrolle!?

Was passiert hinter den Klicks in der UI? Was sind Branches eigentlich? Angst vor Konflikten? Sind wir alle Gärtner? Nutzen Sie Git und haben sich diese oder andere Fragen schon einmal gestellt? In dieser Session versuchen wir diese in entspannter Atmosphäre gemeinsam zu beantworten, in dem wir uns die Grundkonzepte hinter der verteilten Versionskontrolle, die wir täglich nutzen, nochmal in Erinnerung rufen.

Wednesday - 13. June 2018

09:00 bis 12:30
Moderne Web-APIs mit Node.js – Streaming, Authentifizierung & Co. (Teil 1)

JavaScript ist im Web allgegenwärtig. In Clients ebenso wie auf dem Server. Möglich macht das Node.js, eine serverseitige Laufzeitumgebung für JavaScript. Das Open-Source-Projekt ist leichtgewichtig und außergewöhnlich performant und kann von einer äußerst aktiven Community und einem Ökosystem mit über 650.000 Modulen profitieren. All das prädestiniert Node.js als die ideale Plattform für hochskalierbare und echtzeitfähige Web-APIs. Gemeinsam mit Golo Roden entdecken Sie in diesem Workshop die Welt von Node.js und lernen, wie leicht und rasch Sie zeitgemäße APIs entwickeln können. Außerdem erfahren Sie, wie Sie Streaming, Authentifizierung und andere für APIs wichtige Themen einsetzen und worauf es dabei zu achten gilt. Die theoretischen Grundlagen werden dabei durch ein durchgängiges praktisches Beispiel, das im Laufe des Workshops gemeinsam entwickelt wird, ergänzt.

Moderne Web-APIs mit Jakarta EE (Teil 1)

Mit der Übergabe an die Open-Source Community und der Umbenennung in Jakarta EE ist neuer Schwung in die Java Enterprise Welt gekommen und im Umfeld der Web-APIs gab es in den letzten Monaten ebenfalls einige Neuerungen. Mit Java EE 8 wurden bereits Server-Sent Events standardisiert und mit dem MicroProfile MP-JWT 1.0 gibt es endlich eine einheitliche Integration für JSON Web Token. Man darf also gespannt sein, welche Entwicklungen die nächsten Monate bringen. Im ersten Teil des Workshops wird am Beispiel eines digitalen Kaffeeladens der API First Ansatz demonstriert. Der API First Ansatz stellt den Entwurf der API an erster Stelle, der unter der Maßgabe erfolgt, einfach nutzbare, leicht verständliche und idealerweise selbsterklärende APIs zu schaffen, die ihren Nutzern einen echten Mehrwert bieten. Mit diesen Prinzipien im Hinterkopf wird eine neue API entworfen, dokumentiert und getestet. Dabei stehen die OpenAPI Specification, hilfreiche Tools und das Thema Versionierung im Fokus.

Event Storming für Domain-driven Design (Teil 1)

Viele Projekte kranken daran, dass die Kommunikation zwischen den Beteiligten nicht gut funktioniert, und zwar in vielerlei Hinsicht: • Die Projektverantwortlichen denken sich im Vorfeld selbst etwas aus, anstatt mit Problemen zu den Entwicklern zu kommen. ("Das ist so doch bestimmt am einfachsten!") • Die Entwickler denken sich bei Unklarheiten selbst etwas aus, anstatt die Fachbereichler um Klärung zu bitten. ("Das kann doch nur so gemeint sein!") • Derselbe Begriff wird für verschiedene Dinge benutzt • Verschiedene Begriffe werden für dasselbe Ding benutzt • Missverständnisse und Lücken werden in der Konzeptionsphase übersehen oder ignoriert und tauchen erst nach mehrmonatiger teurer Entwicklung auf Domain-Driven Design verspricht hier Abhilfe und propagiert die Erstellung eines Domänenmodells in einem frühen Stadium der Entwicklung. Unklar bleibt jedoch, wie man ein gutes Domänenmodell unter Mitwirkung aller Beteiligten erstellen kann - das Resultat wird oft wieder nur von Einzelnen erzeugt und manifestiert die oben genannten Probleme nur noch mehr. Mit EventStorming ist eine Technik entstanden, mit der man ein gutes Domänenmodell Schritt für Schritt erstellen, erweitern und verfeinern kann - und das innerhalb eines einzigen Tages! Gleichzeitig wird noch jede Menge Domänenwissen zwischen den Domänenexperten und den restlichen Projektbeteiligten ausgetauscht. Verschiedene Szenarien lassen sich sehr einfach und schnell ausprobieren, man kann mehrere Varianten gegeneinanderstellen und vergleichen, um so die beste Lösung zu finden - und das ganz ohne eine Zeile Code zu schreiben. Trotzdem sind die Modelle sehr dicht am Code und an der Logik. Dabei werden keine langweiligen UML-Diagramme gezeichnet, sondern es wird mit Post-It's an einer riesigen Modellierungsfläche gearbeitet, so dass alle involviert sind. In diesem Workshop werden wir uns anhand einer vorgegebenen Domäne damit beschäftigen, ein solches präzises Domänenmodell in mehreren Stufen zu entwickeln und zu verstehen.

Moderne APIs mit ASP.NET Core MVC und SignalR - End-to-End (Teil 1)

Moderne APIs bieten neben der gängigen HTTPS-Interaktion auch die Möglichkeit zur Echtzeitkommunikation auf Basis von WebSockets. Mit Hilfe von Microsofts Open-Source-Plattform ASP.NET Core MVC und SignalR lassen sich im Handumdrehen Web-APIs und Push-Services entwickeln. Doch damit nicht genug: Weitere Themen wie Security, Rate-Limiting, eine sinnvolle Dokumentation und ein vernünftiges zentralisiertes Logging sind mit von der Partie. Und jeder dieser einzelnen Bereiche bietet uns eine neue Herausforderung. Sebastian Gingter und Manuel Rauber zeigen Ihnen in diesem Workshop, wie man mit .NET Core moderne APIs auf und für verschiedene Plattformen entwickeln kann. Zusätzlich wird durch den Einsatz von Entity Framework Core die Anbindung an verschiedene Datenbanken ermöglicht. Durch den Einsatz weiterer Open-Source-Bibliotheken fürs Logging oder zur automatischen Generierung einer Swagger/OpenAPI-Dokumentation ergänzen wir die API um weitere Funktionalitäten. Eine Client-Anwendung, das Deployment auf unterschiedliche Plattformen und das Deployment in die Cloud runden den Workshop ab - vollständig End-to-End eben!

Azure in Action: Pragmatische Cloud-Lösungen für alle (Teil 1)

IDE öffnen, „File - New Project - Cloud“, OK klicken und fertig. Oder? Nun, nicht ganz. Denn egal ob AWS, GCP oder eben Azure: am Ende des Tages werden Sie sich fragen, warum, wann und wie gehe ich in die Cloud? Genau diese Fragestellungen wollen Thorsten Hans und Christian Weyer für Java-, node.js- und .NET-Entwickler in diesem Workshop beantworten. Anhand diverser Use Cases werden mögliche Wege mit, über und in Azure diskutiert. Was bedeuten Architekturansätze wie Cloud-Native Microservices und Serverless Microservices? Wie gehe ich bei Brownfield-Projekten vor und wie kann ich Greenfield-Lösungen effizient in Azure realisieren? Wo liegen Unterschiede und Benefits von datengetriebenen und von ereignisgetriebenen Ansätzen? Wie kann ich mit dem Sammelsurium an Patterns, Technologien und Tools in Azure kosteneffektiv hantieren und dennoch flexibel sein? All dies werden wir anhand praktischer Beispiele und pragmatischer Lösungen in interaktiver Art und Weise adressieren. Sehen Sie PaaS, Web Apps, Containers, Orchestrators, Serverless, Functions & Co. mit der Azure-Cloud anhand von .NET- und node.js-Demos in Action. (Bringen Sie gerne Ihre „eigenen Probleme“ mit und lassen Sie uns darüber reden.)

13:30 bis 17:00
Azure in Action: Pragmatische Cloud-Lösungen für alle (Teil 2)

IDE öffnen, „File - New Project - Cloud“, OK klicken und fertig. Oder? Nun, nicht ganz. Denn egal ob AWS, GCP oder eben Azure: am Ende des Tages werden Sie sich fragen, warum, wann und wie gehe ich in die Cloud? Genau diese Fragestellungen wollen Thorsten Hans und Christian Weyer für Java-, node.js- und .NET-Entwickler in diesem Workshop beantworten. Anhand diverser Use Cases werden mögliche Wege mit, über und in Azure diskutiert. Was bedeuten Architekturansätze wie Cloud-Native Microservices und Serverless Microservices? Wie gehe ich bei Brownfield-Projekten vor und wie kann ich Greenfield-Lösungen effizient in Azure realisieren? Wo liegen Unterschiede und Benefits von datengetriebenen und von ereignisgetriebenen Ansätzen? Wie kann ich mit dem Sammelsurium an Patterns, Technologien und Tools in Azure kosteneffektiv hantieren und dennoch flexibel sein? All dies werden wir anhand praktischer Beispiele und pragmatischer Lösungen in interaktiver Art und Weise adressieren. Sehen Sie PaaS, Web Apps, Containers, Orchestrators, Serverless, Functions & Co. mit der Azure-Cloud anhand von .NET- und node.js-Demos in Action. (Bringen Sie gerne Ihre „eigenen Probleme“ mit und lassen Sie uns darüber reden.)

Moderne Web-APIs mit Jakarta EE (Teil 2)

Mit der Übergabe an die Open-Source Community und der Umbenennung in Jakarta EE ist neuer Schwung in die Java Enterprise Welt gekommen und im Umfeld der Web-APIs gab es in den letzten Monaten ebenfalls einige Neuerungen. Mit Java EE 8 wurde bereits Server-Sent Events standardisiert und mit dem MicroProfile MP-JWT 1.0 gibt es endlich eine einheitliche Integration für JSON Web Token. Man darf also gespannt sein, welche Entwicklungen die nächsten Monate bringen. Im zweiten Teil des Workshops wird die Umsetzung des API Entwurfs demonstriert. Nach der Implementierung der ersten Use-Cases, wandert der Blick auf nicht-funktionale Themen wie Security, Caching und den Einsatz verschiedener Technologien zu Realisierung von Push-Nachrichten. Dabei stehen insbesondere die Möglichkeiten von Java EE 8, Jakarta EE und MicroProfile im Fokus.

Moderne APIs mit ASP.NET Core MVC und SignalR - End-to-End (Teil 2)

Moderne APIs bieten neben der gängigen HTTPS-Interaktion auch die Möglichkeit zur Echtzeitkommunikation auf Basis von WebSockets. Mit Hilfe von Microsofts Open-Source-Plattform ASP.NET Core MVC und SignalR lassen sich im Handumdrehen Web-APIs und Push-Services entwickeln. Doch damit nicht genug: Weitere Themen wie Security, Rate-Limiting, eine sinnvolle Dokumentation und ein vernünftiges zentralisiertes Logging sind mit von der Partie. Und jeder dieser einzelnen Bereiche bietet uns eine neue Herausforderung. Sebastian Gingter und Manuel Rauber zeigen Ihnen in diesem Workshop, wie man mit .NET Core moderne APIs auf und für verschiedene Plattformen entwickeln kann. Zusätzlich wird durch den Einsatz von Entity Framework Core die Anbindung an verschiedene Datenbanken ermöglicht. Durch den Einsatz weiterer Open-Source-Bibliotheken fürs Logging oder zur automatischen Generierung einer Swagger/OpenAPI-Dokumentation ergänzen wir die API um weitere Funktionalitäten. Eine Client-Anwendung, das Deployment auf unterschiedliche Plattformen und das Deployment in die Cloud runden den Workshop ab - vollständig End-to-End eben!

Moderne Web-APIs mit Node.js – Streaming, Authentifizierung & Co. (Teil 2)

JavaScript ist im Web allgegenwärtig. In Clients ebenso wie auf dem Server. Möglich macht das Node.js, eine serverseitige Laufzeitumgebung für JavaScript. Das Open-Source-Projekt ist leichtgewichtig und außergewöhnlich performant und kann von einer äußerst aktiven Community und einem Ökosystem mit über 650.000 Modulen profitieren. All das prädestiniert Node.js als die ideale Plattform für hochskalierbare und echtzeitfähige Web-APIs. Gemeinsam mit Golo Roden entdecken Sie in diesem Workshop die Welt von Node.js und lernen, wie leicht und rasch Sie zeitgemäße APIs entwickeln können. Außerdem erfahren Sie, wie Sie Streaming, Authentifizierung und andere für APIs wichtige Themen einsetzen und worauf es dabei zu achten gilt. Die theoretischen Grundlagen werden dabei durch ein durchgängiges praktisches Beispiel, das im Laufe des Workshops gemeinsam entwickelt wird, ergänzt. 

Event Storming für Domain-driven Design (Teil 2)

Viele Projekte kranken daran, dass die Kommunikation zwischen den Beteiligten nicht gut funktioniert, und zwar in vielerlei Hinsicht: • Die Projektverantwortlichen denken sich im Vorfeld selbst etwas aus, anstatt mit Problemen zu den Entwicklern zu kommen. ("Das ist so doch bestimmt am einfachsten!") • Die Entwickler denken sich bei Unklarheiten selbst etwas aus, anstatt die Fachbereichler um Klärung zu bitten. ("Das kann doch nur so gemeint sein!") • Derselbe Begriff wird für verschiedene Dinge benutzt • Verschiedene Begriffe werden für dasselbe Ding benutzt • Missverständnisse und Lücken werden in der Konzeptionsphase übersehen oder ignoriert und tauchen erst nach mehrmonatiger teurer Entwicklung auf Domain-Driven Design verspricht hier Abhilfe und propagiert die Erstellung eines Domänenmodells in einem frühen Stadium der Entwicklung. Unklar bleibt jedoch, wie man ein gutes Domänenmodell unter Mitwirkung aller Beteiligten erstellen kann - das Resultat wird oft wieder nur von Einzelnen erzeugt und manifestiert die oben genannten Probleme nur noch mehr. Mit EventStorming ist eine Technik entstanden, mit der man ein gutes Domänenmodell Schritt für Schritt erstellen, erweitern und verfeinern kann - und das innerhalb eines einzigen Tages! Gleichzeitig wird noch jede Menge Domänenwissen zwischen den Domänenexperten und den restlichen Projektbeteiligten ausgetauscht. Verschiedene Szenarien lassen sich sehr einfach und schnell ausprobieren, man kann mehrere Varianten gegeneinanderstellen und vergleichen, um so die beste Lösung zu finden - und das ganz ohne eine Zeile Code zu schreiben. Trotzdem sind die Modelle sehr dicht am Code und an der Logik. Dabei werden keine langweiligen UML-Diagramme gezeichnet, sondern es wird mit Post-It's an einer riesigen Modellierungsfläche gearbeitet, so dass alle involviert sind. In diesem Workshop werden wir uns anhand einer vorgegebenen Domäne damit beschäftigen, ein solches präzises Domänenmodell in mehreren Stufen zu entwickeln und zu verstehen.

X
- Gib Deinen Standort ein -
- or -