Biological Information System (BIS) Technologien für wissenschaftlichen Datenaustausch Barbara...
Transcript of Biological Information System (BIS) Technologien für wissenschaftlichen Datenaustausch Barbara...
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!