Self-Contained Systems

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Integrations- und Funktionstests im Rahmen des V-Modelles
Von David Keß, Heinrich Wölk, Daniel Hauck
Designing Software for Ease of Extension and Contraction
VR Framework mit Gestenerkennung
Projektplanung für Softwareprojekte
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Entwurf und prototypische Realisierung eines homogenen Konfigurationsdatenspeichers Autor:Simeon Ludwig Referent:Prof. Dr. Urs Andelfinger Koreferent:Prof.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Fachgerechte Bereitstellung von Geoinformationen mit Service- orientierten Infrastrukturen Niklas Panzer - PRO DV Software AG Wachtberg 24. September 2008.
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
Support.ebsco.com Lernprogramm zur einfachen Suche in wissenschaftlichen Bibliotheken.
handlungsorientierte Zugänge zur Algebra
eXtreme Programming (XP)
Introducing the .NET Framework
2009 JanuarEinführung in die Arbeit mit dem PC1 Einführung in die Arbeit mir dem PC Experte in 12 Doppelstunden Experte in 12 Doppelstunden.
Kontrollfragen zu Kapitel 1
Lommy® SAFE Individuelles Überwachen von Fahrzeugen und Gütern.
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
INTEL Pentium 4 Prozessor
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
CGI (Common Gateway Interface)
UML-Kurzüberblick Peter Brusten.
Wasserfallmodell und Einzelbegriffe
Evaluationsergebnisse Aufbaulehrgang TTVN –
Von Unternehmen und Unternehmern
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Typo 3 //Textbox - HTML //Benutzerverwaltung //Zugriffsrechte.
Vernetzung und Kooperation GESCHÄFTSPLANPRÄSENTATION Modul 7.
IPERKA 6 Schritt- Methode
Bewerbungsleitfaden zum Marken Award der Immobilienbranche 2015.
4) Kaufmännische Realisierung
Vertikale Integration
Basierend auf den Arbeiten von
Rechen- und Kommunikationszentrum (RZ) Entwicklung einer Web- Oberfläche mit Apache Wicket am Beispiel des IdentityAdmins Seminarvortrag Melanie.
AUFGABENSTELLUNGEN AUS DER PRAXIS UND NEUE LÖSUNGEN Der Kopf ist rund, damit man in alle Richtungen denken kann.
Folie 1 Kulturelle Vielfalt: eine ethische Reflexion Peter Schaber (Universität Zürich)
Tutorium Software-Engineering SS14 Florian Manghofer.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Magento erfolgreich integrieren: die Magento Integration Platform (MIP)

Organisationsweite Kommunikation und Kooperation
Das Entwurfsmuster Model-View-Controller
OpenLayers FEATURES DATENQUELLEN
Architektur von Web-Anwendungen
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
Plakat DIN A1 Überschrift 1
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Icons Wozu und woher.
Wesentliche Bestandteile:
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Cloud Computing.
Plakat DIN A1 Überschrift 1
Modul 14 Learning Suite Learning Suite.
Gewachsene Architektur Das kann nicht funktionieren!
Programmierung mit Scratch
für das Herunterladen von Filmen
Big Data Anwendungen ... selbst gedacht.
TITELFOLIE Name des Webinars
TITELFOLIE Name des Webinars kurze Begrüßung.
Bearbeiter: Andre Lutz & Michael Lubitz Betreuer: Cedric Mössner
10 Schritte Video-Optin-Formel
Poster DIN A1 Überschrift 1
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Neues aus HORIZON Lessons Learned
Worauf Sie bei der Wahl Ihres Beraters achten sollten
IPERKA 6 Schritt- Methode
So einfach geht Smarthome
 Präsentation transkript:

Self-Contained Systems Infodeck

Ein Monolith beherbergt eine Vielzahl von Dingen in einem System …

Fachlichkeit und verschiedene Domänen

Benutzeroberfläche Geschäftslogik Datenhaltung

… sowie verschiedene Module, Komponenten, Frameworks und Bibliotheken.

Dabei tendiert ein Monolith dazu, über die Zeit zu wachsen.

Zerschneidet man ein solches monolithisches System entlang seiner fachlichen Grenzen …

… und entwickelt jede Domäne in einer eigenständigen, austauschbaren Webanwendung …

… so kann man diese Anwendung als ein Self-Contained System (SCS) betrachten.

Nach außen bildet ein SCS eine dezentrale Einheit, die nur über RESTful HTTP oder leichtgewichtiges Messaging mit anderen Systemen kommuniziert.

Unabhängig davon kann für jedes SCS individuell entschieden werden, welche Systemplattform verwendet werden soll.

Jedes SCS enthält eine eigene Benutzeroberfläche, eine für seine Fachlichkeit spezifische Geschäftslogik sowie separate Datenhaltung

Die Benutzeroberfläche besteht aus Webtechnologien, die nach den ROCA-Prinzipien eingesetzt werden.

Neben der Weboberfläche kann ein Self-Contained System auch ein optionales API anbieten.

Die Geschäftslogik eines SCS löst ausschließlich Probleme der zu Grunde liegenden Domäne. Diese Logik wird nur über eine klar definierte Schnittstelle mit anderen Systemen geteilt.

Innerhalb der Geschäftslogik können für die Lösung eines fachlichen Problems u.a. auch Microservices eingesetzt werden.

Jedes SCS besitzt eine separate Datenhaltung, die unter Umständen eine für die Domäne erforderliche Redundanz ausweist.

Auch wenn Redundanzen von Daten in Kauf genommen werden, beeinflusst dies nicht die Datenhoheit des führenden Systems.

Dies ermöglicht polyglotte Persistenz, da unabhängig von anderen Systemen ein passendes DBMS für ein konkretes fachliches Problem eingesetzt werden kann. CouchDB Neo4J Oracle

Innerhalb eines SCS können auch weitere flexible technische Entscheidungen getroffen werden. So etwa die Wahl der Programmiersprache, der eingesetzten Frameworks oder der Entwicklungswerkzeuge.

Team 2 Team 3 Durch den klaren fachlichen Scope kann ein SCS von einem Team entwickelt, betrieben und gewartet werden. Team 1

Self-Contained Systems sollten vorzugsweise über ihre Weboberflächen integriert werden, um die Kopplung an andere Systeme minimal zu halten.

System 1 System 2 Dabei werden z.B. einfache Links benutzt, um zwischen verschiedenen Anwendungen zu navigieren.

System 1 System 2 Soll die Navigation in beide Richtungen möglich sein, kann eine Rücksprung- Adresse mitgegeben werden.

System 1 System 2 Darüber hinaus können Links auch dazu genutzt werden, einzelne Seitenbereiche eines anderen SCS mit Hilfe von JavaScript dynamisch in die Benutzeroberfläche einzubetten.

Um die Kopplung zu anderen Systemen minimal zu halten sollte auf entfernte, synchrone Aufrufe innerhalb der Geschäftslogik verzichtet werden.

Falls sich entfernte Aufrufe eines APIs nicht vermeiden lassen, sollten diese asynchron erfolgen, um Abhängigkeiten zu reduzieren und Fehlerkaskaden vorzubeugen.

Dies setzt jedoch voraus, dass Änderungshäufigkeit und Aktualitätserwartung des Datenbestandes einen „Eventual Consistency“ Ansatz erlauben.

Ein auf diese Weise integriertes System of Systems besitzt viele Vorteile.

Die Entkopplung einzelner, austauschbarer Systeme führt zu einem stabileren Gesamtsystem.

Darüber hinaus können einzelne Systeme nach Bedarf individuell skaliert und auf die zu erwartende Last angepasst werden.

Version 2 Version 1 Um ein altes, monolithisches System in ein System of Systems zu überführen, empfiehlt sich in der Regel kein Big Bang Release, da dies insbesondere bei großen Systemen besonders fehleranfällig und riskant ist.

Statt dessen führen Anpassungen in häufigen, kleinen Schritten dazu, große und komplexe Systeme evolutionär zu modernisieren. Das Risiko eines Fehlschlags wird dabei erheblich minimiert.

In der Realität besteht ein System of Systems in Teilen sowohl aus Individual- Software als auch aus Standardprodukten.

Bei der Auswahl von Produkten ist darauf zu achten, dass die Software klar definierte Aufgaben erfüllt und sich über dieselben Mechanismen wie individuell entwickelte Self- Contained Systems integrieren lässt.

Dies sorgt dafür, dass sich auch Standardprodukte nach Ablauf ihrer Nutzungszeit risikoarm durch ein nachfolgendes System ersetzen lassen.

Findet sich kein Produkt, dass sich nach den angestrebten Kriterien in das Gesamtsystem integrieren lässt, sollte eine Alternative gewählt werden, die sich zumindest um einheitliche Schnittstellen erweitern lässt.

Weitere interessante Inhalte zum Thema Self-Contained Systems, Microservices, Monolithen, REST oder ROCA finden Sie in unserer Timeline https://www.innoq.com/de/timeline/ Bei Fragen oder Anregungen zögern Sie nicht uns zu kontaktieren info@innoq.com