Wirtschaftsinformatik (PWIN) 5. Mentorium. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1

Ähnliche Dokumente
5. Mentorium. Wirtschaftsinformatik (PWIN) Lösungshinweise

1. Mentorium Einführung, Organisation und Aufgaben zur Architektur von Informationssystemen

Java und XML 2. Java und XML

Wirtschaftsinformatik (PWIN) Übung 5. Wirtschaftsinformatik (PWIN), SS 2010, Professur für Mobile Business & Multilateral Security 1

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

... MathML XHTML RDF

XML Grundlagen Teil I

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

III. Entwicklung von Informationssystemen

ASN.1 <-> XML TRANSLATION

Einführung in die Informatik I (autip)

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

XSD - XML Schema Definition

Einführung in die Theoretische Informatik

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

1 Was ist XML? Hallo XML! Kommentare in XML 52

Grundlagen der Extensible Stylesheet Language

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

XML Informationsmodelle

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

03 XML Grundlagen. Manuel Burghardt Lehrstuhl für Medieninformatik

Präsentation zum Thema XML Datenaustausch und Integration

Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko

Einführung: Installation und Anpassung der Site zum Buch 15

XML und SOAP Einführung und Grundlagen

Webseite in XML Kurzeinführung

Multimedia Technologie II

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

XML-Programmierschnittstellen: SAX, DOM

Daten- und Metadatenstandards Wintersemester 2011 / November 2011 XML II: DTD

2. Einführung in Datenbanken und XML

1 XML Hype oder Hoffnung? Einleitung Wie ist dieses Buch aufgebaut?... 3

<Trainingsinhalt> XML umsetzen und nutzen

XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel XML


14. Rot-Schwarz-Bäume

Syntax von Programmiersprachen

Datenstrukturen. einfach verkettete Liste

IT-Basics 2. DI Gerhard Fließ

XML Extensible Markup Language

Entwicklungstand der GUI

XSL Transformation (XSLT) Teil IV

Single Source Publishing mit XML

Ferhat Ayaz. XML mit C++

GI Vektoren

XML 1.1. Grundlagen. Elmar Fuchs, Heiko Schröder. 5. Ausgabe, Januar 2015 ISBN: XML11

Auf die Mischung kommt es an

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Seminar Document Engineering

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Einführung in die Programmierung mit VBA

Langzeitarchivierungsaspekte. im Dokumentenlebenszyklus

Java API for XML Binding

Inverted Files for Text Search Engines

Algorithmen und Datenstrukturen 1

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Lösungen der Übungsaufgaben von Kapitel 1

Programmieren I + II Regeln der Code-Formatierung

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

mpl Schnittstellen-Server: ELO-Konnektor

XML Tutorium mit Oxygen. Oxygen Version 9.3!!

Grammatiken. Einführung

Schulberichtssystem. Inhaltsverzeichnis

XML-Einführung. Entwicklung Begriffe Vorteile/Möglichkeiten von XML Adressen Beispiele. Fachhochschule Nordwestschweiz FHNW Martin Hüsler

Alphabet, formale Sprache

Informatik für Elektrotechnik und Informationstechnik

Die Programmiersprache C

Zürich, 25. August LMVZ digital CSV Import

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Online-Publishing mit HTML und CSS für Einsteigerinnen

IV. Datenbankmanagement

Wiederholung: Beginn

Einrichten und Verwenden der Solutio Charly PA-Konzepte Schnittstelle

Algorithmen und ihre Programmierung

XML-Workshop, Teil 3: Programmieren mit DOM und SAX

5. Programmierschnittstellen für XML

Funktionale Programmiersprachen

Probeklausur: Programmierung WS04/05

Tobias Hauser. XML-Standards. schnell+kompakt

5. Programmierschnittstellen für XML

Einführung in das Eclipse Modeling Framework. 5. November 2014

Prof. Dr. Uwe Schmidt. 12. August Aufgaben zur Klausur Softwaredesign im SS 2014 (BInf v310, BMInf v300, BWInf v310, BWInf- 23)

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Variablen und Datentypen

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Übersicht über 1. Vorlesungsabschnitt Form und Darstellung von Informationen

Klaus Schild, XML Clearinghouse Aufbau von XML- Dokumenten

Programmierkurs Python I

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Einführung in die C-Programmierung

Übungsaufgaben zu XML:

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung.

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg

Transkript:

Wirtschaftsinformatik (PWIN) 5. Mentorium Algorithmen & XML Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1

Was ist ein Algorithmus? Präzise formulierte Verarbeitungsvorschrift zur Lösung eines Problems (z.b. durch einen Computer) Gibt an, wie Eingabedaten schrittweise in Ausgabedaten umgewandelt werden Genaue und eindeutige Handlungsanweisung Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 2

Welche Arten von Wiederholungen (Schleifen) kennen Sie? In Python haben wir zwei Schleifentypen kennen gelernt: while <Bedingung>: g <zu wiederholende Sequenz> for <element> in <liste>: <Sequenz pro Element> Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 3

Was sind die Eigenschaften des Datentypes "Liste"? Eine Liste kann mehrere Elemente enthalten. Der Zugriff auf die Elemente einer Liste erfolgt über Indizes. Die Elemente sind durchnummeriert, beginnend mit 0. Mit dem print Befehl kann ein Element einer Liste ausgegeben werden Mit len(listenname) wird die Länge der Liste abgefragt Listen können neben Strings und Numbers wiederum Listen enthalten Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 4

Welche Suchalgorithmen kennen Sie? Sequentielle Suche eines Elements in einer Queue Binary-Search-Tree-Algorithmus Baum, bei dem die Kind-Knoten links kleiner und rechts größer sind als der aktuelle Knoten Suche nach einem bestimmten Knoten im Baum Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 5

Algorithmen Aufgabe Entwickeln Sie in der Programmiersprache Python einen Algorithmus, der auf Basis eines einfachen Nutzerprofils (bestehend aus dem Aufenthaltsort) solche POI herausfiltert, die zur aktuellen Situation des Nutzers passen. D.h. in diesem Fall, den POI der die geringste Entfernung zum Nutzer hat (ein Suchbegriff wird nicht benötigt). Der gefundene POI soll dann auf dem Bildschirm ausgegeben werden. Nutzerprofil: Aufenthaltsort: Zeil, Frankfurt am Main POI Gesamtliste: Suchbegriff Name Entfernung Restaurant Kneipe abc 800 m Restaurant Restaurant xyz 1500 m Kino Kino 123 500 m Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 6

Algorithmen Aufgabe Funktionskopf: def poi_liste(suchbegriff, poi_gesamtliste): Hinweis: Definieren Sie zunächst einen geeigneten Datentyp Liste zur Speicherung der POI Gesamtliste. Die Entfernungen eines Nutzers zu einem POI wurden bereits berechnet und sind Teil der POI Gesamtliste. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 7

Lösung Algorithmen Aufgabe df def poi_liste(poi_gesamtliste): ilit( i tlit) #F Funktion definieren i poimin = poi_gesamtliste[0] for poiaktuell in poi_gesamtliste: if poiaktuell[2] < poimin[2]: poimin = poiaktuell print poimin[1] # Variable zum Speichern des POIs mit der #kleinsten Entfernung # Element aus der poi_gesamtliste entnehmen # Auf minimale Entfernung überprüfen # POI mit aktuell kleinster Entfernung speichern # Name des POIs mit final kleinster Entfernung # ausdrucken poi_gesamtliste = [["Restaurant", "Kneipe abc", 800], ["Restaurant", "Restaurant xyz", 1500], ["Kino", "Kino 123", 500]] poi_liste(poi_gesamtliste) # POI Gesamtliste generieren (2-dimensional) # Funktionsaufruf Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 8

XML Beschreiben Sie kurz die Eigenschaften eines XML- Dokuments. Einfache und menschenlesbare Syntax (nicht binär) Standardisiert Selbstbeschreibend durch enthaltene Meta- Beschreibung Erweiterbar durch neue Elementbeschreibungen -> anwendungsspezifische Datenmodelle Eignet sich zur Datenhaltung Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 9

Welche Funktion hat eine DTD? Eine Document Type Definition (DTD) beschreibt Struktur und Grammatik von XML-Dokumenten. Ist vergleichbar mit einer Variablen- / Typendeklaration in einer Programmiersprache Es wird definiert, welche Werte in Elementen vorkommen dürfen, damit ein gültiges XMLDokument entsteht. t DTD übersetzt also ein XML-Dokument in Datentypen für Datenbanken und erzeugt Regeln für Elemente Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 10

XML-Begriffe DTD Document Type Definition iti beschreibt die formale Struktur eines Dokuments XML Schema Alternativer Ansatz mit Erweiterungen der DTD Parser Übersetzt XML-Dokument in einen Dokumentenbaum Style Sheet Layout-Vorgaben zur Ausgabe von Dokumenten Style-Sheet-Prozessor Setzt die Style-Vorgaben um und generiert die Ausgabeseiten Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 11

Was ist ein "wohlgeformtes" bzw. "valides" XML Dokument? Wegen der eindeutigen, baumartigen Struktur und der Ähnlichkeit zu objektorientierten Systemen erkennt ein Rechner beim Einlesen von XML die Datenstruktur eindeutig. Ein wohlgeformtes Dokument in XML ist ein syntaktisch korrektes Dokument mit abgeschlossenen, nicht überlappenden Tags und einheitlicher Groß- und Kleinschreibung. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 12

Welche Funktion hat ein Parser? Zur Verarbeitung benötigt man einen Parser. Ein Parser ist eine Software, welche DTDs, Schemas und XML-Dokumente einlesen kann, um dann einer Anwendung Zugriffe auf alle Elemente zu ermöglichen. Übliches Vorgehen: Anwendung öffnet XML-Datensatz. Parser liest XML-Dokument und nötige DTDs, Schemas. Parser bietet Anwendung Schnittstellen mit Funktionen wie "ElementeAuflisten()". Anwendung durchsucht mittels der Schnittstellen das Dokument und bearbeitet die Elemente. Anwendung speichert den überarbeiteten XML-Datensatz ab. Ergebnis Ein syntaktisch fehlerfreies und gegen eine DTD geprüftes XML-Dokument wird als "gültig" bzw. "valid" bezeichnet. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 13

Welche Funktion hat ein Parser? Es gibt zwei verschiedene Arten von Parsern: Document Object Model (DOM) Simple API for XML (SAX) DOM-Parser laden alle Elemente in den Speicher und erzeugen eine Baum-Datenstruktur, auf der dann gearbeitet wird. SAX-Parser navigieren sich lesend durch ein Dokument, ohne es komplett im Speicher abzulegen. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 14

Welche Funktion hat ein Parser? Vergleich DOM- und SAX-Parser SAX kann Dateien beliebiger Größe parsen. SAX ist effizient, wenn nur bestimmte Teile interessant sind. SAX hat einfaches Handling. DOM erlaubt freie Zugriffe und Änderungen am Dokument. DOM erzeugt eine vollständige Abbildung des Dokuments. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 15

Welche Funktion hat ein Parser? Einsatzszenarien von DOM und SAX DOM-Parser eignen sich gut beim Bearbeiten gesamter Dokumente, z.b. zur Bearbeitung eines gegliederten Textes in einer Textverarbeitung. SAX-Parser eignen sich zum schnellen Auffinden von Datensätzen, z.b. der Adressen in einer XMLbasierten Kundendatenbank. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 16

XML Aufgabe Erstellen Sie für die Speicherung eines dynamischen Kundenprofils eine DTD und daraufbasierend ein XML Beispieldokument. Es soll dabei der Nutzungszeitpunkt, der aktuelle Aufenthaltsort sowie die persönlichen Daten eines Nutzers erfasst werden. Die persönlichen Daten sind dabei nochmal unterteilt in Pseudonym, Alter, Geschlecht und eine kommaseparierte Liste der Interessen des Nutzers. Beispiel: Pseudonym: mobilerfritz1380, Alter: 25, Geschlecht: männlich Interessen: Kino, Restaurants, Tennis, Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 17

XML Aufgabe - Hinweise Element-Content: EMPTY leeres Element ANY beliebiger Inhalt Auswahlliste, Sequenz () Gruppierung (#PCDATA) Zeichen- oder Stringdaten Kardinalität: leer: genau ein Wert nötig + mindestens ein Wert? Null oder ein Wert * Null oder mehr Werte Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 18

DTD & XML Dokument Nutzer DTD: <!ELEMENT Benutzerprofil (nutzungszeitpunkt, aufenthaltsort, pseudonym, alter, geschlecht, interessen)> <!ELEMENT nutzungszeitpunkt (#PCDATA)> <!ELEMENT aufenthaltsort (#PCDATA)> <!ELEMENT pseudonym (#PCDATA)> <!ELEMENT alter (#PCDATA)> <!ELEMENT geschlecht(männlich weiblich)> <!ELEMENT interessen (kino restaurants tennis fußball schwimmen hockey)*> XML-Dokument: <?xml version= 1 1.0 encoding = ISO-8859-1 1?> <Benutzerprofil> <nutzungszeitpunkt>21.06.2010</nutzungszeitpunkt> <aufenthaltsort>universität</aufenthaltsort> <pseudonym> mobiler fritz 1380 </pseudonym> <alter> 25 </alter> <geschlecht>männlich</geschlecht> <interessen> kino, restaurants, tennis </interessen> </Benutzerprofil> Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 19

Offene Fragen Offene Fragen? Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 20