Date post: | 26-Dec-2015 |
Category: |
Documents |
Upload: | nigel-floyd |
View: | 221 times |
Download: | 2 times |
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
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
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
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-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-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-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
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