2. Information Systems II Flashcards

1
Q

Anforderungen an die Struktur von IS-Architekturen

A
  • Minimierung der Komplexität
  • Skalierbarkeit
  • Portabilität
  • Wartbarkeit
  • Standardisierung
  • Gut definierte Schnittstellen
  • Unabhängigkeit

= Modularisierung von IS-Komponenten

Gründe: IT-Projekte haben größere Komplexität als herkömmliche Großprojekte, neigen zu Kostenexplosionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Three-Tier Concept

A
  • Präsentationsschicht: Das oberste Level einer Applikation ist das User Interface (UI) - Die Hauptfunktion des Interface ist, Aufgaben und Ergebnisse so zu übersetzen, das der Nutzer es verstehen kann
  • Logikschicht: Diese Schicht koordiniert die Anwendung, Prozessbefehle, trifft logische Entscheidungen und Evaluationen und macht Kalkulationen - Bewegt und verarbeitet Daten zwischen den umgebenen Schichten
  • Datenschicht: Speicherung von Informationen in einer Datenbank oder Dateisystem - Die Informationen werden zur Bearbeitung an die Logikebene zurückgegeben (und darüber an den User)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Model-View Concept

A
  • Controller: Steuert View(s), initiiert relevante Präsentationsupdates im View und Datenaktualisierung im Modell
  • Modell: Verwaltet Daten und enthält gegebenfalls die Programmlogik
  • View: Zeigt/Präsentiert die Daten (des Modells) dem User (GUI)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Three-Tier vs. Model-View

A
  • Ähnliche Konzepte zur Strukturierung von IS-Architekturen
  • Keines der Konzepte ist allgemein definiert oder spezifiziert:
  • Es gibt auch zweistufige Konzepte (zweistufige/two-tier Architektur)
  • Programmlogik befindet sich in manchmal im Model und manchmal im Controller (MVC Architektur)
  • Unabhängig von den zugrundeliegenden strukturellen Modellen ist wichtig, dass bestimmte Funktionskategorien in einem IS modularisiert werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Zentralserver-Architektur

A
  • Ein leistungsstarker Zentralcomputer
  • „Dumme“, leistungsschwache Terminals (oft ohne Festplatte)
  • Terminals stellen nur das grafische user interface (GUI) zur Verfügung
  • Zentraler Server ist für die Verarbeitung von Anwendungen zuständig
  • Zentraler Server kümmert sich auch um die Datenbank
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Zentralserver-Architektur Vor- und Nachteile

A

• Vorteile:

  • Zentraler, gemeinsamer Datenspeicher
  • Homogene Anwendungsumgebung
  • Keine Terminalverwaltung erforderlich
  • Günstige Terminals

• Nachteile

  • Zentralserver ist single point of failure
  • Feste (unflexible) Netzwerkstruktur
  • Monolithisch (nicht zerlegbar)
  • Kostenintensive Zentralserver
  • Problematisch bei großen Datenaufkommen und -mengen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Client / Server-Architektur

A
  • Clients fragen Service nach
  • Server bietet Service an
  • Computer können in Client- und Server-Rolle agieren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Client / Server-Architektur

Distributed Presentation / Verteilte Präsentation

A

Aufteilung der Präsentation zwischen Server und Client:

  • Abstrakter Teil der Präsentation (Server): Objekte (z.B ein Fenster) wird in einer abstrakten Weise erstellt, z.B ohne konkrete Funktionen oder Darstellung
  • Plattform-spezifischer Teil der Präsentation (Client): Abstrakte Objekte werden plattformspezifisch erzeugt und dargestellt (z.B. Benutzen des GUI der jew. Plattform)
  • Vorteil: Heterogene Anwendungssysteme können mit einheitlichem UI auf verschiedenene Plattformen integriert werden
  • Beispiel: X-Windows - Eine Benutzeroberfläche mit X-Windows kann auf verschiedenen Plattformen dargestellt werden
  • Beispiel: Mobile Web App in einer Native App (Spiegel Online, alte Facebook App)
  • Facebook App: Nativer Container mit nativem GUI Element, das einen Browser simuliert, der mit der Facebook WebApp verbunden ist -> Nativität nur simuliert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Client / Server-Architektur

Remote Presentation

A

Die Präsentation wird zum Client ausgelagert

  • Besonders vorteilhaft, wenn der zentrale Server kein eigenes GUI hat
  • Clients können auf verschiedenen Plattformen laufen
  • Benutzeroberfläche (GUI) kann nach dem Wunsch des Benutzers konfiguriert werden
  • Client darf kein „dummes“ Terminal sein
  • Beispiel: Apple Airplay, TeamViewer for iOS - Mac (Client)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Client / Server-Architektur

Distributed Application

A

Verteilung der Anwendungsfunktion (Logik) zwischen Server und Client:

  • Zentral genutzte Anwendungsfunktionen werden auf dem Server gehostet, um für alle verfügbar zu sein
  • Dezentrale Anwendungen auf dem jeweiligen Client
  • Zentrale Anwendungsfunktionen werden nur auf Nachfrage benutzt
  • Vorteil: Entwicklung und Wartung der Anwendungsfunktionen werden einfacher, Komplexität wird reduziert
  • Beispiele: Facebook App, DB Navigator App, Siri
  • Präsentation ist client-side. Daten sind server-side
  • Anwendungsfunktionen client-side: Bilder hochladen, posten etc.
  • Anwendungsfunktionen server-side: Push-Nachrichten, Vorschläge, Organisation von Gruppen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Client / Server-Architektur

Remote Database / Entfernte Datenbank

A

Datenbankverwaltung befindet sich auf dem Server:

  • Traditioneller Ansatz für Datenbank-Anwendungen
  • Mehrere Anwendungssysteme nutzen die selbe Datenbank
  • Datenverwaltung kann auch über mehrere Server verteilt werden
  • Problem: Es gibt verschiedene Implementierungen der populären Datenbankabfragesprachen „SQL“ mit vielen Erweiterungen und Unterschieden
  • Beispiele: Dropbox App, Kundeninformationssysteme, Notizen-App
  • Notizen werden auf dem Client geschrieben und angezeigt, aber zu einem Server geschickt und dort gespeichert
  • Dadurch können mehrere User dieselbe Notiz verändern; Auf Notizen kann offline nicht zugegriffen werden (Google Docs)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Client / Server-Architektur

Distributed Database / Verteilte Datenbank

A
  • Datenverwaltung zwischen Client und Server verteilt. Es existieren zwei Inkarnationen einer distributed Database:
  • Partitionierung des Datenspeichers zwischen Server und Client (Partitionierung: Aufteilen eines Datenspeichers)
  • Organisationsstruktur: Zentralisiertes Verzeichnis eines Unternehmens vs. Persönliches Adressbuch
  • Häufigkeit der Benutzung: Aktuelle Geschäftszahlen vs. Archiv

• Partitionierung des Datenbanksystems (DBMS) zwischen Server und Client

  • Datenzugriffsfunktionalität (häufig verwendet) meistens auf dem Client
  • Datenbankenverwaltung auf dem Server

• Beispiel: Here Maps App, Notizen-App

  • Notizen werden auf dem Client geschrieben und angezeigt. Sie werden auf dem Gerät gespeichert und zusätzlich mit der Datenbank synchronisiert
  • Mehrere User können dieselbe Notiz verändern; Auf Notizen kann auch offline zugegriffen werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Client / Server-Architektur

Vor- und Nachteile

A

• Vorteile:

  • Kann flexibel gestaltet und erweitert werden
  • Hohe Interaktions- und Kommunikationsfähigkeiten
  • Verlässlichkeit durch redundante Ressourcen

• Nachteile:

  • Hohe Serverauslastung durch Multi-User-Zugriff
  • Hoher Planungs- und Koordinationsaufwand
  • Hohe Netzwerkbandbreite erforderlich
  • Hoher administrativer Aufwand
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cloud Computing Architecture

A
  • Internet-zentrierte Architektur
  • Anbieter bieten komplexe Dienste auf Basis von Hard- und Software in abstrakter Form an
  • Speicher, Rechenleistung oder komplexe Dienste können über einen Client über das Internet abgerufen werden
  • Zugrundeliegende Hard- und Software einer Cloud ist für einen Kunden nicht relevant
  • Verschiedene Typen von Cloud-Computing-Diensten:
  • Infrastruktur als Dienstleitung
  • Platform as a service
  • Software as a service

• Anbieter z.B Amazon, Google, Microsoft, Telekom,…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cloud Computing Architecture (mit Beispiel Apple iCloud)

Vor- und Nachteile

A

• Vorteile:

  • Informationssysteme werden hoch skalierbar (einfaches Upgrade für mehr Speicherplatz etc)
  • Zentraler Datenspeicher als Backup
  • Kosteneffizient (es wird nur für die tätsächlich verwendete Rechenleistung gezahlt)
  • Jederzeit und überall Zugriff auf Anwendungen und Daten
  • Ermöglicht die Ausführung anspruchsvoller Anwendungen auf Systemen mit geringer Leistung (z.B Spracherkennung auf Mobilgeräten)

• Nachteile:

  • Unternehmen müssen sich auf den Cloudservice-Provider und das rechtliche und politische Umfeld verlassen
  • Potenzielle Probleme: Datenverlust (z.B. Password hacks etc.), Nichtverfügbarkeit von Daten, Anbieterkonkurs, Lock-in-Effekte (hohe Wechselkosten etc.), Internetverbindungsfehler
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Peer-to-Peer Architektur

A
  • Netzwerk von Computern mit gleichen Fähigkeiten
  • Eigenschaften:
  • Keine zentrale Instanz koordiniert die erforderlichen Interaktionen
  • Keine zentrale Datenbank
  • Peers agieren autonom
  • Jeder Peer kennt nur die anderen Peers, mit denen er gerade kommuniziert
  • Peers-, Verbindungs- und Informationsflüsse innerhalb dieses Konzepts sind nicht garantiert
17
Q

Peer-to-Peer Architektur

Vor- und Nachteile & Beispiel Git

A

• Vorteile:

  • Benötigte Ressourcen werden von vielen bereitgestellt (z.B für die Verteilung von großen Dateien)

• Nachteile:

  • Hohe Komplexität
  • Erfordert eine kritische Masse an Peers (bestimmte Anzahl)

• Beispiel Git: Distributed Version Control System (Software zur verteilten Versionsverwaltung)

  • Tool zum kollaborativen Arbeiten
  • Jeder Entwickler hat seine eigene Repository -> nichtlineare Entwicklung, daher kein zentraler Server
  • Alle dezentralisierten Veränderungen können zusammengeführt werden (merge)
18
Q

Edge Computing Architektur

A

• Was ist Edge Computing?

  • Verteilter Ansatz für die Berechnung (computing) an / in der Nähe von Netzwerk-Endpunkten
  • Aufteilung eines Problems in kleine Pakete, Berechnung der Teilprobleme auf mehreren Computern
  • Beispiel BOINC: Einsatz von Smartphones, die Teilproblem-Pakete über Nacht lösen
  • Heterogene Nomenklatur (edge, fog, mist computing) aufgrund multipler Interessen und Ansätze; keiner von ihnen ist gleichbedeutend mit Cloud Computing

• Warum Edge Computing?

  • Proliferation (Vermehrung) von IoT Geräten, die zu verarbeitende Daten produzieren
  • Zentralisierte Architektur der Cloud-Systeme hat eine Grenze
  • Entfernung zum Rechenzentrum wirkt sich auf die Servicequalität der Cloud aus
  • Stetiger Rückgang der Kosten für die Verarbeitungsleistung und das Aussehen intelligenter Endgeräte, die Überschneidungen erkennen und schlißen können
19
Q

Edge Computing Architektur

Vor- und Nachteile

A

• Vorteile und Anwendungen:

  • Niedrige Kern-Netzlast- und Übertragungskosten, da weniger Daten übertragen werden
  • Entlastung des Cloud-Servers/Rechenzentrums und effiziente Ressourcennutzung möglich
  • Reduzierte Latenz ermöglicht Use-Cases wie Autonomes Fahren
  • Neue Funktionalitäten werden von intelligenten Endpunktgeräten bereitgestellt

• Nachteile:

  • Sicherheits-Herausforderungen: Verteilte Architektur erhöht Anzahl der Angriffspunkte - Je „intelligenter“ das Gerät, desto verwundbarer ist es (Viren und Exploits) - Man-in-the-middle-attacks (Kapern eines Devices durch Dritte)
  • Bedenken hinsichtlich der Vertrauenswürdigkeit und Authentifizierung
  • Risiko eines Konfigurationsdrifts, wenn minderwertige Geräteverwaltungslösungen implementiert werden
  • Fixierter physischer Standort und Kosten der Hardware
  • „Versteckte“ Lizenzkosten für Endgeräte (Basisversion vs zusätzliche Funktionen)
  • Manchmal fügt es dem System unnötigen Overhead und Komplexität hinzu, die für IoT Anwendungen nicht immer erforderlich sind
20
Q

Client / Server Architektur

5 Typen

A