13. Vorlesung 8. Datenbanken und Integration Simulation Vorlesung WS 06/07 Modellierung & Simulation Überblick Protein Information Resource PIR http://pir.georgetown.edu/ Eine Datenbank auf der Ebene der Protein Sequenzen. Die Homepage bietet die unterschiedlichen Werkzeuge an: Datenbanken und Analysetools. Protein Data Bank (PDB) http://www.rcsb.org/pdb/ Die Protein Data Bank (PDB) ist ein Archiv experimentell ermittelter dreidimensionaler Strukturen biologischer Makromoleküle. Es enthält Atomkoordinaten, bibliographische Verweise, Informationen zu Primär- und Sekundärstrukturen und kristallographische Strukturfaktoren. Diese Datenbank wurde vom Brookhaven National Laboratory in den USA entwickelt. Es existieren verschiedene Anwendungen, die PDB-Daten verarbeiten und visualisieren können. Die PDB-Daten werden durch HTML-Seiten dargestellt. Die Datenfelder sind in Zeilen geordnet, wobei jede Zeile durch ein NEWLINE abgeschlossen wird. Ein strukturierter Zugriff auf einzelne Datenfelder ist somit gut möglich. Vorlesung Modellierung & Simulation 8. Informationssysteme The Transcription Factor Database TRANSFAC http://transfac.gbf.de/TRANSFAC/index.html Die TRANSFAC Datenbank repräsentiert Informationen zur Genregulation: Binding sites, Gene, Proteine, Zellen, Klassen von Transkriptionsfaktoren sowie Verteilungsmatrizen der Sequenzen. Zur Archivierung wurde hier ein DBMS genutzt. Hier handelt es sich um einen SQL-Server von MICROSOFT. Eine direkte Nutzung dieser Systeme ist aber nicht möglich. Eine externe Datendarstellung erfolgt durch HTML-Seiten, die somit den sichtbaren Speichermechanismus darstellt. Die gewählten ASCII-Darstellungen besitzen eine klare Struktur. Die Daten werden in Zeilen dargestellt, die durch ein Newline abgeschlossen werden. Die Möglichkeit von Schemaanfragen ist in TRANSFAC nicht gegeben. TRANSFAC ist im Internet verfügbar und bietet verschiedene Masken zur Spezifikation von Anfragen an. Diese können durch HTML Browser genutzt werden. Die so spezifizierten Anfragen werden durch den Aufruf von CGI-Skripten zum Datenbankserver gesendet. Vorlesung Modellierung & Simulation 8. Informationssysteme Transpath Ist ebenfalls ein Produkt der Firma BioBase und repräsentiert eine Datenbank für Signalpathways. Sie ist ähnlich gestaltet wie die TRANSFAC. CYTOMER Ist ebenfalls ein Produkt der Firma BioBase und repräsentiert eine Datenbank für Organ- und Zelltypen. BRENDA Ist ebenfalls ein Produkt der Firma BioBase (Lizens) und repräsentiert die Enzym-Datenbank von Prof. Schomburg. Vorlesung Modellierung & Simulation 8. Informationssysteme Dateien als Komponentensysteme - DBase-ähnliche Dateien Sie besitzen eine Tabellenstruktur und sind mit dem relationalen Datenmodell vergleichbar. Der Dateiname ist der Name der in der Datei enthaltenen Tabelle. - Stark strukturierte Textdateien Einzelne Datenfelder sind durch ein Schlüsselwort gekennzeichnet. Dem Schlüsselwort können mehrere Datenelemente folgen. - Schwach strukturierte Textdateien Hier sind neben den Daten, die für eine Integration interessant sein können, weitere Informationen enthalten (z.B. Datenfelder im Textdokument). Sie dienen oft dem Entwurf eines Schemas, um diese in einem föderierten System integrieren zu können. Vorlesung Modellierung & Simulation 8. Informationssysteme - Hypertextdateien Sie besitzen viele Elemente zur Formatierung, Strukturierung und Verknüpfung von Daten. Eine Strukturierung von Daten in einer HTML-Tabelle kann für einen Schemaentwurf der Hypertextdatei wichtig sein. - Satzorientierte Dateien Hier sind Datenfelder mit gleicher oder auch variabler Datensatzlänge enthalten. Bei Kenntnis des Aufbaus eines Datensatzes ist der Zugriff auf die einzelnen Datensätze problemlos. - Binäre Dateien Ein Schema für binäre Dateien zu finden ist eigentlich nur mit Hilfe des Sourcecodes der darauf zugreifenden Anwendung möglich. Die Integration ist somit nur als gesamte Datei möglich. Als Zugriffsschlüssel kann dabei der Name der Bitmapdatei dienen. Vorlesung Modellierung & Simulation 8. Informationssysteme Zugriff auf eine Datei: URL oder ihren Pfad- und Dateinamen. Der Dateinamen ist relevant, weil auf - Informationen über ihr Format und/oder - ihre Attribute geschlossen werden kann. In der Regel sind es kontextsensitive oder kontextfreie Grammatiken Eingabe von Parsern Vorlesung Modellierung & Simulation 8. Informationssysteme Das Datenfeld in einer Datei bestimmen: - Die absolute Position in einer Datei. - Die relative Position zu einem Schlüsselzeichen/wort. - Die Kennzeichnung durch ein Schlüsselzeichen oder Schlüsselwort, die vor oder hinter einem Datenfeld stehen können oder das Datenfeld eingrenzen. Beim Einsatz eines Parsers sind die entsprechenden Datenfelder durch ihn zu lokalisieren und auszulesen. Vorlesung Modellierung & Simulation 8. Informationssysteme Zugriffsmöglichkeiten auf Informationssysteme Datenbanksysteme bieten standardisierte oder spezifische Schnittstellen: - ODBC/JDBC oder - CORBA. Der Zugriff auf Dateien ist schwierig. Für wenige Formate ist ein ODBC/JDBC- Zugriff möglich. In der Regel sind die Daten über Parser zu extrahieren. Vorlesung Modellierung & Simulation 8. Informationssysteme Zugriffsmöglichkeiten auf Informationssysteme Die Entwicklung von Zugriffskomponenten: Feste Einbindung in den Anwendungen In vielen Anwendungen sind die Softwarekomponenten für den Zugriff auf Daten fest integriert. Adapter Er dient der Anpassung der Schnittstellen verschiedener Systeme. Dadurch wird die Zusammenarbeit zweier inkompatibler Systeme realisiert. Softwareentwicklung = Module. Vorlesung Modellierung & Simulation 8. Informationssysteme Module: - sind relativ unabhängig erstellbar, - ihre Korrektheit ist einzeln überprüfbar, - sind einfach durch andere Module ersetzbar, - ihre Kommunikation erfolgt über definierte Schnittstellen. Eigenschaften: - Die Adapter können unabhängig entwickelt werden. - Funktionsweise, Korrektheit und Effizienz können separat überprüft werden. - Der Austausch oder die Änderung von Adaptern werden durch Kapselung von anderen Komponenten erleichtert. - Bei gewünschtem Zugriff auf andere Systeme wird die Ankopplung durch entsprechend entwickelte Adapter vereinfacht. Vorlesung Modellierung & Simulation 8. Informationssysteme Folgende Gruppen von Adaptern werden genannt: Spezielle Adapter: Die Anbindung eines Informationssystems. Sie können statisch oder dynamisch agieren. Universelle Adapter: Sie sind für verschiedene Systeme einsetzbar. Generierte Adapter: Sie sind speziell an ein Informationssystem angepasst und könnten mit zu der Gruppe der speziellen Adapter gehören. Sie sind jedoch nicht fertig ausprogrammiert. Vorlesung Modellierung & Simulation 8. Informationssysteme ODBC/JDBC Die Verfügbarkeit standardisierter Schnittstellen erleichtert die Implementierung von Adaptern. Beispiel: ODBC (Open Database Connectivity) und JDBC (Java Database Connectivity). Gemäß dem ODBC-Standard existieren Schnittstellen zu C, C++. Der Treiber-Manager verwaltet die ODBC-Treiber des Systems. Vorlesung Modellierung & Simulation 8. Informationssysteme ODBC/JDBC Datenquellen – gespeicherte Informationen: - Typ des zu verwendenden ODBC-Treibers, - Serveradressen und Servername, - Netzwerksoftware sowie - datenbankspezifische Einstellungen. Es existieren verschiedene Arten von JDBC-Treibern: Vorlesung JDBC-ODBC Bridges datenbanksystemspezifische JDBC-Treiber universelle JDBC-Treiber Modellierung & Simulation 8. Informationssysteme Datenzugriff mittels JDBC Voraussetzung - JDBC-Treiber. Es besteht aus Java Klassen, die im Java Programm geladen werden. Verbindungsaufbau: - die Rechneradresse, - den Login-Namen und - das Passwort in der entsprechenden JDBC-Funktion angeben. Vorlesung Modellierung & Simulation 8. Informationssysteme JAVA-JDBC-Application/Applet JDBC API JDBC-Treiber-Manager JDBC-Treiber JDBC-Treiber JDBC-ODBC Bridge-Treiber ODBC-Treiber DBS-1 DBS-2 Manager ODBC-Treiber DBS-3 Die Rechneradresse beginnt mit jdbc: jdbc:odbc: (JDBC-ODBC-Bridge) Danach folgt die IP-Adresse des Rechners. Schließlich die Angabe der Datenbank. Über diese Verbindung können SQL-Statements abgesetzt werden. Vorlesung Modellierung & Simulation 8. Informationssysteme RPC (Remote Procedure Call) RPC-Mechanismen: Um Funktionen (Procedures) auf räumlich entfernte Rechner oder auch anderer Prozesse aufzurufen. Die Argumente können übergeben werden. Die Funktion kann einen Returnwert übergeben. Vorlesung Modellierung & Simulation 8. Informationssysteme Java - Standard Remote Method Invocation (RMI) RMI-Mechanismen: Methoden von Objekten aufrufen, die sich auf einem räumlich entfernten Rechner befinden oder in einem anderen Java-Prozess laufen. RMI ist mit CORBA vergleichbar. Bei beiden sind Methoden von Objekten von anderen Rechnern oder Prozessen aufrufbar. RMI ist nur innerhalb von Java einsetzbar! Vorlesung Modellierung & Simulation 8. Informationssysteme Zugriff auf Daten in Dateien Es existieren kaum Standards. Ausnahme: dBase Dateien - ODBC-Treiber ist verfügbar. Allgemein: Zugriff auf Dateien durch Erkennen von Muster und Struktur. Parsen Aufgabe: Auslesen und eventuell auch Schreiben von Daten. Außerdem Scanner für die Analyse der einzelnen Symbole der Datei. Der Parser kann Zeichen oder Zeichenfolgen sowie die Syntax von Dateien analysieren. Vorlesung Modellierung & Simulation 8. Informationssysteme Analyse durch Parser: Lexikalische Analyse Den Eingabestrom einlesen und definierte Token erkennen und klassifizieren. Die Definition der Token erfolgt durch reguläre Ausdrücke. Die Token sind einzelne Symbole oder eine Symbolfolge. Syntaxanalyse Sie versucht die von der LA gefundenen Symbole und Wörter auf die Regeln der Grammatik anzuwenden. Während der Syntaxanalyse wird logisch ein sogenannter Parser- Baum aufgebaut. Vorlesung Modellierung & Simulation 8. Informationssysteme Die Analyse durch Parser: Für die Syntaxanalyse werden häufig folgende Strategien angewendet: Bottom-Up-Methode Top-Down-Methode Parser-Generator JavaCC Ermöglicht die lexikalische Analyse, die Syntaxanalyse und die Ausführung von Funktionen. Der Parser-Generator und die generierten Parser sind auf verschiedenen JavaPlattformen nutzbar. Vorlesung Modellierung & Simulation 8. Informationssysteme