Till Schulte-Coerne

Till Schulte-Coerne, Senior Consultant bei innoQ, realisiert seit mehreren Jahren Webanwendungen mit diversen Technologien und Frameworks. Sein Schwerpunkt liegt auf der Architektur und Implementierung skalierbarer, ergonomischer Webanwendungen. Darüber hinaus ist er Mitinitiator der Frontend-Architekturvariante ROCA. Er ist regelmäßiger Trainer für Workshops insbesondere zum Thema Webarchitektur und Web-Frontend-Technologien und hat bereits auch mehrere Artikel zu diesem Themengebiet verfasst.

Talks

  • ORB-Architekturen, SOA, Microservices: alle Jahre wieder wird ein neuer Ansatz zur Modularisierung durchs globale IT-Dorf gejagt. Verpackt mit ein paar netten Anekdoten, warum Firma X unglaublich erfolgreich mit dem neusten Trend Y ist, wird das Ganze als neuer Heilsbringer für die Unternehmens-IT verkauft. Dabei ist es oft einfacher, einen Monolithen mit klassischen Mitteln modular zu halten oder modular zu machen. Lernen Sie in diesem Vortrag, wie Sie trotz - oder gerade wegen - Ihrem Monolithen in der IT Champions League mitspielen.

    Microservices sind der aktuelle Trend, um Softwaresysteme zu modularisieren. Das damit aber nicht nur eine Änderung der Architektur eines Softwaresystems verbunden ist, sondern auch strukturelle und organisatorische Änderungen für das Unternehmen, und psychologische für die Mitarbeiter, wird oft übersehen. Gleichzeitig bekommt man die Fallstricke und Komplexität eines verteilten Systems. Für viele Unternehmen ist das nicht leicht zu stemmen.

    Dabei ist der wichtigste Punkt bei der Modularisierung der fachliche und technische Schnitt der Komponenten, egal ob es sich um ein monolithisches System oder eine Microservice-Architektur handelt. Daneben bieten die meisten Programmiersprachen und Laufzeitumgebungen Möglichkeiten zur Modularisierung. Werden diese konsequent genutzt und mit einem guten Komponentenschnitt verbunden, ist es möglich, die Vorteile einer Microservice-Architektur (z.B. leichte Änderbarkeit und schnelles Deployment) auch mit einem Monolithen zu realisieren. Ganz ohne dessen Komplexität zu übernehmen. Sollte der Komponentenschnitt mal nicht gut gelungen sein, ist oft sogar einfacher, diesen innerhalb eines Monolithen zu ändern als in dem verteilten System einer Microservice-Architektur.

    • Zielpublikum: Architekten, Entwickler, Entscheider
    • Voraussetzungen: Erfahrung mit der Entwicklung von mittleren bis größeren Softwaresystemen/Softwarearchitekturen.
    • Schwierigkeitsgrad: Fortgeschritten
    Read more
  • Komponenten? Templates? View Models? RESTfulness? Single Page? Hersteller von Webframeworks bombardieren uns Webinteressierte permanent mit angeblichen Killerfeatures und überlegenen Architekturen. Doch bei der Auswahl des richtigen Frameworks hilft uns das nicht.

    Dieser Vortrag soll wirkliche Unterschiede in der Architektur von Webframeworks aufzeigen und Kriterien zur Bewertung an die Hand geben, die über das Aufzählen von Features in blödsinnigen Featuretabellen hinausgehen – und dabei zeigen, dass Sie sich weniger für ein Framework als für eine Architekturoption entscheiden.

    Read more
  • Tragfähige Frontend-Architekturen

    JavaLand 2014 25. March 2014 Slides available

    Nutzer von Webanwendungen erwarten heutzutage zurecht ein gewisses Maß an Dynamik und Komfort in den Frontends, das weit über die nativen Fähigkeiten von HTML hinausgeht. Begegnet man dieser Anforderung ohne ein klares Konzept, führt dies fast immer zu Wildwuchs und unwartbarem JavaScript-Code.

    Dieser Vortrag soll zwei Möglichkeiten gegenüberstellen, die diesem Problem eine klare Frontend-Architektur entgegenstellen: ROCA und Single-Page-Anwendungen.

    ROCA bzw. Unobtrusive JavaScript ist ein Ansatz, der vom Server kommend versucht, JavaScript eine klare Rolle zuzuweisen und so beherrschbar zu halten. Dies basiert im Kern auf dem Prinzip des “Progressive Enhancement”, also auf dem sukzessiven Hinzufügen von Features genau dann, wenn die Zielplattform diese auch unterstützt. Progressive Enhancement wird oft als das klassische Prinzip der Web-Frontend-Architektur angesehen, auch wenn es in der Praxis selten konsequent umgesetzt wird.

    Single-Page-Anwendungen stellen eine weitaus radikalere aber ebenso tragfähige Variante dar, bei der weitgehend auf Applikationslogik im Server verzichtet wird, da die Anwendung meist vollständig in JavaScript implementiert ist. Dies resultiert in einem Programmiermodell, in dem das Client-Server-Problem fast gänzlich verschwindet, was erheblich zur Reduktion von Komplexität beitragen kann.

    Read more
  • ROCA: Resource-oriented Client Architecture

    W-JAX 2013 06. November 2013

    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.

    Read more
  • ROCA: Resource-oriented Client Architecture

    W-JAX 2012 07. November 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.

    Read more

Trainings

Content

  • Im zweiten Teil des Podcasts über Self-contained Systems (SCS) und Frontend-Integration geht es um Alternativen zu Single Page Apps (SPAs) und darum, wie Entwickler ganz konkret erste Schritte hin zu einer Frontend-Integration und Self-contained Systems gehen können.

    Read more
  • Self-contained Systems (SCS) stellen einen Ansatz zur Modularisierung von Systemen dar. Sie übernehmen viele gute Ideen des Microservices-Konzepts. Eine wichtiges Element ist die Frontend-Integration auf der UI-Ebene als Alternative zur Integration im Backend. Darum geht es in zwei Podcast-Episoden. In dieser ersten Episode stellen Falk Hoppe und Till Schulte-Coerne im Gespräch mit Eberhard Wolff das SCS-Konzept vor. Sie diskutieren zudem die Vor- und Nachteile der Frontend-Integration sowie Single-Page Apps (SPA) als eine mögliche Implementierung des Frontends.

    Read more
  • Transclusion in self-contained systems

    Blog Post 26. April 2016

    Frontend integration in the web is a huge topic. This post deals with the aspect of transclusion of other systems’ content in the DOM of a web page.

    Read more
  • Transklusion in Self-Contained Systems

    Blog Post 11. April 2016

    Frontend-Integration im Web ist ein riesiges Themengebiet. Dieser Post befasst sich mit dem Teilaspekt der Transklusion “fremder” Inhalte in den DOM einer anderen Seite.

    Read more
  • Mal angenommen, jemand wollte ROCA machen. Wie müssten dann JavaScript-Komponenten aussehen, die zu diesem Zweck benutzbar wären?

    Read more