Software- und Systemarchitektur

Reviews, Konzepte und technologische Lösungen

Für jedes System und für die Systemlandschaft als Ganzes spielt die Architektur eine entscheidende Rolle. Wir helfen Ihnen dabei, diese anhand der tatsächlich bestehenden Anforderungen konkret auszugestalten und dabei pragmatisch nachhaltigen Wert zu schaffen. Wenn Sie zu einer bestehenden Umgebung eine Einschätzung benötigen, liefern wir Ihnen eine unabhängige Analyse, jenseits von Betriebsblindheit. Wir helfen Ihnen, Risiken und Verbesserungspotenzial zu erkennen. Geht es um die Neu- oder Weiterentwicklung, dann unterstützen wir Sie bei der Auswahl geeigneter Technologien.

In jedem Fall profitieren Sie dabei von unserem Praxis-Knowhow, denn wir legen großen Wert darauf, nicht nur aus dem Elfenbeinturm auf die Realität hinabzublicken: Alle innoQ-Architekten verfügen über langjährige Programmiererfahrung und haben schon Softwaresysteme in allen Phasen des Softwarelebenszyklus begleitet.

  • Domain Driven Design in der Praxis

    Schulung Michael Plöd innoQ Deutschland GmbH, Büro München

  • Design Patterns – Software pragmatisch und effizient gestalten

    Schulung Frank Buschmann innoQ Deutschland GmbH, München

  • Microservice mit Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff JUG Essen März 2017

    Microservices stellen Entwickler vor neue Herausforderungen. Der Spring-Stack hält zwei Lösungen bereit: Spring Boot zur Implementierung des Microservices und Spring Cloud für den Aufbau der notwendigen Infrastruktur. Dieser Vortrag zeigt, wie die beiden Technologien praktisch funktionieren und Microservices-Architekturen mit diesem Ansatz implementiert werden können.

    Mehr lesen
  • Self-contained Systems oder Microservices – Hauptsache SOA

    Vortrag Oliver Tigges, Eberhard Wolff Software Architecture Summit 2017

    Die Architekturansätze von Microservices und Self-contained Systems (SCS) versprechen viele Vorteile. Aber wir stoßen immer wieder auf ähnliche Herausforderungen, wenn große IT-Systeme nach diesen Ansätzen implementiert werden sollen:

    1. Wie sieht ein guter Schnitt des Gesamtsystems mit Microservices/SCS aus? Wie helfen DDD, Bounded Contexts, explizite Qualitätsziele und eine Analyse der Geschäftsprozesse dabei, den optimalen Schnitt zu finden?
    2. Wenn ein System mit monolithischer Datenbank zerteilt wird, gibt es zwischen den Modulen keine Datenbankrelationen. Wie entsteht dennoch ein perfomantes, stabiles und flexibles System?
    3. Microservice/SCS fördern die Autonomie von Teams, Systemen und Services. Aber wer hält die Fäden zusammen und sorgt dafür, dass alles zusammen funktioniert und die Unternehmens-IT in die richtige Richtung läuft?

    In diesem Workshop geben wir zunächst einen Überblick über die Ideen, Begriffe und Grundkonzepte von Microservices und SCS. Danach möchten wir gemeinsam mit den Teilnehmern Lösungen für diese drei Fragestellungen erarbeiten und diskutieren.

    Mehr lesen
  • Architecture Fishbowl

    Vortrag Stefan Tilkov Software Architecture Summit 2017

    In einem Fishbowl verschwimmt die Grenze zwischen Sprechern und Teilnehmern: Es bietet eine großartige Möglichkeit, die Themen des Summits ohne vorbestimmte Agenda zu diskutieren. Die Sprecher starten die Diskussion und stellen dabei sicher, dass sie eine möglichst große Menge kontroverser Statements abgeben, um die Diskussion anzufeuern. Danach haben Sie die Chance, an der dynamischen Diskussion teilzunehmen und Ihre eigenen Erfahrungen und Meinungen zu teilen. Moderiert von Stefan Tilkov.

    Mehr lesen

    New School of Enterprise Architecture

    Vortrag Martin Schmidt, Wolfgang Keller Software Architecture Summit 2017

    Große Unternehmen haben heute vielfach gut optimierte Prozesse. Die sind zwar stark durchstrukturiert – sind aber nicht immer schnell änderbar und flexibel. Unternehmensarchitekten in solchen Unternehmen sind häufig mit der Erstellung und Umsetzung langfristiger Planungen beschäftigt. In Zeiten von Digitalisierung, Start-Ups und Hochgeschwindigkeitswettbewerb wird die Situation auf den Tankern der Wirtschaft jedoch in vielen Fällen immer ungemütlicher: Die staatliche Regulierung nimmt nicht ab, sondern immer noch zu. Gleichzeitig erodieren in vielen Branchen die Margen und aggressive neue – oft stark digitalisierte – Wettbewerber treten auf. Gleichzeitig steigt das Niveau von Cyber-Bedrohungen und große Internet-Monopole bedrohen den Zugang zum Kunden. Für Unternehmensarchitekten heißt das wieder mehr als in den letzten zwei Jahrzehnten aktuelle Technik beherrschen zu müssen, geschäftsorientiert zu denken und aber immer noch ein Auge auf Regulierungsthemen zu haben.

    Dieser Workshop gibt Ihnen einen kompakten Überblick über die Dinge, mit denen man sich als IT-Unternehmensarchitekt heute beschäftigen sollte und bietet Ihnen einen Einstieg in ihre eigene weitere Entwicklung – zum Nutzen Ihrer Firma und zu Ihrem eigenen Nutzen.

    Mehr lesen
  • Domain Events und Event Storming

    Vortrag Michael Plöd Software Architecture Summit 2017

    Das Thema Domain-driven Design ist derzeit in aller Munde und hat sich im Lauf der Jahre spürbar weiterentwickelt. Insbesondere das Thema Domain Events spielt hierbei eine zentrale Rolle. Mithilfe von Domain Events können Bounded Contexts sehr lose gekoppelt auf Basis fachlicher Ereignisse miteinander interagieren. Dabei öffnen Domain Events neben dem architekturellen Vorteil „lose Kopplung“ die Tür für weitere interessante Möglichkeiten. Hierzu zählen die Persistierung von Events (Event Sourcing) und eine neue Form der fachlichen Analyse, das Event Storming.

    Der Workshop wird die Konzepte von Domain Events vorstellen, Ihnen erläutern, wie diese idealerweise für Kommunikation und Persistierung verwendet werden können. Weiterhin wird im Rahmen des Vortrags auch das Analyseverfahren Event Storming praktisch vorgestellt. Der Workshop wird neben einem theoretischen Teil auch praktische Übungen beinhalten.

    Mehr lesen

    KEYNOTE: Architekturtransformationen in der Praxis

    Vortrag Gernot Starke, Stefan Tilkov Software Architecture Summit 2017

    Eigentlich wollen alle nur das Beste – und doch ist es oft so schwer, sinnvolle Veränderungen durchzusetzen. Dieses Gefühl plagt IT-Konferenzbesucher, wenn sie, frisch beflügelt von den großartigen Berichten über die Innovationsführer, wieder „nach Hause” kommen und dort mit den tollen neuen Ideen vor Wände laufen. In diesem Vortrag werfen wir einen Blick auf die typischen Probleme und diskutieren Wege, sie zu überwinden. Für das systematische Vorgehen spielen neben Technologie auch Politik und Betriebswirtschaft eine wichtige Rolle.

    Mehr lesen
  • In-Depth: Practical Microservice Modelling with DDD’s Strategic Design

    Vortrag Michael Plöd microXchg 2017

    In this highly interactive session we are going to dig deep into strategic design aspects for finding the right and suitable granularity and interaction model for Microservices. The session will cover intense discussions surrounding Bounded Contexts, the meaning of given models in Bounded Contexts, Domain Events and Context Mapping, including the given patterns such as Shared Kernel, Customer / Supplier, Anticorruption Layer or Separate Ways (just to name a few).

    The in-depth session will be based on a code based (Spring Boot) demo application landscape and will include analog as well as digital labs. This session will consist of approximately 40% presentation and 60% labs and audience participation.

    Mehr lesen
  • Self-contained Systems: Ein anderer Ansatz für Microservices

    Vortrag Eberhard Wolff OOP 2017

    Self-contained Systems nutzen die Ideen von Microservices und teilen Systeme in stark entkoppelte Anwendungen auf. So können große, komplexe Anwendungen strukturiert werden - aber auch in vielen anderen Szenarien sind die Ansätze sinnvoll nutzbar. SCS werden bei Firmen wie Otto, Kaufhof oder Kühne+Nagel erfolgreich eingesetzt.

    Der Workshop erklärt zunächst SCS und zeigt die Unterschiede zu Microservices sowie am praktischen Beispiel technische Aspekte wie Frontend-Integration. Schließlich entwerfen wir eine technische und fachliche Architektur für ein SCS-System.

    Zielpublikum: Architekten, Software-Entwickler, technische Projektleiter Voraussetzungen: grundlegendes Wissen über Architektur und Software-Entwicklung Schwierigkeitsgrad: Anfänger

    Mehr lesen
  • Microservices sind ganz anders als man denkt!

    Vortrag Eberhard Wolff OOP 2017

    „Microservices sind SOA - nur richtig“, so hört man oft. Schließlich sollen Systeme wie bei SOA in Dienste aufgeteilt werden. Das scheint auch zunächst zu stimmen - erst auf den zweiten Blick wird klar, welche Details bei Microservices anders sind. Mittlerweile liegen außerdem genügend Erfahrungen über die wesentlichen Herausforderungen bei Microservices vor. So zeigt der Vortrag, welche Details bei Microservices in der Praxis wirklich relevant sind.

    Zielpublikum: Architekten, Entwickler, Projektleiter Voraussetzungen: Kenntnisse in Software Design sowie Agiler Entwicklung Schwierigkeitsgrad: Fortgeschritten

    Mehr lesen
  • Architekturmodernisierung mit SCS und Microservices

    Vortrag Alexander Heusingfeld, Michael Vitz OOP 2017

    Dieser Vortrag adressiert ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwendig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget.

    Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen. So können Sie Stück für Stück, gerade so, wie es das Projektbudget zulässt, die Architektur des Gesamtsystems modernisieren, ohne ein Big-Bang-Release zu fürchten. Hierbei wollen wir auch die Frage beantworten, mit welchen Themen Sie sich neben „Wie teile ich mein System auf“ außerdem beschäftigen müssen, und wie wir die Vorteile einer Microservice-Architektur nutzen können, ohne uns gleich allen ihren Herausforderungen auf einmal stellen zu müssen.

    Zielpublikum: Architekten, Entwickler, Projektleiter Voraussetzungen: Basiswissen Software-Architektur und verteilte Systeme Schwierigkeitsgrad: Anfänger

    Mehr lesen

    Die Jagd läuft – Digitalisierung im Unternehmen

    Vortrag Phillip Ghadir, Gernot Starke OOP 2017

    Seit einiger Zeit beschäftigen bimodale IT, Two-Speed Architecture und Digitalisierung das IT-Management vieler Unternehmen. Wir möchten diese Begriffe erklären und in den Kontext aktueller disruptiver Innovationen einordnen. Damit zeigen wir sowohl aus technischer wie auch IT-Management-Perspektive auf, wie und warum Themen wie Docker, Continuous-Deployment/Delivery sowie Ambient Computing essenzielle strategische Herausforderungen meistern helfen.

    In diesem Vortrag beschäftigen wir uns mit den geänderten Rahmenbedingungen in der heutigen Zeit, in denen Mitarbeiter, Interessenten und Kunden jederzeit leistungsstarke, mobile, Akku-betriebene Multi-Core-Systeme mit sich führen und trotzdem unter starren Unternehmensprozessen und IT-Dinosaurier-System leiden müssen. Dabei gibt es heute für Software weniger Grenzen als jemals zuvor!

    Während Systemstabilität früher eines der zentralen Qualitätsmerkmale war, werden heute eher Anpassbarkeit, Flexibilität und time-to-market gefordert. Solche Einflussfaktoren steigern die Erwartungshaltung an die IT - und verändern damit deren Spielregeln gewaltig: Disruptive digitale Innovationen werden zur Notwendigkeit von IT-Management und -Entwicklung.

    Auf der Suche nach neuen Geschäftsmodellen darf sich IT daher nicht nur mit dem Aufrechterhalten des Status quo begnügen, sondern muss proaktiv solche Änderungen einleiten und begleiten. Im Vortrag beleuchten wir aktuelle Trends aus der Sicht von IT-Architekten, beispielsweise die bimodale IT, Two-Speed Architecture sowie Digitalisierung. Dazu geben wir praktische Hilfestellung zu deren Einsatz und der Bewältigung möglicher Risiken.

    Zielpublikum: IT-Manager, Software-/Systemarchitekten Voraussetzungen: Projekterfahrung Schwierigkeitsgrad: Fortgeschritten

    Mehr lesen
  • Microservices: Redundanz = Wartbarkeit!

    Vortrag Eberhard Wolff Software Architektur München Meetup Januar 2017

    Microservices sind nicht nur ein Hype: Sie stellen einige grundlegende Annahmen der Software-Architekturen in Frage. Soll man Redundanzen wirklich vermeiden? Ist eine saubere Architektur wirklich der Schlüssel zu langfristiger Wartbarkeit? Dieser Vortrag handelt davon, wie Microservices mit unorthodoxen Ansätzen eine produktive Software-Entwicklung erlauben und wie wir Architektur auch jenseits von Microservices neu denken müssen.

    Mehr lesen
  • Strategic Design aus Domain Driven Design mit Spring Boot

    Vortrag Michael Plöd JUG Nürnberg Januar 2017 Meetup

    Einer der wertvollsten Bereiche von Domain Driven Design ist zweifelsohne das Strategic Design mit seinen Context Mapping Patterns. Allerdings wirken die meisten Beschreibungen der Patterns in textueller Form etwas abstrakt und schwer verdaulich. Im Rahmen dieses Vortrags werden die Patterns auf Basis einer einfachen Spring Boot basierten Anwendungslandschaft praktisch und greifbar erklärt und vorgestellt. Hierbei gehen wir unter anderem auf folgende Patterns ein: Customer / Supplier, Open Host Language, Anticorruption Layer, Conformist oder Separate Ways

    Mehr lesen
  • Microservices lieben Domain Driven Design, warum und wie?

    Artikel Michael Plöd

    Das Buch Domain Driven Design, welches Eric Evans vor gut 13 Jahren publizierte, galt schon seit jeher als herausragende Referenz für die fachlich getriebene Modellierung von IT-Systemen. Mit dem Einzug von Microservices erfährt Domain Driven Design eine Renaissance, denn die beiden Ideen lassen sich wunderbar miteinander kombinieren. Im Laufe des Artikels werden Sie kennenlernen, wie Sie mit Hilfe der Ideen von Domain Driven Design technisch wie fachlich tragfähigen Microservice Landschaften entwickeln können.

    Mehr lesen
  • Self-contained Systems: Microservices-Architekturen mit System

    Vortrag Eberhard Wolff JUG Berlin-Brandenburg Meetup Oktober 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Aber einfach nur kleine Dienste entwickeln, ist bei weitem nicht genug. Self-contained Systems (SCS) fokussieren auf einen Architektur-Ansatz, der nicht nur bei großen Systemen mit entsprechend komplexer Team-Struktur sinnvoll ist. Mit SCS kann in einem solchen Kontext auch langfristig produktiv Software entwickelt werden.

    Der Vortrag erläutert Self-contained Systems, ihre Vor- und Nachteile und die Abgrenzung zu Microservices.

    Mehr lesen
  • Microservices à la Netflix

    Artikel Carsten Pelka, Michael Plöd

    Netflix hat in den letzten Jahren sehr interessante Open Source Frameworks wie beispielsweise Eureka, Hystrix oder Zuul via GitHub publiziert. Parallel dazu hat das Spring Team mit Spring Boot und Spring Cloud zwei hoch interessante Module für Cloud basierte Microservice Architekturen veröffentlicht. Wie passen diese beiden Dinge nun zusammen?

    Mehr lesen
  • Services: SOA, Microservices und Self-contained Systems

    Artikel Eberhard Wolff

    Die Aufteilung komplexer Software-Systeme in Services ist nicht neu: Service-orientierte Architekturen (SOA) nutzen diese Idee schon lange. In letzter Zeit sind Microservices als neuer Ansatz hinzugekommen. Microservice-Architekturen sind sehr flexibel und breit einsetzbar. Self-contained Systems verwenden Microservices, um große und komplexe Systeme in unabhängige Module aufzuteilen. Das unterstützt die Zusammenarbeit der Teams. Dieser Artikel gibt einen Überblick über SOA, Microservices und Self-contained Systems.

    Mehr lesen

    Dynamisch überwacht: Monitoring von Microservice-Architekturen

    Vortrag Alexander Heusingfeld, Tammo van Lessen Microservices Summit 2016

    Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. Mit dem Aufschwung der Microservices-Architekturen reichen die traditionellen Monitoringmittel nicht mehr aus, denn sie erfordern ein hohes Maß an Flexibilität und Dynamik von Organisation und Infrastruktur. Wegen der Verteilung auf verschiedene Systeme ist es jedoch umso wichtiger, die einzelnen Dienste sorgfältig und nachhaltig zu überwachen und Verfügbarkeit, Performance (fachlich wie technisch), Zuverlässigkeit und Wirtschaftlichkeit kontinuierlich zu messen. So entsteht ein jederzeit aktuelles, vergleichendes Bild auf die Systemlandschaft. Dafür müssen allerdings neue Konzepte für Logging, Tracing und Alarming umgesetzt werden, die die Aggregation, Korrelation und Visualisierung von Laufzeitinformationen an zentraler Stelle erlauben.

    Das Trio Logs, Metriken und Tracingdaten stellt die Grundlage zur Verfügung, eine solche Beobachtungsstelle zu realisieren. Doch was sind eigentlich wichtige Logs? Welche Metriken soll ich erfassen? Welche Sichten auf meine Anwendung erlauben mir die Metriken? Diese Fragen versuchen wir in der Session zu beantworten und stellen dazu die wichtigsten Ansätze und Werkzeuge zum Überwachen von modernen verteilten Systemen vor.

    Mehr lesen

    Event Sourcing - Einführung und Best Practices

    Vortrag Michael Plöd Software Architektur München Meetup November 2016

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine Denormalisierung des “Lese-Modells” der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Vortrags werde ich eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Kompensation-Services), Möglichkeiten der Erstellung von Daten Snapshots und Änderungen durch externe Systeme vorgestellt. Abgerundet wird der Vortrag durch eine Diskussion möglicher Einsatzszenarien für Event Sourcing.

    Mehr lesen
  • Self-contained Systems: A Different Approach to Microservices

    Artikel Eberhard Wolff

    Microservices are the current hype in the Software Architecture community. However, microservices can be used in many different scenarios to reach different goals. Self-contained Systems (SCSs) are one approach to achieve some of those goals while avoiding many common pitfalls.

    Mehr lesen

    Self-contained Systems: Ein alternativer Ansatz für Microservices

    Vortrag Eberhard Wolff Microservices Summit 2016

    Microservices sind der Hype im Bereich Software-Architektur. Aber nur eine Menge von kleinen Services ist bei weitem nicht genug. Self-contained Systems stellen einen Architektur-Ansatz auf Basis von Microservices dar. Im Mittelpunkt sehen unabhängige Teams, UI-Integration und asynchrone Kommunikation. SCSs sind besonders sinnvoll für große Systeme und komplexe Teams und erlauben auch langfristig eine effiziente Software-Entwicklung in solchen Umgebung.

    Der Workshop erläutert Self-contained Systems, die Vor- und Nachteile und die Unterschiede zu Microservices.

    Mehr lesen

    Microservices mit Java, Spring Boot & Spring Cloud

    Vortrag Eberhard Wolff Microservices Summit 2016

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Spring Boot unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Mehr lesen
  • Software-Architektur für Innovation

    Artikel Eberhard Wolff

    Software ist mittlerweile in praktisch allen Wirtschaftsbereichen zentraler Teil der Wertschöpfung. Also sollte Software auch Innovationen ermöglichen. Die Frage ist, wie Software dazu beschaffen sein muss.

    Mehr lesen
  • “Microservices: Redundancy = Maintainability!” A Talk by Eberhard Wolff

    Link Eberhard Wolff youtube

    In October, Eberhard Wolff gave a keynote at IT Arena 2016 in Lviv, Ukraine. His talk focussed on Microservices and how this concept is questioning some basic assumptions of software architecture. Should you really avoid redundancies? Is a clean architecture really the key to long-term maintainability? The keynote shows how Microservices enable productive software development with quite unorthodox approaches and how we have to rethink architecture even beyond Microservices.

    You can find a video of the talk on YouTube.

  • Microservices: Architekturen und Technologien

    Vortrag Eberhard Wolff Continuous Lifecycle 2016 / Container Conf 2016

    Als Architektur nicht nur für Continuous Delivery sind Microservices in aller Munde. Dieser Workshop zeigt die Grundlagen einer Microservices-Architektur und Technologien für den Aufbau eines Microservices-Systems. Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften.

    Dann geht es in die Praxis: Microservices mit Java und Spring Boot sowie die Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack werden vermittelt. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Skills

    Grundlegendes Verständnis von Java ist hilfreich, aber nicht unbedingt notwendig.

    Lernziele

    • Kenntnisse über Microservice-Architekturen, Vor- und Nachteile und Einsatz-Szenarien
    • Kennenlernen eines möglichen Technologie-Stacks
    • Deployment und Betrieb von Microservices mit Docker

    Technische Anforderungen

    Es sind vorab keine technischen Vorbereitungen nötig.

    Agenda

    • ab 8:30 Registrierung und Begrüßungskaffee
    • 9:00 Beginn
    • Microservice Architekturen
    • 10.30 - 10.45 Vormittagskaffeepause
    • Docker
    • 12.15 - 13.15 Mittagspause
    • Spring Boot / Spring Cloud / Netflix Stack
    • 14.45 - 15.00 Nachmittagskaffeepause
    • Spring Cloud / Netflix Stack
    • ca. 16:00 Ende
    Mehr lesen
  • Self-contained Systems: A Different Approach to Microservices

    Vortrag Stefan Tilkov GOTO Berlin 2016

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS) focus on an architecture approach based on Microservices. It is particularly useful for large systems and complex team structures. SCS allow to efficently develop software in such environments - even in the long run.

    The workshop explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Mehr lesen
  • The perils of shared code

    Blog-Post Daniel Westheide

    In this blog article, I want to examine why using a sharing code between microservices may sound attractive in the first place and why it can cause bigger problems than the ones you try to solve.

    Mehr lesen

    Improving Your Software

    Vortrag Gernot Starke GOTO Berlin 2016

    As software developers, we spend most our time maintaining existing systems – under time and budget pressure.

    Building new business functionality tends to get more difficult, expensive and risky over time, due to increasing size, growing complexity and lack of conceptual integrity.

    Although we complain about technical debt, lack of innovation, and the architectural deficits of historically grown software, we often patch, fix or hack symptoms instead of curing the root causes of these problems.

    In this talk, you’ll get an overview of the Architecture Improvement Method, the open-source aim42 approach to systematical evolution, modernization and improvement of systems.

    Based upon examples from various organizations and industries, I’ll demonstrate the applicability of aim42 practices in real-life situations.

    You’ll see how to:

    • identify and analyze the worst problems in your systems
    • translate your problems to business & management terms
    • convince your management of corrective actions
    • integrate improvement with your day-to-day development.
    Mehr lesen
  • Spring Boot für Microservices

    Artikel Eberhard Wolff

    Die Implementierung von Microservices stellt im Vergleich zu monolithischen Anwendungen Entwickler vor einige Herausforderungen. Spezialisierte Technologien wie Spring Boot unterstützen die Umsetzung von Microservices und machen so den Projekten das Leben leichter.

    Mehr lesen
  • Microservices: Der Schnitt ist entscheidend!

    Vortrag Eberhard Wolff W-JAX 2016 Folien verfügbar

    Microservices ermöglichen es, dass Teams unabhängig voneinander arbeiten und neue Features ohne großen Aufwand in Produktion gebracht werden können. Und natürlich können Microservices einzeln skaliert werden, sodass bei hoher Last oft nur ein Service in mehr Instanzen laufen muss. Dazu muss die Aufteilung in Microservices aber stimmen – und das ist gar nicht so einfach. Dieser Vortrag zeigt, wie Microservices geschnitten werden und so die verschiedenen fachlichen, organisatorischen und technischen Rahmenbedingungen ideal unterstützen können.

    Mehr lesen
  • Wait, what!? Our microservices have actual human users?

    Vortrag Stefan Tilkov Devoxx 2016

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users?

    In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    The video recording of this talk can be found at https://www.youtube.com/watch?v=jJxmi8nrHwg

    Mehr lesen

    Was Sie über Security in Microservices-Umgebungen wissen sollten

    Vortrag Simon Kölsch W-JAX 2016

    Microservice sind momentan in aller Munde. In Abwägungen zwischen klassischen Systemen und Microservice-Umgebungen wird den unabweisbaren Vorteilen von Microservices – kleine und verständliche Einheiten, kurze Entwicklungszyklen, flexible Technologieauswahl usw. oft die Komplexität eines verteilten Systems als Nachteil gegenübergestellt. Selten wird jedoch der Sicherheitsaspekt in solchen Abwägungen berücksichtigt, obwohl dieser eine beträchtliche Herausfoderung darstellt: Statt einer monolithischen Applikation müssen nun eine Vielzahl von Microservices, teilweise in verschiedenen Programmiersprachen/Laufzeitumgebungen implementiert sowie abgesichert werden. Die Authentifizierungs-/Autorisierungskonzepte und Mechanismen müssen über Applikationen und Netzwerkgrenzen hinweg funktionieren. Es sind potenziell deutlich mehr Schnittstellen über das Netzwerk exponiert und bieten somit auch eine entsprechend größere Angriffsfläche. Regeln für Firewalls und Intrusion-Detection-Systeme werden deutlich komplizierter.

    In diesem Vortrag werden die typischen Security-Schwierigkeiten in Microservice-Umgebungen aufgezeigt und passende Lösungsansätze dargeboten, damit Ihnen zukünftig die Bewertung eines Micorservices-Ansatzes besser möglich ist.

    Mehr lesen
  • Datenarchitekturen nicht nur für Microservices

    Vortrag Eberhard Wolff W-JAX 2016 Folien verfügbar

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich? Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen. Dieser Vortrag zeigt die Gründe für die Probleme: die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können – ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Mehr lesen
  • Microservices-Workshop: Architektur und Praxis

    Vortrag Eberhard Wolff W-JAX 2016

    Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ganz praktisch ein System aus Microservices aufbauen und diskutieren. Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften. Dann geht es in die Praxis: containerloses Deployment mit Spring Boot und Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Mehr lesen
  • Wie kommt man zu Self-Contained Systems?

    Artikel Phillip Ghadir

    Self-Contained Systems bezeichnet ein Konzept für Softwarebausteine, das klare Integrationsregeln auf der Makro-Ebene definiert: Systeme werden in eigenständige Teilsysteme zerlegt, die zu einem Gesamtsystem integriert werden. Häufig wird vorgeschlagen, Systeme entlang von Domänen in Self-Contained Systems zu zerlegen. In diesem Artikel wird ein alternativer Ansatz für das Schneiden einer Architektur in föderierte Self-Contained Systems vorgestellt.

    Mehr lesen
  • Requirements Engineering

    Artikel Martin Weck

    Im Alltag vieler Softwareprojekte wird Requirements Engineering oftmals nur eingeschränkt berücksichtigt, obwohl es aufgrund seiner nachgewiesenen Wichtigkeit eine Grundvoraussetzung für effiziente Softwareentwicklung ist. Ziel dieses Artikels ist es, die Kernaussagen des Requirements Engineering in Erinnerung zu rufen und ein Modell vorzustellen, das einen vereinfachten Einstieg in das Requirements Engineering im Projektalltag erlaubt.

    Mehr lesen
  • Self-contained Systems: Microservices-Archi­tekturen mit System

    Vortrag Eberhard Wolff rheinjug meetup Oktober 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Aber einfach nur kleine Dienste entwickeln, ist bei weiterm nicht genug. Self-contained Systems (SCS) fokussieren auf einen Architektur-Ansatz, der vor allem bei großen Systemen mit entsprechend komplexer Team-Struktur sinnvoll ist. Mit SCS kann in einem solchen Kontext auch langfristig produktiv Software entwickelt werden. Der Vortrag erläutert Self-contained Systems, ihre Vor- und Nachteile und die Abgrenzung zu Microservices.

    Mehr lesen
  • Deployment und Monitoring von Microservices

    Artikel Alexander Heusingfeld

    Beim Deployment von Microservices verschwimmen die Grenzen zwischen Mikro- und Makroarchitektur. Während das Team die Mikroarchitektur für jeden Service individuell entscheiden kann, muss man sich bei Makroarchitektur-Themen mit anderen Teams zusammensetzen, um die beste Lösung für Themen zu finden, die mehrere Services betreffen. In diesem Artikel wollen wir uns ansehen, welche Entscheidungen ein Team für sich treffen kann und welche mit anderen Teams abgestimmt werden müssen. Zu diesem Zweck möchte ich beispielhaft den Lernprozess beschreiben, den ich in Teams erleben durfte, die “einfach mal” mit Microservices angefangen haben.

    Mehr lesen

    Nachhaltigkeit und Stabilität mit Microservices, Containern und DevOps

    Vortrag Eberhard Wolff, Martin Gutenbrunner OBJEKTspektrum Webinar

    Microservices sind der Architektur-Hype. Sie vereinfachen die Entwicklung, Container vereinfachen den Betrieb. Aber was sind Microservices eigentlich genau? Und welche Probleme löst dieser Architektur-Ansatz?

    Dieses Webinar zeigt verschiedene Spielweisen von Microservices, ihre Vor- und Nachteile und vermittelt so, wie diese Architektur gewinnbringend genutzt werden kann - und was dabei zu beachten ist.

    Daneben wird gezeigt, wo der dritte Begriff im Bunde - DevOps - eigentlich herkommt, und dass es kein Zufall ist, dass diese drei Begriffe beinahe zeitgleich aufgetaucht sind.

    Nach diesen 60 Minuten sind Sie mit den Ideen dieser Konzepte, dem Potential und leider auch deren gängigsten Missinterpretationen vertraut. Sie können gemeinsam mit Technikern die sinnvollste Lösung für Ihr Unternehmen skizzieren und erarbeiten.

    Mehr lesen
  • Microservices - eine Bestandsaufnahme

    Artikel Eberhard Wolff

    Kaum ein Thema ist im Moment so ein Hype wie Microservices. Welche Gründe gibt es dafür? Und wie kann man Microservices gewinnbringend einsetzen? Welche Herausforderungen gibt es? Dieser Artikel gibt einen Überblick über den Architektur-Trend und beantwortet die wichtigsten Fragen.

    Mehr lesen
  • Software systematisch verbessern

    Artikel Gernot Starke

    Es ist ein bekanntes Phänomen: Obwohl zu Beginn beim Entwickeln des Projekts alles sauber und ordentlich zuging, degeneriert das System mit der Zeit – das Phänomen der „verfaulenden Software“ schlägt zu. Änderungen werden dann immer riskanter, schwieriger und langwieriger. In der Entwicklung und im Betrieb mehren sich die Probleme, die zu beheben immer mehr Zeit in Anspruch nimmt. Gleichzeitig steigen aber auch Änderungs- und Betriebskosten, während die Zufriedenheit von Entwicklern, (fachlichen) Auftraggebern, Testern, Administratoren und anderen Beteiligen ständig abnimmt. Vermutlich kennt jeder Leser diese Situation: Willkommen in der Legacy-Hölle.

    Mehr lesen
  • Microservices: One size does not fit all

    Vortrag Stefan Tilkov GOTO London 2016 Folien verfügbar

    If you pay any attention to software technology trends at all, there is no way you can have missed the “microservices” architecture approach, which seems to be the cure to every problem anyone ever had. But (Micro-)services, bounded contexts, components, modules, classes, structs and records, procedures and functions – whatever structuring mechanism we’re talking about, a recurring challenge is to find the right size for things. In this session, we will look at opposing forces from both technical and organizational perspectives, and come up with strategies for finding a good balance between the number of things (in this case, microservices) and their size.

    Mehr lesen
  • Daten-Architekturen nicht nur für Microservices

    Vortrag Eberhard Wolff The Architecture Gathering 2016

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich? Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen. Dieser Vortrag zeigt die Gründe für die Probleme: Die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können - ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Mehr lesen

    Cloud Native Architecture - gebaut für die Cloud

    Vortrag Phillip Ghadir The Architecture Gathering 2016

    Heute lassen sich Systeme dank unterschiedlichster Cloud-Dienste softwareseitig anders schneiden als noch vor einigen Jahren. Ein System für die Cloud zu entwickeln, kann die Time-to-Market verkürzen oder auch die Skalierbarkeit und Elastizität verbessern, erfordert aber Infrastruktur-Knowhow. Dieser Vortrag stellt einige Infrastruktur- und Plattform-Services und sich daraus ergebende Architektur-Optionen vor.

    Mehr lesen
  • Warum Architekten scheitern (Keynote)

    Vortrag Stefan Tilkov The Architecture Gathering 2016 Folien verfügbar

    Wir alle kennen die mit großen Visionen gestarteten Projekte, die im Disaster enden und bestenfalls noch als schlechtes Beispiel dienen können. Aber warum scheitern ambitionierte Architekturansätze? Warum wird „Architekt“ mittlerweile von Einigen schon als Schimpfwort benutzt? Und was können wir Architekten tun, um unseren Ruf zu retten?

    In diesem Vortrag sehen wir uns einige der häufigsten Gründe für das Scheitern an – und diskutieren Ansätze zu ihrer Vermeidung.

    Mehr lesen

    Microservices lieben Domain Driven Design: warum und wie?

    Vortrag Michael Plöd The Architecture Gathering 2016 Folien verfügbar

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist, und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice-Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen
  • Zwei Jahre nach dem Tod der Java Application Server

    Artikel Eberhard Wolff

    Vor zwei Jahren wurde der Tod der Java Application Server ausgerufen. Zeit also ein Fazit zu ziehen und die Thesen aus dem Artikel einem kritischen Review zu unterziehen.

    Mehr lesen
  • Microservices (TM): Redundancy = Maintainability!

    Vortrag Eberhard Wolff IT Arena 2016

    Microservices are not just a hype: they question some basic assumptions of software architecture. Should you really avoid redundancies? Is a clean architecture really the key to long-term maintainability? This keynote is about how Microservices enable productive software development with quite unorthodox approaches and how we have to rethink architecture even beyond Microservices.

    Mehr lesen
  • Architekturen für Agilität: Microservices und Self-contained Systems

    Vortrag Eberhard Wolff JUG Saxony Day 2016 Folien verfügbar

    Microservices haben einen breiten Einsatzkontext: Einzelnen Entwickler und kleinen Teams bieten sie Skalierbarkeit und einfaches Deployment. Großen Teams ermöglicht die Unabhängigkeit der Microservices eine parallele Entwicklung von Features. Für komplexe Web-Projekte nutzen Self-contained Systems (SCS) Ideen aus dem Microservice-Kontext, um agile Entwicklung in der Architektur zu unterstützen. Der Vortrag erläutert Microservices und SCS und ihre Vor- und Nachteile gerade bezüglich Agilität.

    Mehr lesen

    heise Developer Continuous Architecture Blog: Softwareentwicklung ist nicht schnelllebig

    Link Eberhard Wolff

    Ohne Zweifel ist Softwareentwicklung anspruchsvoll. Viele Projekte laufen nicht reibungslos oder erreichen nicht die eigentlich erwarteten Ergebnisse. Als Grund wird oft die Schnelllebigkeit und das geringe Alter der Branche angeführt. Es gibt einfach zu wenig Erfahrungen. Wenn es Erfahrungen gibt, sind sie oft auch schon überholt. Aber stimmt das wirklich, fragt sich Eberhard Wolff in seinem neuesten Beitrag für heise Developer.

  • Innovation vs. Stabilität – Architekturtransformation im Großen

    Vortrag Stefan Tilkov Software Architecture Summit 2016

    Eigentlich wollen alle nur das Beste – und doch ist es oft so schwer, sinnvolle Veränderungen durchzusetzen. Dieses Gefühl plagt IT-Konferenzbesucher, wenn sie frisch beflügelt von den großartigen Berichten über die Innovationsführer wieder „nach Hause” kommen und dort mit den tollen neuen Ideen vor Wände laufen.

    In diesem Vortrag werfen wir einen Blick auf die typischen Probleme und diskutieren Wege, sie zu überwinden. Dabei spielt neben PaaS, Continuous Delivery, Cloud und DevOps auch Politik und Betriebswirtschaft eine wichtige Rolle.

    Mehr lesen

    Self-contained Systems: Ein anderer Ansatz für Microservices (Teil 1 & 2)

    Vortrag Eberhard Wolff Software Architecture Summit 2016

    Microservices sind gerade der Architekturhype. Aber man braucht mehr als nur einige kleine Services. Self-contained Systems (SCS) sind ein auf Microservices basierender Architekturansatz, wie ihn auch Otto, Kaufhof oder Kühne+Nagel nutzten. SCS erlauben es, Software nicht nur in komplexen und großen Projekten auch langfristig effizient zu entwickeln, sondern sie passen auf sehr viele Szenarien. Dabei sind sie nicht besonders kompliziert.

    Dieser Workshop erläutert Self-contained Systems, ihre Vor- und Nachteile, den Unterschied zu Microservices und die Integration von Systemen im Frontend – eine wesentliche Basis für SCS. Wir erarbeiten außerdem eine fachliche und technische Architektur für ein SCS-System.

    Mehr lesen
  • Cloud Native Architectures an einem Beispiel

    Vortrag Phillip Ghadir Software Architecture Summit 2016

    Wenn wir Systeme für die Cloud bauen, stehen verschiedenste Infrastruktur- und Plattformdienste zur Verfügung. Die Optionen reichen von der einfachen Nutzung virtueller Maschinen bis hin zum Aufbau beliebig komplexer Datenverarbeitungslogik – ganz ohne (eigene) Server. Cloud-Anbieter erlauben uns, Services auf Knopfdruck zu abonnieren. Neue virtuelle Maschinen, Repositories, Datenbanken, Message-Queues und Event-Hooks sind nur wenige Mausklicks oder Cloud-API-Aufrufe entfernt.

    Dieser Workshop stellt verschiedene Architektur-Alternativen und unterschiedliche Cloud-Services an einem konkreten Beispiel vor und verknüpft dies mit den Themen aus den vergangenen Summits: der Kopplung von Self-Contained Systems & Microservices über Web-APIs und der Integration per Reactive Extensions.

    Mehr lesen
  • Fortgeschrittene REST-Architektur

    Vortrag Holger Kraus, Silvia Schreier Software Architecture Summit 2016

    REST als der Architekturstil des Webs ist mittlerweile keine Neuigkeit mehr, sondern in den meisten Fällen die bevorzugte Alternative für die Umsetzung von Web Services. Die Diskussion darüber hat sich mittlerweile von Einsteigerthemen und Rechtfertigungen weg und zu fortgeschrittenen Fragestellungen hin entwickelt.

    In diesem Workshop diskutieren Holger Kraus und Silvia Schreier mit den Teilnehmern fortgeschrittene Aspekte jenseits der Grundlagen. Zu den Themen gehören Versionierung, Dokumentation, Hypermedia, die Entwicklung von Clients, Teststrategien und vieles mehr. Dabei werden sowohl theoretische Architekturaspekte wie auch praktische Werkzeuge behandelt. Die Teilnehmer bekommen die Gelegenheit, alle Fragen zu stellen, zu denen sie noch nie befriedigende Antworten bekommen haben.

    Mehr lesen
  • What’s in a Name: Architecture

    Blog-Post Gernot Starke

    The term architecture is used with slightly different meanings throughout the IT industry. This post clarifies what (software) architecture is all about - and which misunderstandings might linger on your way to common understanding.

    Mehr lesen
  • Daten-Architekturen nicht nur für Microservices

    Vortrag Eberhard Wolff Berlin Expert Days – BED-Con Folien verfügbar

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich?

    Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen. Dieser Vortrag zeigt die Gründe für die Probleme: Die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können - ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Mehr lesen
  • Wait, what!? Our microservices have actual human users?

    Vortrag Stefan Tilkov Java User Group Darmstadt

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users? In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Mehr lesen
  • Interview mit Stefan Tilkov: “Ich bin keinesfalls der Meinung, dass man immer Microservices einsetzen sollte”

    Artikel Stefan Tilkov

    Im Vorfeld des Software Architecture Summit ist auf jaxenter.de ein kurzes Interview mit Stefan Tilkov zur Frage „Microservices oder Software-Monolithen“. Dabei kommt auch das Problem in den Blick, wie Legacy-Anwendungen an moderne Architektur-Ansätze herangeführt werden können.

  • Buchbesprechung: arc42 in Aktion

    Link Gernot Starke

    Auf heise Developer wird das neue Buch „arc42 in Aktion: Praktische Tipps zur Architekturdokumentation“ von Gernot Starke und Peter Hruschka besprochen. In diesem Buch werden zahlreiche konkrete Tipps zur Nutzung dieses Dokumentations-Template geboten.

  • JAX TV: Wie sieht ein Microservices-Technologie-Stack aus?

    Link Eberhard Wolff

    Microservices stellen ganz neue technische Herausforderungen - schließlich laufen verteilte Dienste auf verschiedenen Servern im Netz. Wie finden sich die Services? Wie geht man mit dem Ausfall von Services um? Und wie verteilt sich die Last auf die Services? In diesem Video seines Vortrags bei der Jax 2016 zeigt Eberhard Wolff, welche Herausforderungen durch welche Technologien gelöst werden, und gibt so eine Orientierung.

  • Using Spring Boot as an example for DDD Strategic Design

    Vortrag Michael Plöd DDD Meetup Munich Folien verfügbar

    Einer der wertvollsten Bereiche von Domain Driven Design ist zweifelsohne das Strategic Design mit seinen Context Mapping Patterns. Allerdings wirken die meisten Beschreibungen der Patterns in textueller Form etwas abstrakt und schwer verdaulich. Im Rahmen dieses Vortrags werden die Patterns auf Basis einer einfachen Spring Boot basierten Anwendungslandschaft praktisch und greifbar erklärt und vorgestellt. Hierbei gehen wir unter anderem auf folgende Patterns ein: Customer/Supplier, Open Host Service, Anticorruption Layer, Conformist oder Separate Ways

    Mehr lesen
  • Domain-driven Design im Experten-Check: Wie kann DDD in die Praxis umgesetzt werden?

    Link Eberhard Wolff, Michael Plöd

    Acht Experten für Domain-driven Design, u.a. Michael Plöd und Eberhard Wolff, geben Einblicke in ihre Praxiserfahrungen mit DDD. Im dritten Teil der jaxenter.de-Reihe wurden sie gebeten, einen Tipp zu geben, wie man DDD in realen Projekten erfolgreich einsetzen kann. Außerdem: Weshalb profitieren Microservice-Architekturen von DDD?

  • Domain-driven Design im Experten-Check: Was sind die typischen Probleme bei der Umsetzung von DDD?

    Link Eberhard Wolff, Michael Plöd

    Die Prinzipien für Domain-driven Design sind meist grundsätzlich bekannt – allein die Umsetzung in der Praxis ist alles andere als trivial. Der zweite Teil des jaxenter.de Experten-Checks geht deshalb der Frage nach, auf welche typischen Probleme man bei der Umsetzung von DDD stößt. Außerdem: Wann sollte man von DDD lieber die Finger lassen?

  • Domain-driven Design im Experten-Check: Warum ist DDD heute relevanter denn je?

    Link Eberhard Wolff, Michael Plöd

    Sieben Experten für Domain-driven Design, darunter Michael Plöd und Eberhard Wolff, geben für jaxenter.de in kurzen Statements Einblicke in ihre Praxiserfahrungen mit DDD. Im ersten Teil geht es darum, was DDD für die heutige Software-Architektur so relevant macht – und welche Projekte sich besonders für Domain-driven Design eignen.

  • Nachhaltige Webarchitekturen

    Artikel Silvia Schreier

    Heutzutage gewinnt man leicht den Eindruck, dass es für moderne Webanwendungen nur einen einzig wahren Architekturansatz gibt: REST und Single-Page-Anwendungen (SPAs). Doch ist alles, was REST genannt wird, wirklich REST? Sind REST und SPAs immer die beste Lösung? Um diese Fragen beantworten zu können, sollte man sich anschauen, was REST eigentlich ist, wofür es gedacht ist und ob es möglicherweise auch Alternativen zu SPAs gibt; insbesondere mit dem Blick auf Nachhaltigkeit, also Wartbarkeit und Erweiterbarkeit.

    Mehr lesen
  • Auf die Daten kommt es an! Daten-Architekturen nicht nur für Microservices

    Vortrag Eberhard Wolff Herbstcampus 2016

    Microservices sollen keine gemeinsame Datenbank haben. Warum eigentlich? Und was ist mit der dabei entstehenden Redundanz? Viele Architekturen kranken an zu großen und inflexiblen Datentöpfen.

    Dieser Vortrag zeigt die Gründe für die Probleme: die Missachtung von Bounded Context und eine viel zu enge Kopplung der Datenmodelle. Ansätze wie CQRS (Command Query Responsibility Segregation) und Event Sourcing zeigen, wie solche Probleme gelöst werden können - ohne dass dabei zu große Redundanzen bei den Daten entstehen.

    Skills Grundlegendes Architekturwissen

    Lernziele * Warum sind Daten vor allem bei Microservices wichtig? * Welche technischen Gründe gibt es für die Aufteilung von Daten? * Wie sollten wir Daten fachlich modellieren und aufteilen? * Wie viel Daten-Redundanz braucht man in einem Microservices-System? * Die Bedeutung von Bounded Context aus Domain-Driven Design * Wie helfen Event Souring und CQRS bei der Aufteilung der Daten? * Sollten wir Systeme wirklich mit polyglotter Persistenz aufbauen?

    Mehr lesen

    Interview mit Eberhard Wolff zu Self-contained Systems

    Link Eberhard Wolff

    Der Begriff der Self-contained Systems fällt im Zusammenhang mit Microservices immer häufiger. Doch was unterscheidet die beiden Architekturkonzepte? Im Jaxenter-Interview gibt Eberhard Wolff einen Einblick in das Konzept von Self-contained Systems und zeigt, wo ihre praktischen Einsatzfelder liegen.

  • Der Architektenaufzug: Öfters mal nach oben fahren

    Blog-Post Gregor Hohpe

    In einem Gastbeitrag geht Gregor Hohpe der Frage nach, welche Rolle Softwarearchitekten in Zeiten der Digitalen Transformation spielen, und welche Relevanz diese Aufgabe für die Zukunft von Unternehmen hat.

    Mehr lesen
  • Entwicklertag 2016: Microservices: Redundanz = Wartbarkeit!

    Link Eberhard Wolff

    Die Keynote des Karlsruher Entwicklertags 2016 von Eberhard Wolff beschäftigte sich mit Softwarearchitektur-Thema des Stunde. Microservices sind nicht nur ein Hype: Sie stellen einige grundlegende Annahmen der Software-Architekturen in Frage. Soll man Redundanzen wirklich vermeiden? Ist eine saubere Architektur wirklich der Schlüssel zu langfristiger Wartbarkeit?

    Diese Keynote handelt davon, wie Microservices mit unorthodoxen Ansätzen eine produktive Software-Entwicklung erlauben und wie wir Architektur auch jenseits von Microservices neu denken müssen.

  • Wait, What? Microservices Have Actual Human Users?

    Vortrag Stefan Tilkov PHP Usergroup Düsseldorf

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users? In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Mehr lesen
  • JAX TV: Legacy-Systeme mit Microservices, Hystrix und RxJava modernisieren

    Link Arne Landwehr, Holger Kraus

    In ihrem Vortrag bei der WJAX 2015 zeigen Arne Landwehr und Holger Kraus, wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten Systems leisten. Der Einsatz von RxJava ist eine gute Möglichkeit, den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren, wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

  • Sichere Webanwendungen mit Clojure

    Vortrag Joy Clark, Simon Kölsch FrOSCon 2016 Folien verfügbar

    Wir leben in einer Welt, in der das Web unseren Alltag durchdrungen hat. Die Frage nach Sicherheit wird dabei immer größer und ist schon lange ein Thema bei Endnutzern. Hacker können mit XSS, CSRF, DoS oder Injection-Attacken meine Applikation angreifen. Muss ich mich als Entwickler wirklich noch selbst um das Verhindern von solchen Angriffen kümmern? Regelmässig tauchen immer wieder neue Schwachstellen auf, deshalb ist es wichtig, bei der Auswahl von Frameworks und Libraries auch auf Features im Bezug auf Security zu achten. Dazu kommt der Umgang mit Authentifizierung und Rollen/Rechte-Konzepten.

    In diesem Vortrag präsentieren wir Clojure als eine mögliche Sprache, um mit wenig Aufwand sichere Webapplikationen zu bauen. Wir zeigen dabei, mit welchen Features gängige Frameworks verschiedene Angriffe verhindern und zeigen, dass “Security” ein grundlegender Teil der Architektur sein muss.

    Sehen Sie das Video auf ccc-tv

    Mehr lesen
  • Wait, What? Microservices Have Actual Human Users?

    Vortrag Stefan Tilkov Goto Night Copenhagen August 2017

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users?

    In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Mehr lesen
  • JAX TV: arc42 Reality Check

    Link Gernot Starke

    Seit über zehn Jahren gibt es arc42, die pragmatische Vorlage/Arbeitshilfe für Architekturdokumentation. Im diesem Vortrag von der W-JAX 2015 stellt Gernot Starke diverse Optionen für den Praxiseinsatz von arc42 vor - von Werkzeugen bis hin zur Organisation von Dokumentation im Projekt.

    Anhand von Beispielen wird gezeigt, wie Architektur- und Codedokumentation zusammenspielen und wie eine pragmatische und nützliche (technische) Projektdokumentation aufgesetzt werden kann. Insbesondere sehen Sie textbasierte (AsciiDoc-)Dokumentation im Zusammenspiel mit Modellierungswerkzeugen wie Enterprise Architect und Visual Paradigm im Einsatz - und wie das zusammen mit Git auch entwicklerfreundlich funktioniert.

  • Heise Developer Continuous Architecture Blog, „DevOps ist keine Organisation”

    Link Eberhard Wolff

    In seinem neuesten Beitrag zum „Continuous Architecture“-Blog auf heise Developer macht sich Eberhard Wolff Gedanken über das Zusammenwachsen von Entwicklung und Betrieb zu DevOps. Oft wird dies als eine organisatorische Änderung verstanden – schließlich erzwingt eine Kollaboration eine andere Teamzusammenstellung. Oder doch nicht?

  • AWS Lambda

    Artikel Michael Vitz

    Seit Kurzem gibt es von verschiedenen Cloud-Anbietern Services für die Entwicklung serverloser Event-getriebener Anwendungen in der Cloud: Google (Cloud Functions), IBM (OpenWhisk), Microsoft (Azure Functions) und allen voran AWS Lambda von Amazon. Dieser Artikel beschreibt am Beispiel von AWS Lambda das Programmiermodell und hilft bei der Beantwortung der Frage, ob sich der Einsatz für Ihre Anwendung lohnt.

    Mehr lesen
  • Self-contained Systems – A Different Approach to Microservices

    Vortrag Eberhard Wolff Goto Night Berlin Juli 2016

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS) focus on an architecture approach based on Microservices. It is in particular useful for large systems and complex team structures. SCS allow to efficently develop software in such environments – even in the long run. The talk explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Mehr lesen

    JAX TV: Know your Enemies – Problembewusstsein als Grundlage von Änderungs- und Evolutionsprojekten

    Link Gernot Starke

    Die meiste Zeit verbringen Softwareentwickler mit Änderungen oder Verbesserungen bestehender Systeme. In seiner Session von der W-JAX 2015 zeigt Gernot Starke, wie man systematisch die aus langfristiger und ökonomischer Sicht schlimmsten Probleme in Softwarearchitekturen und -systemen finden kann.

  • Microservices lieben Domain Driven Design: warum und wie?

    Vortrag Michael Plöd Java Forum Stuttgart 2016 Folien verfügbar

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice Landschaften helfen. Des Weiteren werden wir betrachten wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen

    Software verbessern - aber richtig

    Vortrag Gernot Starke Java Forum Stuttgart 2016

    Unser berufliches Leben besteht zum größten Teil aus erweitern, korrigieren, ändern, patchen, fixen von Software, also Anpassungen bestehender Systeme.

    Genau diesen Teil ignoriert die klassische IT-Ausbildung, die primär auf die Neuerstellung fokussiert. Ich zeige im Vortrag pragmatische Wege, wie Sie die wesentlichen Aspekte Ihrer Systeme systematisch verbessern können.

    Sie lernen, wie Sie:

    • die schlimmsten Probleme finden,
    • Ihr Management von Umbaumaßnahmen überzeugen,
    • Verbesserungen mit Ihrem Tagesgeschäft verbinden,
    • mittel- und langfristige Verbesserungen angehen können.

    Dazu bekommen Sie einen Überblick über die Architecture Improvement Method, die (Open-Source) Methodik zur Verbesserung, Modernisierung und Evolution von IT-Systemen.

    Anhand realer Beispiele aus unterschiedlichen Domänen zeige ich die Anwendung dieser Praktiken auf mittlere und große IT-Systeme. Damit erhalten Sie konkrete Ansätze, Management und Projektleitung von Verbesserungen zu überzeugen.

    Mehr lesen
  • Wait, what!? Our microservices have actual human users ?

    Vortrag Stefan Tilkov SI-SE 2016

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users?

    We’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    Mehr lesen
  • Tutorial I : Advanced REST

    Vortrag Stefan Tilkov SI-SE 2016

    REST als der Architekturstil des Webs ist mittlerweile keine Neuigkeit mehr, sondern in den meisten Fällen die bevorzugte Alternative für die Umsetzung von nicht nur von Web­Services. Die Diskussion darüber hat sich mittlerweile von Einsteigerthemen und Rechtfertigungen weg und zu fortgeschrittenen Fragestellungen hin entwickelt.

    In diesem Workshop diskutiert Stefan Tilkov mit den Teilnehmern fortgeschrittene Aspekte jenseits der Grundlagen. Zu den Themen gehören Versionierung, Dokumentation, Hypermedia, die Entwicklung von Clients, Teststrategien und vieles mehr. Dabei werden sowohl theoretische Architekturaspekte wie auch praktische Werkzeuge behandelt. Die Teilnehmer bekommen die Gelegenheit, alle Fragen zu stellen, zu denen sie noch nie befriedigende Antworten bekommen haben.

    Mehr lesen
  • Microservices mit Java, Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff Microservices Summit 2016

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Es unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Mehr lesen

    Self-contained Systems: Ein alternativer Ansatz für Microservices

    Vortrag Eberhard Wolff Microservices Summit 2016

    Microservices sind der Hype im Bereich Software-Architektur. Aber nur eine Menge von kleinen Services ist bei weitem nicht genug. Self-contained Systems stellen einen Architektur-Ansatz auf Basis von Microservices dar. Im Mittelpunkt sehen unabhängige Teams, UI-Integration und asynchrone Kommunikation. SCSs sind besonders sinnvoll für große Systeme und komplexe Teams und erlauben auch langfristig eine effiziente Software-Entwicklung in solchen Umgebung.

    Der Workshop erläutert Self-contained Systems, die Vor- und Nachteile und die Unterschiede zu Microservices.

    Mehr lesen

    Building Microservices in Clojure

    Vortrag Stefan Tilkov Joy of Coding

    One of the key tenets of the microservice architecture approach is isolation, allowing individual developers or teams to make local decisions. Clojure, a practical Lisp running on top of the JVM, has already done a lot to increase Lisp’s popularity outside of academic circles. Let’s combine the two to address the remaining doubts about its suitability for the real world! This talk will introduce both the architectural concept and the language, and show how you can combine tools from the Clojure and Java ecosystem to build Clojure-based microservices in practice.

    Mehr lesen
  • Dynamisch überwacht: Monitoring von Microservice-Architekturen

    Vortrag Alexander Heusingfeld, Tammo van Lessen Microservices Summit 2016

    Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. Mit dem Aufschwung der Microservices-Architekturen reichen die traditionellen Monitoringmittel nicht mehr aus, denn sie erfordern ein hohes Maß an Flexibilität und Dynamik von Organisation und Infrastruktur. Wegen der Verteilung auf verschiedene Systeme ist es jedoch umso wichtiger, die einzelnen Dienste sorgfältig und nachhaltig zu überwachen und Verfügbarkeit, Performance (fachlich wie technisch), Zuverlässigkeit und Wirtschaftlichkeit kontinuierlich zu messen. So entsteht ein jederzeit aktuelles, vergleichendes Bild auf die Systemlandschaft. Dafür müssen allerdings neue Konzepte für Logging, Tracing und Alarming umgesetzt werden, die die Aggregation, Korrelation und Visualisierung von Laufzeitinformationen an zentraler Stelle erlauben.

    Das Trio Logs, Metriken und Tracingdaten stellt die Grundlage zur Verfügung, eine solche Beobachtungsstelle zu realisieren. Doch was sind eigentlich wichtige Logs? Welche Metriken soll ich erfassen? Wie finde ich Bottlenecks in meiner Architektur? Diese Fragen versuchen wir in der Session zu beantworten und stellen dazu die wichtigsten Ansätze und Werkzeuge zum Überwachen von modernen verteilten Systemen vor.

    Mehr lesen
  • Microservice-Architekturen zur Modernisierung von Bestandssystemen

    Vortrag Alexander Heusingfeld, Michael Vitz Microservices Summit 2016

    Ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modernisieren – nur wie? Erneuern wir nur den Technologie-Stack und bauen einen neuen Monolithen? Oder modularisieren wir und bauen strukturell sowie konzeptionell Neues? Wie können wir das entscheiden?

    Wir zeigen Ihnen in diesem Workshop anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und die Systeme dabei (hoch) verfügbar zu halten. So können Sie Stück für Stück, gerade so wie es das Projektbudget zulässt, die Architektur des Gesamtsystems modernisieren, ohne ein Big-Bang-Release zu fürchten. Hierbei wollen wir uns auch mit der Frage beschäftigen, die so gern von unseren Vorgesetzten gestellt wird: “Können Sie mir mal vorrechnen, wieso eine Microservice-Architektur die finanziell bessere Entscheidung ist?“ Nach dem Workshop haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Mehr lesen

    Microservices: Redundanz = Wartbarkeit!

    Vortrag Eberhard Wolff Karlsruher Entwicklertag 2016 Folien verfügbar

    Microservices sind nicht nur ein Hype: Sie stellen einige grundlegende Annahmen der Software-Architekturen in Frage. Soll man Redundanzen wirklich vermeiden? Ist eine saubere Architektur wirklich der Schlüssel zu langfristiger Wartbarkeit? Diese Keynote handelt davon, wie Microservices mit unorthodoxen Ansätzen eine produktive Software-Entwicklung erlauben und wie wir Architektur auch jenseits von Microservices neu denken müssen.

    Mehr lesen
  • Workshop: “Self-contained Systems: A Different Approach to Microservices”

    Vortrag Eberhard Wolff Goto Amsterdam 2016

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS) focus on an architecture approach based on Microservices. It is particularly useful for large systems and complex team structures. SCS allow to efficently develop software in such environments - even in the long run.

    The workshop explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Mehr lesen
  • Microservices with Clojure

    Vortrag Joy Clark, Michael Vitz Microservices Meetup Rhein-Main Juni 2016 Folien verfügbar

    Microservices are especially characterized by their autonomy: the services are as loosely coupled as possible. For this reason, a microservice architecture allows different technologies to be deployed that are exactly suitable for the problem which needs to be solved and the skill set of the software engineer. In such an environment, the benefits of a modern language like Clojure can be invaluable: short and precise code, concurrent processing, and direct support for asynchronous programming.

    However, there are also particular challenges when dealing with microservices: How can a project be created with as little overhead as possible? How can services communicate with each other? How can I protect my service when other services fail? And once a service has been created, how can I deploy and monitor it?

    In this talk we will introduce the participants to Clojure step by step and, with the help of an example, introduce the Clojure libraries which can be used in order to tackle the previously stated challenges.

    Mehr lesen
  • Solving the wrong problems

    Blog-Post Daniel Westheide

    Instead of rushing to an engineering solution to a problem, we would often be better off by lying back and determining the root cause of our engineering problem, which is often an architectural one.

    Mehr lesen
  • The Web Ahead, Episode 116: Preserving the Architecture of the Web with Stefan Tilkov

    Audio Stefan Tilkov thewebahead.net

    Stefan Tilkov joins Jen Simmons of “Web Ahead” podcast to talk about the architectural style of the web, and how to understand to best create an application on the web.

  • Heise Developer Continuous Architecture Blog, „Hat Betrieb eine Zukunft?”

    Link Eberhard Wolff

    Gerade der Betrieb ist für die Zukunft der IT entscheidend – und sollte goldenen Zeiten entgegengehen. Aber durch die Relevanz steigt auch der Druck: Nur ein Betrieb, der den Anforderungen genügt, hat eine Zukunft. Dazu ist kürzlich ein neuer Blogpost von Eberhard Wolff für heise Developer erschienen.

  • Why software architects fail – and what to do about it

    Vortrag Stefan Tilkov Goto Berlin 2016 Program Release Party

    We’ve all seen them: Ambitious projects, starting out with grand visions, ending up as costly lessons in what not to do, leaving behind the ruins of promising paradigms, technologies, tools, and careers. But why do architecture approaches sometimes hurt instead of providing value? Why has “architect” become a negative term for some people? And what can we do to improve our own work? We’ll look at some of the most common pitfalls that ensure you’ll come up with a disaster, and discuss how they can be avoided.

    Mehr lesen

    Video-Interview mit Stefan Tilkov

    Link Stefan Tilkov

    Beim Software Architecture Summit im März 2016 wurde Stefan Tilkov unter anderem zum Thema „Fortgeschrittene REST-Architekturen“ interviewt. Im Gespräch geht es um die Umsetzung dieses Architekturstils in der Praxis, Fortbildung für Softwarearchitekten und mehr.

  • Java-Web-Frameworks von innen?

    Artikel Michael Vitz, Phillip Ghadir

    Web-Frameworks für Java gibt es nun bereits seit fast 20 Jahren. Diese nehmen dem Anwendungsentwickler eine Menge Arbeit ab und sorgen dafür, dass dieser sich nicht auf Infrastruktur konzentrieren muss, sondern die Anwendungslogik im Vordergrund steht. Doch was genau tut so ein Web-Framework eigentlich? Dieser Artikel zeigt, was heutige Web-Frameworks leisten und wo diese sich dann doch in Nuancen unterscheiden.

    Mehr lesen
  • Caching with Spring: Advanced Topics and Best Practices

    Vortrag Michael Plöd Spring I/O 2016 Folien verfügbar

    Caching is relevant for a wide range of business applications and there is a huge variety of products in the market, ranging from easy to adopt local heap based caches to powerful distributed data grids. This talk addresses advanced usage of Spring’s caching abstractions such as integrating a cache provider that is not integrated by the default Spring Package.

    In addition, I will also give an overview of the JCache Specification and its adoption in the Spring ecosystem. Finally, the presentation will also address several best practices for integrating various caching solutions into enterprise grade applications that don’t have the luxury of having „eventual consistency“ as a non-functional requirement.

    Mehr lesen
  • What’s in a Name: Transparency

    Blog-Post Gernot Starke

    The term transparent denotes something translucent, where light can shine through. It is, for example, used in context of economics (transparent markets), meaning markets where much is known by many, and nothing is hidden.

    Sometimes geeks tend to inverse this meaning, saying transparency where they mean opaqueness. This post illustrates that your favorite XY-framework by no means makes XY transparent for developers.

    Mehr lesen
  • Event Sourcing – Einführung und Best Practices

    Vortrag Michael Plöd SEACON 2016 Folien verfügbar

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine denormalisierung des ‘Lese-Modells’ der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Vortrags werde ich Ihnen eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Kompensation-Services), Möglichkeiten der Erstellung von Daten Snapshots und Änderungen durch externe Systeme vorgestellt. Abgerundet wird der Vortrag durch eine Diskussion möglicher Einsatzszenarien für Event Sourcing.

    Mehr lesen
  • Microservices love Domain Driven Design

    Vortrag Michael Plöd hmmh Digital Talk Mai 2016 Folien verfügbar

    Without any doubt Eric Evans’ book “Domain Driven Design” is being considered as a “must have read” among many IT specialists from various domains. With the emergence of Microservices, Domain Driven Design has become more relevant than ever.

    This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. We will see that Microservices are not only about Bounded Contexts and that there is much more to Domain Driven Design than Entities and Aggregates. In addition to that I will show how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few). Finally, we will look into migrating existing monolithic applications with the help of patterns laid out in DDD.

    Mehr lesen

    Video-Interview mit Phillip Ghadir zu Cloud-native Architectures

    Link Phillip Ghadir

    Die Entwickler Akademie interviewte Phillip Ghadir beim Software Architecture Summit im März 2016. Er spricht im Interview unter anderem über Möglichkeiten, die sich durch Infrastrukturdienste der Amazon Web Services bieten.

  • Eberhard Wolff on Microservices

    Link Eberhard Wolff

    At JAX 2016, Eberhard Wolff gave a short interview about advantages and pitfalls of microservices infrastructures, and on how to decide on the right infrastructure.

  • Event Sourcing: Einführung und Best Practices

    Vortrag Michael Plöd juhg – Java User Group Hessen, April 2016 Folien verfügbar

    Unter Event Sourcing versteht man einen Architekturstil, in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine Denormalisierung des “Lese-Modells” der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Vortrags wird Michael Plöd eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Kompensation-Services), Möglichkeiten der Erstellung von Daten-Snapshots und -Änderungen durch externe Systeme vorgestellt. Abgerundet wird der Vortrag durch eine Diskussion möglicher Einsatzszenarien für Event Sourcing.

    Eine Voranmeldung ist nicht nötig, der Eintritt ist frei.

    Mehr lesen

    Microservices sollten kein technischer Selbstzweck sein

    Link Michael Vitz

    Die Aufgabe, Altanwendungen zu modernisieren, kommt früher oder später auf jeden Entwickler zu. Wann es dann sinnvoll ist, bei der Modernisierung an eine Microservices-Architektur zu denken, darüber hat jaxenter.de mit unserem Kollegen Michael Vitz im Vorfeld seines Workshops beim nächsten Microservices Summit gesprochen.

  • Microservices - Agilität durch Modularisierung

    Artikel Eberhard Wolff

    Microservice-Architekturen sind der neue Hype. Viele denken: Alles wird einfacher mit diesem Ansatz - Software ist langfristig wartbar, die Entwicklung wird schneller und die Software skaliert besser. Es ist aber an der Zeit für einen detaillierten kritischen Blick.

    Mehr lesen
  • Architektur-Retreat

    Vortrag Eberhard Wolff, Martin Heider, Victor Sauermann, Robin Timmermann JAX 2016

    Architektur ist eher ein trockenes, theoretisches Thema. Nicht bei diesem Workshop! Wir werden ganz praktisch Architekturen entwerfen, kommunizieren und verbessern. So lernen wir, worauf es wirklich ankommt. In mehreren Iterationen lernen wir Konzepte kennen, mit denen die Qualität eines Softwareprojekts verbessert werden kann.

    Mehr lesen
  • Building Microservices with Event Sourcing and CQRS

    Video Michael Plöd

    In his talk at SpringOne2GX 2015 Michael Plöd focusses on distributed data management challenges that arise in a microservices architecture and how they can be solved using an event-driven architecture. Michael describes how event sourcing is a great way to implement an event-driven application. He talks about Command Query Responsibility Segregation (CQRS) and how it’s a key part of an architecture based on event sourcing.

  • Wie sieht ein Microservices-Technologiestack aus?

    Vortrag Eberhard Wolff JAX 2016

    Microservices stellen ganz neue technische Herausforderungen – schließlich laufen verteilte Dienste auf verschiedenen Servern im Netz. Wie finden sich die Services? Wie geht man mit dem Ausfall von Services um? Und wie verteilt die Last sich auf die Services? Dieser Vortrag zeigt, welche Herausforderungen durch welche Technologien gelöst werden, und gibt so eine Orientierung in diesem Bereich.

    Mehr lesen

    Software Architektur für Innovation

    Vortrag Stefan Tilkov OBJEKTspektrum Information Days 2016 Folien verfügbar

    Um Innovationen in einem Software-System zu ermöglichen, muss die Architektur der Software änderbar sein, schnell auf das Geschehen am Markt reagieren und neue Technologien einfach unterstützen. Der Vortrag stellt wichtige moderne Prinzipien wie Continuous Delivery und Microservices vor und erläutert, wie solche Ansätze umgesetzt werden sollen. Im Mittelpunkt steht die Funktionsweise dieser Techniken und welche Vorteile sie aus einer Geschäftsperspektive in einem innovativen Umfeld bieten.

    Mehr lesen

    Self-contained Systems: Microservices-Architekturen mit System

    Vortrag Eberhard Wolff JAX 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Aber einfach nur kleine Dienste entwickeln, ist bei weiterm nicht genug. Self-contained Systems (SCS, http:///scs-architecture.org ) fokussieren auf einen Architektur-Ansatz, der vor allem bei großen Systemen mit entsprechend komplexer Team-Struktur sinnvoll ist. Mit SCS kann in einem solchen Kontext auch langfristig produktiv Software entwickelt werden.

    Der Vortrag erläutert Self-contained Systems, ihre Vor- und Nachteile und die Abgrenzung zu Microservices.

    Mehr lesen
  • Microservices zur Architektur­modernisierung

    Vortrag Alexander Heusingfeld, Michael Vitz JAX 2016 Folien verfügbar

    Dieser Vortrag adressiert ein klassisches Dilemma der IT: eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget.

    Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und Stück für Stück die Architektur des Gesamtsystems zu modernisieren. Hierbei unterstützen uns u. A. Bibliotheken wie Hystrix dabei, die Risiken dieser Umstellung zu managen und auch zu visualisieren. Nach dem Vortrag haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Mehr lesen
  • Microservices-Workshop: Architektur und Praxis

    Vortrag Eberhard Wolff JAX 2016

    Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ganz praktisch ein System aus Microservices aufbauen und diskutieren. Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften. Dann geht es in die Praxis: containerloses Deployment mit Spring Boot und Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Mehr lesen
  • Microservices with Clojure

    Vortrag Joy Clark, Michael Vitz Microservices Meetup Berlin April 2016 Folien verfügbar

    Microservices are especially characterized by their autonomy: the services are as loosely coupled as possible. For this reason, a microservice architecture allows different technologies to be deployed that are exactly suitable for the problem which needs to be solved and the skill set of the software engineer. In such an environment, the benefits of a modern language like Clojure can be invaluable: short and precise code, concurrent processing, and direct support for asynchronous programming.

    However, there are also particular challenges when dealing with microservices: How can a project be created with as little overhead as possible? How can services communicate with each other? How can I protect my service when other services fail? And once a service has been created, how can I deploy and monitor it?

    In this talk we will introduce the participants to Clojure step by step and, with the help of an example, introduce the Clojure libraries which can be used in order to tackle the previously stated challenges.

    Mehr lesen

    Microservices in Production

    Vortrag Timo Derstappen Microservices Meetup Rhein-Main April 2016

    innoQ is happy to host the next Microservices Meetup Rhein-Main in its office in Offenbach.

    Timo Derstappen, co-founder and CTO of Giant Swarm, will talk about the challenges of Microservices in production. Over the last few years we have heard a lot about the benefits of Microservices. But there are obviously also a lot of challenges involved to be successful with Microservices. In this talk, Timo wants to focus on the challenges to create stable production environments, container orchestration and failure domains. He will tell us how to evaluate architectural decisions and why our infrastructures need to stay flexible over the next years.

    Timo Derstappen is co-founder and CTO of Giant Swarm in Cologne. He has many years of experience in building scalable and automated cloud architectures. He likes his minimal linux desktop setup, puts nearly everything into containers, and thinks Minecraft is a gateway drug.

    Mehr lesen
  • REST 2015 – Video des WJAX-Vortrags von Silvia Schreier

    Link Silvia Schreier

    REST-konforme Anwendungen sind State of the Art. Allerdings wird der zentrale „Hypermedia as the engine of application state“-Aspekt zurzeit noch als die neue Entdeckung schlechthin gehandelt, auch wenn er das eigentlich gar nicht ist. Oft stellt sich dann die Fragen: Wie baut man denn nun solche „Hypermedia-Services“? Was muss man dazu wissen?

    In dieser Session beantwortet Silvia Schreier diese Fragen und zeigt außerdem, was man im Jahr 2015 sonst noch rund ums Thema REST wissen sollte.

  • Software modernisieren – aber richtig

    Vortrag Gernot Starke EuregJUG April 2016

    Bestehende IT-Systeme leiden oftmals an vielerlei Krankheiten, die Innovation und Weiterentwicklung behindern (und obendrein das Entwicklerleben erschweren).

    Systematische Modernisierung und Verbesserung muss parallel zum Tagesgeschäft und auch mit beschränkten Budgets funktionieren - gleichzeitig sowohl für Entwickler wie auch Manager nachvollziehbar sein. Genau hier setzt aim42 an, die (Open-Source) „Architecture Improvement Method“ - die schon vielen Teams pragmatische Wege aus dem Legacy-Chaos aufgezeigt hat.

    aim42 arbeitet iterativ und enthält eine Vielzahl etablierter, einfach umsetzbaren Praktiken rund um die Verbesserung. aim42 funktioniert komplett unabhängig von Technologie und ist sowohl in kleinen wie auch größeren Umfeldern einsetzbar.

    Der Vortrag zeigt Highlights und grundlegenden Ansätze von aim42, nutzt dazu Beispiele unterschiedlicher Fachdomänen.

    Einige Stichworte:

    • Problemanalyse muss Breiten- und Tiefensuche kombinieren
    • Böse Fallen statischer Codemetriken
    • Nichtlineare Beziehungen zwischen Problemen und Lösungen
    • Wie schlimm ist ein Problem wirklich?
    • Wie erkläre ich meinem Manager mein technisches Problem?
    • Kategorien von Verbesserungsmaßnahmen
    Mehr lesen

    Warum Architekten scheitern

    Vortrag Stefan Tilkov JUG Hamburg Special Day: Architektur Folien verfügbar

    Wir alle kennen die mit großen Visionen gestarteten Projekte, die im Disaster enden und bestenfalls noch als schlechtes Beispiel dienen können. Aber warum scheitern ambitionierte Architekturansätze? Warum wird „Architekt“ mittlerweile von Einigen schon als Schimpfwort benutzt? Und was können wir Architekten tun, um unseren Ruf zu retten? In diesem Vortrag sehen wir uns einige der häufigsten Gründe für das Scheitern an – und diskutieren Ansätze zu ihrer Vermeidung.

    Mehr lesen
  • Microservices im Experten-Check, Teil 3: Wie groß sollte ein Microservice sein?

    Link Alexander Heusingfeld, Eberhard Wolff, Stefan Tilkov, Uwe Friedrichsen, Jörg Müller, Alexander Schwartz, Stefan Toth, Oliver Wehrens

    Acht Microservice-Experten, Autoren des Java Magazins und Sprecher auf den Microservice Days der JAX 2016, geben in kurzen Statements Einblicke in ihre Praxiserfahrungen mit Microservices. Teil 3 beschäftigt sich mit der Frage, wovon man sich bei der Aufteilung von Microservices leiten lassen sollte, und wie groß so ein Microservice eigentlich werden sollte.

  • Microservices im Experten-Check, Teil 2: Wann man Microservices nutzen sollte und wann eher nicht

    Link Alexander Heusingfeld, Eberhard Wolff, Stefan Tilkov, Uwe Friedrichsen, Jörg Müller, Alexander Schwartz, Stefan Toth, Oliver Wehrens

    Teil 2 der Diskussion vom acht Microservice-Experten auf jaxenter.de. Sie geben in kurzen Statements Einblicke in ihre Praxiserfahrungen mit Microservices. Sie klären auf, wann man mit Microservices lieber erst gar nicht anfängt und auf welche erste Erfolge sie zurückblicken.

  • Microservices im Experten-Check, Teil 1: Warum eigentlich Microservices?

    Link Alexander Heusingfeld, Eberhard Wolff, Stefan Tilkov, Uwe Friedrichsen, Jörg Müller, Alexander Schwartz, Stefan Toth, Oliver Wehrens

    Was ist eigentlich der Sinn von Microservices, einer Continuous-Delivery-Pipeline und dem ganzen Rest? Acht Microservice-Experten, Autoren des Java Magazins und Sprecher auf den Microservice Days der JAX 2016, bringen in dieser Serie auf den Punkt, warum das Konzept der verteilten Anwendungen so genial ist. Außerdem zeigen sie auf, wo die Knackpunkte liegen und ob das ganze Brimborium um den Kulturwandeln gerechtfertigt ist.

  • Episode 52: Microservices und Self-contained Systems

    Audio Christian Weyer, Stefan Tilkov Heise Developer 18.03.2016

    In dieser Episode des heise Developer Podcast sprechen Christian Weyer und Stefan Tilkov über Microservices jenseits des Hypes. Zu den Themen gehören neben der Rolle von Microservices für Architekturarbeit die unterschiedlichen Varianten, die sich aktuell etablieren, Self-contained Systems, Pro und Contra von Monolithen, polyglotter Programmierung, die Auswirkungen auf die Organisation und die Rolle von Benutzerschnittstellen.

  • Workshop: Microservices mit Java, Spring Cloud und Spring Boot

    Vortrag Eberhard Wolff Software Architecture Summit 2016

    Dieser Workshop zeigt die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Entwicklung von Java-Anwendungen mit dem Spring Framework. Es erlaubt den Ablauf von Anwendungen ohne Application Server und unterstützt auch sehr einfache Ansätze für den Betrieb. Spring Boot eignet sich daher sehr gut für Microservices.

    Themen:

    • Was ist Spring Boot?
    • REST-Services mit Spring Boot implementieren
    • Betrieb von Spring Boot Anwendungen

    Microservices sind verteilte Systeme. Die Herausforderungen bei der Implementierung solcher Systeme sind ganz anders als das Vorgehen bei klassischen Deployment Monolithen. Spring Cloud löst diese Probleme durch die Integration von Technologien aus dem Netflix-Stack – dem de-facto Standard für Microservices.

    • Spring Cloud: Grundlegender Ansatz
    • Überblick über die in Spring Cloud integrierten Technologien
    • Services Discovery mit Eureka
    • Resilience und Hochverfügbarkeit mit Hystrix
    Mehr lesen

    Event Sourcing in der Praxis Workshop

    Vortrag Michael Plöd Software Architecture Summit 2016 Folien verfügbar

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine denormalisierung des „Lese-Modells“ der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Workshops wird Michael Plöd eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Compensation-Services), Möglichkeiten der Erstellung von Daten Snapshots und Änderungen durch externe Systeme vorgestellt. Der Workshop wird neben Schaubildern zahlreiche praktische Live-Coding Bestandteile (Java / Groovy / Spring) beinhalten.

    Mehr lesen
  • Microservices: Architektur & Deployment mit Docker

    Vortrag Eberhard Wolff Software Architecture Summit 2016

    Microservices verbessern Time-to-Market, ermöglichen einen flexibleren Umgang mit Technologien und erlauben auch langfristig wartbare Systeme. Dieser Workshop erläutert die Grundlagen von Microservices und zeigt, wie man Microservice-Architekturen entwirft.

    • Was sind Microservices?
    • Vorteile und Herausforderungen des Microservices-Ansatzes
    • Einfluss von Microservices auf die Organisation

    Außerdem lernen die Teilnehmer, wie Microservices mit Docker deployt werden können. Docker ist viel effizienter als Virtualisierung. Da Microservices eine große Anzahl an virtuellen Maschinen benötigen, hat Docker gerade für solche Architektur deutliche Vorteile.

    • Was ist Docker?
    • Applikationen mit Docker Containern und Docker Compose deployen
    • Umgebungen mit Docker Machine aufbauen
    Mehr lesen

    Microservices love Domain Driven Design: how and why?

    Vortrag Michael Plöd Microservices Meetup Munich March 2016 Folien verfügbar

    Without any doubt Eric Evans’ book “Domain Driven Design” is being considered as a “must have read” among many IT specialists from various domains. With the emergence of Microservices Domain Driven Design has become more relevant then ever. This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. We will see that Microservices are not only about Bounded Contexts and that there is much more to Domain Driven Design than Entities and Aggregates. In addition to that I will show off how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few). Finally we will look into migrating existing monolithic applications with the help of patterns laid out in DDD.

    Mehr lesen
  • Gebaut für die Cloud – Cloud-Native Architectures

    Vortrag Phillip Ghadir Software Architecture Summit 2016

    Dieser Vortrag stellt einige Infrastruktur- und Plattform-Services vor und zeigt, welche Art von Self-Services wichtig sind, um Systeme für die Cloud zu entwickeln.

    Beispiele für Services unterschiedlichster Abstraktionsebenen zeigen ein Spektrum relevanter Architektur-Entscheidungen auf.

    Am Beispiel der Amazon-WS wird gezeigt, wie sich moderne Softwarearchitekturen Cloud-technisch umsetzen lassen.

    Mehr lesen

    Fortgeschrittene REST-Architektur

    Vortrag Silvia Schreier, Stefan Tilkov Software Architecture Summit 2016

    REST als der Architekturstil des Webs ist mittlerweile keine Neuigkeit mehr, sondern in den meisten Fällen die bevorzugte Alternative für die Umsetzung von nicht nur von Web-Services. Die Diskussion darüber hat sich mittlerweile von Einsteigerthemen und Rechtfertigungen weg und zu fortgeschrittenen Fragestellungen hin entwickelt.

    In diesem Workshop diskutieren Silvia Schreier und Stefan Tilkov, zwei der Autoren des deutschsprachigen „REST und HTTP“-Buches, mit den Teilnehmern fortgeschrittene Aspekte jenseits der Grundlagen. Zu den Themen gehören Versionierung, Dokumentation, Hypermedia, die Entwicklung von Clients, Teststrategien und vieles mehr. Dabei werden sowohl theoretische Architekturaspekte wie auch praktische Werkzeuge behandelt. Die Teilnehmer bekommen die Gelegenheit, alle Fragen zu stellen, zu denen sie noch nie befriedigende Antworten bekommen haben.

    Mehr lesen

    Zukunftsweisende Architekturen: Microservices und Self-Contained Systems

    Vortrag Eberhard Wolff Heise Developer World 2016

    Microservices sind der aktuelle Hype in der Software-Architektur-Szene. Sie haben einen breiten Einsatzkontext: Einzelne Entwickler und kleine Teams nutzen sie wegen ihrer Skalierbarkeit und des einfachen Deployments. Große Teams ermöglicht die Unabhängigkeit der Microservices eine parallele Entwicklung mit wenig Overhead. Gerade für große, komplexe Projekte nutzen Self-contained Systems Ideen aus dem Microservice-Kontext, um auch langfristig produktiv Software zu entwickeln. Der Vortrag erläutert Microservices und Self-contained-Systeme sowie ihre Vor- und Nachteile.

    Mehr lesen
  • Eberhard Wolff on Microservices

    Link Eberhard Wolff

    Our colleague Eberhard Wolff was interviewed about Microservices by Stephen Chin for his Nighthacking series at the last JavaLand Conference.

  • Wider den Blindflug: Logging und Metriken in verteilten Anwendungen

    Link Alexander Heusingfeld, Tammo van Lessen

    Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. In dieser JAX 2015-Session beschäftigten sich unsere Kollegen Alexander Heusingfeld und Tammo van Lessen mit der Evolution von verteilten Anwendungen und deren Monitoring. Sie zeigen, welche Metriken erfasst und welche Informationen geloggt werden sollten, wie man sie zentral aggregiert und auswertet, und welche freien Tools dabei helfen, so einen reibungslosen Betrieb zu sichern.

  • Die Drei von der Leitstelle – Logging, Metriken und Tracing in verteilten Anwendungen

    Vortrag Tammo van Lessen Frankfurter Entwicklertag 2016

    Aktuelle Trends sehen die Zerschlagung von Monolithen in kleine, in sich abgeschlossene Dienste, sogenannte Microservices, als Mittel zur Lösung typischer Probleme großer Softwaresysteme. Dieser Ansatz ermöglicht schnellere Reaktionszeiten auf Marktänderungen sowie mehr Flexibilität bei der Wartung. Wegen der Verteilung auf verschiedene Systeme ist es jedoch umso wichtiger, die einzelnen Dienste sorgfältig und nachhaltig zu überwachen und Verfügbarkeit, Performance (fachlich wie technisch), Zuverlässigkeit oder Wirtschaftlichkeit kontinuierlich zu messen. So entsteht ein jederzeit aktuelles, vergleichendes Bild auf die Systemlandschaft.

    Das Trio Logging, Metriken und Tracing stellt die geeigneten Mittel zur Verfügung, eine solche Beobachtungsstelle zu realisieren. Doch wie logge ich eigentlich richtig? Welche Metriken soll ich erfassen? Wie finde ich Bottlenecks in meiner Architektur? Diese Fragen möchten wir in der Session beantworten und stellen dazu die wichtigsten Ansätze und Werkzeuge zum Überwachen von modernen verteilten Systemen vor.

    Mehr lesen

    When Microservices Meet Real-World Projects: Lessons Learned

    Vortrag Alexander Heusingfeld JUG Dortmund Spring Event Folien verfügbar

    Als Berater sehen wir oft beide Seiten der Medaille: Auf der einen Seite arbeiten wir mit Leading-Edge-Technologien, die meist gerade erst marktreif sind. Auf der anderen Seite stehen Kunden mit sehr konservativen Betriebsabteilungen, Legacy-Systemen und strikten Reglementierungen zur Datensicherheit.

    In dieser Session möchten wir von den Erfahrungen berichten, die wir im Beratungsalltag sammeln durften. Was bedeutet eigentlich “pets vs. cattle”? Warum soll sich ein Entwickler mit den Business-Use-Cases auseinandersetzen? Warum können IT-Projekte auf Grund der Unternehmensorganisationen scheitern, und was hat eine DevOps-Mentalität mit Perspektivenwechsel zu tun? Wir zeigen Wege, wie wir eine Legacy-Anwendung iterativ modernisiert und in mehrere, leichter wartbare Self-Contained-Systeme aufgeteilt haben. Dabei werden nicht nur die unterschiedlichen Ebenen von Architekturentscheidungen herausgestellt, sondern auch die Auswirkungen auf die Organisationsstruktur und kritische Punkte auf dem Weg verdeutlicht.

    Mehr lesen
  • When Microservices Meet Real-World Projects: Lessons Learned

    Vortrag Alexander Heusingfeld, Tammo van Lessen JavaLand 2016 Folien verfügbar

    Als Berater sehen wir oft beide Seiten der Medaille: Auf der einen Seite arbeiten wir mit Leading-Edge-Technologien, die meist gerade erst marktreif sind. Auf der anderen Seite stehen Kunden mit sehr konservativen Betriebsabteilungen, Legacy-Systemen und strikten Reglementierungen zur Datensicherheit.

    In dieser Session möchten wir von den Erfahrungen berichten, die wir im Beratungsalltag sammeln durften. Was bedeutet eigentlich “pets vs. cattle”? Warum soll sich ein Entwickler mit den Business-Use-Cases auseinandersetzen? Warum können IT-Projekte auf Grund der Unternehmensorganisationen scheitern, und was hat eine DevOps-Mentalität mit Perspektivenwechsel zu tun? Wir zeigen Wege, wie wir eine Legacy-Anwendung iterativ modernisiert und in mehrere, leichter wartbare Self-Contained-Systeme aufgeteilt haben. Dabei werden nicht nur die unterschiedlichen Ebenen von Architekturentscheidungen herausgestellt, sondern auch die Auswirkungen auf die Organisationsstruktur und kritische Punkte auf dem Weg verdeutlicht.

    Mehr lesen
  • Nanoservices und Microservices mit Java

    Vortrag Eberhard Wolff JavaLand 2016 Folien verfügbar

    Es geht kleiner als Microservices: Nanoservices gehen zwar technologische Kompromisse ein, haben dafür aber auch einige entscheidende Vorteile gegenüber Microservices. Dieser Vortrag gibt einen Überblick über Microservice-Technologien wie Spring Cloud oder Spring Boot – und Java-Nanoservice-Ansätze wie Java EE, OSGi und Amazon Lambda.

    Mehr lesen
  • Viele Wege führen zu Microservices

    Vortrag Eberhard Wolff Gesellschaft für Informatik – Regionalgruppe Dortmund

    Microservices lösen viele Probleme aktueller Architekturen - sie helfen beim Skalieren agiler Prozesse, ermöglichen Continuous Delivery und machen Software robuster und besser skalierbar. Welcher Vorteil der wichtigste ist - davon hängt ab, wie man Microservices einführen sollte, wie die Architektur aussehen sollte und welchen Weg zu Microservices man einschlagen sollte. Dieser Vortrag zeigt die Vorteile - und die daraus resultierenden Ansätze zur Adaption von Microservices.

    Mehr lesen
  • Why RESTful communication between microservices can be perfectly fine

    Blog-Post Daniel Westheide

    Recent debates about REST versus message passing in microservice communication have led to some confusion. What is meant with asynchronous communication in this context and why is REST a perfectly valid choice?

    Mehr lesen
  • Embrace the Browser, Architect’s Edition

    Vortrag Stefan Tilkov EnhanceConf 2016 Folien verfügbar

    Progressive enhancement is a technique mostly known to, and practiced by, front-end developers and designers. In many large projects, the most important decisions (a.k.a. “architecture”) are made by backend architects, who couldn’t care less about frontend “details”. But they should! In this talk, I’ll try to explore some reasons how adopting the architecture of the web in general, and the capabilities of the browser in particular, improves the overall architecture.

    Mehr lesen
  • Microservices with Java, Spring Boot and Spring Cloud

    Vortrag Eberhard Wolff Voxxed Days Vienna 2016

    Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.

    Mehr lesen
  • Microservices <3 Domain Driven Design, why and how?

    Vortrag Michael Plöd microXchg 2016 – The Microservices Conference Folien verfügbar

    Without any doubt Eric Evans’ book “Domain Driven Design” is considered as a “must read” among many IT specialists from various domains. With the emergence of Microservices, Domain Driven Design has become more relevant than ever. This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. In addition, I will show how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few).

    The video recording of this talk can be found at https://www.youtube.com/watch?v=lUCLFOISuXk

    Mehr lesen

    Don’t Fly Blind: Logging and Metrics in Microservice Architectures

    Vortrag Alexander Heusingfeld, Tammo van Lessen microXchg 2016 – The Microservices Conference Folien verfügbar

    While many organizations are keen on breaking up their monolithic applications and establishing microservice architectures, only few of them truly appreciate the impact on runtime information like log data and metrics. But without it you are almost blind in production. And without correlating events from different sources it becomes very difficult to make sense of your metrics and to draw accurate conclusions. If you want to break monoliths into a variety of distributed services, standard approaches are no longer sufficient. In this session, we will show the conceptual foundation and best-of-breed tooling for a monitoring solution of a decentralized and distributed application landscape.

    The video recording of this talk can be found at https://www.youtube.com/watch?v=nWgoyLl8wbM

    Mehr lesen

    Wait, what!? Our microservices have actual human users?

    Vortrag Stefan Tilkov microXchg 2016 – The Microservices Conference Folien verfügbar

    Microservice API styles, service lookups, datastores, scaling – all of our typical discussions about microservices seem to be centered around backend topics. But what about the user interface? How are we supposed to structure what is arguably the most important part of our applications – the one facing our users? In this session we’ll explore the role of the UI aspect in a microservice architecture, look at various methods of modularization, and derive a set of guidelines for avoiding monolithic frontends.

    The video recording of this talk can be found at https://www.youtube.com/watch?v=pU1gXA0rfwc

    Mehr lesen
  • Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Vortrag Holger Kraus, Arne Landwehr OOP 2016 – Software meets Business Folien verfügbar

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden. Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen sind in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen, wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten Systems leisten.

    Der Einsatz von RxJava eröffnet eine gute Möglichkeit, den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren, wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Mehr lesen
  • Ab sofort alles anders: Was eine neue Ausgangslage für unsere Architekturen bedeutet

    Vortrag Stefan Tilkov OOP 2016 – Software meets Business Folien verfügbar

    In den meisten Fällen sind Veränderungen in Architekturthemen graduell – wir verbessern Ansätze, finden und dokumentieren Muster, wenden Altbekanntes neu an. Aber was passiert, wenn Innovationen völlig neue Architekturen ermöglichen? In diesem Vortrag beschäftigen wir uns u. a. mit Entwicklungen bei Netzwerkbandbreiten und Hauptspeichergrößen, der Explosion der Geräteanzahl, der Veränderung der Infrastruktur in allen Schichten und der immer stärkeren Automatisierung und untersuchen diese auf ihre Auswirkungen auf gängige Architekturen.

    Im Vortrag werden wir gemeinsam Stück für Stück eine Umgebung konstruieren, die viele der bestehenden Grenzen nicht kennt. Was bedeutet es, wenn wir beliebig viel Hauptspeicher haben? Wenn eine Netzwerkinteraktion nicht mehr (wesentlich) teurer ist als eine lokale? Wenn Hardware nicht mehr physisch, sondern rein virtuell ist und die Anschaffung und Optimierung der Server selbst Teil der Architektur wird? Wir werden uns ansehen, mit welchen Architekturansätzen man aus einer solchen Umgebung das meiste herausholen kann – sowohl im „modernen“ Cloud-/E-Commerce-Umfeld als auch bei klassischen Unternehmensarchitekturen.

    Danache werden Sie die Auswirkungen von folgenden Entwicklungen verstehen:

    • Netzwerkbandbreiten und Hauptspeichergrößen
    • die Explosion der Geräteanzahl
    • die Veränderung der Infrastruktur in allen Schichten
    • die immer stärkere Automatisierung auf gängige Architekturen

    Zielpublikum: Architekten, Entwickler
    Voraussetzungen: Projekterfahrung
    Schwierigkeitsgrad: Fortgeschritten

    Mehr lesen

    Event Sourcing: Tales from the hardside

    Vortrag Michael Plöd Topconf Linz 2016 Folien verfügbar

    Event Sourcing is an architectural style that is based on data being represented as a sequence (or stream) of events. This enables a very convenient way of storing and retrieving snapshots of data. From the event stream we can derive a highly optimized query model of the data. This aspect is a prominent part of the CQRS-Pattern.

    This talk will introduce Event Sourcing from the ground up and explain popular patterns surrounding the topic. In addition to that I will cover why Event Sourcing is an interesting architecture pattern for microservice architectures and reactive applications.

    Mehr lesen
  • Entwicklung einer skalierbaren Webanwendung mit Amazon Web Services

    Artikel Christine Koppelt, Martin Eigenbrodt, Oliver Tigges

    Gemeinsam mit Heraeus Kulzer hat innoQ eine Cloud-basierte Plattform für die Abwicklung von Beauftragungsprozessen im Dentalbereich entwickelt. In dieser Fallstudie stellen wir die Rahmenbedingungen und Anforderungen des Projektes vor und zeigen, wie die technische Lösung mittels Amazon Web Services aussieht.

    Mehr lesen

    One size does not fit all: Carving up stuff for fun and profit (Opening Keynote)

    Vortrag Stefan Tilkov Topconf Linz 2016 Folien verfügbar

    (Micro-)services, bounded contexts, components, modules, classes, structs and records, procedures and functions – whatever structuring mechanism we’re talking about, a recurring challenge is to find the right size for things. Opposing forces influence our decisions from both technical and organizational perspectives, and strategies for finding a good balance are few and far between. Let’s take a closer look at what works, what doesn’t, and why.

    Mehr lesen

    Microservices: Agilität mit Architekturen skalieren

    Vortrag Eberhard Wolff OOP 2016 – Software meets Business Folien verfügbar

    Das Skalieren von agilen Prozessen ist gerade ein sehr wichtiges Thema. Zu oft wird aber nur die Prozess-Sicht betrachtet. Dieser Vortrag zeigt, dass eine Architektur wie Microservices den Teams so viel Unabhängigkeit geben kann, dass eine übergreifende Koordination fast nicht mehr erforderlich ist. Dann können kleine Teams unabhängig voneinander agieren. So wird ein agiler Prozess durch die Architektur skaliert.

    Sie lernen:

    • Microservices kennenlernen
    • Auswirkungen von Microservices auf den Prozess und die Kommunikation
    • Optimierungspotentiale agiler Prozesse durch geschickte Architekturen abschätzen

    Zielpublikum: Architekten, Projektleiter, Manager, Entscheider
    Voraussetzungen: Grundlegendes Wissen über Architekturen und Organisationen
    Schwierigkeitsgrad: Anfänger

    Mehr lesen

    Wider die Mikroskop-Falle: Die wahren Probleme Ihrer Software finden

    Vortrag Gernot Starke OOP 2016 – Software meets Business Folien verfügbar

    Wenn wir Software verbessern oder bewerten wollen, müssen wir eine möglichst präzise Vorstellung der existierenden Probleme oder technischen Schulden erarbeiten. Vordergründig bietet sich Quellcode zur Suche an, die meisten der typischen Code- und Architektursmells werden Sie schon kennen. Ich zeige Ihnen jedoch einige weitere typische Problemzonen auf, etwa Daten- und Datenstrukturen, Schnittstellen, technische Infrastruktur, querschnittliche technische Konzepte, Entwicklungs- und Betriebsprozesse sowie die beteiligten Menschen – überall lauern Probleme und Risiken. Zusätzlich lernen Sie typische Fallen bei der Problemanalyse kennen, etwa die Mikroskopfalle oder die Widerstandspyramide, die Ihre Problemsuche schnell zu Albträumen werden lassen.

    Als Ausblick zeige ich Ihnen, ganz analog zur Bauch-Beine-Po Gymnastik, einige etablierte Praktiken zur Abhilfe auf und weise damit den Weg zur systematischen Verbesserung und Evolution von Software.

    Ich führe hier auf pragmatische Weise die Disziplin “Ganzheitliche System- und Architekturbewertung” ein, bei der Methoden wie ATAM in der Praxis nur einen zu kleinen Teil der gesamten Probleme erfassen. “Qualitative wie auch quantitative Analysen in erweitertem Suchraum” wäre wohl eine etwas seriösere Formulierung des Titels.

    Ich verspreche den Teilnehmern praxisnahe, umsetzbare Hinweise, um in eigenem Kontext/System Probleme und Risiken zu identifizieren - und parallel dazu typische Verbesserungsansätze zu erkennen.

    Mehr lesen

    Self-contained Systems: A Different Approach to Microservices

    Vortrag Eberhard Wolff Microservices Meetup Munich February 2016 Folien verfügbar

    Microservices are the latest hype for software architectures. But just creating a set of small systems is by far not enough. Self-contained Systems (SCS, scs-architecture.org) focus on an architecture approach based on Microservices. It is in particular useful for large systems and complex team structures. SCS allow to efficently develop software in such environments – even in the long run. This talk explains Self-contained Systems, their advantages and disadvantages and the difference to Microservices.

    Mehr lesen
  • Microservices: Architektur und Entwicklung

    Vortrag Eberhard Wolff OOP 2016 – Software meets Business

    Dieser Workshop gibt zunächst einen Überblick über Microservices-Architekturen. Dann wird praktisch ein System aus Microservices als Beispiel aufgebaut und diskutiert. Das System nutzt Java, Spring Boot und koordiniert die Anwendungen mit Spring Cloud und dem Netflix-Stack. Die Prinzipien lassen sich aber auch auf andere Technologien übertragen. Dann folgt das Deployment der Anwendungen mit Docker. Am Ende können die Teilnehmer eine Anwendung aus mehreren Microservices praktisch betreiben und weiterentwickeln.

    Zielpublikum: Architekten, Entwickler, technische Projektleiter
    Voraussetzungen: Grundlegendes Wissen über Java ist hilfreich, aber nicht unbedingt notwendig
    Schwierigkeitsgrad: Anfänger

    Sie lernen:

    • Einblicke in Microservices-Architekturen und ihre Anwendungsbereiche
    • Kenntnisse in einem Microservices Stack (Java, Spring, Spring Boot, Spring Cloud, Netflix)
    • Kenntnisse über das Deployment mit Docker
    Mehr lesen

    Microservices and Event Sourcing with Spring Boot

    Vortrag Michael Plöd, Agim Emruli Topconf Linz 2016

    This half-day workshop consists of two parts.

    Part 1: “Building Microservices with Spring Boot and Spring Cloud” by Agim Emruli

    Creating highly decomposed and distributed microservice architectures requires platforms with a minimal footprint and high productivity. Spring Boot allows developers to build microservices with a broad set of persistence, queueing and caching technologies and to run them with minimal system requirements. Spring Cloud supports the creation of distributed components and helps with integration into popular framework like the Netflix OSS. This talks will discuss and practically show how to build microservice based architectures using Spring Boot and Spring Cloud.

    Part 2: “Building Event Sourced Applications with Spring” by Michael Ploed

    This session will demonstrate how you can leverage components of the Spring Ecosystem in order to build applications that are based on the ideas behind the patterns Event Sourcing and CQRS (Command Query Responsibility Segregation). We will cover Spring Boot, lightweight messaging with Spring, as well as Spring Data for persistence.

    Mehr lesen
  • Caching for Business Applications: Best Practices and Gotchas

    Vortrag Michael Plöd Voxxed Days Berlin 2016 Folien verfügbar

    Caching is relevant for a wide range of business applications and there is a huge variety of products in the market ranging from easy to adopt local heap based caches to powerful distributed data grids. Most of these caches are being promoted with examples from applications that have the luxury of having “eventual consistency” as a non-functional requirement. Most business / enterprise applications don’t have that luxury. This talks aims at developers and architects that want to adopt a caching solution for their business application. I will present 15 caching patterns and best practices for these kinds of applications that address the typical questions being asked in that context. These questions might be: “what data can I cache?”, “how to I handle consistency in a distributed environment?”, “which cache provider to choose?” or “how do I integrate a cache provider in my application?”.

    This talk comes with many live demos, some of them are run on a distributed cache cluster on Raspberry Pis.

    Mehr lesen

    Warum Programmierer an ihren Software-Systemen riechen müssen

    Link Gernot Starke

    Die Redaktion von jaxenter.de hat sich am Rand des Software Architecture Summit in Berlin mit Gernot Starke über die Evolutions on Softwaresystemen unterhalten. Wenn Ihr Softwaresystem langsam ist und Schwierigkeiten damit hat, sich “weiterzuentwickeln”, ist es gut möglich, dass Ihr Team nur eindimensional arbeitet. Lesen Sie mehr dazu im Interview.

  • Microservices with Java, Spring Boot and Spring Cloud

    Vortrag Eberhard Wolff Voxxed Days Berlin 2016 Folien verfügbar

    Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.

    Mehr lesen
  • Microservices in the Real World

    Link Alexander Heusingfeld, Tammo van Lessen

    InfoQ did an interview with our colleagues Alexander Heusingfeld and Tammo van Lessen about getting people from operations involved in architecture and dealing with “us vs. them” behavior when applying DevOps. They also talked about what the Self-Contained Systems approach is and how it can be used to modernize software systems, similarities and differences between the Self-Contained Systems approach and microservices, improving deployment pipelines and using measurements in deployment, and about their experiences with a “getting out of your comfort zone” program.

  • Voxxed Days Berlin 2016

    News

    Am 28. und 29. Januar finden zum ersten Mal die Voxxed Days Berlin statt. Diese Konferenz gehört zu einer Serie von Events, die jeweils von regionalen Communities organisiert werden. Die Voxxed Days bietet eine Mischung aus international und national bekannten Java-Experten. Wir freuen uns, die Konferenz als Sponsor zu unterstützen. Mehr lesen
  • Redis in der Praxis

    Podcast Lucas Dohmen, Stefan Tilkov

    In dieser Episode unterhalten sich Lucas Dohmen und Stefan Tilkov über Redis, eine NoSQL-Datenbank aus der Key-Value-Kategorie, die sich insbesondere durch ihre hohe Geschwindigkeit und ihre intelligenten Datenstrukturen auszeichnet. Dabei werden nicht nur die Features aufgezählt, sondern auch praktische Hinweise zum Einsatz gegeben. Mehr lesen
  • Der Microservices-Architektur-Ansatz

    Vortrag Eberhard Wolff Microservices Summit

    Microservices erlauben wesentlich schnelleres Time-to-Market und flexibleren Umgang mit Technologien. Mit Microservices können Anwendungen auch langfristig produktiv weiterentwickelt werden. Dieser Workshop vermittelt die Grundlagen von Microservices und zeigt, wie Microservice-Architekturen entworfen werden.

    • Was sind Microservices?
    • Vorteile und Herausforderungen der Microservices-Architektur
    • Auswirkungen auf die Organisation
    • Microservices und Domain Driven Design: Bounded Context
    • Microservices und das Gesetz von Conwayay
    Mehr lesen

    Microservices mit Java, Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff Microservices Summit

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Spring Boot unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Mehr lesen
  • Monitoring, Logging und Metriken in verteilten Anwendungen

    Vortrag Alexander Heusingfeld, Michael Vitz Microservices Summit

    Microservices bieten für Entwicklung und Business große Vorteile. Oft führen sie allerdings zu einem deutlich komplexeren Betrieb. Dieser Workshop zeigt die Herausforderungen beim Betrieb von verteilten Anwendungen auf. Die Teilnehmer lernen hier Tools wie den ELK-Stack, Grafana und InfluxDB und die Unterschiede zwischen Logdaten und Metriken kennen. Die Tools werden es ihnen ermöglichen, ihre betrieblichen Anforderungen zu formulieren und das richtige Maß an Monitoring für ihre Microservices zu finden. Wir zeigen, welche Komponenten man in einer modernen Logging- und Metrik-Infrastruktur verwenden kann, wie man diese aufsetzt und in bestehende Systeme wie bspw. Nagios integriert. Hierbei wird auch klar, warum und wo der Betrieb maßgeblich die Makro- und Mikro-Architektur eines Systems mitbestimmen sollte.

    Mehr lesen
  • Microservices zur Architektur­modernisierung

    Vortrag Alexander Heusingfeld, Michael Vitz Microservices Summit

    Dieser Workshop adressiert ein klassisches Dilemma der IT: Eine große, monolithische Anwendung, kritisch und wichtig, und innerlich ungeheuer schwer und aufwändig zu warten. Um auf fachliche Änderungen und dynamische Märkte schneller reagieren zu können, müssen wir dieses Altsystem modularisieren und strukturell sowie konzeptionell modernisieren – dabei aber kontinuierlich (hoch) verfügbar halten. Ganz nebenbei verfügen wir natürlich nur über ein eingeschränktes Budget… Wir zeigen Ihnen anhand etablierter Praktiken und Patterns (aus dem Fundus von aim42.org) typische Möglichkeiten auf, solche Projekte anzugehen und Stück für Stück die Architektur des Gesamtsystems zu modernisieren. Hierbei unterstützen uns u.A. Bibliotheken wie Hystrix dabei die Risiken dieser Umstellung zu managen und auch zu visualisieren. Nach dem Workshop haben Sie einige anwendbare Muster kennengelernt, mit deren Hilfe Sie Ihre eigenen Monolithen wieder zu besser wartbaren Systemen migrieren können.

    Mehr lesen
  • When Microservices Meet Real-World Projects

    Vortrag Alexander Heusingfeld GOTO Conference Berlin 2015 Folien verfügbar

    As a consultant, Alexander Heusingfeld has seen both sides of the coin: on the one hand, he gets to know the leading-edge technologies that have just become ready for the market. On the other hand, there are customers with conservative operation teams, legacy systems, and strict data security regulations.

    In this session, he shares some learnings from consulting gigs, talks about what business domain thinking means, and why the DevOps mindset can change the team spirit. He explains some of the approaches he used to iteratively modernize legacy systems into multiple self-contained systems, the different levels of architectural decisions that have to be taken and the impact of this architectural approach on a classic organization structure.

    Mehr lesen
  • Architecture Kata

    Vortrag Eberhard Wolff, Martin Klose GOTO Conference Berlin 2015

    In this workshop you will create Software Architectures - as a focused practice. We will show you how to come up with an Architecture, what to focus on and what makes an Architecture great. It’s an interactive workshop so you will also learn how to communicate your Architecture and finally how to deal with non-functional requirements.

    The training is based on Katas - an old Japanese tradition of martial arts trainings. In a Kata certain moves are repeated over and over to really master them - and in this Workshop we will apply these principles to Software Architecture.

    Workshop Location

    The workshop will take place at the hotel “Park Inn - Alexanderplatz” in Room Virchow 1. Please arrive at the address below around 08:30 AM on Wednesday, December 2, for the registration.

    Hotel Park Inn - Alexanderplatz Alexanderplatz 7 10178 Berlin Website

    On arrival at the Hotel Park Inn - Alexanderplatz please use the stairs behind or the elevator beside the concierge to the 2nd floor. On the second floor go to the workshop rooms on the right hand side.

    Mehr lesen
  • Heise Developer Continuous Architecture Blog, „Architekten müssen keinen Code schreiben!”

    Link Eberhard Wolff

    Viele glauben, dass wirklich gute Softwarearchitekten Code schreiben müssen. Warum eigentlich? Schließlich sind Architektur und Code zwei unterschiedliche Ebenen der Softwareentwicklung.

  • Microservice Book Release Event & Talk

    Vortrag Eberhard Wolff GOTO Night Berlin

    Microservices solve a lot of problems with current architectures: e.g. they help with agile processes, enable Continuous Delivery and increase robustness and scaling. But what is the best way to create a Microservices architecture? That depends on the concrete scenario - and can be very different for each individual project. This talk shows the many value propositions of Microservices and how to find the best way to a Microservices architecture.

    Eberhard Wolff has written a new book about Microservices - available in German. A translation in English is being worked on. During this GOTO Night we will do a raffle for a copy of both.

    Mehr lesen
  • Microservices-Workshop: Architekturen für Continuous Delivery

    Vortrag Eberhard Wolff Continuous Lifecycle 2015 – Konferenz für Continuous Delivery, DevOps und Containerisierung

    Dieser Workshop zeigt praktisch ein Beispiel für eine Microservice-Architektur. Zunächst werden die Grundlagen der Architektur erläutert. Dann wird der praktische Aufbau von Microservices mit Java, Spring, Spring Cloud und dem Netflix Stack und schließlich das Deployment mit Docker gezeigt. Die Konzepte sind auch auf andere Technologien übertragbar. Teilnehmer lernen so die Grundlage der Microservice-Architektur und des Betriebs von Microservices kennen.

    Mehr lesen
  • Microservices, DevOps, Continuous Delivery – mehr als drei Buzzwords

    Vortrag Eberhard Wolff Continuous Lifecycle 2015 – Konferenz für Continuous Delivery, DevOps und Containerisierung Folien verfügbar

    Microservices sind gerade ein Hype. Sie sind endlich der Architekturansatz, mit dem alles einfacher wird. In Kern sind Microservices unabhängige Deployment-Einheiten. Daher gibt es eine Synergie von Microservices mit Continuous Delivery und Deployment-Automatisierung. Microservices betrachtet außerdem die Organisation als Auswirkung der Architektur. So unterstützen Microservices auch DevOps als Organisationsansatz. Dieser Vortrag zeigt, wie Microservices, Continuous Delivery und DevOps zusammenpassen und dass Microservices mehr als ein Hype sind.

    Mehr lesen
  • Docker - Perfekte Verpackung von Microservices

    Artikel Jerry Preissler, Oliver Tigges

    Die Microservice-Bewegung ist mit viel Schwung gestartet und in großen Unternehmen angekommen. Überall werden Monolithen zerschlagen und durch eigenständige, fachlich definierte Microservices ersetzt. Entwicklungsteams können eigenverantwortlicher und autonomer agieren und damit deutlich schneller Ergebnisse ausrollen. Aus Sicht des IT-Betriebs bringen die Microservices aber auch eine Menge Herausforderungen: Statt weniger großer und etablierter Unternehmensanwendungen, existieren plötzlich Landschaften mit einer Vielzahl an kleinen, sich schnell ändernden Services, die alle konfiguriert, integriert und überwacht werden wollen. Eine Container-Technologie wie Docker kann das ideale Mittel sein, um diese Services zu verpacken und auszurollen. Aber welche Probleme löst Docker genau und welche neuen Herausforderungen bringt es mit? In diesem Artikel zeigen wir, für welche Software-Architekturen Docker geeignet ist und wie ein Einsatz von Docker dabei helfen kann, Microservice-Architekturen zu standardisieren, zu steuern und zu kontrollieren.

    Mehr lesen
  • Modernization of legacy systems with microservices, Hystrix and RxJava

    Vortrag Holger Kraus JAVADAY KYIV Folien verfügbar

    As a software developer you are not very often in the situation where you develop a completely new system from scratch based on recent techonologies. More often just small features have to be integrated in already existing systems. A change of the basic software architecture and an introduction of new programming paradigms are very difficult in this context. It is all the more important to make the modernization of a legacy systems an ongoing part of the feature-driven development process. In this talk I will show step by step how to transform a big, monolithic legacy system towards a modern microservice based architecture. And I will demonstrate how two open libraries from Netflix can support this process. Hystrix will help us to improve the overall stability of the system and RxJava will help us to handle asynchronous processes in a more elegant way. Based on examples, I will show how the suggested modernization process could be realised.

    Mehr lesen
  • Microservices-Workshop: Architektur und Praxis

    Vortrag Eberhard Wolff W-JAX 2015

    Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ganz praktisch ein System aus Microservices aufbauen und diskutieren.

    Zunächst gibt es eine Einführung in Microservices-Architekturen und ein konkretes Beispiel. Dann geht es in die Praxis: containerloses Deployment mit Spring Boot und Koordination der Anwendungen mit Spring Cloud. Dann folgt der Betrieb der Anwendungen mit Docker. Am Ende können wir eine Anwendung aus mehreren Microservices praktisch betreiben und weiterentwickeln.

    Mehr lesen

    JAX TV: Integration von Microservices – REST vs. Messaging, eine W-JAX 2015 Sesion mit Oliver Gierke (Pivotal Software) und Eberhard Wolff (innoQ)

    Link Eberhard Wolff, Oliver Gierke

    Der Trend zu Microservices stellt Entwickler vor neue Herausforderungen. Systeme, die an fachlichen Kontexten orientiert sind, müssen sich gegenseitig über Ereignisse benachrichtigen und auf sie reagieren. Ebenso muss das Austauschen und Synchronisieren von Datenbeständen umgesetzt werden. Die Wahl eines Kommunikationsmechanismus ist dabei fundamental. Sie beeinflusst die gesamte Architektur und ist nur schwer nachträglich änderbar. Der Vortrag stellt die Herausforderung bei der Integration dar und Konsequenzen und Effekte des Einsatzes von REST und Messaging gegenüber.

  • arc42 Reality Check

    Vortrag Gernot Starke W-JAX 2015 Folien verfügbar

    Seit über zehn Jahren gibt es arc42, die pragmatische Vorlage/Arbeitshilfe für Architekturdokumentation. Im Vortrag stelle ich diverse Optionen für den Praxiseinsatzvon arc42 vor - von Werkzeugen bis hin zur Organisation von Dokumentation im Projekt. Anhand von Beispielen zeige ich auf, wie Architektur- und Codedokumentation zusammenspielen und wie wir eine pragmatische und nützliche (technische) Projektdokumentation aufsetzen können. Insbesondere sehen Sie textbasierte (AsciiDoc-)Dokumentation im Zusammenspiel mit Modellierungswerkzeugen wie Enterprise Architect und Visual Paradigm im Einsatz - und wie das zusammen mit Git auch entwicklerfreundlich funktioniert.

    Gerne dürfen Sie mir (dem Sprecher) im Vorfeld Ihre konkreten Fragen zu Architekturdokumentation und arc42 zukommen lassen. Im Vortrag werde ich möglichst viele davon beantworten.

    Mehr lesen

    Know your Enemies: Problembewusstsein als Grundlage von Änderungs- und Evolutionsprojekten

    Vortrag Gernot Starke W-JAX 2015 Folien verfügbar

    Die meiste Zeit verbringen wir in der Softwareentwicklung mit Änderung oder Verbesserung bestehender Systeme. Dabei ist es besonders wichtig, an den richtigen Stellen zu ändern (und nicht willkürlich die bekannten Refactoring-Patterns anzuwenden).

    Ich zeige auf, wie Sie systematisch die aus langfristiger und ökonomischer Sicht schlimmsten Probleme in Ihren Softwaresystemen und -architekturen finden können und wie Sie dann deren Lösung angehen können. Dabei spannen wir den Bogen von der Analyse der beteiligten Stakeholder und externen Schnittstellen über verschiedene Ansätze der (quantitativen) Code- und (qualitativen) Architekturanalyse bis hin zu fortgeschrittenen Themen wie Datenanalyse, Prozessanalyse oder Kontextanalyse. Anhand realer Probleme aus mittleren und großen Projekten zeige ich auf, dass die “Feinde” manchmal an überraschenden Stellen lauern.

    Mehr lesen

    Was Sie über die Advanced-Zertifizierung für Softwarearchitekten wissen sollten

    Vortrag Phillip Ghadir W-JAX 2015

    Wer über kurz oder lang die Prüfung zum Certified Professional for Software Architecture – Advanced anstrebt, muss sich nicht nur aus dem modular aufgebauten Advanced-Programm des iSAQB die richtigen Module aussuchen, sondern sollte sich auch frühzeitig auf die Prüfung einstellen. In diesem Vortrag gebe ich einen kurzen Überblick über den Advanced Level für die Zertifierung von Advanced-Softwarearchitekten, das Prüfungsverfahren und gebe meine persönlichen Ansichten zur Erfolgsstrategie für den Advanced Level.

    Mehr lesen
  • Integration von Microservices – REST vs. Messaging

    Vortrag Eberhard Wolff, Oliver Gierke W-JAX 2015 Folien verfügbar

    Der Trend zu Microservices stellt Entwickler vor neue Herausforderungen. Systeme, die an fachlichen Kontexten orientiert sind, müssen sich gegenseitig über Ereignisse benachrichtigen und auf sie reagieren. Ebenso muss das Austauschen und Synchronisieren von Datenbeständen umgesetzt werden. Die Wahl eines Kommunikationsmechanismus ist dabei fundamental. Sie beeinflusst die gesamte Architektur und ist nur schwer nachträglich änderbar.

    Der Vortrag stellt die Herausforderung bei der Integration dar und Konsequenzen und Effekte des Einsatzes von REST und Messaging gegenüber.

    Mehr lesen

    Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Vortrag Arne Landwehr, Holger Kraus W-JAX 2015 Folien verfügbar

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden.

    Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen ist in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten System leisten. Der Einsatz von RxJava ein gute Möglichkeit den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Mehr lesen

    Microservices mit Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff W-JAX 2015 Folien verfügbar

    Microservices stellen Entwickler vor neue Herausforderungen. Der Spring-Stack hält zwei Lösungen bereit: Spring Boot zur Implementierung des Microservice und Spring Cloud für den Aufbau der notwendigen Infrastruktur. Dieser Vortrag zeigt, wie die beiden Technologien praktisch funktionieren und Microservices-Architekturen mit diesem Ansatz implementiert werden können.

    Mehr lesen
  • Heise Developer Continuous Architecture Blog, „Neun Jahre Microservices”

    Link Eberhard Wolff

    Microservices sind gerade der Architektur-Hype schlechthin. Aber die Ideen sind schon recht alt und bewährt. In diesem Blogpost auf Heise Developer schaut Eberhard Wolff in die Historie dieses Ansatzes.

  • Microservices Meet Real-World Projects: Lessons Learned

    Vortrag Alexander Heusingfeld, Tammo van Lessen JavaOne Conference 2015 Folien verfügbar

    As consultants, this session’s speakers regularly see both sides of the coin: on the one hand, they get to know the leading-edge technologies that have just become ready for the market. On the other hand, there are customers with conservative operation teams, legacy systems, and strict data security regulations. In this session, they share some learnings from their consulting gigs, what business domain thinking did to their customers, and why the DevOps mindset changed the team spirit. They explain the different approaches they used to iteratively modernize a big Java legacy system into multiple self-contained systems, the different levels of architectural decisions they made, the impact on a classic organization structure, and the critical points along the way.

    Mehr lesen
  • Microservices mit Clojure

    Vortrag Philipp Schirmacher, Simon Kölsch JUG Karlsruhe – Oktober 2015

    Microservices zeichnen sich insbesondere durch ihre Eigenständigkeit aus: Die Services sind so lose gekoppelt wie möglich. Damit bietet eine Microservices-Architektur den idealen Rahmen für den Einsatz unterschiedlicher Technologien, die jeweils genau zum zu lösenden Problem und dem Skillset der Entwickler passen. In einem solchen Umfeld lassen sich die Vorteile einer modernen Sprache wie Clojure voll ausnutzen: Knapper und präziser Code, Parallelverarbeitung und direkter Support für asynchrone Programmierung.

    Microservices stellen jedoch auch besondere Herausforderungen: Wie lassen sich neue Projekte ohne viel Overhead aufsetzen? Wie können Services miteinander kommunizieren? Wie schütze ich meinen Service, wenn ein anderer Service ausfällt? Und wenn ich einen Service gebaut habe: Wie bringe ich ihn in Produktion und gestalte das Monitoring?

    In dieser Session führen wir die Teilnehmer Schritt für Schritt an Clojure heran und zeigen am Beispiel, mit welchen Clojure-Bibliotheken sich die genannten Herausforderungen elegant lösen lassen.

    Mehr lesen
  • Don’t Fly Blind: Logging and Metrics in Microservice Architectures

    Vortrag Alexander Heusingfeld, Tammo van Lessen JavaOne Conference 2015 Folien verfügbar

    While many organizations are keen on breaking up their monolithic applications and establishing microservice architectures, only few of them truly appreciate the impact on runtime information like log data and metrics. But without it you are almost blind in production. And without correlating events from different sources it becomes very difficult to make sense of your metrics and to draw accurate conclusions. If you want to break monoliths into a variety of distributed services, standard approaches are no longer sufficient.

    In this session, we will show the conceptual foundation and best-of-breed tooling for a monitoring solution of a decentralized and distributed application landscape.

    Mehr lesen
  • Many Roads Lead to Microservices

    Vortrag Eberhard Wolff Microservices Meetup Rhein-Main

    Microservices solve a lot of problems with current architectures: E.g. they help with agile processes, enable Continuous Delivery and increase robustness and scaling. But what is the best way to create a Microservices architecture? That depends on the concrete scenario - and can be very different for each individual project. This talk shows the many value propositions of Microservices and how to find the best way to a Microservices architecture.

    Mehr lesen
  • Event Sourcing - Einführung und Best Practices

    Vortrag Michael Plöd The Architecture Gathering 2015

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine Denormalisierung des „Lese-Modells“ der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Mehr lesen
  • Securing Microservices

    Vortrag Sam Newman Microservices Meetup Berlin October 2015

    We’re happy to host the Microservices Meetup Berlin at our Berlin office in Kreuzberg.

    Tonight’s talk by Sam Newman from Thoughtworks is on “Securing Microservices”. Microservices give us many options. We can pick different technologies, mix synchronous and asynchronous integration techniques or embrace different deployment patterns. But they also give us different options in how we think about securing our systems.

    Done right, and microservices can increase the security of your vital data and processes. Done wrong, and you can increase the surface area of attack. This talk will discuss the importance of defence in depth, discussing the many different ways in which you can secure your fine-grained, distributed architectures

    Mehr lesen
  • W-JAX 2015 mit Web-Anwendungen, Microservices und REST 2015

    News

    Es ist wieder soweit, vom 2. bis 6. November findet die W-JAX 2015 statt. Im traditionell vollgepackten, spannenden Programm mit über 180 Vorträgen und Workshops sind auch diesmal einige unserer Kollegen vertreten. Mehr lesen
  • Why programmers need to smell their software systems

    Link Gernot Starke jaxenter.com

    If your software system is slow and struggles to ‘evolve’, there’s a good chance your team is only working one-dimensionally, says our colleague Gernot Starke in this interview with jaxenter.com.

  • Java-Microservices praktisch mit Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff majug – Java User Group Mannheim August 2015

    Microservices sind nicht einfach kleine Anwendungen mit REST-Schnittstelle. Der Aufbau verteilter Systeme stellt Entwickler vor ganze neue Herausforderungen. Spring Boot hilft, indem es kleine Services einfach implementierbar macht. Spring Cloud bietet die Infrastruktur für die Gesamtarchitektur. Dieser Vortrag zeigt, wie die beiden Technologien die Implementierung von Microservices vereinfachen.

    Mehr lesen
  • Gebaut für die Cloud - Cloud-Native Architectures

    Vortrag Phillip Ghadir Software Architecture Summit 2015

    Ein beliebig skalierbares System erfordert tendenziell eine beliebig große Infrastruktur – sowohl software- als auch hardwareseitig. Eine solche Infrastruktur lässt sich nur automatisiert beherrschen. Ihre schiere Größe lässt sich durch die Definition geeigneter – teils sehr einfacher, teils sehr komplexer – Dienste verbergen. Die Amazon WebServices bieten unterschiedlichste Dienste an, mit denen sich heute Systeme softwareseitig anders schneiden lassen als noch vor einigen Jahren. Features, die zuvor selbst entwickelt oder im Betrieb sichergestellt werden mussten, werden heute durch die Amazon Cloud angeboten. Von EC2 Container Services zum Hosten von Applikationen, die aus Docker-Containern bestehen, über die zu Grunde liegenden EC2 sowie neueren Services wie AWS-Lambda - die verfügbare Infrastruktur verschiebt die Aufgaben für das Entwickeln und Betreiben Cloud-nativer Systeme.

    Dieser Workshop zeigt die Möglichkeiten, die sich durch Infrastruktur-Dienste der Amazon WebServices bieten und geht darauf ein, wie ein Software-System strukturiert werden könnte, um AWS sinnvoll zu nutzen.

    Mehr lesen

    Legacy Systeme modernisieren mit Microservices, Hystrix und RxJava

    Vortrag Holger Kraus, Arne Landwehr Berlin Expert Days 2015

    Als Software-Entwickler ist man nur sehr selten in der Situation, ein völlig neues System auf der Basis neuester Technologien entwickeln zu dürfen. Oft sollen bestehende Systeme nur um viele kleinere Features erweitert werden.

    Die Renovierung der grundlegenden Systemarchitektur und die Einführung neuer Programmierparadigmen ist in diesem Umfeld schwierig. Umso wichtiger ist es, dass man die Modernisierung von Altsystemen zu einem fortlaufenden Bestandteil auch des Feature-getriebenen Entwicklungsprozesses macht.

    In diesem Vortrag möchten wir zeigen wie auch größere, monolithische Altsysteme mithilfe der offenen Netflix-Bibliotheken schrittweise in Richtung einer Microservice-Achitektur weiterentwickelt werden können. Hystrix kann dabei einen wertvollen Beitrag zur Gesamtstabilität des entstehenden verteilten System leisten.

    Der Einsatz von RxJava ein gute Möglichkeit den Anteil von asynchronen Prozessen innerhalb der Legacy-Architektur zu erhöhen. Der Vortrag wird anhand von Beispielen demonstrieren wie der hier angedeutete Modernisierungsprozess umgesetzt werden kann.

    Mehr lesen

    Microservices mit Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff Berlin Expert Days 2015

    Microservices stellen Entwickler vor neue Herausforderungen. Der Spring-Stack hält zwei Lösungen bereit: Spring Boot zur Implementierung des Microservice und Spring Cloud für den Aufbau der notwendigen Infrastruktur.

    Dieser Vortrag zeigt, wie die beiden Technologien praktisch funktionieren und Microservices-Architekturen mit diesem Ansatz implementiert werden können.

    Mehr lesen
  • ANALYZE: So finden Sie die Probleme Ihrer Software

    Vortrag Gernot Starke Software Architecture Summit 2015

    Zu Beginn jeder systematischen Verbesserung Ihrer Systeme sollten Sie einen Überblick über deren Problemzonen haben (die oftmals über banale Code- oder Performanceprobleme hinausgehen).

    Im Workshop stelle ich die typischen Problemzonen mittlerer und großer Softwaresysteme vor und zeige eine Menge Praktiken und Vorgehensweisen, wie Sie solche Probleme in Ihren eigenen Systemen analysieren können. Neben Code, Technologie sowie Architektur bekommen auch Infrastruktur, Daten und Prozesse die ihnen zustehende Aufmerksamkeit.

    Am Ende haben Sie einen pragmatischen Katalog und eine Menge Ansätze, Ihre eigenen Systeme selbständig zu analysieren. Schließlich gehe ich darauf ein, wie Sie mit diesem „Haufen Probleme“ sinnvoll umgehen und darauf eine „evolutionäre Verbesserung“ basieren können.

    Mehr lesen

    Microservices: Architektur für agile Softwareentwicklung

    Vortrag Eberhard Wolff Berlin Expert Days 2015

    Die Aufteilung von Software in kleine Microservices hat viele Vorteile. Diese Services können einzeln in Produktion gebracht werden. So können viel mehr Features parallel entwickelt und ausgeliefert werden - eine ideale Ergänzung zu agiler Software-Entwicklung. Ebenso sind Microservices leichter zu verstehen und zu warten - daher kann die hohe Entwicklungsgeschwindigkeit auch langfristig beibehalten werden. Der Vortrag zeigt, wie Microservices funktionieren und welche Vor- und Nachteile sie mit sich bringen.

    Mehr lesen
  • Microservices: Architecture & Deployment with Docker

    Vortrag Eberhard Wolff Software Architecture Summit 2015

    Microservices improve time-to-market and handle technologies more flexible. Also, Microservices allow a sustainable development pace - even in the long run. This workshop explains the basics of Microservices and shows how to design Microservice architectures.

    • What are Microservices?
    • Advantages and Challenges of Microservices
    • Impact on the organization

    Attendees will also learn to deploy Microservices with Docker. Docker is far more efficient than the usual approaches to virtualization. Microservice environments use large numbers of virtual machines. Therefore, Docker has significant advantages in these environments.

    • What’s Docker?
    • Deploy applications with Docker container
    • Using Docker with Vagrant
    Mehr lesen

    Microservices with Java, Spring and Spring Boot Cloud

    Vortrag Eberhard Wolff Software Architecture Summit 2015

    This workshop shows how to implement Microservices with Java and Spring Boot. Spring Boot simplifies the deployment of Java applications using the Spring framework. It allows to run application without an Application Server and implements novel approaches to operations. Spring Boot is not specific for Microservices - it might as well be used for classic applications.

    • What is Spring Boot?
    • Implementing REST services with Spring Boot
    • Spring Boot with or without Application Servers
    • Operations of Spring Boot applications

    Microservices are distributed systems. The challenges when implementing such systems are completely different from traditional deployment monoliths. Spring Cloud solves these problems by integrating technologies of the Netflix stack - the de-facto standard for the design of Microservice.

    • Spring Cloud: Basic approach
    • Overview of the technologies integrated in Spring Cloud
    • Service Discovery with Eureka
    • Reliability and Resilience with Hystrix
    Mehr lesen
  • Event Sourcing for reactive applications & Event Sourcing: Tales from the hardside

    Vortrag Michael Plöd Microservices Meetup München

    Event Sourcing for reactive applications

    Event Sourcing is an architectural style that is based on data being represented as a sequence (or stream) of events. This enables a very convenient way of storing and retrieving snapshots of data. From the event stream we can derive a highly optimized query model of the data. This aspect is a prominent part of the CQRS-Pattern.

    This talk will introduce Event Sourcing from the ground up and explain popular patterns surrounding the topic. In addition to that I will cover why Event Sourcing is an interesting architecture pattern for reactive applications.

    Event Sourcing: Tales from the hardside

    Event Sourcing might appear easy and straight forward at a first glance. However there are some tough challenges to address in real world projects: “What about parallel updates?”, “Where should I validate my data?”, “How about consistency?” There isn’t an easy catch-all answer to these questions.This talks addresses exactly these demanding challenges and offers ideas and possible solutions for them. In addition to that you will be able to consider advantages and downsides in discussions surrounding advanced Event Sourcing challenges.

    Mehr lesen
  • Berlin Expert Days 2015

    News

    Am 17. und 18. September findet bereits zum fünften Mal die offene Java-Konferenz Berlin Expert Days statt. Das Programm bietet vier parallele Tracks mit Talks unter anderem zu Java, Java EE und Spring, aktuellen Frameworks und Infrastrukturthemen. Mehr lesen
  • Heise Developer Podcast, Episode 49: Architekturanalyse und -bewertung

    Link Stefan Tilkov Heise Developer Podcast

    In dieser Episode spricht Stefan Tilkov mit Carola Lilienthal über Ansätze zur Bewertung von Architekturen. Was bedeutet Analyse und Bewertung von Architekturen, was macht man da eigentlich und welche Aspekte kann man betrachten? Was sind die Ergebnisse und die Folgeaktivitäten? Neben diesen Fragen beschäftigen sich die Podcaster auch mit den zwischenmenschlichen Aspekten, gehen kurz auf formal(er)en Methoden und besprechen, wie man sich als Architekt(in) dem Thema nähern kann.

  • What’s in a Name: Consistency

    Blog-Post Gernot Starke

    The term consistency has several different meanings. This post identifies and clarifies those - especially consistency as synonym for conceptual integrity, one of the most important features for long-lasting software systems.

    Mehr lesen
  • Microservices und Continuous Delivery: Nur zusammen möglich?

    Blog-Post Eberhard Wolff

    Microservices unterteilen große Systeme in kleine Deployment-Einheiten. Dies macht Continuous Delivery wesentlich einfacher. Sind aber Microservices ohne Continuous Delivery möglich? Und ist Continuous Delivery ohne Microservices umsetzbar? Ist die Kombination eher eine Synergie oder macht sie nur alles noch komplizierter?

    Mehr lesen
  • Vier Fragen, die Sie sich bei jedem Webprojekt stellen sollten

    Link Silvia Schreier

    Silvia Schreier erläutert auf JAXenter an Hand von vier Fragen, welche typischen Herausforderungen einem bei der Entwicklung eines zeitgemäßen Webprojektes begegnen.

    Mehr zu diesen Themen gibt es außerdem bei ihrem Vortrag auf der W-JAX zu „REST 2015“.

  • Neue Trainingstermine im Herbst: Microservices-Praxis-Workshop und Skalierbare Webarchitekturen

    News

    Für den Herbst bieten wir Ihnen zwei neue Trainingstermine für Software-Architekten an. In beiden Trainings geht es nicht einfach um Theorie, sondern vor allem um praxisrelevante Themen und deren tatsächlichen Einsatz in Ihrem Arbeitsalltag. Mehr lesen

    Microservices: Smaller Is Better?

    Video Eberhard Wolff

    In this talk from the microXchg conference 2015, Eberhard Wolff discusses the benefits of microservices and some of the advantages of creating smaller services instead of larger ones.

  • Reliable Web Clients

    Blog-Post Tobias Neef

    Microservices can make teams and systems more independent but also more vulnerable to the fallacies of distributed systems. Initially I thought this blog post is going to be about how to build reliable web clients with Akka and Akka Persistence. While this is an interesting topic by itself, I now think it is more crucial to first understand the underlying problems and trade-offs before we learn how to get around them.

    Mehr lesen
  • Bessere Web-Apps mit HTML5-APIs

    Artikel Phillip Ghadir, Simon Kölsch

    Der Begriff HTML5 fasst eine bunte Sammlung aus verfügbaren und geplanten APIs zusammen, auf die im Browser von JavaScript aus zugegriffen werden kann. Einige dieser APIs ermöglichen heute, Anwendungen für den Browser zu realisieren, die vor wenigen Jahren noch Plugins erfordert hätten. Die prominentesten Vertreter sind sicherlich Video oder WebRTC. Zum Beispiel ist heute die Public-Key-Verschlüsselung bereits im Web-Client integrierbar oder das Reagieren auf Sensordaten der Betriebs-Hardware des Browsers möglich. Es folgt eine persönliche Auswahl an etablierten APIs und ein Ausblick auf einige noch recht frische.

    Mehr lesen
  • Anatomy of Microservice Landscapes

    Vortrag Michael Plöd Java User Group Darmstadt

    Building a Microservice is no hard task these days. With current frameworks it is fairly easy to create a self contained application that exposes Services via a RESTful interface. The Challenge for Microservices lies within the overall landscape. How do they interact with each other? How about service lookup? What about resilience? This session adresses the usual building blocks that are needed for Microservice landscapes and gives an overview of suitable open source frameworks in the market.

    Mehr lesen
  • Heise Developer Continuous Architecture Blog, „Continuous Integration widerspricht Feature Branches!”

    Link Eberhard Wolff

    Features Branches sind ein beliebter Ansatz, um die Entwicklung unterschiedlicher Features zu trennen – nur leider widerspricht das dem Ziel von Continuous Integration, ständig alle Änderungen zu integrieren. Was also tun?

    Microservices - Are Your Frameworks Ready?

    Video Alexander Heusingfeld, Martin Eigenbrodt

    In their talk at the MicroXchg conference in February 2015, Alex Heusingfeld and Martin Eigenbrodt discussed some of the challenges creating microservices on JVM stacks with examples using Dropwizard, Spring Cloud and Play2 Scala.

  • Microservice mit Java, Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff Java Forum Stuttgart 2015 Folien verfügbar

    Microservices sind das neue Architekturparadigma, das vor allem schnelle und nachhaltige Software-Entwicklung verspricht. Dieser Vortrag zeigt, was Microservices sind und welche Vorteile und Herausforderungen dieser Ansatz in sich birgt. Als konkrete Technologien für Microservices dient Spring Boot, mit dem die Implementierung von REST-Systemen besonders einfach ist. Spring Cloud schließlich löst viele Herausforderungen - gerade bei komplexen Microservices-Architekturen.

    Mehr lesen
  • Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

    News

    Am 09. Juli treffen sich rund 1.600 Softwareentwickler in Stuttgart, um zahlreichen Talks zu Themen aus dem Java-Umfeld zu lauschen. innoQ ist beim diesjährigen Java Forum Stuttgart mit drei Talks und einem Stand dabei. Mehr lesen
  • Microservices: Awesome, as long as they are neither ‘micro’ nor ‘services’

    Vortrag Stefan Tilkov GOTO Night: Microservices Folien verfügbar

    Microservices - awesome, as long as they are neither ‘micro’ nor ‘services’. The concept of a microservices architecture hit the community with tremendous force, and immediately struck a nerve. But the name is unfortunate – some of the connotations it carries are not at all necessary to reap the benefits of this approach. In this talk, we will discuss the forces that are independent from the size and the kind of interface offered, and see how they can be applied to various different scenarios.

    Mehr lesen
  • Apache Cassandra

    Artikel Marc Jansing, Phillip Ghadir

    In dieser Kolumne stellen wir Cassandra vor und zeigen, warum die Datenbank quasi beliebig skaliert und höchst performant ist. Cassandra wirkt für Kenner von relationalen Datenbanken auf den ersten Blick recht vertraut, weil hier auch von Tabellen und Spalten die Rede ist und die Abfragen einfachen SQL-Abfragen ähnlich sehen. Dennoch unterscheidet sich Cassandra konzeptionell von relationalen Datenbank-Management-Systemen (RDBMS).

    Mehr lesen
  • Heise Developer Continuous Architecture Blog, „Microservices: Architektur oder Organisation?”

    Link Eberhard Wolff

    Architektur und Organisation sind eigentlich zwei getrennte Bereiche. Microservices haben das Gesetz von Conway wieder entdeckt – und ziehen daraus interessante Konsequenzen. Was bedeutet es, wenn Architektur und Organisation eigentlich dasselbe sind?

  • Don’t start with a monolith

    Link Stefan Tilkov

    In an article published on martinfowler.com, Stefan Tilkov argues that starting with a monolith when your goal is a microservices architecture is typically the wrong thing to do.

  • Schluss mit Verschlimmbesserung: Software-Evolution, aber richtig

    Vortrag Gernot Starke Dev Day 2015

    In diesem Talk erfahren Sie, worauf es bei Evolution, Wartung und Änderung von Software wirklich ankommt. Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen bestehender Systeme - und genau diesen Teil ignoriert die klassische IT-Ausbildung. Ich zeige einen pragmatischen und systematischen Lösungsweg aus diesem Dilemma - und verspreche Ihnen Bausteinen wesentlicher Lösungsansätze:

    • So finden Sie die schlimmsten Probleme
    • So überzeugen Sie Ihr Management von Umbaumaßnahmen
    • So gehen Sie kurz-, mittel- und langfristig Verbesserungs- und Evolutionsprojekte an
    Mehr lesen
  • What’s in a Name: Reactive

    Blog-Post Gernot Starke

    The term reactivity is overloaded with several different meanings. This post tries to identify and clarify a few of them…

    Mehr lesen
  • Event Sourcing and CQRS

    Vortrag Oliver Wolf Microservices Meetup Berlin

    The CQRS (Command-Query Responsibility Segregation) pattern is a thought-provoking way to look at the architecture of modern application systems and provides a way to put an end to some established and rarely challenged assumptions that have been guiding our architectural decisions for decades. In this session, I’m going to introduce the basic idea behind CQRS and demonstrate how the pattern can be applied to applications as a sequence of smaller steps.

    Mehr lesen
  • Know your Enemies – Problembewusstsein als Grundlage von Änderungs- und Evolutionsprojekten

    Vortrag Gernot Starke JAX 2015 Folien verfügbar

    Die meiste Zeit verbringen wir in der Softwareentwicklung mit Änderung oder Verbesserung bestehender Systeme - dabei ist es besonders wichtig, an den richtigen Stellen zu ändern (und nicht willkürlich die bekannten Refactoring-Patterns anzuwenden). Ich zeige auf, wie Sie systematisch die aus langfristiger und ökonomischer Sicht schlimmsten Probleme in Ihren Softwaresystemen und -architekturen finden können - und wie Sie dann deren Lösung angehen können. Dabei spannen wir den Bogen von der Analyse der beteiligten Stakeholder und externen Schnittstellen über verschiedene Ansätze der (quantitativen) Code- und (qualitativen) Architekturanalyse bis hin zu fortgeschrittenen Themen wie Datenanalyse, Prozessanalyse oder Kontextanalyse. Anhand realer Probleme aus mittleren und großen Projekten zeige ich auf, dass die “Feinde” manchmal an überraschenden Stellen lauern.

    Mehr lesen
  • arc42-Realitycheck

    Vortrag Gernot Starke JAX 2015 Folien verfügbar

    Seit über zehn Jahren gibt es arc42 - die pragmatische Vorlage/Arbeitshilfe für Architekturdokumentation. Im Vortrag stelle ich diverse Optionen für den Praxiseinsatzvon arc42 vor - von Werkzeugen bis hin zur Organisation von Dokumentation im Projekt. Anhand von Beispielen zeige ich auf, wie Architektur- und Codedokumentationzusammenspielen und wie wir eine pragmatische und nützliche (technische) Projektdokumentation aufsetzen können. Insbesondere sehen Sie textbasierte (AsciiDoc-)Dokumentation im Zusammenspiel mit Modellierungswerkzeugen wie Enterprise Architect und Visual Paradigm im Einsatz - und wie das zusammen mit git auch entwicklerfreundlich funktioniert.

    Gerne dürfen Sie mir (dem Sprecher) im Vorfeld Ihre konkreten Fragen zu Architekturdokumentation und arc42 zukommen lassen. Im Vortrag werde ich möglichst viele davon beantworten.

    Mehr lesen
  • Microservices mit Clojure

    Vortrag Philipp Schirmacher, Silvia Schreier JAX 2015 Folien verfügbar

    Microservices zeichnen sich insbesondere durch ihre Eigenständigkeit aus: Die Services sind so lose gekoppelt wie möglich. Damit bietet eine Microservices-Architektur den idealen Rahmen für den Einsatz unterschiedlicher Technologien, die jeweils genau zum zu lösenden Problem und dem Skillset der Entwickler passen. In einem solchen Umfeld lassen sich die Vorteile einer modernen Sprache wie Clojure voll ausnutzen: Knapper und präziser Code, Parallelverarbeitung und direkter Support für asynchrone Programmierung.

    Microservices stellen jedoch auch besondere Herausforderungen: Wie lassen sich neue Projekte ohne viel Overhead aufsetzen? Wie können Services miteinander kommunizieren? Wie schütze ich meinen Service, wenn ein anderer Service ausfällt? Und wenn ich einen Service gebaut habe: Wie bringe ich ihn in Produktion und gestalte das Monitoring?

    In dieser Session führen wir die Teilnehmer Schritt für Schritt an Clojure heran und zeigen am Beispiel, mit welchen Clojure-Bibliotheken sich die genannten Herausforderungen elegant lösen lassen.

    Mehr lesen
  • Twelve-Factor App: Web-Applikationen auf die neue Art

    Podcast Michael Vitz, Stefan Tilkov

    Michael Vitz und Stefan Tilkov sprechen in dieser Folge über die Twelve-Factor App, eine Entwicklungsmethode für skalierbare Web-Applikationen in der Cloud. Michael erklärt zunächst, welche Ziele hinter dieser Methode stehen und erläutert dann die 12 Faktoren im Detail. Außerdem diskutieren Stefan und Michael über Vor- und Nachteile der Twelve-Factor App und beleuchten Gemeinsamkeiten und Unterschiede zu Microservices. Mehr lesen
  • Why You Should Avoid a Canonical Data Model

    Blog-Post Stefan Tilkov

    As an enterprise architect, you might be tempted to strive for a canonical data model for your systems’ interfaces. That’s not a good idea.

    Mehr lesen
  • Self-Contained Systems

    Link Roman Stranghöner Speakerdeck

    Ein handliches Infodeck, das die Vorzüge einer Architektur aus Self-Contained Systems erläutert und diese mit einem monolithischen Ansatz vergleicht.

    Self-Contained Systems

    Link Roman Stranghöner Speakerdeck

    An infodeck comparing a monolith to a self-contained systems (SCS) approach.

  • Nanoservices und Microservices mit Java

    Vortrag Eberhard Wolff JavaLand 2016

    Es geht kleiner als Microservices: Nanoservices gehen zwar technologische Kompromisse ein, haben dafür aber auch einige entscheidende Vorteile gegenüber Microservices. Dieser Vortrag gibt einen Überblick über Microservice-Techniken wie Spring Cloud oder Spring Boot - und Java-Nanoservice-Ansätze wie Java EE, OSGi und Amazon Lambda.

    Mehr lesen
  • Interview zum Thema Microservices mit Clojure

    Link Silvia Schreier, Philipp Schirmacher

    Unsere Kollegen Silvia Schreier und Philipp Schirmacher wurden zum Thema „Microservices mit Clojure” interviewt. Bei der kommenden JAX 2015 im April werden die beiden zu diesem Thema einen Vortrag halten, der die Teilnehmer Schritt für Schritt an Clojure heran führt.

  • Microservices - Are your Frameworks ready?

    Vortrag Alexander Heusingfeld, Martin Eigenbrodt microXchg 2015 - The Microservices Conference Folien verfügbar

    The term “MicroServices” has become a marketing buzzword filled with a variety of different meanings. This actually not-so-new service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts but it also comes with a lot of new challenges which developers didn’t find themselves faced with before. In this session we’d like to highlight those challenges that arise in practice and take a look at how different JVM-based application development stacks try to tackle them. We will identify gaps and discuss whether its reasonable at all to expect your framework to bridge them. Examples shown will include Dropwizard, Spring Cloud and Play2 Scala.

    Mehr lesen
  • Microservices: Architektur und Entwicklung

    Vortrag Eberhard Wolff OOP 2016 – Software meets Business

    Microservices: Architektur und Entwicklung

    Vortrag Eberhard Wolff OOP 2016 – Software meets Business

  • Micro Services on the JVM – a practical overview

    Vortrag Alexander Heusingfeld, Martin Eigenbrodt OOP 2015 - Software meets Business Folien verfügbar

    There is a lot of buzz going on about micro services. Though actually not-so-new this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts. In this session we‘d like to show different implementations of MicroServices on the JVM and their individual benefits. We‘ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. The attendees will get an idea of how to get started with Micro Services and how to slice a „monolithic idea“ into vertical services.

    You will:

    1. get an idea of how to get started with Micro Services
    2. get tips on how to slice a “monolithic app” into vertical services
    3. Learn about typical gotchas in systems of systems

    This session is an extension of our JavaOne 2014 talk which used an example application to showcase a typical monolithic architecture. As simple as this scenario is, it holds types of use cases which can be found in a majority of real world applications. It was sliced into different vertical applications each implemented with a different JVM technology.

    With this session businesses and developers will gain a greater overview of the micro service concept and will be able to compare it to their established approaches. By keeping services small and self-contained, the concept of micro services enables companies to improve their architecture e.g. by replacing services/ applications faster.

    Mehr lesen
  • Logging konsolidieren und Performance gewinnen

    Artikel Stefan Bodewig, Phillip Ghadir

    Apache Log4j 2.0 ist eine Neuimplementierung von Log4j zeichnet sich vor allem durch einen höheren Durchsatz – dank asynchronem I/O – aus. Die Neuerungen des Frameworks machen Lust darauf, Log4j2 einzusetzen. Da drängt sich die Frage auf, wie die Vorzüge von Log4j2 in einem System genutzt werden können, wenn Teile noch Log4J 1, commons-logging oder Ähnliches verwenden.

    Mehr lesen

    Mikroservices mit Erlang/OTP

    Vortrag Christoph Iserlohn BOB Konferenz 2015 Folien verfügbar

    Mikroservice-Architekuren sind zur Zeit in aller Munde. Und obwohl es noch nicht einmal eine allgemein akzeptierte Definition davon gibt, was eine Mikroservice-Architektur eigentlich genau ist, haben sich in der Praxis eine Reihe von Merkmalen und Prinzipien herausgebildet, die typisch dafür sind, wenn von einer Mikroservice-Architektur gesprochen wird.

    Erlang/OTP ist eine Plattform, bestehend aus der funktionalen Sprache Erlang und der Middelware OTP, für die Entwicklung von verteilten und hochverfügbaren Systemen, die ursprünglich aus dem Telekommunkationsbereich stammt. Viele der Prinzipien von Mikroservice-Architekturen finden sich in Erlang/OTP wieder, was Erlang/OTP zu einen herausragenden Kandidaten für die Implementierung von Mikroservices macht.

    Dieser Talk gibt zunächst einen Überblick über die Prinzipien von Mikroservice-Architekturen, und stellt den Nutzen und die Herausforderungen dar, die mit der Realisierungen derselbigen einhergehen. Danach wird die Erlang/OTP Plattform vorgestellt, aufgezeigt welche Prinzipien von Mikroservice-Architekturen sich dort wiederfinden und dargelegt wie mit Erlang/OTP Mikroservices entwickelt werden können.

    Mehr lesen
  • microxchg 2015 - Die Microservices Konferenz in Berlin mit innoQ-Beteiligung

    News

    Am 12. und 13. Februar 2015 findet mit der microXchg die erste Microservices-Konferenz in Berlin statt. Microservices stehen für ein neues Architektur-Paradigma: An die Stelle großer Anwendungen treten kleine Dienste. So werden monolithische Architekturen abgelöst und es entstehen leicht änderbare und skalierbare Systeme. Mehr lesen
  • Scalable Software Systems

    Artikel Oliver Tigges

    Scalability has long been one of the hallmarks of quality IT systems. When we hear this term we usually associate it with an upward scalability of the system. Generally, it seems to be about how much more throughput and load our system can sustain through additonal RAM, CPU or extra machines. Often, however, downwards scalability is just as interesting, that is, the behaviour of the system when only very few resources are available. Such flexibility is very useful, for instance, if a complex system has to go through a variety of differently sized development, test and acceptance environments before it is provisioned in the live system.

    Mehr lesen
  • Fun Stories from an Architect’s Life

    Vortrag Stefan Tilkov BUILD STUFF Folien verfügbar

    In this session, I will talk about entertaining examples of architectural disasters in software projects. We will see how excellent ideas can turn into nightmares, how one can slowly but thoroughly introduce incredible complexity, and how a merge between organizational and technical failures can grind productivity to a halt. Names and irrelevant details have been changed to protect the somewhat innocent, but everything is based on actual things I had to experience – and sometimes helped create – in the real world.

    Mehr lesen
  • Kanonische Architektur-Evolution

    Artikel Phillip Ghadir, Dr.-Ing. Daniel Lübke

    Mit dem Entwurf der Softwarearchitektur wollen wir noch vor der Umsetzung die Tragfähigkeit der Software sicherstellen. Wie gut wir die Trägfähigkeit einschätzen können, hängt neben Erfahrungswerten und Kenntnis der eingesetzten Technologien auch davon ab, wie konsistent wir unsere Konzepte tatsächlich implementieren.

    Wir brauchen also mehr als bloße Wunschvorstellungen über das System; wir benötigen Mechanismen für die konsequente Umsetzung der funktionalen und qualitativen Eigenschaften des Systems.

    Mehr lesen
  • Microservices on the JVM - a practical overview

    Vortrag Alexander Heusingfeld, Martin Eigenbrodt Devoxx 2014 Folien verfügbar

    There is a lot of chatting going on about the new cool kid on the block - microservices. Though the ideas are actually not that new, this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts. Unfortunately it seems that many developers get lost in the buzzwords due to a lack of concrete practical examples.

    In this session we’d like to show different implementations of microservices on the JVM and their individual benefits. We’ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. Doing this the attendees will get an idea of how to get started with microservices, how to slice a “monolithic idea” into vertical services and what the benefits are.

    Mehr lesen
  • Neo4j Data Modeling

    Vortrag Silvia Schreier, Oliver Tigges, Michael Hunger GOTO Berlin 2014

    How do I start with Neo4j? What is Cypher? Are graph databases only suitable for graph-based domains like social networks? Or can I use it reasonably in enterprise projects? How do I transform my domain into a graph model?

    This tutorial will answer these questions with a mixture of theory and hands-on practice sessions. Attendees will quickly learn how easy it is to develop a Neo4j-backed application.

    Attendees won’t need any previous experience with Neo4j, NOSQL databases or specific development languages, but will need their own laptop.

    Mehr lesen
  • Micro Services on the JVM - a practical overview

    Vortrag Martin Eigenbrodt, Alexander Heusingfeld JavaOne 2014 Folien verfügbar

    There is a lot of chatting going on about the new cool kid on the block - micro services. Though actually not-so-new this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts which are often found in real-life businesses. Unfortunately it seems that many developers get lost on the way due to a lack of concrete practical examples.

    In this session we’d like to show different implementations of MicroServices on the JVM and their individual benefits. We’ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. Doing this the attendees will get an idea of how to get started with Micro Services, how to slice a “monolithic idea” into vertical services and what the benefits are.

    Link to JavaOne CON4952 talk

    Mehr lesen
  • Vorsicht: Schuldenfalle — Was die IT aus der Finanzwelt lernen kann

    Vortrag Tammo van Lessen, Jörg Nitzsche Herbstcampus 2014

    Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein “das fixen wir später” hier, “die Dokumentation ziehen wir nach der Abnahme nach” dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt.

    Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten.

    In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

    Zielgruppe: Entwickler, Architekten, Projektleiter

    Mehr lesen
  • Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

    Artikel Arne Landwehr, Holger Kraus

    Sicherungen wurden ursprünglich eingeführt, um die Eskalation einer Situation zu verhindern. Wenn Ihnen ab und zu die Sicherung durchbrennt, ist das deshalb durchaus zu begrüßen, jedenfalls wenn es sich dabei um einen Circuit-Breaker im Sinne von Hystrix handelt. In diesem Artikel möchten wir Ihnen Hystrix vorstellen, eine Bibliothek, die ihnen dabei hilft, die Stabilität ihrer verteilten Anwendung zu verbessern und kaskadierende Fehlerszenarien zu verhindern.

    Mehr lesen

    Methodical Improvement of Software Systems and Architectures: The aim42 approach

    Vortrag Gernot Starke European Conference on Software Architecture (ECSA) 2014 Folien verfügbar

    The presentation outlines AIM42, the architecture-improvement-method, a systematic yet pragmatic approach to improve productive systems. AIM42 relies on a small number of domain concepts and works in three phases (analysis, evaluation, improvement) supported by crosscutting activities. For each phase, AIM42 proposes a number of proven and established practices and patterns. The method addresses both business and technical stakeholders of software systems. aim is developed by an active community in open-source style, backed by extensive industrial experience and scientific research. It has proven to work under time- and budget constraints in various industries.

    Mehr lesen
  • Software Improvement – Done Right

    Vortrag Gernot Starke, Alexander Heusingfeld European Conference on Software Architecture (ECSA) 2014 Folien verfügbar

    Greenfield development is a rare luxury in the software world. Usually developers and software architects have to enhance, modify or repair existing systems. The emphasis of changes lies on additional features, instead of architectural, structural or conceptual improvement – often resulting from restricted budgets and severe timing constraints.

    This tutorial helps you out of this maintenance dilemma – by showing how to:

    • identify important and valuable improvement opportunities within your system,
    • convince management that architectural evolution is neccessary – and which benefits and risks to expect,
    • find appropriate solution approaches to technical problems and risks,
    • maintain conceptual integrity of your system over its complete lifetime – keeping understandability high and maintenance costs an adequate ranges.

    We introduce aim42 – the (open source) methodical approach to systematic architecture improvement.

    aim42 relies on a few clear domain concepts and works iteratively in three phases (analyze, evaluate, improve) supported by crosscutting activities. For each phase, In the tutorial, you experience many of the proven and established practices and patterns contained in aim42. We explain how to addresses both business and technical stakeholders of your system.

    By participating, you enhance your own methodical toolset by various practices to identify problems and issues, evaluate those in economical terms and find technical and structural remedies for improvement.

    All our content is backed by intensive experience. We cover detailed examples from various domains and projects, and provide practical tipps on how to improve your own systems.

    Mehr lesen
  • Software ändern, aber richtig - mit AIM42

    Vortrag Alexander Heusingfeld JUG Dortmund Sommerfest Folien verfügbar

    Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen an bestehenden Systemen - genau dieser Teil kommt in der klassischen Ausbildung aber praktisch nicht vor. In diesem Lightning-Talk sprechen wir über Software-Änderungen, welche Ursachen sie haben, wo es häufig zu Meinungsverschiedenheiten bzgl. Prioritäten zwischen Entwicklung und Fachabteilung kommt und zeigen wie aim42 mit Hilfe von Mustern und methodischen Bausteinen diese Schwierigkeiten überbrücken helfen kann.

    http://www.jugdo.de/2014/08/08/sommer-event-programm/

    Mehr lesen
  • Skalierbare Softwaresysteme

    Artikel Oliver Tigges

    Skalierbarkeit ist eines der klassischen Qualitätsmerkmale von IT-Systemen. Wenn wir diesen Begriff hören, denken wir üblicherweise sofort an die Skalierung des Systems “nach oben”. Es scheint also meistens darum zu gehen, inwieweit unser System durch das Hinzufügen von mehr RAM, CPU oder zusätzlichen Maschinen auch entsprechend mehr Durchsatz erreicht oder mehr Last vertragen kann. Oft ist aber auch die Skalierbarkeit “nach unten” interessant, also die Lauffähigkeit des Systems bei sehr wenig verfügbaren Ressourcen. Eine solche Flexibilität ist zum Beispiel sehr hilfreich, wenn ein komplexes System automatisiert durch viele unterschiedlich dimensionierte Entwicklungs-, Test- und Abnahmeumgebungen wandern muss, bevor es in der Produktivumgebung ankommt.

    Mehr lesen
  • „It’s not rocket science“, aber ganz nah dran

    Vortrag Alexander Heusingfeld JAX 2014

    Java EE: Kaum ein anderes Framework schafft es dermaßen gut, vorhandene Komplexität hinter einfachen Spezifikationen und APIs zu verstecken. Was in der Theorie der Lehrbücher und in einfachen Beispielen problemlos funktioniert, führt in der Praxis allerdings nicht selten zu nicht brauchbaren und wenig performanten Architekturen - von Skalierung ganz zu schweigen. Wo liegt das Problem? Enterprise-Computing-Projekte haben ihre eigenen Herausforderungen und Gesetze, denen man leider nur selten mit 08/15-Lösungen Herr werden kann. Der Teufel steckt wie immer im (Praxis-)Detail und es gilt aus den Erfahrungen anderer zu lernen, um nicht jeden Fehler selber machen zu müssen. Die anwesenden Java-EE-Experten zeigen in dieser Session klassische Pitfalls und Anti-Pattern aus ihrem Praxisalltag auf, die in der Theorie zwar gute Lösungen zu sein scheinen, in der Praxis aber ins Chaos führen – Alternativen inklusive. Lassen sie sich überraschen und stellen sie sich auf den einen oder anderen Aha-Effekt ein!

    Mehr lesen

    Architektur 201x: Neue Konzepte für die Architektur komplexer Systeme

    Vortrag Philipp Schirmacher, Robert Reimann, Phillip Ghadir, Tobias Neef JAX 2014

    Während im Enterprise-Umfeld Systeme häufig immer noch nach denselben Mustern entworfen werden wie vor zehn oder fünfzehn Jahren, haben sich die Dinge in den immer größer werdenden Internetplattformen, -diensten und Anwendungen der bekannten Internetanbieter dramatisch weiterentwickelt. In diesem Vortrag diskutieren wir, wie wir nach Mustern aus diesem Umfeld und mit der Maxime “weniger ist mehr” kleinere Systeme sehr viel effizienter entwickeln und diese dann zu großen Systemlandschaften zusammensetzen können.

    Mehr lesen
  • Vorsicht Schuldenfalle — was die IT aus der Finanzwelt lernen kann

    Vortrag Tammo van Lessen, Jörg Nitzsche JAX 2014 Folien verfügbar

    Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein “das fixen wir später” hier, “die Dokumentation ziehen wir nach der Abnahme nach” dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt.

    Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten. Das gilt für traditionelle Softwareprojekte gleichermaßen wie für SOA- und BPM-Projekte.

    In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

    Mehr lesen
  • Neue Wege mit CQRS

    Vortrag Oliver Wolf BEDcon 2014 Folien verfügbar

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

    In diesem Vortrag stelle ich die Idee hinter CQRS vor, zeige, wie das Pattern Schritt für Schritt auf “klassische” Unternehmensanwendungen angewendet werden kann und erkläre, wann es sinnvoll ist und wann nicht.

    Mehr lesen
  • Domain-Driven Design in Clojure

    Artikel Phillip Ghadir, Philipp Schirmacher

    In diesem Artikel setzen wir die Prinzipien des Domain-Driven Designs mit Clojure um. Wir stellen die Domäne Rating als Beispiel vor und demonstrieren strategisches sowie taktisches DDD. Wir zeigen, wie sich das Domänenmodell in Clojure implementieren lässt.

    Mehr lesen

    Grid-Computing

    Podcast Thomas Kentemich, Till Schulte-Coerne

    Thomas Kentemich unterhält sich mit Till Schulte-Coerne über das Thema Grid-Computing. Ein Grid ist ein verteiltes System, das intensive Berechnungen auf einem virtuellen Supercomputer aus lose gekoppelten Einzelsystemen löst. Die Ressourcen in einem Grid werden von den Nutzern gemeinschaftlich und transparent genutzt. Mehr lesen
  • Vorsicht Schuldenfalle — was die IT aus der Finanzwelt lernen kann

    Vortrag Tammo van Lessen, Jörg Nitzsche BPM Integration Days 2014

    Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein “das fixen wir später” hier, “die Dokumentation ziehen wir nach der Abnahme nach” dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt.

    Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten. Das gilt für traditionelle Softwareprojekte gleichermaßen wie für SOA- und BPM-Projekte.

    In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

    Mehr lesen

    Terravis — Large Scale Business Integration und das Schweizer Grundbuch

    Vortrag Dr.-Ing. Daniel Lübke, Tammo van Lessen, Walter Berli BPM Integration Days 2014

    Geschäftsprozesse werden heutzutage vielmals unternehmensintern im Rahmen von BPM-Initiativen oder Projekten mit Business Process Management Systemen, u.a. auf der Basis von BPEL oder BPMN, automatisiert und eingeführt. Viele Wertschöpfungsketten erstrecken sich jedoch über mehrere Firmen, Unternehmen und sogar staatliche Stellen. Geschäftsprozessintegration kann hierbei jeweils bilateral erfolgen oder aber über eine zentrale Integrationsplattform, um möglichst standardisiert und somit effizienter Geschäftsprozesse ausführen zu können.

    Im Rahmen des Projektes Terravis entsteht eine schweizweite Plattform für elektronische Geschäfte zwischen Grundbuchämtern, Banken, Notaren und Handelsregistern, die im Endausbau bis zu 1000 Umsysteme miteinander verbinden und die die Prozesse mit den Beteiligten koordinieren wird. Da wir glauben, dass solche Projekte in Zukunft in der einen oder anderen Facette häufiger vorkommen werden, stellen wir in diesem Vortrag die Architektur für solche Projekte, der Software und der Prozesse vor. Ebenso berichten wir über die von uns gemachten Erfahrungen, die nötig sind, um in einem solchen Projekt bestehen zu können.

    Mehr lesen
  • Architektur 201x: Neue Konzepte für die Architektur komplexer Systeme

    Vortrag Stefan Tilkov OOP 2014 Folien verfügbar

    Während im Enterprise-Umfeld Systeme häufig immer noch nach den selben Mustern entworfen werden wie vor 10 oder 15 Jahren, haben sich die Dinge in den immer größer werdenden Internet-Plattformen, -Diensten und Anwendungen der großen Internet-Anbieter dramatisch weiterentwickelt. Dazu zählen vor allem die Konzepte zu Modularisierung in viele einzelne, voneinander weitgehend unabhängige Systeme, der deutlich flexiblere und tolerantere Umgang mit verschiedenen Programmiersprachen und Frameworks und passende Entwicklungs- und Deployment-Strategien, die weniger eine gemeinsame technologische Implementierungsbasis, sondern eher gemeinsame Schnittstellen voraussetzen.

    In diesem Vortrag diskutieren wir, wie wir nach der Maxime “weniger ist mehr” kleinere Systeme deutlich effizienter entwickeln und diese zu großen Systemlandschaften zusammensetzen können, ohne uns von einzelnen Technologieplattformen abhängig zu machen.

    Dass solche Systemlandschaften dann auch noch rein zufällig perfekt mit modernen Cloud-Ansätzen zusammenspielen, versteht sich – aus Gründen der Buzzword-Kompatibilität – fast von selbst.

    Mehr lesen
  • Neue Wege mit CQRS

    Vortrag Oliver Wolf OOP 2014

    Das CQRS-Pattern (Command-Query Responsibility Segregation) eröffnet einen neuen Blick auf die Architektur zeitgemäßer Informationssysteme und stellt zahlreiche Annahmen in Frage, die wir als Softwarearchitekten allzu oft als gegeben hinnehmen und die seit Jahrzehnten viele unserer Architekturentscheidungen bestimmen. In diesem Vortrag stelle ich die Idee hinter CQRS vor, zeige, wie das Pattern Schritt für Schritt auf “klassische” Unternehmensanwendungen angewendet werden kann und erkläre, wann es sinnvoll ist und wann nicht.

    Mehr lesen
  • Enterprise Application Integration War Stories

    Vortrag Alexander Heusingfeld, Martin Huber OOP 2014 Folien verfügbar

    In den heutigen heterogenen Systemlandschaften stehen Entwickler und Architekten häufig vor komplexen Herausforderungen, wenn es um die Integration von Anwendungen geht. Über die Zeit entstehen so durch wechselnde Anforderungen häufig Moloch-ähnliche Systeme, die eng an die angebundenen Schnittstellen gekoppelt und kaum noch wartbar sind.

    In diesem Talk erklären wir, was “Enterprise Integration Patterns” sind und zeigen Beispiele aus der Praxis, welche durch den Einsatz der Pattern verbessert werden konnten.

    Mehr lesen
  • Graphdatenbanken

    Podcast Oliver Tigges, Stefan Tilkov

    In der zehnten Folge unseres Podcasts spricht Oliver Tigges mit Stefan Tilkov über Graphdatenbanken, eine Unterklasse der NoSQL-Datenbanken. Oliver erklärt welche Eigenschaften graphbasierte Datenbanken haben und beschreibt Szenarien in denen ihr Einsatz gegenüber dem Einsatz von "klassischen" relationalen Datenbanken sinnvoll erscheint. Mehr lesen
  • CQRS for Great Good

    Vortrag Oliver Wolf Devoxx Folien verfügbar

    The CQRS (Command-Query Responsibility Segregation) pattern is a thought provoking way to look at the architecture of modern application systems and provides a way to put an end to some established and rarely challenged assumptions that have been guiding our architectural decisions for decades. In this session, I’m going to introduce the basic idea behind CQRS and demonstrate how the pattern can be applied to applications as a sequence of smaller steps. I’ll end up with an Event Sourcing architecture and close the session with some guidelines on when and where to apply the pattern.

    Mehr lesen
  • Versionsmanagement auf dem Tanker

    Artikel Andreas Krüger

    In verschiedenen großen Projekten mit festen Releasezyklen hat der Autor bestimmte Situationen ganz ähnlich mehrfach erlebt. Dieser Artikel berichtet von typischen Herausforderungen aus Versionsmanagement-Sicht, die sich in solchen Situationen ergeben und von praxiserprobten Möglichkeiten, sie zu meistern.

    Mehr lesen
  • Web Development: You’re Doing it Wrong

    Vortrag Stefan Tilkov GOTO Berlin Conference 2013

    Even without any sort of programming framework with lots of abstraction layers and fancy tooling, the Web platform is one of the most powerful environments for distributed and collaborative systems. If, that is, we actually /use/ it instead of continuously /abusing/ it through trying to turn it into something it’s not. In this session, we’ll challenge many commonly-held assumptions about how to best develop web applications. Even though we’ll briefly touch the REST architectural style, most of the time will be spent discussing the strengths and ideal roles for HTML, CSS, JavaScript and their connection to the Web’s core standards, HTTP and URIs. We’ll see how a focus on simplicity and moderate use of technologies can lead to great applications that integrate well, scale well, are fun to develop, and are maintainable in the long run.

    Mehr lesen
  • Enterprise Integration Patterns with Java EE (CON7969)

    Vortrag Alexander Heusingfeld JavaOne 2013 Folien verfügbar

    In today’s heterogeneous system/application environments, enterprise developers and architects are often faced with complex integration challenges that often result in Moloch-like code. This session introduces common patterns for enterprise application integration (EAI) that can easily be used to integrate Java EE applications into heterogeneous system environments. Learn how to face the challenges of small and medium businesses by leveraging the benefits of Java EE APIs and see different implementations with Apache Camel and Spring Integration.

    An order management application of a logistics service provider that implements multiple interfaces of heterogeneous business partner systems serves as an example.

    Mehr lesen
  • Large Scale Business Process Integration

    Artikel Dr.-Ing. Daniel Lübke, Tammo van Lessen, Walter Berli, Werner Möckli

    Geschäftsprozesse werden heutzutage vielmals unternehmensintern im Rahmen von BPM-Initiativen oder Projekten mit Geschäftsprozessmanagementsystemen, unter anderem auf der Basis von BPEL oder BPMN, automatisiert und eingeführt. Im Rahmen des Projekts Terravis entsteht eine schweizweite Plattform für elektronische Geschäfte zwischen Grundbuchämtern, Banken, Notaren und Handelsregistern, die im Endausbau bis zu 1 000 Umsysteme miteinander verbinden und die Prozesse mit den Beteiligten koordinieren wird. Da wir glauben, dass solche Projekte in Zukunft in der einen oder anderen Facette häufiger vorkommen werden, stellen wir in diesem Artikel die Architektur für solche Projekte vor und berichten über unsere Erfahrungen.

    Mehr lesen
  • CSS-Architektur

    Podcast Roman Stranghöner, Falk Hoppe, Stefan Tilkov

    Falk Hoppe und Roman Stranghöner sprechen mit Stefan Tilkov über die Architekturaspekte von CSS. Mehr lesen
  • Architekturdokumentation

    Podcast Gernot Starke, Stefan Tilkov

    Gernot Starke und Stefan Tilkov unterhalten sich darüber, ob und wozu man Architekturen dokumentieren sollte, welche Mittel es dazu gibt und wie das auch zu Projekten passt, die Sinn haben. Mehr lesen
  • Early-Design Reviews

    Artikel Phillip Ghadir

    Sie erfahren in diesem Whitepaper, wie Kunden der innoQ in unterschiedlichen Projektphasen von der Umsetzungs- und Architektur-Expertise von innoQ profitiert haben. Sie lernen die notwendigen Voraussetzungen für erfolgreiche Review-Projekte kennen.

    Mehr lesen
  • Die Parallelisierung von Anwendungen als Architekturaufgabe

    Vortrag Tobias Neef parallel 2013 Folien verfügbar

    In den letzten Jahren wurden neuartige Techniken entwickelt, um bessere Abstraktionen für die Parallelisierung von Programmen bereitzustellen. Um parallele, skalierbare Systeme außerhalb von Spezialanwendungen zu entwickeln, ist es jedoch nicht ausreichend, auf einzelne Techniken zu setzen. Dieser Vortrag zeigt anhand der Plattform Akka, dass die Parallelisierung eines Systems eine Aufgabe der Architekturentwicklung ist, in der die Anwendungsanforderungen auf die individuellen Stärken bestehender Techniken abzubilden sind.

    Mehr lesen
  • Architekturkonzepte für große Webanwendungen

    Vortrag Stefan Tilkov OOP 2013

    “Früher hatten Unternehmen Websites, heute sind sie Websites” - auch wenn dieses Bonmot nicht immer zutrifft, ist doch klar, dass Webanwendungen immer wichtiger werden, ob nun für den externen oder internen Gebrauch. In dieser Session befassen wir uns mit Entwicklungs-, Modularisierungs-, Betriebs- und Organisationskonzepten großer Web-Systeme. Wir betrachten die Rolle verschiedener Frontend- und Backend-Technologien und adressieren Fragen nach Ergonomie, Skalierbarkeit, Performance, aber auch Nachhaltigkeit und Investitionsschutz.

    Sie lernen:

    • Große Web-Anwendungen beherrschen, sowohl im öffentlichen Web wie auch unternehmensintern

    • Einheitliches Look & Feel trotz Modularisierung und Dekomposition

    • Technische Herausforderungen verstehen und adressieren können

    Mehr lesen
  • ROCA: Resource-oriented Client Architecture

    Vortrag Stefan Tilkov, Till Schulte-Coerne W-JAX 2012

    Eingezwängt zwischen statusbehafteten Komponenten-Server-Frameworks auf der einen und Single-Page-Apps auf der anderen Seite könnte man meinen, die klassische Architektur von Webanwendungen hätte ausgedient. Das stimmt jedoch keineswegs: Schöpft man das Potenzial des Webs vernünftig aus, so stellt man fest, dass es gerade ohne ein Verbiegen der Grundprinzipien möglich ist, skalierbare und ergonomische Anwendungen zu entwickeln. ROCA (Resource-oriented Client Architecture) ist der Name für einen Ansatz, der diesem Muster folgt und sich vor allem durch den richtigen Einsatz von JavaScript sowie die Einhaltung von REST-Prinzipien auszeichnet.

    Mehr lesen
  • Softwarearchitektur im Großen

    Vortrag Phillip Ghadir, Stefan Tilkov jax 2012

    Architekten sind es gewohnt, eine einheitliche technologische Basis für das Gesamtsystem vorauszusetzen, doch spätestens nach den ersten Versionen werden große Systeme oft zu schwerfälligen Monolithen und die anfangs positive Homogenität zum Nachteil. In diesem Vortrag betrachten wir Konzepte zur Zerlegung in einzelnen Systeme und damit verbundene architektonische und organisatorische Aspekte.

    Mehr lesen
  • Quality Driven Software Architecture

    Artikel Gernot Starke

    Qualität bildet die Existenzberechtigung für Softwarearchitekten: Zuverlässig, performant, skalierbar und benutzerfreundlich sollen unsere Systeme sein, das alles kosteneffektiv und zukunftssicher. Jeder IT’ler weiss, dass diese Kombination von Eigenschaften harte Arbeit bedeutet. Lesen Sie hier, wie Softwarearchitekten systematisch Qualität konstruieren können.

    Mehr lesen
  • Apache Integration Afternoon

    Vortrag Tammo van Lessen SOA BPM Integration Days 2012

    Neben einer Einführung in die gängigen Standards aus dem Bereich WebServices und deren Bedeutung für die Anwendungsentwicklung konzentrieren wir uns in diesem Teil der SOA, BPM & Integration Days auf den Einsatz der Apache Projekte Camel, CXF und Karaf in Integrationsprojekten. Wir werden in zwei Abschnitten die folgende Themen beleuchten: WebService stack Apache CXF, mehr als nur eine API für WebServices In diesem Slot werden wir den Aufbau eines WebService stacks und dessen Nutzung in Kundenprojekten sowie mögliche Erweiterungsszenarien vorstellen. Integrations Scenarien am Beispiel von Camel und CXF In diesem Slot stellen wir Anwendungsbeispiel von Camel und CXF an Hand von Kundenprojekten vor. Wir zeigen wie diese Frameworks durch entsprechendes Tooling effizient nutzbar sind.

    Mehr lesen
  • Softwarearchitektur für große Systeme

    Vortrag Stefan Tilkov OOP 2012

    Architekturmuster für Individualsoftware finden sich reichlich. Ob im Java/Java EE- oder im .NET-Umfeld: Architekten sind es gewohnt, eine einheitliche technologische Basis für das Gesamtsystem vorauszusetzen. Spätestens nach den ersten Versionen gilt für große Systeme jedoch häufig, dass sie zu schwerfälligen Monolithen werden, und die anfangs positive Homogenität wird zum Nachteil. Eine Lösung dafür liegt in der Zerlegung in autonome Teile, in der Transformation in ein System von Systemen.

    Mehr lesen
  • Moderne Web-Architektur

    Vortrag Till Schulte-Coerne, Stefan Tilkov OOP 2012

    Die Architekturen von Web-Anwendungen haben sich in den letzten Jahren rasant entwickelt. In diesem Tutorial wird gezeigt, wie eine Web-Anwendung State-of-the-Art aufgebaut wird. Dabei stehen keine Programmiersprache oder einzelne Frameworks, sondern die Gesamtarchitektur im Mittelpunkt, vom optimierten Frontend über eine modulare und skalierbare Geschäftslogik bis hin zur passenden Persistenz. Buzzwords wie REST, Distributed Caching, Sharding, NoSQL werden dabei enttarnt und auf ihre konkreten Auswirkungen auf die Architektur hin untersucht.

    Mehr lesen
  • Besser, Schöner, Schneller: Mehr Qualität in Architekturen erreichen

    Vortrag Gernot Starke 16. OBJEKTspektrum Information Days - iSAQB Architekturtag

    Die Historie der IT war lange Zeit davon geprägt, Funktionalität in den Vordergrund zu stellen. Es ging darum, Tätigkeiten überhaupt durch Software zu unterstützen oder abzulösen. Zwar erklang schon lange der Ruf nach höherer Qualität, aber faktisch gilt doch in einer Vielzahl von Projekten immer noch das Prinzip „Hauptsache, es funktioniert…“.

    Zukünftig macht technischer Fortschritt (vielleicht) die heutigen Qualitätsziele Performance und Robustheit selbstverständlich. Dafür gewinnt an Bedeutung, was wir heute noch als seltenen Luxus betrachten, beispielsweise Benutzbarkeit, Wartbarkeit, Flexibilität und Sicherheit.

    Erfahren Sie in dieser Keynote, wie Sie Ihre Systeme besser, schöner und schneller machen können - ganz pragmatisch, ohne Zauberstab oder Wundermittel.

    Mehr lesen

    „Software-Architekturen im Großen“

    Vortrag Phillip Ghadir, Stefan Tilkov 16. OBJEKTspektrum Information Days - iSAQB Architekturtag

    Architekturmuster für Individualsoftware finden sich reichlich. Ob im Java/Java EE- oder im .NET-Umfeld: Architekten sind es gewohnt, eine einheitliche technologische Basis für das Gesamtsystem vorauszusetzen. Spätestens nach den ersten Versionen gilt für große Systeme jedoch häufig, dass sie zu schwerfälligen Monolithen werden, und die anfangs positive Homogenität wird zum Nachteil. Eine Lösung dafür liegt in der Zerlegung in autonome Teile, in der Transformation in ein System von Systemen. In diesem Vortrag betrachten wir sowohl architektonische und organisatorische Aspekte dieses Ansatzes und beschäftigen uns mit Herausforderungen wie UI-Integration, Authentifizierung und Daten/Funktionsredundanz.

    Mehr lesen
  • „Software-Architekturen im Großen“

    Vortrag Phillip Ghadir, Stefan Tilkov 16. OBJEKTspektrum Information Days - iSAQB Architekturtag

    Architekturmuster für Individualsoftware finden sich reichlich. Ob im Java/Java EE- oder im .NET-Umfeld: Architekten sind es gewohnt, eine einheitliche technologische Basis für das Gesamtsystem vorauszusetzen. Spätestens nach den ersten Versionen gilt für große Systeme jedoch häufig, dass sie zu schwerfälligen Monolithen werden, und die anfangs positive Homogenität wird zum Nachteil. Eine Lösung dafür liegt in der Zerlegung in autonome Teile, in der Transformation in ein System von Systemen. In diesem Vortrag betrachten wir sowohl architektonische und organisatorische Aspekte dieses Ansatzes und beschäftigen uns mit Herausforderungen wie UI-Integration, Authentifizierung und Daten/Funktionsredundanz.

    Mehr lesen
  • „Software-Architekturen im Großen“

    Vortrag Phillip Ghadir, Stefan Tilkov 16. OBJEKTspektrum Information Days - iSAQB Architekturtag

    Architekturmuster für Individualsoftware finden sich reichlich. Ob im Java/Java EE- oder im .NET-Umfeld: Architekten sind es gewohnt, eine einheitliche technologische Basis für das Gesamtsystem vorauszusetzen. Spätestens nach den ersten Versionen gilt für große Systeme jedoch häufig, dass sie zu schwerfälligen Monolithen werden, und die anfangs positive Homogenität wird zum Nachteil. Eine Lösung dafür liegt in der Zerlegung in autonome Teile, in der Transformation in ein System von Systemen. In diesem Vortrag betrachten wir sowohl architektonische und organisatorische Aspekte dieses Ansatzes und beschäftigen uns mit Herausforderungen wie UI-Integration, Authentifizierung und Daten/Funktionsredundanz.

    Mehr lesen
  • Workshop: Architekturen für hochskalierbare Webanwendungen

    Vortrag Stefan Tilkov, Till Schulte-Coerne W-JAX 2011

    Für die Entwicklung von Webanwendungen gibt es eine ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein, denn eine Webanwendung, insbesondere wenn Sie hohen, nichtfunktionalen Anforderungen unterliegt, ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop beschäftigt sich dazu mit den zum Teil wenig bekannten Details der Basisprotokolle, mit den Auswirkungen, die sich aus der internen Anwendungsarchitektur für die Gesamtarchitektur ergeben, mit Frontend-Optimierungen und der Einbettung in die Gesamtinfrastruktur aus Standardkomponenten wie Intermediaries und den Invidualbestandteilen.

    Mehr lesen
  • Quality-driven Software Architecture

    Vortrag Gernot Starke W-JAX 2011

    Allem Hype von Convention over Configuration und DDD-Frameworks (wie Rails, Grails oder NakedObjects) zum Trotz: Manchmal ist ein domänenorientierter Entwurf einfach nicht ausreichend, weil nichtfunktionale Anforderungen jenseits aller fachlichen Strukturen maßgeblich für die Architektur von Systemen sind. Im Vortrag zeige ich unter anderem einige Grenzen von Domain-driven Design auf.

    Mehr lesen
  • Architekturen für hochskalierbare Webanwendungen

    Vortrag Stefan Tilkov, Till Schulte-Coerne JAX 2011

    Für die Entwicklung von Webanwendungen gibt es eine ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein. Denn eine Webanwendung, insbesondere wenn Sie hohen, nichtfunktionalen Anforderungen unterliegt, ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop zeigt zunächst systematisch, aus welchen Architekturelementen eine Webanwendung bzw. Website besteht. Für die verschiedenen Schichten werden verschiedene State-of-the-Art-Alternativen vorgestellt. Diese werden schließlich in Beziehung zu unterschiedlichen Anforderungen wie Entwicklungs- und Betriebskosten, Verfügbarkeit, Konsistenz, Performance, Wartbarkeit und Investitionssicherheit gesetzt.

    Mehr lesen
  • Architekturen für hochskalierbare Webanwendungen

    Vortrag Stefan Tilkov, Till Schulte-Coerne Entwickler Tage 2011

    Der Workshop besteht aus detaillierten Betrachtungen der Protokolle und gängiger Technologien sowie aus der Beleuchtung verschiedener Szenarien und Architekturvarianten diese sinnvoll einzusetzen. Dabei ist er aber größtenteils unabhängig von Frameworks bzw. Programmiersprachen gestaltet und beleuchtet diese höchstens am Rande. Der Workshop soll ein umfassendes Bild verschiedener Varianten zur Erstellung von Web-Applikationen für unterschiedliche Einsatzszenarien vermitteln, wofür Vor- und Nachteile verschiedener Ansätze diskutiert werden. Außerdem werden Architekturen und Methoden vorgestellt, um sichere und performante Webanwendungen zu entwickeln sowie vorhandene Anwendungen zu beschleunigen bzw. zu entlasten.

    Mehr lesen
  • Einsatz von REST und HTTP für Systemintegration

    Vortrag Stefan Tilkov jax on Tour

    Die Ziele von SOA - lose Kopplung, Wiederverwendung, Modularisierung, Standardisierung und Herstellerunabhängigkeit - lassen sich am besten mit Web Services auf Basis von SOAP und WSDL erreichen. Richtig oder falsch? Falsch! Denn tatsächlich haben Web Services mit dem Web wenig zu tun, und es sind die angeblich für den Enterprise-Einsatz ungeeigneten Webtechnologien, die sich sehr viel besser eignen. In diesem Vortrag wird REST und RESTful HTTP vorgestellt und es wird gezeigt, welche Vorteile sich für eine unternehmensweite Architektur ergeben.

    Mehr lesen
  • Power Workshop „Architekturen für hochskalierbare Webanwendungen“

    Vortrag Stefan Tilkov, Till Schulte-Coerne w-jax 10

    Für die Entwicklung von Webanwendungen gibt es eine ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein. Denn eine Webanwendung - insbesondere, wenn Sie hohen nichtfunktionalen Anforderungen unterliegt - ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop zeigt zunächst systematisch, aus welchen Architekturelementen eine Webanwendung bzw. Website besteht. Für die verschiedenen Schichten werden verschiedene State-of-the-art-Alternativen vorgestellt. Diese werden schließlich in Beziehung zu unterschiedlichen Anforderungen wie Entwicklungs- und Betriebskosten, Verfügbarkeit, Konsistenz, Performance, Wartbarkeit und Investitionssicherheit gesetzt.

    Mehr lesen
  • Workshop Webarchitektur – Architekturen für hochskalierbare Webanwendungen

    Vortrag Till Schulte-Coerne, Stefan Tilkov JAX 2010

    Für die Realisierung von Webanwendungen gibt es ganze Reihe unterschiedlicher Realisierungsalternativen. Die Entscheidung für eine bestimmte Programmiersprache oder ein bestimmtes Webframework ist dabei nur ein kleiner Baustein. Denn eine Webanwendung - insbesondere, wenn Sie hohen nicht funktionalen Anforderungen unterliegt - ist eine Gesamtlösung, die aus vielen individuell entwickelten, aber auch vielen Standardkomponenten besteht. Der Workshop zeigt zunächst systematisch, aus welchen Architekturelementen eine Webanwendung bzw. Website besteht. Für die verschiedenen Schichten werden verschiedene State-of-the-art-Alternativen vorgestellt. Diese werden schließlich in Beziehung zu unterschiedlichen Anforderungen wie Entwicklungs- und Betriebskosten, Verfügbarkeit, Konsistenz, Performance, Wartbarkeit und Investitionssicherheit gesetzt.

    Mehr lesen
  • XML Schema Design für die unternehmensweite Datenrepräsentation bei der Deutschen Bank

    Vortrag Matthias Autrata, Thomas Bandholtz JAX 2009

    Im Rahmen des SOA Master-Data-Managements der Deutschen Asset Management (DeAM, Deutsche Bank Group) wird aktuell ein Common Message Schema (CMS) in XML entwickelt, das eine unternehmensweit einheitliche Datenrepräsentationsschicht für Services und Messaging bietet. Der Vortrag stellt die dafür erarbeiteten XML-Schema-Design-Patterns vor, mit denen vielfältige, teils konkurrierende Anforderungen umgesetzt werden: Vollständige Abbildung aller Daten, semantische Transparenz, modulare Komposition und Versionierung, durchgängige Namenskonventionen, Toleranz vs. Präzision, Einsatz von Elementen und Attributen, Annahmen über das Verhalten der Nutzer, Erweiterbarkeit und abwärtskompatible Versionen, praktische Interoperabilität.

    Mehr lesen
  • Bundle-Bee – OSGi-basiertes Grid-Computing

    Vortrag Phillip Ghadir & Philipp Haußleiter OOP 2009

    Bundle-Bee ist eine OSGi-basierte Grid-Plattform, die es Anwendungsentwicklern erlaubt, eigene Dienste als OSGi- Bundles zentral zu installieren, die über die Plattform automatisch auf verschiedene Knoten im Grid verteilt werden. Die Erstellung eigener Dienste erfordert mit wenigen Einschränkungen kein spezifisches Programmiermodell. Der Vortrag stellt die Konzepte sowie Funktionen der Plattform vor und zeigt auch deren Grenzen auf.

    Mehr lesen
  • SOA - Geschäft oder Technologie?

    Vortrag Gernot Starke, Stefan Tilkov JAX 2008

    SOA ist wachsweich definiert, und je nachdem, wen man nach dem Kern fragt, erhält man eine Antwort wie “Bei SOA geht es nur um das Business” oder “SOA bedeutet SOAP, WSDL und WS-*”. In diesem Vortrag wollen wir unsere Sicht auf SOA darstellen, die sowohl technische als auch geschäftliche und organisatorische Aspekte beinhaltet.

    Mehr lesen

    Service Design – Richtlinien und Heuristiken für Services

    Vortrag Hartmut Wilms JAX 2008

    Der „Service“ ist das Schlüsselkonzept von serviceorientierten Architekturen. Aber wie entwickelt man „gute“ Services? Wie grenzt sich der Service gegenüber Geschäftsprozessen und Workflows ab? In diesem Vortrag werden Ihnen Richtlinien und Heuristiken für die Entwicklung von Services vorgestellt, die unter anderem zeigen, dass SOA mehr als nur ein Paradigma für Schnittstellen ist.

    Mehr lesen
  • Eine gute Wahl treffen – Ein Überblick über die Web-Services-Technologien und ihre wichtigsten Standards und Spezifikationen

    Artikel Marcel Tilly, Hartmut Wilms Entwickler Magazin 3/2006

    Web Services gewinnen zunehmend an Akzeptanz und Verbreitung. Gerade im Zusammenhang mit serviceorientierten Architekturen (SOA) und Interoperabilität sind sie nicht mehr aus der Entwicklung (stark) verteilter Systeme wegzudenken. Sie werden zu Recht als prädestinierte Technologie zur Implementierung von Services innerhalb einer SOA gesehen. Was aber bildet überhaupt die Basis für Web Services? Wie werden die für Enterprise-Anwendungen notwendigen Infrastrukturdienste mit Web Services realisiert? Wie wird Interoperabilität erreicht und welche Standards und Spezifikationen existieren? Zahlreiche Fragen, die Grund genug sind, sich einen Überblick über die Web-Services- Landschaft zu verschaffen.

  • Ereignis-getriebene Architekturen: ein Überblick

    Link Roman Roth, Stefan Tilkov OBJEKTspektrum 02/2006

    Ereignis-getriebene Architekturen (EDAs) werden von vielen Analysten und Architekten als zukunftsweisender Lösungsansatz präsentiert, mit dem sich Unternehmen den bekannten Herausforderungen stellen können. Bei EDA gibt es eine Reihe sinnvoller Konzepte und Ansätze, mit denen sich eine nüchterne Beschäftigung durchaus lohnt. Die Umsetzung einer EDA stellt sich jedoch in erster Linie als fachliches und nicht als technisches Problem dar. Ein Überblick soll die in der Diskussion verwendeten Begriffe definieren und gegeneinander abgrenzen.

  • Effektive Software-Architekturen: Ein praktischer Leitfaden.

    Buch Gernot Starke

    Moderne Software-Systeme werden aufgrund steigender Anforderungen immer komplexer. Software-Architekten müssen sicherstellen, dass die fachlichen Anforderungen an solche Systeme umgesetzt werden und die Systeme gleichzeitig eine nachvollziehbare Struktur haben und flexibel erweiterbar bleiben.

    Dieser Praxisleitfaden beschreibt, wie Sie Software-Architekturen auf Basis konkreter Anforderungen und Rahmenbedingungen effektiv und systematisch erarbeiten können.