59
Smartere Devices mit Visual Studio 2008 und dem .NET Compact Framework 3.5 Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH DEVICE S

Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Embed Size (px)

Citation preview

Page 1: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Smartere Devices mit Visual Studio 2008 und dem .NET Compact Framework 3.5Dr. Frank Prengel

Embedded EvangelistMicrosoft Deutschland GmbH

DEVICES

Page 2: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

AgendaMarkt & InfrastrukturDeviceentwicklung & Microsoft: Was bisher passierteVisual Studio 2008 for Devices

WermutstropfenNeue Möglichkeiten

.NET Compact Framework 3.5SQL Server Compact Edition 3.5

Page 3: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Wussten Sie schon…?

The world champion record is held by Mikko Lampi. He threw 94,97 metres in 2005.

Page 4: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Mobile Lösungen im TrendYO

Y %

shi

ppin

g gr

owth

35

30

25

20

15

10

5

02006-2010

SOURCE: Gartner Dataquest, and IDC 2006

18.6%Mobile PCs

5.8%Mobile Phones

3.9%Desktop PCs

34.1%ConvergedMobile Phones

Page 5: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Enterprise Ready Mobility

Page 6: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH
Page 7: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Der Werkzeugkasten

Embedded Visual Tools 3.0

Microsoft eMbedded Visual C++ 4.0

Visual Studio .NET 2003

Visual Studio 2005

Visual Studio 2008

eVB, eVCWindows CE 3.0

Managed & Native!Desktop Parity, Designers, Data

Device Emulator 1.0 & 2.0*.NET CF Framework 1.0 & 2.0

Microsoft Windows CE 5.0 & 6.0Smartphone & Pocket PC 2003,

Windows Mobile 5.0*Windows Mobile 6*

SQL Server 2005 Mobile

Native & ManagedDevice Emulator 3.0

Security Aware IDE / Unit TestingWindows CE 5.0 and CE 6.0

Windows Mobile 2003 Smartphone** & Pocket PC (**Nur Native)

Windows Mobile 5.0 SmartphoneWindows Mobile 5.0 Pocket PC

Windows Mobile 6 Professional*Windows Mobile 6 Standard*

.NET Compact Framework 2.0 & 3.5SQL Server Compact Edition 3.5

Nur ManagedWindows CE 4.2.NET Compact Framework 1.0Smartphone & Pocket PC 2003

Nur NativeWindows CE 4.x, 5.0

Smartphone & PPC 2003x86 Emulator

* separater Download

Page 8: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Introducing…

Page 9: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Vorweg: Wermutstropfen … oder: Entdecke die Unmöglichkeiten

Device-Entwicklung mit VS 2008 erst ab Professional Edition

Page 10: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Vorweg: Wermutstropfen … oder: Entdecke die Unmöglichkeiten

Kein Hosting von Platform Builder 6.0 für Windows Embedded CE 6.0

Page 11: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Vorweg: Wermutstropfen … oder: Entdecke die Unmöglichkeiten

Keine Templates & Designer für ASP.NET Mobile Web Sites

Page 12: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH
Page 13: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Neu in Visual Studio 2008Unit Testing for Devices

Device Configuration Manager

Device Certificate Manager

Device Emulator Version 3.0

Windows Mobile 5.0 SDK "in the box"

.NET Compact Framework 2.0 SP2 + 3.5

Updates für Compiler, MFC, Tools

Managed CoreCon Framework

Page 14: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

{ VS 2008 for Devices}

Demo

Page 15: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Unit Testing for DevicesUnit-Test-Unterstützung für NETCF-AnwendungenGleiche "Experience" wie bei Desktop-AnwendungenNahtlose Integration mit Team System und Team Foundation ServerEinfaches Testen für diverse KonfigurationsszenarienUnterstützt Testausführung von der Kommandozeile

Page 16: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Testausführung… auf verschiedenen Geräten oder Emulatoren möglich durch Editieren der Konfiguration

Page 17: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Testausführung: Was läuft?Hostadapter für Smart Devices klinkt sich in die Hostadapter-Architektur der Testing-Tools einKopiert (binäre) Dateien auf Device/EmulatorStartet SmartDeviceTestHost.exe auf dem Device/Emulator – Tests werden ausgeführt und Resultate an VS auf dem Desktop kommuniziertAm Schluss werden Log-Dateien zurückkopiert

Page 18: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Was geht nicht?Nicht unterstützt sind

Code CoveragePerformance Session

Page 19: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

{ Device Testing }

Demo

Page 20: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Erinnerung: Gerätesicherheit"Security through identity"Zertifikate: X.509 identifiziert den Hersteller

Mobile2MarketPrivilegien: unsigned, unprivileged, privilegedAusführung: normal, trustedStart: normal, User Prompt, verhindertKonfigurationen:

One-Tier Pocket PCTwo-Tier Smartphone

Page 21: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Permission (Privileged/Normal/Blocked)

Certificate Application

Authentication Certificate Stores

Security configuration User prompt

Page 22: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Gerätesicherheitsmanagement

Konfiguration der Gerätesicherheit (Device Configuration Manager)

Sicherheitsrichtlinien überprüfen und setzenSicherheitseinstellungen exportierenEigene Sicherheitsrichtlinien erstellen

Zertifikatsverwaltung auf dem Gerät (Device Certificate Manager)

Zertifikate einsehenZertifikate hinzufügen oder entfernen

Page 23: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

{ Geräteverwaltung }

Demo

Page 24: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Managed CoreCon Framework

Basiert auf existierendem Core Connectivity FrameworkWird intern von MS-eigenen Tools verwendet (z.B. Unit Testing)Macht das Erstellen eigener Remote-Tools leichtReferenz hinzufügen auf:

Microsoft.Smartdevice.Connectivity.dll

Page 25: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Device Emulator 3.0Verfügbar mit Visual Studio 2008

Evolutionäre Weiterentwicklung von Version 2.0

VerbesserungenUnterstützung für Automatisierung (COM)Zugriff auf Interfaces über VBScriptEinfaches Hinzufügen eigener Images im Device Emulator ManagerXML-File zur Konfiguration von Emulator-Instanzen

Page 26: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

3.5

Page 27: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Versionen und Schwerpunkte

.NET für DevicesVerteilte AnwendungenMobile Daten

PerformanceFeaturesTools

2002 2003 2004 2005 2006 2007

1.0 1.0 SP1

1.0 SP2

2.01.0 SP3

2.0 SP1

3.5XNA

2.0 SP2

LandscapeAutoscroll

Smartphone

HeadlessWindows CE 4.2Remote Performance Monitor

PerformanceGenericsCOM InteropDirect3D

Windows Communication FoundationLanguage Integrated QueryCLR Profiler

Page 28: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

.NET Compact Framework 3.5

WCF "Light" incl. Store-And-Forward Channel

LINQ (XML, Objekte, DataSet)Neues Tool: CLR ProfilerKompressionClient-Side-ZertifikateSound API Diverse Verbesserungen & Fixes

Page 29: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

NETCF + verteilte Anwendungen

Kommunikation für Online-/Offline-Situationen einfacher implementierenServer soll Kommunikation mit Geräten initiierenAnwendungen sollen von Gerät zu Gerät kommunizieren können (P2P)WCF für die mobile Welt

Page 30: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

WCF im NETCF 3.5Desktop (>10 MB) Device (< 1 MB)

Endpoints, Contracts,Config files,etc…

Messages,Bindings, Transports

Page 31: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

WCF im NETCF 3.5: Features

http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/The-WCF-subset-supported-by-NetCF.aspx

Transport

HTTP

TCP

Pipes

MSMQ

Exchange

Custom

Encoding Security Reliability

Protocol

Text

Binary

Custom

MTOM

WS-*

Custom

WS-*

Custom

WS-*

Custom

HTTP Text WS-*

Page 32: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

"Occasional Connectivity"Grundproblem mobiler Anwendungen

Adresse und IdentitätIP-Adresse des Mobilgeräts kann wechseln und (serverseitig) nicht erkannt werdenDynamic DNS und IPv6 noch nicht universell verfügbarTCP/HTTP nur zum "Herausrufen" vom Gerät ausEchtes P2P nicht machbar

QoS (intermittente Verbindungen)Anwendungen müssen explizit Offline-Status voraussetzenBenötigt wird eine Möglichkeit, Nachrichten aufzubewahren und erst bei Verbindung zu versenden ("store and forward")

Page 33: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Die Lösung?

Page 34: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Store And Forward Messaging

"WCF über Email"Email-Infrastruktur löst Adressierbarkeits- und ErreichbarkeitsproblemeKonsistentes Programmiermodell für Windows Mobile und Windows auf PCsNutzt Erweiterbarkeit der WCF-Architektur

Spezieller "store-and-forward"-Transportkanal über Email

Nutzt ActiveSync “Always-Up-To-Date”-Funktion ("Push Email") und Exchange 2007 Web Services

Page 35: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Adressschema

Application 1

Application 2

[email protected]

Application 4

Application 3

Channel Name Distribution listScheme Separator

net.mail://sales/orderschannel#[email protected]

Page 36: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

{ Store & Forward }

Demo

Page 37: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

{ Store & Forward }

Demo http://blogs.msdn.com/frankprhttp://www.techfiles.de/frankpr/WCFCompact.wmv

Page 38: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

LINQ im NETCF 3.5Kompatible Teilmenge der Funktionalität im .NET Framework 3.5

LINQ to ObjectsLINQ to XMLLINQ to DataSet, DataTable

Nicht verfügbar:LINQ to SQLExpression Trees

Page 39: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

LINQ to Objects

using System;

using System.Linq;

using System.Collections.Generic;

class app {

static void Main() {

string[] names = { "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" };

IEnumerable<string> expr = from s in names

where s.Length == 5

orderby s

select s.ToUpper();

foreach (string item in expr)

Console.WriteLine(item);

}

}

BURKEDAVIDFRANK

Page 40: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

XML: Vor LINQ (d.h. DOM)

XmlDocument doc = new XmlDocument();XmlElement books = doc.CreateElement("Books"); XmlElement book = doc.CreateElement("Book");XmlElement title = doc.CreateElement("Title");XmlElement price = doc.CreateElement("Price"); doc.AppendChild(books);books.AppendChild(book);book.AppendChild(title);book.AppendChild(price);

title.AppendChild(doc.CreateTextNode("Short DOM reference, vol.5"));price.AppendChild(doc.CreateTextNode("99.95"));

doc.Save(“MyBooks.xml”);

<Books> <Book> <Title>Short DOM reference, vol.5</Title> <Price>99.95</Price> </Book></Books>

Page 41: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

LINQ to XML

XDocument doc =new XDocument( new XElement("Books", new XElement("Book", new XElement("Title", "What to do in spare time freed up from XML programming."), new XElement("Price", "19.95") ) ))

doc.Save(“MyBooks.xml”);

<Books> <Book> <Title>What to do in spare time freed up from XML programming.</Title> <Price>19.95</Price> </Book></Books>

Page 42: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Neue APIsSie haben sich gewünscht:

KompressionClient-Side-ZertifikateSoundWindows Forms-VerbesserungenPlattform-Identifikation

Page 43: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Bsp.: Plattform-ID

using Microsoft.WindowsCE.Forms;…

textBox1.Text = SystemSettings.Platform.ToString();

Page 44: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

NETCF 3.5 Power Toys

Page 45: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

NETCF 3.5 Power ToysRemote Performance Monitor, GC Heap Viewer (Update)NETCF CLR Profiler App Configuration Tool (NetCFcfg.exe)NETCF ServiceModel Metadata Tool (netcfsvcutil.exe)Remote Logging Configuration Tool NETCF Network Log Viewer

Page 46: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

{ Power Toys }

Demo

Page 47: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

• Sehr kleine (~1MB) Embedded-, In-Proc-DB• Subset der SQL Server-Typen und -Sprache• Keine Stored Procs, Views, Xquery

• Warum T-SQL, wenn man Managed Code haben kann?

Was?

• Mobile & Embedded-Geräte• Windows Vista, Media Center PC, MSN Client,

ZUNE, Windows Media Player, …• Default für Lokale DB in VS 2008

Wo?

• Lokaler Online / Offline-Cache• Lokale DB für Stand-Alone-Apps• Persistieren von Daten aus In-Memory-

Caches• Strukturiertes Dokumentenformat für Apps

Wofür?

Page 48: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

‘06

SQL Server

Compact 3.1

‘01

SQL Server CE

1.0

‘05

SQL Server

Compact 3.5

‘07

Embedded-DB für Devices – eVC, eVB

Synchronisierung mitSync Services for ADO.NET

‘03

SQL Server CE

2.0.NET Compact Framework unterstützt

Tablet PC-UnterstützungSQL Server Mobile

3.0

Alle Desktop-Szenarien möglich

* Interne Verwendung in Windows: Vista

Funktionserweiterungen nach Kundenfeedback

Page 49: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Neu in SSCE 3.5Neues Dateiformat

Konvertierung notwendigVS2008 / SQL2008 Mgmt Studio als ToolPK/FK-Auswahl im Table Designertimestamp (rowversion)-DatentypNeue T-SQL-StatementsStärkere Verschlüsselung

(Nur für Desktop: LINQ to SQL, Sync Services)

Page 50: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Upgrade 3.1 3.5

Page 51: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Neue T-SQL-StatementsNested Query in SELECT FROMCROSS APPLY & OUTER APPLYCAST TOP SET IDENTITY INSERT

Page 52: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH
Page 53: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

ZusammenfassungVisual Studio 2008 bringt kleine und große Neuerungen

… und (fast) alle Features von VS 2005.NET Compact Framework 3.5 vereinfacht

OCS-Lösungen ("store and forward" WCF)Datenzugriff (LINQ)Debugging & Profiling (Power Toys)

SQL Server Compact Edition 3.5 ohne umwälzende NeuerungenFazit: Device-Entwicklung wird leichter!

Page 54: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

A. Wigley, D. Moth, P. Foot:Microsoft MobileDevelopment Handbook

http://www.microsoft.com/mspress/books/10294.aspx

Literatur

Page 55: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

LiteraturRob Tiffany:

Windows MobileData Synchronizationwith SQL Server 2005and SQL Server Compact 3.1

http://blogs.msdn.com/robtiffany/

Page 56: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Douglas Boling:Programming Windows® Embedded CE 6.0 Developer Reference, Fourth Edition

http://www.microsoft.com/mspress/books/11064.aspx

Literatur

Page 57: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Noch Fragen?

?

Page 58: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

Vielen Dank!

http://blogs.msdn.com/frankpr

Page 59: Dr. Frank Prengel Embedded Evangelist Microsoft Deutschland GmbH

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.