Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktikum 27. Juni 2003 Projekt. Einführung Das Praktikum endet mit einem Projekt: Erstellt einen Kneipenführer! Am Ende wird der Kneipenführer vielleicht.

Ähnliche Präsentationen


Präsentation zum Thema: "Praktikum 27. Juni 2003 Projekt. Einführung Das Praktikum endet mit einem Projekt: Erstellt einen Kneipenführer! Am Ende wird der Kneipenführer vielleicht."—  Präsentation transkript:

1 Praktikum 27. Juni 2003 Projekt

2 Einführung Das Praktikum endet mit einem Projekt: Erstellt einen Kneipenführer! Am Ende wird der Kneipenführer vielleicht für das NUKATH-Projekt benutzt werden. 1. Schema Definition 2. PocketPC Anwendung 3. Web Service für Daten-Upload 4. Zusammentragen der Daten 5. Kneipenführer Web-Seite (benutzt Web Services) 6. Falls ihr Zeit habt: …

3 Timeline Heute: erste Treffen Letzte Treffen (25 Juli) Zusammentragen der Daten vollständig (11 Juli) PDAs Zurückgeben Nächste Freitag: PDA- Anwendung und Daten- Upload Web Service fertig gestellt

4 Das Szenario Kneipenführer Web service Datenbank Web Sites Mobile Db Gruppe 1 Mobile Db Gruppe 2 Mobile Db Gruppe 3 Mobile Db Gruppe 4 HTTP POST SOAP

5 Schema Wir brauchen ein XML-Schema z.B. Name der Kneipe, Adresse, Bierangebot (alkoholfreie Biere, Weizenbier, belgische Biere), Musik, Atmosphäre, Telefonnummer, UID (Eindeutige Identifikator)... Stadtplan? Landmarke?

6 Compaq iPAQ PocketPC StrongARM/XScale, MIPS, oder SH3 Prozessor iPAQ StrongArm >200MHz 240 x 320 LCD Bildschirm 32 – 64 Mb Speicher (RAM) 16 Mb flüchtiger Speicher (Flash ROM)

7 Web Server Installation Es gibt mehrere Web Server für den Pocket PC, z.b. Apache und IIS + ASP (kommt mit Microsoft SQL Dashboard) Wir benutzen IIS Heute existiert außerdem IIS.Net für Pocket PC, unter anderem – aber die Installation ist kompliziert und es ist nichts vorkompiliert...

8 Forts. Installation http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=AD37ACEA- 8020-45E4-9489-270C1E638759 – SQL Dashboardhttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=AD37ACEA- 8020-45E4-9489-270C1E638759 http://www.angers.ensam.fr/wce/_0_site_web_2001/site_anglais/travail_angers/serveur_we b.htm - Installation HOWTOhttp://www.angers.ensam.fr/wce/_0_site_web_2001/site_anglais/travail_angers/serveur_we b.htm http://members.cox.net/nnsysdev/ppcwebserver.htm - Installation HOWTOhttp://members.cox.net/nnsysdev/ppcwebserver.htm Weicher Neustart (Soft Reset): zum Neustart des Pocket PC drücken Sie mit dem Stift die Soft-Reset-Taste Harter Neustart (Hard Reset): Zum harten Neustart drücken Sie die Soft-Reset-Taste + Sync-Taste+ Kalender-Taste und warten Sie 5 Sek. ALLE DATEIEN WERDEN GELÖSCHT

9 Die VBScript Programmiersprache Alt, unkompliziert, unvollständig Keine objekte, dynamische Arrays, usw. Einführung: Hello.asp

10 Beispiele Kommentare: C# // Hier ist ein Kommentar VBREM Hier ist ein Kommentar Variablen definieren C# string Mystring VB Dim Mystring rem Dieses VBscript ist weakly typed! Escaping anführungszeichen C# Mystring=I am a \string\ with quotes VBMystring=I am a string with quotes Variablen ausdrucken C#Console.Write(Variable=+Mystring) VB Response.Write Variable= & Mystring Resultat: Variable=I am a string with quotes

11 Vergleiche, Operatoren C# If (variable==null) {...} == > < != >= <= VBScript If Variable is Nothing Then... = > < <> >= <=

12 Iteration - Beispiele For i=0 to 20 step +2 Response.Write i& Next Dim myArray(10) Dim i For i=0 to 9 step +1 myArray(i)=10-i Response.Write i& Next While i<10 i=i+1 Wend Do while not i>10 i=i+1 If i=5 Then Exit Do End If Loop

13 Prozeduren C# void myFunction(){ } int myFunction(){ // oder anderen Typ return int_value } VBScript Sub myFunction() End Sub Function myFunction()... myFunction=returnvalue End Function

14 Try/Catch // C# try { // Code hier einsetzen... } catch { //error=true } If(!error){ // No error occurred } REM VBScript Dim wErr On Error Resume Next Rem Put code here wErr= Err.Number On Error Goto 0 If wErr <> 0 Then Rem No error occurred End If

15 String manipulation Dim mystring=Hello worldrem mystring definieren mystring2=Replace(mystring,world,Karlsruhe) rem mystring2 ist Hello Karlsruhe mylength=Len(mystring)rem die Lange von String bestimmen mystring2=Left(mystring,5) rem mystring2 ist jetzt Hello mystring2=Right(mystring,5)rem mystring2 ist jetzt world Die Mid() Funktion ist nicht verfügbar in dieser Ausführung – benutze Left(Right, ), ) Chr(eine_Zahl) liefert den Buchstaben, der mit eine_Zahl übereinstimmt Char(Buchstabe) liefert den character code des Buchstaben in der Funktion Es gibt verschiedene VBScript String-Konstanten: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsconvbscript.asp

16 HTTP Get/Post Um Variablen von der HTTP Get Methode abzurufen: Request.Querystring(variableName) Um Variablen von der HTTP Post Methode abzurufen : Request.Form( variableName) Diejenigen, die VBScript kennen, könnten die Idee haben, die For Each Field In Request.Form Methode anzuwenden. Diese Methode ist aber nicht in diese ASP-Programm definiert!

17 Datenbank-Zugang Ein verfügbares Objekt ist das ADOCE Recordset Dim dbObject=CreateObject(ADOCE.RecordSet.3.0) Nutzliche Funktionen: –dbObject.Open dbname,, 2, 3 –dbObject.MoveFirstrem zum Beginn des Recordsets springen –dbObject.MoveNextrem springt zum nächsten Eintrag (EOF wird angezeigt, wenn es sich um den letzten Eintrag handelt) –dbObject.Closerem das Recordset schließen –dbObject.AddNew rem neuer Eintrag –dbObject.Fields(ColumnName)=Value –dbObject.Updaterem Recordset aktualisieren

18 Beispiele Do While Not dbObject.EOF Response.Write dbObject(0).Name & _ & dbObject(0).Value Response.Write dbObject.MoveNext Loop

19 Forts. Datenbank, SQL Um das Recordset zu laden oder zu benutzen,muß man mit der Db mit SQL kommunizieren Hier sind einige Beispiele: –Löschen SQLquery=Delete from tablename where columnname=&value –Eine Tabelle kreieren SQLquery=Create table tablename (Id INT, pubname Text) –Nach Einträgen suchen SQLquery=Select * from tablename [sort by column] –Nach einem bestimmten Eintrag suchen SQLquery=Select * from tablename where column=&uniquevalue –Sortieren: ADO besitzt normalerweise eine Sortier-Option, dieser ist aber in diesem ASP-Programm nicht verfügbar. Stattdessen benutze sort by column bei der select Abfrage.

20 CreateObject & andere Funktionen Generell ist VB/ASP weniger limitiert Weil sehr wenige Funktionen in diesem ASP Programm verfügbar sind, ist man gezwungen mit wenig Mitteln viel zu machen. Versucht nicht die Grenzen des ASP Programmes zu finden – es sind genug Angaben gemacht um die erforderlichen Resultate zu erzielen. Es gibt ein komplettes, funktionstüchtiges Beispiel auf der Praktikums-Seite. SCHREIBT ES NICHT EINFACH NUR AB! Es benutzt CSV für die interne Datenspeicherung und ist einerseits falsch, und andererseits sofort zu erkennen ;-)

21 Notwendige Scripts 1.Kneipen-Info-Tabelle Dieses Script versucht, beim Laden die Tabelle zu kreieren. Sowohl die erfolgreiche Durchführung als auch jegliche Fehler, die auftreten, sollen angezeigt werden. 2.HTTP Post neuer Eintrag Formular Dieses Formular sollte die Kneipen-Informationen zu dem... Script senden (3). Fals genügend Zeit bleibt, versucht, das Script so zu designen, dass man es außerdem zum Editieren von bereits existierenden Einträgen benutzen kann... 3.Script für Einträge/ Updates Akzeptiert Daten von Formular (2). Öffnet die Verbindung zur Datenbank. Generiert eine unique ID. Fügt eine Gruppe ID hinzu. Löscht verbotene Zeichen, falls vorhanden, im input. Fügt Werte zur Datenbank hinzu, mit der generierten unique ID. (Andernfalls, wenn es sich um ein Update handelt, löscht es den Original-Eintrag, um ihn danach als neuen Eintrag mit der selben unique ID wieder einzufügen.)

22 Forts. Scripts 4.Löschen von einem Eintrag Benutzt HTTP Get, um die Unique ID zu lesen, um danach den korrespondierenden Eintrag mit SQL Query aus der Datenbank zu löschen. Zeigt an: Löschvorgang erfolgreich bzw. Fehler beim Löschvorgang 5.Einträge anzeigen Liest alle Einträge der Datenbank aus und zeigt sie auf dem Bildschirm angemessen an, zusammen mit Links zu (4), (6) und (7) (optional). 6.Details anzeigen Liest alle Details eines gegebenen Eintrags aus der Datenbank, indem es die Unique ID benutzt, um ihn zu lokalisieren und ihn danach angemessen auf dem Bildschirm darzustellen (z.B. indem es das Formular (2) zum erneuten Eintrag der Werte benutzt). 7.Upload Script Dieses Formular schickt alle Daten von der Datenbank, codiert als ein einzelnes XML-String, als eine versteckte Variable. Die XML-Daten werden zu einem Web Service geschickt, der den XML-String speichert.

23 Web Service Um Daten zu laden –Weil iPAQ nicht direkt in der Lage ist, Web Services zu benutzen, kann es nur auf standard HTTP – POST und GET zurückgreifen. –Deswegen benutzen wir HTTP POST, um Daten zu laden. –Das ist möglich durch Verändern des,web.config Files – dadurch erwartet es einfach HTTP POST input. Der Web Service –Der Web Service empfängt und speichert einen Text-String – davon abgesehen, liest oder benutzt er den Text-String nicht weiter. –Denkt daran, eure versteckte Variable so zu nennen, wie es der Web Service erwartet!

24 Zusammentragen der Daten Logistik klären... 2 Gruppen, Daten- und PDA- Gruppe Die PDA-Gruppe arbeitet hier Aufteilung innerhalb Gruppe? Daten-Gruppe ??? Aufteilung innerhalb Gruppe ? Hotspots... Vermeidet doppelte Einträge! Ist es zweckmäßig, zur Lokalisierung der Kneipen Karlsruhe in Quadranten aufzuteilen? Und jetzt: Auf gehts in die Kneipe! ;-)


Herunterladen ppt "Praktikum 27. Juni 2003 Projekt. Einführung Das Praktikum endet mit einem Projekt: Erstellt einen Kneipenführer! Am Ende wird der Kneipenführer vielleicht."

Ähnliche Präsentationen


Google-Anzeigen