Passwort vergessen?

ALL YOU CAN READ!

Der One-Stop-Shop für mehr als 420 Magazine, Bücher und Ausgaben der Digitalbuchreihe shortcuts!

Finden Sie Ihr Thema direkt in unserem großen Archiv!


Von Machine Learning bis Domain Driven Design. Jetzt registrieren und sofort über 100 Seiten Expertenwissen erhalten.

Lesen Sie mit unserem neuen Premiumservice mehr als 420 Magazine, Bücher und shortcuts online. Mit dem entwickler.kiosk-Abonnement greifen Sie ab 9,90 Euro im Monat auf das gesamte Sortiment im entwickler.kiosk zu. Bestehende Abonnenten lesen in unserem entwickler.kiosk ihre abonnierten Magazine kostenfrei.

Registrierung

  • Mit Absenden der Registrierung bestätigen Sie unsere AGB und Datenschutzbestimmungen.

Direkt bestellen

DIREKT BESTELLEN

Bestehendes Abonnement zum entwickler.kiosk-Zugang erweitern

Bitte wählen Sie Ihr bestehendes Abonnement:

Volltextsuche

Ihre Suchergebnisse für:

PHP Magazin 3.19

Windows Developer 4.19

Java Magazin 4.19

Entwickler Magazin 2.19

API – Microservices – DDD Summit Dezember 2018

03. bis 5. Dezember 2018
Karl-Liebknecht-Str., 32 H4 Hotel Berlin Alexanderplatz
10178 , Berlin - DE

Monday - 03. December 2018

09:00 bis 12:30
Microservices Survival Guide: 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.

From Bad to Good - OpenID Connect/OAuth

Als Nutzer wollte man eigentlich nur eins: endlich keine hundert verschiedene Passwörter mehr und trotzdem sichere Authentifizierung. Als Entwickler wollte man keine eigene proprietäre Authentifizierungsverfahren immer wieder aufs Neue entwickeln. Genau aus diese beiden Wünschen sind OpenID Connect und OAuth, heute die wichtigste Industriestandards wenn es um Authentifizierung- und Autorisierungsprozesse geht, entstanden. In diesem Workshop mit Anton Kalcik und Daniel Wagner werden das Wissen um diese beiden Protokolle anhand praktischer Beispiele vermittelt. Anhand von live gezeigten Beispielen analysieren wir die beiden Protokolle, debuggen den Fluss beim Authentifizieren und Autorisierung an, sehen uns die erstellten Token an und vieles mehr. Bei diesem Workshop konzentrieren wir uns auf OpenID Connect als plattform- und technologieunabhängiges Protokoll. Zusätzlich gibt es hilfreiche Tipps was bei Projekten zu beachten ist und welche kritischen Erfolgsfaktoren es neben der Technik noch gibt.

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.

Domain-Driven Design für Einsteiger

In diesem Workshop werden wir uns mit Domain-Driven Design auseinandersetzen und uns anschauen, was es genau ist und wobei es uns helfen kann. Begriffe wie Ubiquitous Language, Bounded Context, Context Mapping, Event Storming, Strategical und Tactical Design werden danach keine Fremdworte mehr für uns sein. Dabei streifen wir alle Bereiche vom ersten Umgang mit Anforderungen bis hin zur konkreten Umsetzung in Architektur und Code.

Knowledge Crunching mit Domain Storytelling

Um DDD anzuwenden müssen wir unsere Domäne und ihre Sprache verstehen. In diesem Workshop zeigen wir, wie man mithilfe von Domain Storytelling dieses Verständnis aufbauen und dann in konkrete Software umsetzen kann. Domain Storytelling heißt, dass wir Domänenexperten und Entwickler zusammenbringen. Wir lassen sie uns Geschichte über ihre Domäne erzählen. Während wir zuhören, zeichnen wir die Domain Stories vor den Augen der Fachexperten mit einer Bildsprache auf. Dadurch können alle Beteiligten unmittelbar sehen, ob sie richtig verstanden wurde. Schon nach wenigen Domain Stories haben wir die wesentlichen Akteure, Aufgaben, Werkzeuge, Arbeitsgegenstände und Ereignisse einer Domäne herausgearbeitet.​ Domain Stories helfen uns bei allen drei Pfeilern von DDD:  * Ubiquitous Language: die Begriffe aus den Domain Stories werden Worte in der UL * Strategisches Design: in den Domain Stories finden wir die Bounded Contexts und die Grenzen dazwischen * Taktisches Design: die Activities und Work Objects formen die Domänenmodelle

Cloud-Native mit der Google Cloud - Teil 1

Die Nutzung von Cloud Services zum Betrieb der eigenen Anwendungen findet immer mehr Verbreitung. Inzwischen wird auch die Zahl der Anbieter mit einem wettbewerbsfähigen Angebot immer größer. Dieser Workshop widmet sich der Google Cloud, die schon sehr lange existiert, aber bisher in der allgemeinen Wahrnehmung eher ein Schattendasein geführt hat. Er wird mit einem Überblick starten und sich dann auf einige Services konzentrieren, die wir für besonders interessant halten. So ist die Kubernetes Integration in der Google Cloud wohl am weitesten von allen großen Cloud-Anbietern fortgeschritten. Ebenso gibt es eine Reihe interessanter Lösungen für die Speicherung und Analyse von Daten. Auch ein Blick auf die Build-Pipeline wird nicht fehlen. Über den Workshop wird uns ein Beispiel begleiten, dass Schritt für Schritt weitere Services nutzen wird und dabei immer mehr Funktionalität bietet. Der Workshop ist sowohl für Teilnehmer interessant, die bereits andere Cloud-Anbieter nutzen und sich Alternativen ansehen wollen, als auch für Teilnehmer, die bisher noch keine intensiven Erfahrungen mit Cloud-Anbietern gesammelt haben und einfach nur wissen wollen, wie sich dieses Cloud-Native eigentlich anfühlt.

13:30 bis 17:00
Docker Basics

Microservices und Docker Container gemeinsam sind ein echtes Dreamteam. Dieser Workshop ist für Personen, die zwar von Docker schon 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 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.

Context Maps - Praktisch im Einsatz

Mit Context Maps wird versucht, den Kontakt zwischen Bounded Contexts auf formeller Ebene in ganzheitlicher Sicht darzustellen. Dabei geht es neben den üblichen Liefer- und Leistungsbeziehungen aber auch sehr stark um organisatorische Aspekte. Der Workshop startet mit einer kurzen Einführung zum Thema Bounded Context um dann mit diesem Wissen alle Facetten der Context Map zu erklären. Hierbei gehen wir unter anderem auch auf die Begriffe Up- und Downstream System ein. Weiterhin werden alle Patterns, die sich inzwischen in der DDD Community rund um die Context Map angesammelt haben, praxisnah erläutert. Abschließend werden im Rahmen des Workshops noch Notationsformen für Context Maps vorgestellt. Der Workshop besteht aus ca 70% Theorie und 30% Praxis. Ein grobes Vorwissen zu DDD und Bounded Contexts wäre wünschenswert.

Brücken bauen - Schnittstellendesign mit API First

Der API First Ansatz stellt den Schnittstellenentwurf an vorderste Stelle. Dies passt zu den aktuellen Trends wie Domain-Driven Design und Microservices, die das fachliche Modell, den Serviceschnitt und Kommunikationsmuster in den Vordergrund stellen. Stand in der Vergangenheit vor allem die Datenbank und das ER-Modell zu Projektbeginn im Fokus, geht es nun um URIs, Austauschformate und Statuscodes. API First erfolgt unter der Maßgabe einfach nutzbare, leicht verständliche und idealerweise selbsterklärende Schnittstellen zu schaffen, die ihren Nutzern einen echten Mehrwert bieten. Dabei agiert man idealerweise auf der grünen Wiese um Einflüsse und Beschränkungen durch bestehende Systeme bestmöglich zu reduzieren. Wir lernen den API First Ansatz an einem praktischen Beispiel kennen und spielen die Entwicklung einer neuen Schnittstelle in mehreren Iterationen durch. Gemeinsam entwerfen, dokumentieren und testen wir unsere API. Dabei stehen die OpenAPI Spezifikation, hilfreiche Tools und das Thema Versionierung im Fokus.

Chaos? Revolution? Evolution!

Damit größere Systeme oder Systemlandschaften über einen längeren Zeitraum hohe Qualität ausstrahlen, sind sowohl technische als auch fachliche Änderungen unausweichlich. Die gesündesten bekannten Ansätze kümmern sich stetig um diese Änderungen und betrauen möglichst viele Entwickler mit der Weiterentwicklung der Architektur. Konzepte und Technologien werden lokal und unabhängig getestet, bevor sie entweder verworfen werden, lokal als Optimierung bestehen bleiben oder als breiter anwendbares Konzept in die Landschaft wachsen. Durch den harten Test des Lebens (bzw. durch den kontinuierlichen Kontakt von Entwicklern mit wichtigen Qualitätsmerkmalen) entstehen wertvolle Beiträge zu einer Architektur, die sich stetig weiterentwickelt. Evolutionärer Architektur. In diesem Workshop stellt Stefan Toth den Zyklus evolutionärer Architekturentwicklung vor. Von Lernfenstern mit Experimenten und erlaubten Abweichungen vom „Standard“, über weich definierte Regeln und geförderte Innovation bis hin zur eingeschränkten Anwendbarkeit von überholten Konzepten. Beispiele aus realen Entwicklungsvorhaben verdeutlichen die Konzepte.

Microservices Migration 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!

Cloud-Native mit der Google Cloud - Teil 2

Die Nutzung von Cloud Services zum Betrieb der eigenen Anwendungen findet immer mehr Verbreitung. Inzwischen wird auch die Zahl der Anbieter mit einem wettbewerbsfähigen Angebot immer größer. Dieser Workshop widmet sich der Google Cloud, die schon sehr lange existiert, aber bisher in der allgemeinen Wahrnehmung eher ein Schattendasein geführt hat. Er wird mit einem Überblick starten und sich dann auf einige Services konzentrieren, die wir für besonders interessant halten. So ist die Kubernetes Integration in der Google Cloud wohl am weitesten von allen großen Cloud-Anbietern fortgeschritten. Ebenso gibt es eine Reihe interessanter Lösungen für die Speicherung und Analyse von Daten. Auch ein Blick auf die Build-Pipeline wird nicht fehlen. Über den Workshop wird uns ein Beispiel begleiten, dass Schritt für Schritt weitere Services nutzen wird und dabei immer mehr Funktionalität bietet. Der Workshop ist sowohl für Teilnehmer interessant, die bereits andere Cloud-Anbieter nutzen und sich Alternativen ansehen wollen, als auch für Teilnehmer, die bisher noch keine intensiven Erfahrungen mit Cloud-Anbietern gesammelt haben und einfach nur wissen wollen, wie sich dieses Cloud-Native eigentlich anfühlt.

17:30 bis 18:30
Night Session: AI-as-a-Service

Künstliche Intelligenz hat die Seiten gewechselt: vom Forschungs- ins Entwicklerbüro. Dinge, die vor wenigen Jahren undenkbar schienen, sind mittlerweile nur mehr einen REST-Call entfernt. Roman Schacherl zeigt in dieser Night-Session anhand vieler Live-Demos, wie Sie mit Hilfe der Cognitive Services von Microsoft einen Einstieg ins AI-Thema schaffen können

Tuesday - 04. December 2018

09:00 bis 12:30
Vom Cloud-Muffel zum Cloud-Native (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.

Domain-driven Design to the Code

Aus dem strategischen Design von DDD ist eine Context Map mit Bounded Contexts und deren Abhängigkeiten entstanden. Doch wie können nun diese Bounded Contexts konkret basierend auf den taktischen Mustern von DDD in Code umgesetzt werden? Wie immer gibt es auch hier nicht die eine Allerweltslösung, aber dafür eine Reihe von interessanten Optionen, allen voran die Onion Architecture und Stereotypen. Basierend auf der praktischen Erfahrung aus mehreren DDD-Projekten wird in diesem Workshop aufgezeigt, wie die Umsetzung von Fachlichkeit möglichst gut getrennt von technischen Aspekten wie Persistenz, Transaktionen oder Security erfolgen kann, wie diese technischen Aspekte als “Implementationsdetails” ergänzt werden können und welchen Einfluss diese Art der Umsetzung z.B. auf die Code-Organisation oder das Testing haben kann. Darüber hinaus wird betrachtet, wie Domain Events benutzt werden können, um innerhalb eines Bounded Context und über Bounded Contexts hinweg fachlich “hochwertig” zu kommunizieren und wie dies technisch umgesetzt werden kann. In einem Mix aus Präsentation und Demo werden diese Ideen konkret am Beispiel eines Systems aus der Bike-Sharing-Domäne gezeigt.      

Microservices maßgeschneidert – Wie teile ich meine Servicelandschaft?

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.

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 Workshop 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.

Swagger aka Open API Workshop

Damit eine Web API erfolgreich ist, muss die Welt wissen welche Funktionalität sie bietet. Swagger aka Open API 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 Open API beschrieben hat, bekommt man diese Dinge mehr oder weniger automatisch. In diesem Workshop stellt Rainer Stropek Open API vor. Gemeinsam mit ihm spezifizieren Sie eine fiktive Web API mit Open API. Anhand des API-Beispiels lernen Sie wichtige Tools kennen, generieren Code, veröffentlichen die API Beschreibung zur Verwendung in der Cloud und vieles mehr.

Technologie-Stacks für Microservice-Systeme

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ögliche 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 umsetzen.

13:30 bis 17:00
Events, Flows und Long-Running Services

Event-driven architectures enable nicely decoupled microservices. However, using peer-to-peer event chains to implement complex end-to-end logic crossing service boundaries can accidentally increase coupling. Extracting such business logic into dedicated services reduces coupling and allows to keep sight of larger-scale flows - without violating bounded contexts, harming service autonomy or introducing god services. Service boundaries get clearer and service APIs get smarter by focusing on their potentially long running nature. I will demonstrate how a new generation of lightweight and highly-scalable state machines ease the implementation of long running services. I will emphasis how this can also help to solve consistency challenges in distributed systems. Based on real-life experience, I will share how to handle complex logic and flows which require proper reactions on failures, timeouts and compensating actions and provide guidance backed by code examples. Bitte beachten: Der Workshop wird in deutsch gehalten!

Kubernetes, eine Einführung

Container sind inzwischen in vielen Projekten das bevorzugte Format, um die eigene Software auszuliefern. Kubernetes wiederum ist die populärste Plattform, um diese Container in Clustern zu betreiben. Es bietet eine Reihe von Abstraktionen und Konzepten, die vermutlich unsere Art Software zu betreiben in den nächsten Jahren wesentlich beeinflussen werden. Ob Entwickler, Architekten, Admins oder auch Produktowner, jeder an der Softwareentwicklung Beteiligte kann davon profitieren, die Grundlagen zu beherrschen. In diesem Workshop werden die wichtigsten Konzepte für einen Einstieg in Kubernetes vermittelt. Es geht um Container und Pods, Services, das Management von Deployments, die Persistierung von Daten und die grundlegende Architektur von Kubernetes. Veranschaulicht wird das ganze mit einfachen Beispielen, die der geneigte Teilnehmer auch gerne während des Workshops nachvollziehen kann.

OData

Datengetriebene RESTful Web APIs zu designen ist nicht einfach. Es muss eine Menge bedacht werden: Metadaten, flexible Abfragesprache, Paging, URL-Konventionen, Payload-Format u.v.m. OData ist ein Standard, der Antworten auf diese Fragen mitbringt. In dem Workshop startet Rainer Stropek mit einem Überblick über OData. Anhand vieler Beispiele wird praktisch demonstriert, wie das Protokoll funktioniert. Anschließend zeigt Rainer, wie man mit .NET Core OData-Services plattformunabhängig entwickelt und konsumiert. Rainer verwendet in seiner Firma OData seit vielen Jahren und wird daher besonderen Wert auf die Vermittlung von Tipps aus der Praxis legen.

Vom Cloud-Muffel zum Cloud-Native (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.

GraphQL – A query language for your API

GraphQL ist eine Abfragesprache und wird u.a. von Facebook, GitHub und Shopify als Alternative zu RESTful Web Services eingesetzt. Welche Vorteile ergeben sich durch dessen Verwendung? Wie implementiert man ein GraphQL-Backend? Wie verwendet man GraphQL am Client? Fragen über Fragen, die wir in diesem Workshop klären werden. Wir sehen uns die Implementierung eines GraphQL-Backend an und beschäftigen uns mit dessen zentralen Bestandteilen wie dem Schema und Resolvers. Wir wollen aber auch über mögliche (Performance-)Probleme und dessen Lösung eingehen. In diesem Teil werden wir in den Beispielen vorrangig Node.js verwenden – die Grundprinzipien sind aber auf andere Sprachen und Plattformen übertragbar. Wie setzen wir GraphQL am Client sinnvoll ein? Anhand eines Beispiels basierend auf Angular und Apollo Client (einem GraphQL Client Framework) wollen wir das näher beleuchten.

Keine Slides vorhanden
Event Storming für Domain-Driven Design

Im Domain-Driven Design ist es sehr wichtig, ein gutes Domänenmodell zu haben. Allerdings wird nirgendwo so wirklich erklärt, wie man ein gutes Domänenmodell unter Mitwirkung aller Beteiligten erstellen kann. Hier schafft Event Storming Abhilfe. Mit Hilfe dieser Technik kann man ein gutes Domänenmodell Schritt für Schritt erstellen, erweitern und verfeinern - und das innerhalb eines einzigen Tages! Gleichzeitig wird noch jede Menge Domänenwissen zwischen den Domänenexperten und den restlichen Projektbeteiligten ausgetauscht. Beim Modellieren lassen sich sehr einfach und schnell verschiedene Szenarien 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 nahe am Code und an der Logik. Dabei werden keine langweiligen UML-Diagramme gezeichnet, sondern es wird mit Post-It's an einer großen 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. Freut Euch auf ein actionreiches Abenteuer :-)

17:30 bis 18:30
Night Session: Blockchain - Was steckt wirklich dahinter?

In zehn Jahren werden wir Blockchains so selbstverständlich nutzen wie heute Datenbanken - und das nicht wegen seltsamer Cryptowährungen, die bereits heute schon mehr an Tulpenkrise als an seriöses Software-Engineering denken lassen. In dieser Night Session präsentiert Ingo Rammer die konkreten technischen Motivationen, Hintergründe und Zusammenhänge, die den Hype überstehen werden. Sie lernen die fundamentalen Elemente, Arten und Betriebsmodi von öffentlichen und privaten Blockchains kennen und werden wissen, warum Smart Contracts weder "smart" noch "Verträge", sondern einfach Regeln zur Prüfung von replizierten Transaktionen sind. Nach diesem Vortrag haben Sie eine solide Basis, um zu beurteilen, ob - und in welchen Bereichen - Ihre Anwendungsfälle von der Nutzung von Blockchain-Technologien profitieren könnten.

Wednesday - 05. December 2018

09:00 bis 12:30
Web-APIs mit Java: REST ist nur der Anfang (Teil 1)

RESTful APIs mit Java entwickeln klingt wie ein alter Hut. Mit ein paar Annotationen ist jede x-beliebige Entität in wenigen Minuten auch via HTTP erreichbar und das auch noch in unterschiedlichen Datenformaten. Stimmt! Aber nach dem ersten sehr einfachen Schritt wird es anspruchsvoller. Entspricht die Standardfehlermeldung nicht den eigenen Anforderungen, soll die Authentifizierung nicht über Basic Auth erfolgen oder zusätzlich ein API Key geprüft werden, hat man die Grenzen der Standardlösung schon erreicht. Im ersten Teil des Workshops konzentrieren wir uns auf die Entwicklung von RESTful APIs. Ausgehend von der API Definition für einen digitalen Kaffeeladen integrieren wir u.a. ein zentrales Error-Handling für Client- und Serverfehler, Caching-Mechanismen mit der Hilfe von ETags sowie eine sichere Benutzer- und Client-Authentifizierung durch den Einsatz von API Keys und JWT. Hierzu kombinieren wir Standardfunktionen der Frameworks, nützliche Bibliotheken und Best-Practices, um mit wenig Aufwand zum Ziel zu kommen.

Technische Schulden mit Domain-Driven Design vertreiben

Programmierer entwickeln heute keine Software mehr auf der grünen Wiese, sondern sie reparieren, erweitern, verändern und bauen vorhandene Software aus. Das größte Problem ihrer täglichen Arbeit ist, dass sich Wartung mit der Zeit von strukturierter Programmierung hin zu defensiver Programmierung verändert. Der Code wird zu komplex, um ihn zu warten. Die Entwickler fangen an, Code zu schreiben, von dem sie wissen, dass er aus Architektursicht schlecht ist. Aber er ist die einzige Lösung, die, wenn man Glück hat, funktioniert. Wartung wird immer schwieriger und teurer. Die Software sammelt immer mehr technische Schulden an. In diesem Workshop zeige ich Ihnen, wie Domain-Driven Design Ihrem Team hilft, diese angeblich unvermeidbare Sackgasse zu vermeiden. Die Konzepte und Lösungen von DDD sollten zu Beginn eines Projekts eingesetzt werden, aber sie verbessern die Situation auch in einem laufenden Projekt und in der Wartung.

Einmal API mit allem, bitte: ASP.NET Core MVC und SignalR in Action! (Teil 1)

Moderne APIs können so viel mehr als nur gängige HTTPS-Endpunkte bereitstellen: Zum einen die Möglichkeit zur (optionalen) 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 unterschiedliche Datenbanken ermöglicht. Durch den Einsatz weiterer Open-Source Bibliotheken für 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 und einmal mit allem, eben!

Azure in Action: Pragmatische Cloud-Lösungen mit Containern & Serverless (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-Demos in Action.

13:30 bis 17:00
Azure in Action: Pragmatische Cloud-Lösungen mit Containern & Serverless (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-Demos in Action.

Web-APIs mit Java: Beyond REST (Teil 2)

RESTful APIs mit Java entwickeln klingt wie ein alter Hut. Mit ein paar Annotationen ist jede x-beliebige Entität in wenigen Minuten auch via HTTP erreichbar und das auch noch in unterschiedlichen Datenformaten. Was aber machen wir, wenn asynchrone Kommunikation die bessere Lösung ist oder die Abfrage gewünschter Daten unzählige Aufrufe zur Folge hat. Ist eine RESTful API hier noch der richtige Ansatz? Im zweiten Teil des Workshops lenken wir den Blick auf alternative Web-APIs wie GraphQL und Server-Sent Events. Am Beispiel des digitalen Kaffeeladens lernen wir, bei welchen Anwendungsfällen Server-Push und SQL-ähnliche Abfragen ihre Stärken ausspielen können. Auch hier spielt das Thema Sicherheit eine entscheidende Rolle um unbefugte Zugriffe zu verhindern und Push-Nachrichten nur an den authentifizierten Nutzer zu senden.

Einmal API mit allem, bitte: ASP.NET Core MVC und SignalR in Action! (Teil 2)

Moderne APIs können so viel mehr als nur gängige HTTPS-Endpunkte bereitstellen: Zum einen die Möglichkeit zur (optionalen) 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 unterschiedliche Datenbanken ermöglicht. Durch den Einsatz weiterer Open-Source Bibliotheken für 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 und einmal mit allem, eben!

From code to culture, from agile to architecture

Softwareentwickler stehen unter dem Anspruch, stets mit den neuesten Architekturen und Technologien mitzuhalten und unter Zeitdruck nachhaltige Lösungen zu liefern. Dabei fokussieren wir häufig so sehr auf technische Werkzeuge und Methoden, dass wir das eigentliche Ziel aus den Augen verlieren:Die tatsächlichen Geschäftsprobleme des Kunden zu lösen.Mit Domain Driven Design lenken wir unseren Fokus zuerst auf ein Verständnis der Domäne, und bekommen Methoden an die Hand, um selbst in komplexen Domänen das Modell im Einklang mit dem Business zu pflegen. Durch den Schutz der Domäne von technischen Einflüssen und den Einsatz kollaborativer Lern- und Modellierungsmethoden schaffen wir wesentlich nachhaltiger Mehrwert für unsere Kunden.In diesem halbtägigen Workshop werden wir anhand einer echten Problemdomäne ein Modell erforschen, uns für eine Architektur entscheiden und Implementierungsbeispiele im Pairprogramming durchführen. Es gibt keine einfachen Fragen und keine vorgefertigte Lösung, euer Einfallsreichtum ist gefragt.

Keine Slides vorhanden
X
- Gib Deinen Standort ein -
- or -