Was wird durch die Architektur von Informationssystemen allgemein festgelegt?
wie einzelne Komponenten einer Software miteinander in Verbindung stehen und welche Aufgaben sie abdecken
Größere Softwaresysteme werden zur Komplexitätsreduktion in Schichten organisiert.
-> Innerhalb = viele verschiedene Komponenten, welche ihrerseits nach Aufgaben und Diensten
organisiert sind.
-> für jede Schicht werden einheitliche Schnittstellen verwendet
(vertikale und horizontale Strukturringe)
Welche unterschiedlichen Kommunikationsmodellen hast du kennengelernt ? Worin unterscheiden diese sich im Wesentlichen ?
Es gibt zwei grundlegende Kommunikationsmodelle: synchron und asynchron.
Synchronkommunikation:
Beschreibung: Echtzeitiger Datenaustausch erfordert gleichzeitige Verfügbarkeit von Sender und Empfänger.
Beispiel: Telefonanrufe, Videokonferenzen.
Asynchronkommunikation:
Beschreibung: Zeitversetzter Datenaustausch ohne gleichzeitige Verfügbarkeit von Sender und Empfänger.
Beispiel: E-Mails, Forenbeiträge.
Unterschiede:
Synchron: Echtzeit, erfordert Gleichzeitigkeit.
Asynchron: Zeitversetzt, flexiblere Zeitgestaltung.
Erläutern Sie den Client-Server-Architekturstil. Welches Kommunikationsmodell liegt diesem zugrunde ? Fertigen Sie dazu ein Schaubild an und erklären Sie die wichtigsten Merkmale dieses Kommunikationsmusters.
Erläutern Sie den Publish- / Subscribe- Architekturstil. Welches Kommunikationsmodell liegt diesem zugrunde ?
Asynchrone Kommunikation: Keine Abhängigkeit von interner Verarbeitung und Kommunikation bei Sender und Empfänger, Antwort zeitlich versetzt
Subscriber —> beschreibt sein Interesse an bestimmten Nachrichten, weiß nie, wann welche Nachricht zur Verfügung steht
Publisher —> kennt die Empfänger (Subscriber) seiner Nachricht nicht d.h.:
Publisher sendet an unbekannte Subscriber ohne feste Verbindung (Broadcast), beispielsweise
1:n - Sensor veröffnetlicht Daten, die von verschiedenen Systemen genutzt werden
n:1 - Viele Sensoren übertragen Informationen in die Cloud
Was verstehen Sie unter einem Thin-Client, was unter einem Fat-Client
Thin-Client ist die Benutzerschnittstelle auf dem Client-System
Fat-Client ist ein Teil bzw. die gesamte Fachlogik auf dem Client-System
Welche ́grundlegenden Eigenschaften des Cloud-Computings haben Sie kennen gelernt ? Bitte beschreiben Sie diese kurz.
Resource Pooling: Gemeinsame, oft globale Nutzung physischer Ressourcen
Rapid Elasticity: Unverzügliche Anpassbarkeit an aktuellen Ressourcenbedar
On-Demand Self-Service: Selbstbedienung nach Bedarf Broad Network Access: Umfassender Netzwerkzugriff
Measured Service: Messung der Servicenutzung
Welche Arten eines Cloud-Betriebs lassen sich unterscheiden ?
Öffentliche Cloud - Public Cloud
nichtöffentliche Cloud - Private Cloud
Was steckt hinter den Begriffen IaaS, PaaS und SaaS ? Wie lassen sich diese technischen Cloud-Formen charakterisieren ?
Infrastructure-as-a-Service (IaaS): Bereitstellung virtualisierter IT-Infrastruktur, Konzepte der Virtualisierung, z.B. Applikationsvirtualisierung, Hardware-Emulation, Vollständige Virtualisierung, Betriebssystem- Virtualisierung, CPU Virtualisierung …
Platform-as-a-Service (PaaS): Dienstanbieter bietet Dienstnutzern die Möglichkeit, eigene Software auf einer Plattform in der Cloud bereitzustelle
Software-as-a-Service (SaaS): Anbieter bietet Software an, die der Endnutzer unmittelbar einsetzen kann
Was wird unter einer Community-Cloud verstanden und was unter einer Hybrid-Cloud verstanden wo würden Sie diese u.U. zum Einsatz bringen ?
Community Cloud
nichtöffentlich, von mehreren Organisationen mit ähnlichen Anforderungen geteilt , z.B.
branchenspezifisch
Verbund von Krankenhäusern mit gesetzlichen Auflagen
Banken und Sparkassen
Steuerberater (DATEV)
Supply Chain
gut für Organisationen, die die Isolation einer Private Cloud brauchen, für die der Betrieb allein aber nicht rentabel ist
Betrieb wiederum durch die beteiligten Organisationen oder extern Hybride Cloud
Kombination aus Private Cloud und Public Cloud
„Cloud Bursting“
v Nutzung von zusätzlichen Ressourcen aus der Public Cloud bei hoher Last
Freigabe von Ressourcen, wenn Sie nicht mehr benötigt werden
Outsourcing von nichtkritischen Funktionen
Warum ist ein Aufteilen in Schichten /Layer / Ebenen wichtig und sinnvoll?
Dient der Komplexitätsreduktion
Jede Schicht stellt eine höhere Abstraktionsebene als die darunterliegende da —> vertikale Strukturierung
innerhalb einer Schicht gibt es viele verschiedene Komponenten, die ihrerseits nach bestimmten Aufgaben und Diensten organisiert werden
—> horizontale Strukturierung
für jede Schicht werden einheitliche Schnittstellen verwendet
Erläutern Sie das Schichtenmodell betrieblicher Anwendungssysteme und ordnen Sie jeder Schicht mögliche Umsetzungstechnologien zu.
PräsentationsschichtàVisualisierung der Anwendung für den Nutzer z.B. Client Tier: Abbildung der Präsentationslogik (Schnittstelle zum Anwender, GUI)
Anwendungslogikschichtà„Datenverarbeitung“ je nach Geschäftsbereich z.B. Middle Tier: Abbildung der Anwendungslogik durch Bearbeitung und Beantwortung der Anfragen des Clients (Warenkorbfunktion, Preisberechnungs- und Bezahlungsfunktion)
Datenhaltungsschicht àDatenzugriffsschicht/Datenspeicher Resource Tier: Zugriff und Verwaltung der Daten der Anwendung (Kundendaten, Bestellung, Produktdaten)
—> Ableitungen sind die 2-, 3- und 4-Tier-Architekturen -> alle bestehen min. aus einem Client- und einem Server-Tier
Welche Tier-Modellformen können Sie aus dem Schichtenmodell ableiten ? Welche Vor- und Nachteile haben die einzelnen Architekturmodelle ?
Zwei-Schichten-Modell (Two-Tier-Modell):
Merkmale:
Zwei Hauptkomponenten: Client (Präsentationsschicht) und Server (Datenzugriffsschicht).
Direkter Datenbankzugriff vom Client aus.
Vor- und Nachteile:
Vorteile: Einfache Struktur, geringer Overhead.
Nachteile: Mangelnde Modularität, Skalierbarkeitsprobleme bei steigender Nutzerzahl.
Drei-Schichten-Modell (Three-Tier-Modell):
Präsentationsschicht, Anwendungsschicht und Datenzugriffsschicht.
Trennung von Benutzeroberfläche, Geschäftslogik und Datenbankzugriff.
Vorteile: Modularität, leichtere Wartung und Skalierbarkeit.
Nachteile: Komplexität kann zunehmen.
Mehr-Schichten-Modell (N-Tier-Modell):
Mehrere Schichten, die spezifische Funktionen erfüllen (z.B., Anwendungsschicht, Geschäftslogikschicht, Dienstschicht).
Die Trennung ermöglicht eine feinere Steuerung und Skalierbarkeit.
Vorteile: Höhere Modularität, Flexibilität und Skalierbarkeit.
Nachteile: Komplexität nimmt zu, möglicher Overhead bei übermäßiger Schichtung.
Welche wichtigen Kriterien/ Eigenschaften haben Microservices (ganz grob) und wann würden Sie Microservices zum Einsatz bringen ?
Wichtige Kriterien/Eigenschaften von Microservices:
Dezentralisierung, Autonomie, Spezifische Funktionalität, API-Kommunikation, Datenmanagement, Skalierbarkeit, Resilienz, Technologievielfalt.
Wann Microservices einsetzen:
Bei komplexen Anwendungen, unabhängiger Entwicklung, schneller Bereitstellung, Flexibilität in der Technologieauswahl, einfacher Skalierbarkeit und Fokus auf CI/CD.
Microservices bieten sich an, wenn Flexibilität, Unabhängigkeit und Skalierbarkeit auf Anwendungsebene erforderlich sind.
Was unterscheidet generell Microservices von layerbasierten Architekturen ?
Generell Microservices:
Komponenten klar definiert
Unabhängige und klar definierte Schnittstellen werden klar angesprochen
layerbasierte Architekturen:
Dezentralisierung erkennbar
Geschäftslogik, welche früher monolithisch implementiert wurde, in einzelne Service unterteilt
Allerdings verläuft die Kommunikation meistens über eine zentrale Middleware, die eigene Logik enthält und entsprechend in den Workow der Anwendung eingreift
Was ist Kommunikation? Welche allgemeinen Möglichkeiten im Netz gibt es? (direkt, vermittelt)
Austausch/Übertragung von Informationen zwischen Sender und Empfänger über Kommunikationskanal
Selbstorganisiert: Direkte Verbindung, volle Kontrolle, volle Verantwortung (Knoten ist mit jedem Knoten verbunden)
Nutzung von Dienstleistungen: Vermittelte Verbindung, keine Kontrolle über Art und Weg der Verbindung, Verantwortung beim Dienstleister (Knotenpunkte, Routing)
Wie stellt sich der Zusammenhang zwischen Informations- und Kommunikationssystem dar ?
Informationssystem:
ist auf den Austausch von und den Umgang mit Informationen ausgerichtet.
Kommunikationssystem:
konzentriert sich auf die ordnungsgemäße Abwicklung der Kommunikationsfunktionen innerhalb eines Informationssystems
Zuletzt geändertvor einem Jahr