Biological Information System (BIS) Technologien für wissenschaftlichen Datenaustausch Barbara...

Preview:

Citation preview

Biological Information System(BIS)

Technologien für wissenschaftlichen Datenaustausch

Barbara KohlroserOrtwin Probst

Florian StrasserPeter Strobl

BIS = Botanisches Informationssystem

• Flexible, plattformunabhängige Verarbeitung und Präsentation ökologischer Daten

• Verarbeitung, Speicherung und Ausgabe ökologischer Daten auf Basis neuester offener Standards und Technologien der Informationsverarbeitung

• www.bot.sbg.ac.at

Informationssystem● Informationssystem = Datensammlung, Datenzugriff,

Analyse, graphische Aufarbeitung● BIS = Gegenstück to GIS● 1997: Vorgänger-Projektgruppe: „Digitale Flora von

Salzburg“● Seitdem 500.000 Einträge● Effizienz:

– nur gerade benötigte Funktionen werden umgesetzt– weitere Module einfach einzubinden oder durch

andere ersetzbar

Kostenüberlegungen● Kommerzielle Software?● System muß nach einiger Zeit komplett ersetzt werden● Open Source?● Nur Teile, die Update benötigen, müssen erneuert

werden

Fähigkeiten von BIS

● Internationalisierung: Software kann in jede europäische Sprache übersetzt werden

● Eingeschränkter Zugang zu bestimmten Daten bzw. bestimmten Benutzern

● (zB. Nicht veröffentlichte Daten von Arbeitsgruppen)● Daten individuell zusammenstellbar, konvertierbar (PDF,

CSV oder XML) download u. Email-Versand möglich (nützlich für Weiterverarbeitung, Nutzung. Analyse

● permanente Online-Präsenz = permanenter Zugang zu Daten

● Unterstützung für tragbare Geräte

Arbeiten an abgelegenen Plätzen

● Internet ist nicht immer verfügbar oder zu teuer (Handy)

● Lokale Datensammlung notwendig bis Netzwerkverbindung wieder möglich

● Bei Geländearbeit abrufen vorhandener Informationen für Vergleiche möglich per PDA/Handy

BIS ist bereit für:● Online-publishing (zB. neue Erkenntnisse über

Pflanzenfunde)

● Unterschiedliche Detailstufen oder Datenzugang

Hauptkomponenten● Server● Client

● Server: Speicherung, Verteilung, Authentifizierung

● Clientlösung: auf jeweiligen Bedarf zugeschnitten, Benutzerschnittstelle entsprechend definiert.

DDE● Dynamic Data Exchange● Protokoll für den Datenaustausch zwischen

verschiedenen Anwendungsprogrammen● lokal und über Netzwerke● mit Windows 3.0 von Microsoft eingeführt● beide Anwendungsprogramme müssen gleichzeitig

laufen● Client baut Verbindung zum Server auf, Daten werden

automatisch aktualisiert● ersetzt in Windows 3.1 durch OLE

OLE● Object Linking and Embedding, 1991● zum einfachen Datenaustausch zwischen verschiedenen

OLE-fähigen Applikationen● Copy and Paste, Drag and Drop● ermöglicht zusammengesetzte Dokumente aus

verschiedenen Dateiformaten● Linking oder Embedding● vor allem innerhalb der Microsoft Office-Produktfamilie● Programm evtl. irgendwann nicht mehr in der Version

vorhanden, in der es gebraucht wird● Daten werden ohne Hinweis geändert, wenn ein verlinktes

Dokument geändert wird

COM● Component Object Model, auch ActiveX genannt, 1993● von Microsoft entwickelte proprietäre Technologie, um

Klassen aus DLL zu exportieren● leichte Wiederverwendung von bereits geschriebenem

Programmcode● COM-Server bietet zu exportierende Klassen über

COM-Interface an, Client benutzt Funktionen

RPC● Remote Procedure Call● Client sendet Anfrage an Server, der das angeforderte

Programm mit den Parametern vom Client ausführt● viele verschiedene Implementierungen von

Protokollen, untereinander inkompatibel● verschiedene standardisierte RPC-Systeme bieten

durch Interface Definition Language (IDL) Schnittstellen an

● XML als IDL + HTTP als Protokoll -> Web Services● Beispiele: CORBA, XML-RPC, SOAP

CORBA● Common Object Request Broker Architecture● entwickelt von der Object Management Group (OMG)● plattformübergreifende Protokolle und Dienste● ermöglicht das Erstellen verteilter Anwendungen in

heterogenen Umgebungen● nicht an bestimmte Programmiersprache gebunden,

bietet mittels IDL Schnittstellen an

UDDI● Universal Description, Discovery and Integration● Standardisierung für Verzeichnisdienste für Web

Services● Spezifikationen: WSDL-Definitionen für SOAP-

Schnittstellen, XML-Datenstrukturen, weitere Infrastrukturen

● Unterscheidung private und öffentliche Services, pro Anbieter mehrere Eintragungen

RPC● Client-Server-Modell● Portmapper-Daemon (Port 111)

Client

ServerPortmapper

Remote Host

Local Host

1. register

2. Lookup server/service 3. Call remote procedure

RPC - Externe Datendarstellung • RPC stützt sich auf Die “External Data

Representation” (RFC 1832):• Verwendet Big-Endian-Byteordnung• XDR's sind Vielfache von 4-Bytes• Verwendet IEEE Floating-Point-Darstellung• Integer werden im Zweier-Komplement

dargestellt• …

Stubs● Ein Stub dient der Umwandlung von Interner

Datendarstellung in die standardisierte Externe

Client Server

Stub Stub

Netzwerk

Anfrage AnfrageRückgabe Rückgabe

RPC-Aufruf RPC-Rückgabe AufrufRückgabe

XDR

„SOAP = XML“

SOAP basiert auf dem Client-Server-Prinzip:

Anfrage: Antwort:

send.xml:<person> <name>Max</name> <age>24</age></person>

recv.xml:<description> Max wurde 1981 geboren.</description>

XML & Shema

Das Schema definiert die einzelnen Daten-Typen:

XML: Schema:<?xml version="1.0" ?><p:personxmlns:p="http: / / .../ person"> <p:name>Max </p:name> <p:age>24</p:age></p:person>

<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/>

<xs:element name="age" type="xs:positiveInteger"/> </xs:sequence> </xs:complexType></xs:element>

Der „SOAP-Brief“Eine SOAP-Nachricht zu erstellen,ist fast wie das Schreiben und Verschicken eines Briefes.

Der Umschlag:<?xml version="1.0" ?><env:Envelope xmlns:env='http: / /www.w3.org/2001/12/ soap-envelope'> <env:Header> </env:Header> <env:Body> </env:Body></env:Envelope>

„Brief verschicken“Zum Verschicken der Nachricht wird das HTTP-Protokollverwendet („SOAP = XML + HTTP/POP3/SMTP “):

Post-Anfrage:POST / transactions/PersonAge HTTP/1.1Host: test.orgContent-Type: application/soap; charset="utf-8"SOAPAction: "http: / / test.org/transactions/PersonAge"Content-Length: 436

Ok-Antwort:HTTP/1.1 200 OKContent-Type: application/soap; charset="utf-8"Content-Length: 415

Ausblick

Webpublishing

KISS: System-Komplexität

Zusammenfassung● Für wissenschaftliche Vernetzung stehen viele

Technologien mit ähnlicher Funktionalität zur Auswahl

● Komplexitätsunterschiede sind aber erheblich

● In Zeiten knapper Forschungsbudgets müssen die Ressourcen möglichst effizient eingesetzt werden

Danke!

Recommended