Anwendungen von Informationssystemen Zwei Grundformen: • Unternehmensführung, 1. Für Anwendungen, in denen die benötigte “Information“ jeweils bereits mehr oder weniger strukturiert als “Daten“ vorliegt oder einigermaßen leicht derart aufzubereiten ist: • Personal-, Kunden- und Materialverwaltung, • Buchungssysteme • Datenbanksystem (database system) • Auftragsabwicklung, • Wissensbanksystem (knowledgebase system) • Betriebsmittel- und Finanzüberwachung, • Statistik und Vorhersagemodelle, 2. Sogenannte • Literaturnachweis und Bibliothekswesen, • “Information Retrieval-Systeme“, • Digitale Bibliotheken • Begriffswörterbücher, die hauptsächlich für die inhaltliche Nutzung weitgehend unstrukturierter Texte eingesetzt werden. • Landvermessung und Bodennutzung, • Versuchsplanung, - durchführung und -auswertung, • Bildauswertung und -archivierung, • Entscheidungsunterstützung, • rechnergestütztes Entwerfen und Konstruieren (CAD), • rechnergestützte Fertigung (CIM), • rechnergestützte Programmentwicklung (CASE). Solche Anwendungen treten in den Unternehmen • manchmal einzeln, • häufiger aber in mancherlei und gegebenenfalls auch wechselnden Zusammenstellungen auf. J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.1 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.2 Ein Informationssystem dient dazu, große Mengen von Daten: • große Mengen von (large amount) • nicht alle gleichzeitig im Hauptspeicher • im allgemeinen strukturierten Daten (structured data) • auf Speichergeräten wie Magnetplatten • dauerhaft (persistent) • verläßlich (dependable) • größte Systeme verwalten inzwischen Datenmengen im Bereich von vielen Gigabytes oder gar Terabytes • andere Fragestellungen als etwa bei der Verwaltung der Werte lokaler und dynamischer Variablen in prozeduralen Programmiersprachen • für im allgemeinen viele und verschiedenartige Benutzer verfügbar (shared) • effizient zu verwalten (management) • d.h. Anfragen und (queries) • Änderungen (updates) zu bearbeiten. J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.3 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.4 dauerhaft verfügbar: verläßlich verfügbar: Genau die vorgesehenen Benutzer sollen • Daten außer im Hauptspeicher stets auch auf externen Speichergeräten. • zu den von ihnen bestimmten Zeitpunkten • mit genau den für ihre Verpflichtungen benötigten • und jeweils zutreffenden Daten • Daten auf jeden Fall durch (Sicherungs-) Kopien schützen. • die gewünschten Bearbeitungen ausführen lassen können. • Daten im allgemeinen mehrfach, gegebenenfalls zusätzlich auch noch in (leicht veränderten) Versionen, vorhanden. Verläßlichkeit umfaßt insbesondere: • Sicherheit als − Verfügbarkeit (von Daten und Bearbeitungsverfahren), − Integrität (Schutz vor unbeabsichtigter oder bösartiger Veränderung oder Zerstörung von Daten oder zumindest Erkennbarkeit von solchen Veränderungen oder Zerstörungen) − Vertraulichkeit; • Zugriffskontrolle mit Authentisierung, Verschlüsselung und digitale Signaturen als gebräuchliche Mechanismen für Sicherheit; • Zuverlässigkeit und Fehlertoleranz durch Redundanz, insbesondere durch Kopien; • bezüglich der Anwendungen inhaltliches Zutreffen der (durch die) Daten (dargestellten Gegebenheiten) durch Erhaltung semantischer Bedingungen; • wechselseitige Isolierung der Benutzer bei Mehrbenutzerbetrieb. J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.5 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.6 für viele und verschiedenartige Benutzer: Verwaltung der Daten: • dauerhafte Speicherung • Verläßlichkeit • Beantwortung von Anfragen − in einfachster Form durch direktes Wiederauffinden gespeicherter Daten und in anspruchsvollster Form durch eine vollständige Operationalisierung der logischen Implikation; − jeweils alle einer Anfrage genügenden Antworten werden geliefert; − also deklarativ (durch Angabe des Was, aber nicht des Wie) gestellt und mengenorientiert (alle Antworten); − effizient, d.h. insbesondere zeitlich schnell ausführbar; − Strukturierung der Daten erweist sich dabei als wichtiges Hilfsmittel für die Effizienz; − klassische Zugriffsstrukturen wie Sortierungen, Suchbäume und Hash-Verfahren geeignet einsetzen; − besondere Verfahren zur Optimierung von Anfragen. • Gegebenheiten der Anwendung werden − benutzerübergreifend modelliert, − mit Hilfe geeigneter Datenmodelle, d.h. Datentypen für Informationssysteme, und entsprechender Datendefinitionssprachen formalisiert und vereinbart. • Vom Informationssystem-Administrator als sogenanntes Schema getroffene Vereinbarungen stellen das entscheidende Bindeglied zwischen den späteren (End-) Benutzern dar. • Auf das gemeinsame Schema und die unter diesem Schema gespeicherten Daten werden sogenannte Sichten eingerichtet. • Durchführung von Änderungen − insbesondere berücksichtigen, daß die semantischen Bedingungen erhalten bleiben, die das inhaltliche Zutreffen der Daten absichern sollen. J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.7 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.8 verschiedenartige Blickwinkel: weitreichendster Blickwinkel: Das Informationssystem kann • das Modell einer Miniwelt bilden: − Die Daten und das Schema sollen Gegebenheiten einer Miniwelt abbilden. − Durch Änderungen im Informationssystem werden Vorgänge in der Miniwelt nachvollzogen. − Anfragen werden bezüglich des Modells beantwortet, und sinngemäß gedeutet entsprechen den Antworten (hoffentlich) jeweils Gegebenheiten in der Miniwelt. Ein Informationssystem vermittelt Mitteilungen zwischen “in einem Unternehmen“ handelnden Menschen. • oder eine eigenständige Miniwelt verwalten: − Diese Miniwelt besteht im wesentlichen aus (Original-) Dokumenten. − Diese liegen ausschließlich im Informationssystem vor. − Anfragen werden bezüglich dieser Miniwelt beantwortet und bedürfen keiner weiteren Deutung. über die sich die Menschen mit Hilfe des Informationssystems Mitteilungen machen. Diese Menschen handeln in einer Miniwelt, deren Gegebenheiten und Vorgänge durch Dokumente abgebildet werden, • oder Mitteilungen vermitteln. − Wie ein “großes schwarzes Brett“ benutzt. − Änderungen im Informationssystem bedeuten dann, daß neue Mitteilungen hinterlegt und “am Brett angeschlagen“ und daß alte Mitteilungen abgeändert oder entfernt werden. − Anfragen werden bezüglich der hinterlegten, “angeschlagenen“ Mitteilungen beantwortet. J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.9 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.10 Sichtweisen der Informatik meine eigene Sichtweise: Informatik ist die Wissenschaft (und die Kunst), formale (Programmier-) Sprachen zur Beschreibung von abstrakten Dingen und abstrakten Handlungsabläufen paradigm formale Sprache theory abstraction design • zu erfinden (zunächst anschaulich, dann genau) • zu verwirklichen (so daß schließlich beherrschbare Systeme tatsächlich verfügbar werden) und erfinden • zu benutzen. verwirklichen Sichtweise der “ACM Task Force on the Core of Computer Science“: Informatik, “computer science and engineering“, ist die systematische Untersuchung algorithmischer Vorgänge, die Information darstellen und umwandeln: deren Theorie, Analyse, Entwurf, Effizienz, Verwirklichung und Benutzung. benutzen • Grundlegende Fragestellung: “Was kann (effizient) automatisiert werden?“ • Ein Fach der Informatik wird bestimmt durch − seine jeweiligen Fragestellungen, − seine wesentliche “Theorie“, − seine bedeutsamen “Abstraktionen“ und − seine Methoden des “Entwurfes“. J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.11 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.12 Programmieren Programmieren: • im allgemeinen nicht in einem “großen Wurf“: eine Aufgabenstellung • inhaltlich erfassen, schwammig • sie ergänzen, vereinfachen, präzisieren, • somit ein Modell von ihr entwerfen, Aufgabenstellung • sie dann, die Ausdrucksmittel einer geeigneten Schichtung formaler Sprachen nutzend, genau beschreiben, wobei gegebenenfalls diese Sprachen erst erfunden und verwirklicht werden müssen, unklar • sie damit schließlich der Bearbeitung durch eine Maschine zugänglich machen, programmieren ? ausgefranst • ihre maschinelle Bearbeitung überwachen und verbessern. Maschine (hardware) • sondern schrittweise durchführen: − Modellierung und − schichtenmäßige Formalisierung J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.13 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.14 schwammig “Semantische Begriffe für die Modellierung”: ein erster Schritt für die Erfindung einer formalen Sprache zur Beschreibung statischer und dynamischer Gesichtspunkte eines Unternehmens. Aufgabenstellung unklar modellieren Modell der Aufgabenstellung ausgefranst “Grundbegriffe der Mengenlehre und Logik”: wohlverstandene Grundlagen, eine solche Sprache syntaktisch und semantisch genau zu fassen. formalisieren gedachte Maschine für anwendungsnahe formale Sprache “Ein logikorientiertes Datenmodell”: Erfindung formaler Sprachen zur Definition von Schemas, Anfragen und Änderungen in einem sogenannten "Datenmodell". “Relationales Datenmodell”: ... Maschine (hardware) ... noch eingeschränktere Logiksprache. “Beispiel für verwirklichte relationale Sprache: .. . J. Biskup Informationssysteme Einführung, Architektur SQL”: in kommerziellen Produkten gebräuchliche Sprache, die Structured Query Language. 27.10.99 1.15 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.16 “Optimierung von Anfragen”: “Algorithmen und Datenstrukturen für relationale Operationen”: effiziente Verwirklichungen relationaler Operationen. “Objektorientierte Datenmodelle”: Erfindungen formaler Sprachen zur Definition von Schemas, Anfragen und Änderungen. soll helfen, die große, über alle Schichten eines Informationssystems reichende Kluft zwischen den mengenorientierten, deklarativen Anfragen eines Benutzers einerseits und einfachen Speicherzugriffen des Basissystems andererseits zu überbrücken. “Entwurfstheorie für Schemas”: “Transaktionen”: gibt Hinweise, wie die formalen Sprachen zur Definition von Schemas benutzt werden sollen. unter der Anforderung des Mehrbenutzerbetriebes − die Erhaltung semantischer Bedingungen, − die Unteilbarkeit unabhängig voneinander ablaufender Anweisungsfolgen und − die Dauerhaftigkeit von Daten gewährleisten. “Architektur von Informationssystemen”: Grobstruktur eines Informationssystems mit seinen schichtenmäßig angeordneten formalen Sprachen. J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.17 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.18 Entwurfsumgebung Arbeitsplatzumgebung Netzumgebung Programmierumgebung Datenmanipulationssprache (DML) Vereinbarungen Änderungen .. . Sicht_i Schema Sprachanalyse Bibliographische Hinweise eingebettet interaktiv, selbständig Datendefinitionssprache (DDL) EinsatzSchnittstellen Anfragen Antworten Erklärungen S. Abiteboul, R. Hull, V. Vianu, Foundations of Databases, Addison-Wesley, 1995. InformationssystemSchnittstelle J. Biskup, Grundlagen von Informationssystemen, Vieweg, 1995. Aufbereitung von Antworten Relationen (Klassen), Tupel (Objekte) konzeptionelle Schicht (mengenorientiert, mit Optimierung) Transaktionsverwaltung Zugriffsstrukturen, Tupelidentifikatoren (Surrogate), Datensätze C.J. Date, An Introduction to Database Systems, Volume I (4th Edition), Addison-Wesley, Reading etc., 1986. MengenSchnittstelle C.J. Date, An Introduction to Database Systems, Volume II, Addison-Wesley, Reading etc., 1983. TupelSchnittstelle interne Schicht (Datensatz-orientiert) R. Elmasri, S.B. Navathe, Fundamentals of Database Systems (2nd Edition), Benjamin/Cummings, Redwood City etc., 1994. (virtueller) flüchtiger und dauerhafter Speicher SpeicherSchnittstelle P.C. Lockemann, G. Krüger, H. Krumm, Telekommunikation und Datenhaltung, Hanser, München-Wien, 1993. GeräteSchnittstelle Speichergeräte J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.19 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.20 J.D. Ullman, Principles of Database and Knowledge-Base Systems, Volume I, Computer Science Press, Rockville, 1988. Andreas Heuer, Objektorientierte Datenbanken, Konzepte, Modelle, Standards und Systeme, Addison-Wesley, Bonn etc., 1997 J.D. Ullman, Principles of Database and Knowledge-Base Systems, Volume II, Computer Science Press, Rockville, 1989. Mark Levene, George Loizou, A Guided Tour Of Relational Databases and Beyond, Springer Verlag, London, 1999 G. Vossen, Datenmodelle, Datenbanksprachen und Datenbank–Management-Systeme, Addison-Wesley, Bonn etc., 2. aktualisierte und veränderte Auflage 1994. Paolo Atyeni, Stefano Geri, and more, Database Systems, Concepts, Languages and Architectures, McGraw-Hill Companies, London, 1999 G. Vossen, Data Models, Database Languages and Database Management Systems, Addison-Wesley, Wokingham etc., 1991. C.A. Zehnder, Informationssysteme und Datenbanken (5. Auflage), Teubner, Stuttgart, 1989. Andreas Heuer, Gunter Saake, Datenbanken, Konzepte und Sprachen, International Thomson Publishing, 1995 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.21 J. Biskup Informationssysteme Einführung, Architektur 27.10.99 1.22