Was sie hier nicht lernen

Slides:



Advertisements
Ähnliche Präsentationen
Anbindung mobiler Endgeräte über den Terminal Service
Advertisements

Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Design- und Entwicklungswerkzeuge
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
Web Matrix Project Kurzüberblick Dirk Primbs Technologieberater Developer Platform Strategy Group Microsoft Deutschland GmbH.
Systemverwaltung wie es Ihnen gefällt.
Telefonnummer.
Neuerungen in PalmOS® 5 Florian Schulze (SS 2003).
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Microsoft Windows 2000 Terminal Services
Java: Grundlagen der Sprache
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Introducing the .NET Framework
Prof. Dr. Bernhard Wasmayr
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
Microsoft eMbedded Visual Basic Entwicklung von Anwendungen für den Pocket PC Seminarvortrag Mobile Computing Holger Otte.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Automatische Übersetzungen mit Google
20:00.
Einstellungen im Web für Outlook
„Küsse deine Freunde“ – FlexKom-App teilen
Zusatzfolien zu B-Bäumen
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Weltweite Kommunikation mit Exchange Server über das Internet
HOB RD VPN HOB Remote Desktop Virtual Private Network
Eine Einführung in die CD-ROM
Best Practices in der Datenbank-programmierung
Dokumentation der Umfrage
Durchsuchen, Suchen, Abonnieren Fotos, Musik, Media Informations- management VisualierungKlarheit.
1 Teil 2 Einblicke in Exchange 2003 (Basis Beta 2)
SQL Server 2005 CLR-Integration
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Tools und Verfahren Steffen Krause Technologieberater Microsoft Deutschland GmbH
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
SQL Azure Administration
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
… und was man damit machen kann.
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Symmetrische Blockchiffren DES – der Data Encryption Standard
Praktikum 27. Juni 2003 Projekt. Einführung Das Praktikum endet mit einem Projekt: Erstellt einen Kneipenführer! Am Ende wird der Kneipenführer vielleicht.
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Kaseya Virtual System Administrator Produkt Update 7.0 Rocco van der Zwet Copyright ©2014 Kaseya 1.
Folie Einzelauswertung der Gemeindedaten
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
orgAnice Pi Schulung /13 Konfiguration von orgAnice Pi (1) 2.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
WINDOWS 2003 Server. Standart Varianten für 32 Bit: Web Edition: Unterstützt Single(1)- oder Dual(2)-Prozessor-Systeme und bis zu 2 GB RAM 32-Bit Standard.
 Präsentation transkript:

Mobile Computing mit Windows Mobile .NET Compact Framework & Webanwendungen

Was sie hier nicht lernen Wie testet man, ob ein Ei schlecht ist? Was sie hier nicht lernen

Was ist Mobile Computing? Agenda I Was ist Mobile Computing? Mobile Betriebssysteme von Microsoft Wer kann Mobile Computing? II Grundlagen Mobile Computing Plattformen, Werkzeuge Leistungsmerkmale der SDKs, Browser etc. mobile Anwendungen / Webanwendungen III Fazit Lohnt sich Mobile Computing?

Mobile Computing Mobile Betriebs-systeme Mobile Geschäfts-prozesse Mobile Geräte

Die mobilen Betriebssysteme Windows Mobile ist ein Markenname von Microsoft

Die Basis mobiler Betriebssysteme Torsten Weber | I Was ist Mobile Computing? [1]

Windows Mobile 5 / 6 Partnerinnovationen „höhere“ Produktivität graduelle Verbesserungen 3G/UMTS, WiFi, Voice/Data neue APIs „höhere“ Produktivität Word, Excel, Powerpoint Mobile Persistent Storage ActiveSync 4 „besseres“ Multimedia WMP 10 Mobile HDD, USB 2.0 …

Wer kann Mobile Computing? vor einigen Jahren waren mobile Anwendungen schwerer zu entwickeln, das ist heute leichter die Werkzeuge sind erheblich mächtiger .NET Compact Framework ist verfügbar keine tief greifenden Kenntnisse oder spezielle Ausbildung erforderlich jeder kann prinzipiell sofort damit entwickeln Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders Entwicklung für mobile Geräte nicht vergleichbar mit Entwicklung für Desktops oder Server unter Windows Mobile 5 nur 32 Prozesse und nur 32 MB virtueller Adressierungsraum Einschränkungen wurden mit Windows Embedded CE 6 aufgehoben Embedded CE 6 != Windows Mobile 6 Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders Microsoft: mobile Anwendungen sollten nicht beendet werden andere Speicherverwaltung: Anwendungen können jederzeit beendet werden darauf kann reagiert werden Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders andere Denkweise beim Zugriff auf Daten Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders 192 dpi 96 dpi Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?

Windows Mobile ist anders Torsten Weber | I Was ist Mobile Computing?

Wer kann Mobile Computing? prinzipiell kann jeder Mobile Computing mächtige Entwicklungsumgebung + Kenntnisse in .NET Framework und / oder .NET Compact Framework != konzeptionell gutes Mobile Computing es benötigt auch einen Erfahrungsschatz Torsten Weber | I Was ist Mobile Computing?

Wer kann Mobile Computing? Was ist, wenn die Erfahrung fehlt? Was ist, wenn nur ein Aspekt mobil gemacht werden soll? Torsten Weber | I Was ist Mobile Computing?

Sie brauchen was mobiles! 1. Lösung: Terminalanwendung Torsten Weber | I Was ist Mobile Computing?

Sie brauchen was mobiles! 2. Lösung: Webanwendung Torsten Weber | I Was ist Mobile Computing?

Sie brauchen was mobiles! 3. Lösung: .NET Compact Framework Torsten Weber | I Was ist Mobile Computing?

Sie brauchen was mobiles! 4. Lösung: .NET Compact Framework + XSLT Torsten Weber | I Was ist Mobile Computing?

Sie brauchen was mobiles! Welche Lösung? Mobile Betriebs-systeme Mobile Geschäfts-prozesse Mobile Geräte Torsten Weber

Wie und Was unterscheiden können Funktionsweise einer Versicherung: kollektive Risikoübernahme die Verteilung von Risiko auf Menge und auf Zeit machen Coca Cola und Pepsi dasselbe? das Geschäft  ist das Was braucht eine Versicherung Service-Orientierung oder Mobile Computing und dort AJAX?  ist das Wie Torsten Weber | I Was ist Mobile Computing?

Wie und Was unterscheiden können II Grundlagen Mobile Computing Wie und Was unterscheiden können MSXML Kartendienst Mobiles System URL, Parameter JPEG, PNG Desktop System XML SOAP XML Adresssuche JSON VPN MSMQ Komprimierung Datenbank Service Ereignisse

Werkzeuge für Mobile Computing Entwicklung für das .NET Compact Framework mit Visual Studio Standard Edition (2005) bzw. Professional (2008) (aber jeweils nie Express) native (C++) Device-Programmierung kein extra Werkzeug mehr für eMbedded VC++ MFC 8, ATL 8 (auch für Smartphone), STL, CRT Forms-Designer, Datentools, etc. Emulatoren ARM-Image Deployment-Designer (CAB-Files) + Code-Sign. Torsten Weber | II Grundlagen Mobile Computing

Das .NET Compact Framework ist kompatible Teilmenge des .NET Framework für Windows CE-basierte Geräte bekannte .NET-Entwicklung RAD für mobile Geräte Designer, Debugger, Emulatoren im Geräte-ROM seit WM 2003 Vorteil gegenüber Desktop, Server in .NET CF 2 kein COM Interop Torsten Weber | II Grundlagen Mobile Computing

Ein Vergleich .NET / .NET CF Torsten Weber | II Grundlagen Mobile Computing

Die Funktionalitäten beim .NET CF 2 Visual Studio 2005 Display USB or Serial Processor Memory GSM/GPRS CDMA/1xRTT Device Hardware WiFi Bluetooth Radio Drivers Windows Mobile CE DB ActiveSync SQL CE Pocket Outlook Pocket Internet Explorer Windows Media Player Windows CE Software Platform (APIs) Home Screen User Interface/Shell HTML Control DOM GAPI Camera D3DM Location* Remote API Configuration* Bluetooth Security State & Notifications* Pocket Watson Connection Mgr. TAPI* SMS* MAPI* POOM* ActiveSync Multimedia Communication Device Management Presentation SQL CE ADO CE XML CE DB OLE DB Data Access Native Win32 ATL Managed .NET Compact Framework Server side ASP .NET Mobile Controls * = Managed wrappers MFC Torsten Weber | II Grundlagen Mobile Computing

Torsten Weber | II Grundlagen Mobile Computing Neuerungen in .NET CF 2 mehr Performance Generics, partielle Klassen COM Interop Kryptographie Message Queues serielle Ports neue Steuerelemente User Controls mit Designer Torsten Weber | II Grundlagen Mobile Computing

Wenn das .NET CF nicht reicht Bluetooth, Druck, IrDA, OBEX Smart Device Framework 32feet.com ComponentOne Infragistics In the Hand Odyssey Software Xceed Torsten Weber | II Grundlagen Mobile Computing [2], [3], [4]

Die Entwicklung einer mobilen Anwendung Visual Studio 2005 C# / VB.NET .NET CF „Desktop“ Version .NET CF Windows Windows Mobile Torsten Weber | II Grundlagen Mobile Computing

mobiler SQL Server (ab .NET CF 1) kompakte relationale Datenbank SQL-Syntax (kompatibel mit SQL Server) hohe Performance unterstützt Replikation & Synchronisation Zugriff per ADO.NET, ADOCE, OLEDBCE 128-Bit-Verschlüsselung der DB unterstützt Transaktionen Torsten Weber | II Grundlagen Mobile Computing

mobiler SQL Server (ab .NET CF 2) Multi-User-Support SqlCeResultSet (scrollable updateable Cursor) zusätzlich zu DataReader, DataSet, DataTable Named Parameters Auto-Compact Management-Tools VS2005-Integration Smartphone-Unterstützung für Win CE & Win32 Torsten Weber | II Grundlagen Mobile Computing

Torsten Weber | II Grundlagen Mobile Computing Szenario DataSet if (Person.New) { datamodel.Update(); … Code / RAM Dateisystem / RAM Torsten Weber | II Grundlagen Mobile Computing

Szenario SqlCeResultSet if (Person.New) { datamodel.Update(); … Code / RAM Dateisystem / RAM Torsten Weber | II Grundlagen Mobile Computing

Windows Mobile 5 – Was ist neu? .NET Compact Framework 1 SP3 im ROM RAM-Installation von CF 2.0 für PPC & Smartphone SQL Mobile für PPC & Smartphone Managed MAPI, Telephony, Pocket Outlook… State & Notifications Broker D3D Mobile APIs für Kamera & Location einheitliches CAB-Format Torsten Weber | II Grundlagen Mobile Computing

Torsten Weber | II Grundlagen Mobile Computing neue Steuerelemente CameraCapture ContactPicker PicturePicker Torsten Weber | II Grundlagen Mobile Computing

neue APIs - Managed Outlook Mobile früher kein COM Interop, unter .NET CF 2 aber oder mit Windows Mobile 5 API geht auch mit .NET CF 1 Beispiel OutlookSession outlook = new OutlookSession(); Contact me = new Contact(); me.FullName = “Torsten Weber”; outlook.Contacts.Items.Add(me); // gespeichert me.JobTitle = “BASTA Speaker”; me.Update(); // gespeichert Torsten Weber | II Grundlagen Mobile Computing

neue APIs - Managed Messaging Microsoft.WindowsMobile.PocketOutlook Email & SMS + Attachments Recipient ≠ Contact ! Beispiel Dim message As New SmsMessage message.To.Add(New Recipient(callerNumber)) message.Body = “Update Process 203 RPC40o" + selectedTime message.Send() Torsten Weber | II Grundlagen Mobile Computing

Torsten Weber | II Grundlagen Mobile Computing neue APIs - SnAPI State & Notifications API einheitliches API zwecks Benachrichtigung, "wenn etwas passiert" nutzt dokumentierte Registry-Keys transient & persistent notifications Torsten Weber | II Grundlagen Mobile Computing

Szenario „Dispatching“ mit SnAPI SMS I S D N Torsten Weber | I Was ist Mobile Computing?

Torsten Weber | II Grundlagen Mobile Computing neue APIs - SnAPI zwei Schritte SystemState-Objekt erzeugen Event-Handler anhängen Beispiel SystemState callerId = new SystemState( SystemProperty.PhoneIncomingCallerContact); callerId.Changed += new EventHandler(callerId_Changed); void callerId_Changed(object sender, ChangeEventArgs e) { Contact caller = (Contact)callerId.CurrentValue; Torsten Weber | II Grundlagen Mobile Computing

Torsten Weber | II Grundlagen Mobile Computing neue APIs - SnAPI Beispiel SystemState missedCall; void Form_Load(…) { if(!SystemState.IsApplicationLauncherEnabled( “MyApp.MissedCall”)) { missedCall = new SystemState( SystemProperty.PhoneMissedCall ); missedCall.EnableApplicationLauncher( “MyApp.MissedCall”); } else { SystemState missedCall = new SystemState(“MyApp.MissedCall”); } missedCall.Changed += new EventHandler(missedCall_Changed); Torsten Weber | II Grundlagen Mobile Computing

Leitfaden für die erste mobile Anwendung Visual Studio andere IDE ist möglich Emulatoren sind dabei mobiler SQL Server ist dabei Windows Mobile SDKs nachinstallieren Windows Mobile 5 SDK Windows Mobile 6 SDK lokalisierte Abbilder der Emulatoren nachinstallieren weitere Werkzeuge wie SmartDeviceFramework Torsten Weber | II Grundlagen Mobile Computing

Leitfaden für die erste mobile Anwendung II Grundlagen mobile Webanwendungen Leitfaden für die erste mobile Anwendung für den physischen Zugriff auf mobile Geräte bzw. Emulatoren: ActiveSync (XP) ab 4.1 bzw. Gerätecenter (Vista) optional Geräteemulator 2 oder höher Torsten Weber | II Grundlagen Mobile Computing [5] – [13]

2 Szenarien für das Wie für Mobile AJAX Mobile Webanwendung + Mobile AJAX mit Internet Explorer Mobile seit Windows Mobile 2003 möglich auch bei mobilen Geräten gibt es Vorteile von AJAX: Webseiten nicht komplett neu laden spart Bytes und damit Geld  Praxis .NET CF Anwendung + Mobile AJAX XML-Transformation für „mehr Benutzeroberfläche“ Torsten Weber | II Mobiles AJAX – Wie geht es?

2 Szenarien für das Wie für Mobile AJAX Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd1106 + Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

2 Szenarien für das Wie für Mobile AJAX Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd1106 + Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

Torsten Weber | II Mobiles AJAX – Wie geht es? Was ist klar. Sie brauchen was mobiles! Wie?: Eine Webanwendung mit AJAX Detailinformationen: Ihr Mobile Operator ist T-Mobile oder Simyo oder jemand anderes. Wer weiß das schon so genau. Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Produktdaten mobil abfragen notwendig: Produkt-ID soll verhindert werden: zusätzliches „HTML-Drumherum“ (Overhead) Vorteil: Zwischenschritt eines Seitenaufbaus entfällt, Anwendung weiter sicht- und bedienbar Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Produkt Produkt-ID ? Produkt-ID Produkt Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX wie viel übertragen wird, ist mit Fiddler feststellbar (www.fiddlertool.com) unterstützt als HTTP Debugging Proxy einen Debug-Modus wie eine IDE bei Emulatoren / mobile Geräten ist eine Konfiguration für Fiddler notwendig Torsten Weber | II Mobiles AJAX – Wie geht es?

Mitgeschrieben für Sie! Die Konfiguration von Fiddler Für die Verwendung von Fiddler auf mobilen Geräten muss ein Browser erst konfiguriert werden. Für den Internet Explorer Mobile 5 unter Windows Mobile 5 (Pocket PC) führen Sie diese Konfiguration über Start, Einstellungen, Reiter Verbindungen, Anwendung Verbindungen, Reiter Erweitert und die Schaltfläche Netzwerk auswählen durch. Stellen Sie anschließend die Option Programme mit automatischem Internetzugriff verwenden auf den Eintrag Firmennetzwerk um. Klicken Sie dann auf die Schaltfläche Bearbeiten und wählen Sie den Reiter Proxyeinstellungen aus. Als nächstes muss die Option Dieses Netzwerk verwendet einen Proxyserver aktiviert und unter Proxyserver der Wert ppp_peer bei einer Verbindung über Bluetooth oder DMA bzw. dtpt_peer bei einer Verbindung über USB eingegeben werden. Klicken Sie anschließend auf Erweitert und im folgenden Dialog auf den Eintrag ppp_peer bzw. dtpt_peer beim Typ HTTP. Jetzt muss nur noch der Anschluss von 80 auf 8888 geändert und das Ganze 5-mal mit OK bestätigt werden. Jetzt ist der Desktop PC an der Reihe bei dem mit der rechten Maustaste im Infobereich der Taskleiste auf das Symbol von ActiveSync geklickt und dort im Kontextmenü der Eintrag Verbindungseinstellungen ausgewählt werden muss. In dem darauffolgenden Dialogfeld muss unter Dieser Computer ist verbunden mit die Option Firmennetzwerk eingestellt und mit OK bestätigt werden. Starten Sie Fiddler und wählen Sie aus dem Menü Tools den Menüpunkt Fiddler Options aus. Im darauf folgenden Dialogfeld Fiddler Options aktivieren Sie die Option Allow remote clients to connect aus und bestätigen mit OK. Docken Sie das mobile Gerät ein. Haben Sie keines zur Verfügung und arbeiten mit einem Emulator kann auch eine virtuelle Dockingstation verwendet werden. Hier muss erst sichergestellt werden, dass sich ActiveSync 4.x mit dem Emulator verbinden kann. In ActiveSync prüfen Sie über den Menübefehl Datei/Verbindungseinstellungen und in dem darauf folgenden Dialogfeld unter Verbindung zu folgenden Anschlüssen zulassen ob dort DMA ausgewählt ist. Anschließend kann über den Menüpunkt Extras/Geräteemulator-Manager per Kontextmenü eines gerade laufenden Emulators der Eintrag In Basisstation ausgewählt werden. Hat alles geklappt, ändert sich das Symbol des ausgewählten Emulators in ein Symbol, das eine Netzwerkverbindung dargestellt. Jetzt kann mit Start\Internet Explorer der Internet Explorer Mobile gestartet und der dabei entstehende Datenverkehr protokolliert und manipuliert werden. Eventuell muss dazu noch die Firewall des Desktop PCs angepasst und dort der Port 8888 freigegeben werden. Torsten Weber | II Mobiles AJAX – Wie geht es? [3]

Szenario Webanwendung mit AJAX das Wie – Webanwendung mit Mobile AJAX  welche Technologie? zweckadäquat entscheiden alles laden: XML-Dateninseln teilweise laden: MSXML im Kontext laden: Mobile AJAX in Verbindung mit SOAP / XML, JSON usw. übertragene Daten Torsten Weber | II Mobiles AJAX – Wie geht es? [4], [5], [6]

2 Szenarien für das Wie für Mobile AJAX Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd1106 + Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 1: Dateninseln Beispiel für eine XML-Dateninsel: <xml> <Chapters> <Chapter Name=“Vorwort”> <ReferenceWeb ID=“…” URL=“…”>…</ReferenceWeb> </Chapter> <Chapter …> … </Chapter> </Chapters> </xml> CODE DEMO Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 1: Dateninseln Beispiel für eine XML-Dateninsel: function loadChapters() { xmlDoc = Chapters.XMLDocument; chapters = xmlDoc.getElementsByTagName("Chapter"); for (i = 0; i < chapters.length; i++) { option = new Option(); option.text = chapters[i].attributes.getNamedItem("Name").text; option.value = option.text; document.all.chaptersList.options.add(option); } } CODE DEMO Torsten Weber | II Mobiles AJAX – Wie geht es?

2 Szenarien für das Wie für Mobile AJAX Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd1106 + Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 2: MSXML erlaubt asynchrones Laden von Dateien per HTTP-GET… mit Hilfe von Msxml2.XMLHTTP eventuell kombiniert mit dritter Lösung (Kontext) Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 2: MSXML Beispiel laden einer Datei function LoadXmlFile() { if (webRequest) { new ActiveXObject("Msxml2.XMLHTTP"); if (webRequest) { webRequest.onreadystatechange = ParseResponse; webRequest.open("GET", „http://...foo.xml", true); webRequest.send(); } } … } CODE DEMO Torsten Weber | II Mobiles AJAX – Wie geht es?

2 Szenarien für das Wie für Mobile AJAX Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd1106 + Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 3: SOAP (oder was anderes) Internet Explorer Mobile 5 bietet JScript 5.6 bei Windows Mobile 2003 innerText und innerHMTL nur bei div und span unterstützt Zugriff auf Inhalte nur innerhalb von <form>…</form> bei Windows Mobile 5 gibt es eine Unterstützung für style und document.all Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 3: SOAP (oder was anderes) Beispiel für Windows Mobile 2003 / Windows Mobile 5 Kompatibilität: … <body> <form id="productID" …> <input type="button" id="btnRequest"… /> <div id="wait" /> <div id="result" /> </form> </body> </html> document.forms['productID'].btnRequest.disabled = true; wait.innerHTML = '<img src="Resources/Wait.gif" id="imgWait" alt="Bitte warten..." />'; Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 3: SOAP (oder was anderes) beim .NET Framework / .NET Compact Framework gibt es Proxyklassen, bei AJAX dagegen ActiveX damit können die Grenzen von JavaScript und HTML überwunden werden Zugriff auf Daten läuft zweigeteilt, asynchron ab Torsten Weber | II Mobiles AJAX – Wie geht es?

Torsten Weber | II Mobiles AJAX – Wie geht es? Szenario Webanwendung mit AJAX Lösung 3: Beispiel ASP.NET 2.0 Web Service Ergebnis von SOAP auswerten und anzeigen Steuerelemente aktivieren, Statusbild ausblenden Steuerelemente deaktivieren, Status-bild anzeigen Browserweiche für ActiveX Objekt Methode für Schritt 2 registrieren SOAP-Nachricht zusammenbauen SOAP- Nachricht verschicken 2 WS 1 Produkt-ID Produkt Produkt Produkt-ID CODE CODE DEMO CODE Torsten Weber | II Mobiles AJAX – Wie geht es?

2 Szenarien für das Wie für Mobile AJAX Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd1106 + Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) dynami sch Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario Webanwendung mit AJAX Lösung 4: On-Demand-JavaScript bei Desktop und Servern bei JSON verwendet „normal“ über document.CreateElement <script> erzeugen dann src-Attribut von <script> setzen bei IE Mobile nicht unterstützt (IE stürzt ab / hängt) <script>, src und Ziel erzeugen, als innerHTML eines <div> Torsten Weber | III Fazit

Szenario Webanwendung mit AJAX Lösung 4: On-Demand-JavaScript <div id="scriptHolder"></div> // irgendwo // dann mit JavaScript On-Demand Code erzeugen // oder abrufen mit var newScript = "<script type='text/javascript' src='http://dataservice.com/getData?p=wert&format=json'/>"; scriptHolder.innerHTML = newScript; Methode bei Desktops, Servern wegen Script-Injection nicht unterstützt  Browserweiche Torsten Weber | III Fazit

2 Szenarien für das Wie für Mobile AJAX Web-anwendung Dateninseln (Beispiel 1) MSXML (Beispiel2) SOAP & mehr (nahtlos-mobil.de/cd1106 + Beispiel 3) .NET CF Anwendung MSXML (Beispiel 4) dynami sch Torsten Weber | II Mobiles AJAX – Wie geht es?

Szenario .NET CF mit AJAX (durch XSLT) Lösung: MSXML III Fazit Szenario .NET CF mit AJAX (durch XSLT) Lösung: MSXML Oberflächen des .NETCF erweiterbar … aber Probleme können entstehen WebBrowser = COM Komplexität im Quellcode Torsten Weber | II Mobiles AJAX – Wie geht es?

Mobile Best Practices A B 1 3 2

Mobile Best Practices HTTP-Kommunikation ist smart, aber langsam und „fett“ Fiddler Tool einsetzen eigene Datenstrukturen und Protokolle einsetzen nur „Header“ übertragen bei mehreren Backend-Systemen Middle-Tier

Mobile Best Practices Zugriffsschichten, nicht pro Formular Singleton-Provider, Singleton-Base Bibliotheken… EanReader ean = new EanReader (); ean.Enabled = true; … Singleton-Provider SingletonProvider <EandReader>.Instance.Enabled = true;

Mobile Best Practices XML-Verarbeitung bei .NET CF 2 um 40 % schneller XMLDocument im Ausnahmefall XMLTextReader Datenbank vs. Dateisystem DataSets vs. ResultSets

Mobile Best Practices GC.Collect(); bei Bild-Operationen Bilder sind unverwaltet Generics einsetzen Reflection kostet unheimlich viel Zeit Referenz- oder Werttyp?

Mobile Best Practices Multi-Threading einsetzen bei Splashscreens bei Datenbankzugriffen bei Web Service-Zugriffen Application.DoEvents(); reicht manchmal BeginUpdate, EndUpdate verwenden

Mobile Best Practices Formulare einfach halten Muss der Stift sein? jedes Steuerelement muss sich die Berechtigung „verdienen“ Tastatur eventuell selber als Formular Muss der Stift sein? Steuerelement finden Gestensteuerung Steuercodes

Mobile Best Practices

Mobile Best Practices Formulare nicht gerätespezifisch an Unterschiede bei DPI und Ausrichtung denken Anchoring, Docking verwenden Add-Ins für Visual Studio für P/Invoke Komponenten verwenden

Mobile Best Practices PerformanceCounter oder Power Toys verwenden Remote Performance Monitor and GC Heap Viewer NETCF CLR Profiler App Configuration Tool (NetCFcfg.exe) NETCF ServiceModel Metadata Tool Remote Logging Configuration Tool NETCF Network Log Viewer

Mobile Best Practices PerformanceCounter oder Power Toys verwenden Remote Performance Monitor and GC Heap Viewer NETCF CLR Profiler App Configuration Tool (NetCFcfg.exe) NETCF ServiceModel Metadata Tool Remote Logging Configuration Tool NETCF Network Log Viewer

Mobile Best Practices

Mobile Best Practices

Mobile Best Practices

Mobile Best Practices

Mobile Best Practices

Torsten Weber | III Fazit jeder kann Mobile Computing Berührungsängste Erfahrungsschatz enorme Wachstumsraten „2012“ führt kein Nischendasein mehr Mobile Computing mit .NET CF relativ einfach ein „so geht es los“-Leitfaden fehlt Dokumentation manchmal sehr dürftig Torsten Weber | III Fazit

Wer exportiert die meisten Nilpferde…? Fragen? Wer exportiert die meisten Nilpferde…? Torsten Weber

Links & Informationen [1] Quelle Abbildungen: de.wikipedia.org/wiki/Lego [2] Smart Device Framework, www.opennetcf.org [3] In the Hand, www.inthehand.com [4] Bluetooth, IrDA, OBEX, www.32feet.net [5] ActiveSync v4.5 German – Deutsch www.microsoft.com/downloads/details.aspx?familyid=EC48087F-E74B-4B19-AD8B-A69E4CFF6295&displaylang=de [6] Windows Mobile 5.0 SDK for Pocket PC www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED&displaylang=en [7] Windows Mobile 5.0 SDK for Smartphone www.microsoft.com/downloads/details.aspx?familyid=DC6C00CB-738A-4B97-8910-5CD29AB5F8D9&displaylang=en [8] Windows Mobile 6 Professional and Standard Software Development Kits Refresh http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-88ef-3d48091a390b&displaylang=en Torsten Weber

Links & Informationen [9] Localized Windows Mobile 5.0 Pocket PC Emulator Images www.microsoft.com/downloads/details.aspx?familyid=EEC33AE3-C129-4C25-ABAA-18E8E842178F&displaylang=en [10] Localized Windows Mobile 5.0 Smartphone Emulator Images www.microsoft.com/downloads/details.aspx?FamilyID=52fed581-8f8d-4c46-9966-4832098191b7&DisplayLang=en [11] Windows Mobile 6 Localized Emulator Images www.microsoft.com/downloads/details.aspx?familyid=38C46AA8-1DD7-426F-A913-4F370A65A582&displaylang=en [12] Microsoft Device Emulator 2.0 – Eigenständige Version www.microsoft.com/downloads/details.aspx?familyID=dd567053-f231-4a64-a648-fea5e7061303&displaylang=de [13] Windows Mobile Device Center www.microsoft.com/windowsmobile/devicecenter.mspx Torsten Weber

Links & Informationen Download des Verweiswerkzeuges www.nahtlos-mobil.de/werkzeuge/verweiswerkzeug.zip www.nahtlos-mobil.de/werkzeuge/verweiswerkzeug64.zip www.nahtlos-mobil.de/werkzeuge/verweiswerkzeugItanium.zip Programmieren mit dem .NET Compact Framework. Anwendungsentwicklung für mobile Geräte, Ruprecht Dröge, Peter Nowak, Torsten Weber Microsoft Press Deutschland 06/2008, 3-86645-426-0 Microsoft Press Deutschland 09/2006, 3-86645-401-5

Impressum Torsten Weber * 22. März 1977, Wurzen MVP Visual Developer Device Application Development Theodor-Körner-Straße 1 04808 Wurzen + 49 (3425) 924965 E-Mail: feedback@torstenweber.de Blog, XING und Publikationen: torstenweber.de