Upload
eva-weiss
View
215
Download
0
Embed Size (px)
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!