+ All Categories
Home > Documents > CLI357: Web Services For Windows Mobile Devices And The.NET Compact Framework casey chesnut...

CLI357: Web Services For Windows Mobile Devices And The.NET Compact Framework casey chesnut...

Date post: 26-Dec-2015
Category:
Upload: nigel-floyd
View: 221 times
Download: 2 times
Share this document with a friend
37
Transcript

CLI357: Web Services CLI357: Web Services For Windows Mobile For Windows Mobile Devices And The .NET Devices And The .NET Compact FrameworkCompact Framework

casey chesnutcasey chesnutbrains-N-brawn LLCbrains-N-brawn LLChttp://www.brains-N-brawn.chttp://www.brains-N-brawn.comom

DisplayDisplayUSB or SerialUSB or Serial

ProcessorProcessorMemoryMemory

GSM/GPRSGSM/GPRSCDMA/1xRTTCDMA/1xRTT

Device Device HardwareHardware

WiFiWiFiBluetoothBluetooth

RadioRadio

DriversDrivers

Windows MobileWindows Mobile CE DBCE DBActiveSyncActiveSync

Pocket OutlookPocket OutlookPocket Internet ExplorerPocket Internet ExplorerWindows Media PlayerWindows Media Player

Windows CEWindows CE

Software Platform (APIs)Software Platform (APIs)

Home ScreenHome ScreenUser Interface/ShellUser Interface/ShellHTML ControlHTML Control

GAPIGAPIRemote APIRemote APIConfigurationConfigurationBluetoothBluetoothSecuritySecurity

Connection ManagerConnection Manager TAPITAPISMS SMS MAPI MAPI POOM POOM ActiveSyncActiveSync

MultimediaMultimediaCommunicatioCommunicationn

Device ManagementDevice Management PresentationPresentation

ADO CEADO CEXMLXMLCE DBCE DBOLE DBOLE DB

Data AccessData Access

NativeNative

Win32Win32

MFCMFC ATLATL

ManagedManaged

.NET Compact.NET CompactFrameworkFramework

Server sideServer side

ASP .NETASP .NETMobile ControlsMobile Controls

NativeNative

Win32Win32

MFCMFC ATLATL

ManagedManaged

.NET Compact.NET CompactFrameworkFramework

Server sideServer side

ASP .NETASP .NETMobile ControlsMobile Controls

Windows Mobile Development PlatformWindows Mobile Development Platform:: TodayToday

Embedded VC++Embedded VC++ Visual Studio .NETVisual Studio .NET

AudienceAudience

Web ServicesWeb ServicesCryptographyCryptographyWeb Service EnhancementsWeb Service Enhancements

ContextContext

Calling advanced Web Services from Calling advanced Web Services from the .NET Compact Frameworkthe .NET Compact Framework

Web ServiceWeb ServiceEnhancementsEnhancements

ASP.NETASP.NETWeb ServicesWeb Services

XML, XSD, SOAPXML, XSD, SOAPWSDL, UDDIWSDL, UDDI

CryptographyCryptography

SoapSoapExtensionsExtensions

CompactCompactFrameworkFramework

AgendaAgenda

WS-AttachmentsWS-AttachmentsWS-AddressingWS-AddressingWS-SecurityWS-Security

Security TokensSecurity TokensXml-EncryptionXml-EncryptionXml-SignatureXml-Signature

WS-WS-SecureConversationSecureConversationWS-WS-ReliableMessagingReliableMessagingWS-EventingWS-Eventing

FormatFormat

Intro to WS-*Intro to WS-*DemoDemoConclusionConclusion[repeat][repeat]

DIME MessageDIME Message

DIME RecordDIME Record

DIME RecordDIME Record

WS-AttachmentsWS-Attachments

Messages with external Messages with external attachmentsattachments

Binary filesBinary filesXML fragmentsXML fragments

Builds upon DIMEBuilds upon DIMEProposed by Microsoft Proposed by Microsoft and IBM to IETFand IBM to IETFAlternate to base64 / hex Alternate to base64 / hex encodingencodingAlternate to SwA (and Alternate to SwA (and PASwA)PASwA)

Soap EnvelopeSoap Envelope

BinaryBinaryAttachmentAttachment

DIMEDIME

Direct Internet Message Direct Internet Message EncapsulationEncapsulation

WS-AttachmentsWS-Attachments

WS-AttachmentsWS-Attachments

Reduces message sizeReduces message sizeReduces CPU usageReduces CPU usageAvailable toolkits from MS and IBMAvailable toolkits from MS and IBM

WSE 1.0 and WSE 2.0WSE 1.0 and WSE 2.0

2 processing models is bad2 processing models is badTo be superseded by MTOM To be superseded by MTOM (Message Transmission Optimization (Message Transmission Optimization Mechanism)Mechanism)

WS-AddressingWS-AddressingRouting of SOAP messagesRouting of SOAP messagesTransport independentTransport independentSupports intermediary processing Supports intermediary processing nodesnodesProposed by Microsoft, IBM, BEAProposed by Microsoft, IBM, BEASupersedes WS-RoutingSupersedes WS-Routing

RouterRouterWeb ServiceWeb Service

RequesterRequester Web ServiceWeb ServiceWeb ServiceWeb Service

FarmFarm

WS-AddressingWS-Addressing

WS-AddressingWS-Addressing

Simple and powerfulSimple and powerful

<SoapEnvelope xmlns:wsa=“…/addressing”><SoapEnvelope xmlns:wsa=“…/addressing”> <SoapHeader><SoapHeader> <wsa:Action>http://NS/webMethod</wsa:Action><wsa:Action>http://NS/webMethod</wsa:Action> <wsa:From><wsa:From> <wsa:Address>http://wsa/anonymous</was:Address><wsa:Address>http://wsa/anonymous</was:Address> </wsa:From></wsa:From> <wsa:MessageID>uuid:123</was:MessageID><wsa:MessageID>uuid:123</was:MessageID> <wsa:To>http://HOST/service.asmx</wsa:To><wsa:To>http://HOST/service.asmx</wsa:To> </SoapHeader></SoapHeader> <SoapBody><SoapBody> <WebMethod/><WebMethod/> </SoapMody></SoapMody></SoapEnvelope></SoapEnvelope>

WS-SecurityWS-SecurityEnd-to-end message level End-to-end message level securitysecurity

AuthenticationAuthenticationSecurityTokensSecurityTokens

ConfidentialityConfidentialityXml-EncryptionXml-Encryption

IntegrityIntegrityXml-SignatureXml-Signature

Proposed by Microsoft, IBM, Proposed by Microsoft, IBM, VerisignVerisign

IntermediaryIntermediary Web ServiceWeb ServiceRequesterRequesterSSLSSL

IntermediaryIntermediary Web ServiceWeb ServiceRequesterRequester

Given server public keyGiven server public key

WS-SecurityWS-Security

Attaches its public key, Signs with its privateAttaches its public key, Signs with its private

Generates random session key, Encrypts body Generates random session key, Encrypts body

Encrypts session key with server public key, AttachesEncrypts session key with server public key, Attaches

Decrypts session key with its private keyDecrypts session key with its private key

Decrypts body with session keyDecrypts body with session key

Verifies signature with requester public key (2 step)Verifies signature with requester public key (2 step)

Processes requestProcesses request

WS-SecurityWS-Security

WS-SecurityWS-SecurityTHE most important spec for Web THE most important spec for Web ServicesServicesLowest level of planned security Lowest level of planned security stackstackWSE 1.0 and WSE 2.0WSE 1.0 and WSE 2.0Xml-Enc and Xml-Sig by W3C and Xml-Enc and Xml-Sig by W3C and IETFIETFMoved to OASIS, added SunMoved to OASIS, added Sun

WS-SecureConversationWS-SecureConversation

For establishing security over For establishing security over multiple request scenariosmultiple request scenariosSSL-likeSSL-likeServer-side relies on WS-TrustServer-side relies on WS-TrustAllows for key derivationAllows for key derivationProposed by Microsoft, IBM, VerisignProposed by Microsoft, IBM, Verisign

Security TokenSecurity TokenServiceService

Web ServiceWeb ServiceRequesterRequester

WS-WS-SecureConversationSecureConversation

WS-SecureConversationWS-SecureConversation

Reduces key exchangeReduces key exchangeReduces private key usageReduces private key usageWSE 2.0WSE 2.0

CryptographyCryptography

Crypto API 1.0 needsCrypto API 1.0 needsAES (required symmetric)AES (required symmetric)RSA-OAEP (required key transport)RSA-OAEP (required key transport)SHA256 (recommended hash)SHA256 (recommended hash)

Crytpo API 2.0 (Certificates)Crytpo API 2.0 (Certificates)Needs a wrapperNeeds a wrapper

WS-ReliableMessagingWS-ReliableMessaging

Makes sure messages are deliveredMakes sure messages are deliveredCan ensure proper orderingCan ensure proper orderingProposed by Microsoft and IBMProposed by Microsoft and IBMNot supported by WSENot supported by WSEAlternate to WS-ReliabilityAlternate to WS-Reliability

WS-ReliableMessagingWS-ReliableMessagingWeb ServiceWeb ServiceRequesterRequester

Sequence (MsgNum = 1)Sequence (MsgNum = 1)

Sequence (MsgNum = 2)Sequence (MsgNum = 2)

Sequence (MsgNum = 3), LastMessageSequence (MsgNum = 3), LastMessage

SequenceAcknowledgement(1 , 3)SequenceAcknowledgement(1 , 3)

Sequence (MsgNum = 2), AckRequestedSequence (MsgNum = 2), AckRequested

SequenceAcknowledgement(1 … 3)SequenceAcknowledgement(1 … 3)

WS-WS-ReliableMessagingReliableMessaging

WS-ReliableMessagingWS-ReliableMessaging

Necessary for unreliable networksNecessary for unreliable networksSupported by Indigo todaySupported by Indigo todayRumored for WSE 3.0 release?Rumored for WSE 3.0 release?

WS-EventingWS-Eventing

Subscription model to receive Subscription model to receive notificationsnotificationsLease-basedLease-basedDepends on WS-AddressingDepends on WS-AddressingProposed by Microsoft, BEA, TIBCOProposed by Microsoft, BEA, TIBCOAlternate to WS-Events, WS-Alternate to WS-Events, WS-NotificationsNotifications

Event SourceEvent SourceEvent SinkEvent Sink

SubscribeSubscribe

RenewRenew

UnsubscribeUnsubscribe

SubscriptionEndSubscriptionEnd

Mobile Web ServerMobile Web Server

ASMX-like web service server for ASMX-like web service server for devicesdevicesDeveloped with .NET Compact Developed with .NET Compact FrameworkFrameworkDeveloped by Monash University, Developed by Monash University, Caulfield, AustraliaCaulfield, Australia

Web ServiceWeb Service

DeviceDevice

Mobile WebMobile WebServerServer

SubscribeSubscribeEventEvent

NotificationNotification

ApplicationApplication

WS-EventingWS-Eventing

WS-EventingWS-Eventing

Does not specify notificationsDoes not specify notificationsNot supported by WSENot supported by WSESMS as alternate event hookSMS as alternate event hookUse a web server as a Remote Use a web server as a Remote Facade to make more complex callsFacade to make more complex calls

WS-*WS-*

WS-Utility (Timestamp)WS-Utility (Timestamp)WS-Policy*, WS-DiscoveryWS-Policy*, WS-DiscoveryWS-Trust, WS-Federation, *WS-Trust, WS-Federation, *WS-AtomicTransaction, WS-WS-AtomicTransaction, WS-Coordination, WS-BusinessActivityCoordination, WS-BusinessActivityWS-…WS-…

FutureFutureLBSLBS

MapPoint Web ServiceMapPoint Web ServiceMapPoint Location ServerMapPoint Location Server

WhidbeyWhidbeySystem.Security.CryptographySystem.Security.CryptographyIPv6, Kerberos, NTLM, SOAP 1.2IPv6, Kerberos, NTLM, SOAP 1.2XPath, Schemas, SerializationXPath, Schemas, SerializationMessaging, Location ServicesMessaging, Location Services

IndigoIndigo

ResourcesResourcesDIME, WS-Addressing, WS-SecurityDIME, WS-Addressing, WS-Security

http://www.brains-N-brawn.com/spCrypthttp://www.brains-N-brawn.com/spCrypthttp://www.brains-N-brawn.com/spWSEhttp://www.brains-N-brawn.com/spWSEhttp://www.brains-N-brawn.com/cfWSEhttp://www.brains-N-brawn.com/cfWSE (old)(old)

WS-EventingWS-Eventinghttp://www.brains-N-brawn.com/wsEvenhttp://www.brains-N-brawn.com/wsEventthttp://www.brains-N-brawn.com/cfEventhttp://www.brains-N-brawn.com/cfEvent

WS-ReliableMessagingWS-ReliableMessaginghttp://www.brains-N-brawn.com/cfReliahttp://www.brains-N-brawn.com/cfReliableble

WS-SecureConversationWS-SecureConversationhttp://www.brains-N-brawn.com/cfSecChttp://www.brains-N-brawn.com/cfSecConvonv

Check Out These Check Out These Sessions…Sessions…

Don Box KeynoteDon Box KeynoteCLI363 - Understanding CLI363 - Understanding Networking and Connectivity for Networking and Connectivity for Windows Mobile DevicesWindows Mobile DevicesSRV32 – Using Mobile Web SRV32 – Using Mobile Web ServicesServices

After This Session…After This Session…

Visit the Windows Mobile Visit the Windows Mobile booth to:booth to:

Get the Get the Windows Mobile Developer Windows Mobile Developer Resource Kit Resource Kit and start supporting and start supporting landscape and high DPI landscape and high DPI Talk to the Talk to the Technical SupportTechnical Support team teamJoin the Windows Mobile Solutions Join the Windows Mobile Solutions Partner Partner ProgramProgramEnter the Microsoft Enter the Microsoft Mobile2Market Mobile2Market Application ContestApplication Contest

Fill in your evaluation form Fill in your evaluation form sponsored by AT&T Wirelesssponsored by AT&T Wireless

1 MPX200 given away per 1 MPX200 given away per session. See session. See www.mscorpevents.com/mdcwww.mscorpevents.com/mdc

QuestionsQuestions

http://www.brains-N-brawn.comhttp://www.brains-N-brawn.comcasey(at)brains-N-brawn.comcasey(at)brains-N-brawn.com

© 2004 Microsoft Corporation. All rights reserved.© 2004 Microsoft Corporation. All rights reserved.MICROSOFT CONFIDENTIAL. INTERNAL USE ONLY.MICROSOFT CONFIDENTIAL. INTERNAL USE ONLY.


Recommended