260 likes | 397 Views
Key technologies for Windows Store business apps. Robert Green Technical Evangelist rogreen@microsoft.com, @ rogreen_ms. Agenda. Data Security and authentication Testing Deployment. Data storage o ptions. Application data APIs (Local or roaming) HTML5 web storage. Indexed DB
E N D
Key technologies for Windows Store business apps Robert Green Technical Evangelist rogreen@microsoft.com, @rogreen_ms
Agenda • Data • Security and authentication • Testing • Deployment
Data storage options • Application data APIs (Local or roaming) • HTML5web storage • Indexed DB • Extensible storage engine • 3rd party databases • SQL server • SQL Azure • Other Remote data Local data
Application data APIs • Use it for settings and unstructured data files • Provides a local and roaming data store • Files have no size limit • Roaming files and settings are limited per package in overall size, as defined by ApplicationData.RoamingStorageQuota • Available for all languages
Extensible storage engine • Use for structured and unstructured data • ISAM storage technology • Store data in tables and retrieve it using indexed or sequential cursor navigation • Only C/C++ APIs are provided, but you can wrap calls in a WinRT object for use by any language
IndexedDB • Use it for structured and indexed data storage • Designed to hold simple values and hierarchical objects • ISAM storage technology • Records consist of key-value pairs that can be indexed • Each app has a quota of 250MB • Available in JavaScript
SQLite • In process library implementing a self-contained, serverless, zero-configuration, transactional SQL database engine • Database contained in a single file • Small memory footprint • Free and open source • www.sqlite.org • SQLite for Windows Runtime extension for C#/VB/C++ developers
Existing services Sockets • Datagram • MessageWeb • TCP stream • StreamWeb HTTP • HttpClient/HttpReponseMessage • WinJS.XHR • XmlHttpRequest AtomPub/Syndication Data Services • ASMX • WCF • OData Through the cloud SQL Server Dynamics SAP Other Directly on-premise
Synchronization framework for Windows Runtime App SQL Server Sync Service OData SQLite
AuthenticationMeeting enterprise standards Integrated Windows authentication Enterprise authentication and private network App certificate‒My and Root stores Certificates Multi-factor authentication Credential picker and shared user certifications Federal ADFS authentication Web authentication broker Single sign on Live, Facebook, etc. Web authentication broker
Certificates • Create/install/import/enroll certificates • Use classes in Windows.Security.Cryptography.Certificates namespace • Each Windows Store app has its own certificate storage • Declare sharedUserCertificates capability to access certs and keys on a smart card
Authentication • Demo
Data protection • DataProtectionProvider class in Windows.Security.Cryptography.DataProtection namespace • Protect and unprotect methods • Simple way to encrypt and decrypt data
Algorithms and keys • Windows.Security.Cryptography.Core namespace • Encryption, signing, and hashing • Symmetric and asymmetric keys • Algorithm providers • HashAlgorithmProvider • MacAlgorithmProvider • SymmetricKeyAlgorithmProvider • AsymmetricKeyAlgorithmProvider • KeyDerivationAlgorithmProvider
Manual testing with Test Manager 2012 • Requirements: Visual Studio 2012 Pro or above team foundation server • Validate app based on test suite or do exploratory testing • Connect to Windows 8 device and run app • File bugs and attach screenshots • Test Manager records your actions • Works on both x86 and ARM devices
Remote testing • Download Remote Tools for Visual Studio 2012 • x86, x64, and ARM versions • Debug app from Visual Studio • Review prompt to acquire a developer license on a remote device • Visual Studio packages and deploys the app and launches it on remote device
Remote testing • Demo
LOB Windows Store app delivery Sideload from customer infrastructure Download from Windows Store Management infrastructure cloud Self-Service Portal (SSP) Windows RT Public apps Custom LOB apps Windows 8 (x86) application delivery
Preparing apps for IT direct distribution • Sign with trusted certificate • Certificate must be trusted on all machines that will deploy the app • Publisher name in certificate must match publisher name in app • Run the Windows App Cert Kit • Validates technical compliance of the app • Validate the app’s capabilities • Check for usage of appropriate capabilities • privateNetworkClientServer, documentsLibrary, enterpriseAuthentication, sharedUserCertificates
Preparing machines for IT direct distribution • Group policy set to install all trusted apps • Allows install of side loaded apps App must be signed by a certificate that chains to Trusted Publisher • App signing certificates are trusted • Installation and update by IT-based process Can only be run on enterprise side and loading enabled devices • Machine must be enabled for side loading to launch apps • Windows 8 Enterprise or Server Edition AND domain joined • Windows 8 Professional, Windows RT, non-domain joined Enterprise, activate a secondary product key
Deployment • Demo
Related sessions • 2-104 Building Windows 8 LOB apps • 3-002 Building awesome HTML apps in Blend for Windows 8 • 3-006 Designing awesome XAML apps in Visual Studio and Blend for Windows 8 and Windows Phone 8 • 3-017 Unit testing Windows Store apps • 3-123 Security in Windows Store apps
Resources • Develop: http://msdn.microsoft.com/en-US/windows/apps/br229512 • Design: http://design.windows.com/ • Samples: http://code.msdn.microsoft.com/windowsapps/Windows-8-Modern-Style-App-Samples • Videos: http://channel9.msdn.com/Windows Please submit session evals by using the Build Windows 8 app or at http://aka.ms/BuildSessions