Download Session Slides - DevIntersection.com

tenderlaSoftware and s/w Development

Dec 13, 2013 (3 years and 6 months ago)

141 views

DEVintersection

Session VS11


Building Windows 8 Line of Business Apps

Robert Green

Technical Evangelist, Microsoft

rogreen@microsoft.com

2

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Objectives


Review
some of the technologies used in Windows 8 LOB apps


Accessing
data


Authenticating users of an app


Securing data


Testing and deploying
apps


Understand that Windows
8 LOB apps use many of the technologies and
techniques you are currently using

Accessing Data

4

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Working with
data
in
mobile scenarios


Connect to corporate data via on
-
premises or cloud service


Connect to service in usual fashion


Maintain local copies of data to improve performance


XML, JSON,
IndexedDB
, SQLite


Support offline scenarios


SQLite

5

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Local data options


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


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


6

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Local data options


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


SQLite
for Windows Runtime extension for C#/VB/C++ developers


Demo

Application data APIs

SQLite

Calling data in services

8

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Data resources


Windows 8 app samples


http://code.msdn.microsoft.com/windowsapps/Windows
-
8
-
Modern
-
Style
-
App
-
Samples


Using SQLite in Windows Store

Apps


http://channel9.msdn.com/Shows/Visual
-
Studio
-
Toolbox/Using
-
SQLite
-
in
-
Windows
-
Store
-
Apps




Using Azure Mobile Services in a Windows 8

App


http://channel9.msdn.com/Shows/Visual
-
Studio
-
Toolbox/Using
-
Azure
-
Mobile
-
Services
-
in
-
a
-
Windows
-
8
-
App

Design Considerations

10

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Traditional line of business applications

11

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Traditional line of business applications

12

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Evolution of
business apps

Data
-
Centric

Enriched

Immersive

13

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Anatomy of a modern business app

Master Data

Embedded Analytics

Business

Documents

Collaboration

14

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Windows Store line of business apps


Keep the design
clean


Content
over chrome, fast and
fluid


Navigation


Scrolling
,
navigation bar, semantic zoom


Actions


Canvas buttons, app bars


Tiles


Live
tiles, secondary tiles


Demo

Clean
design

Navigation

Actions

16

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Tiles and toast notifications


Tiles


Rich and engaging content


Content
updated via tile
notifications even
if your app isn’t running


Toast notifications


Alerts users to relevant, time sensitive information


User is in control


User will turn off your tile/notification if they don’t add value

Demo

Tiles

Secondary tiles

18

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Design
considerations resources


Designing Apps for the Windows

Store


http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/DEV
-
B310#fbid=kt1W5OJuY58


Designing and Building User Interfaces for

Windows


http://channel9.msdn.com/Events/Build/2013/2
-
168


Alive with Activity: Tiles, Notifications, and Background

Tasks


http://channel9.msdn.com/Events/Build/2013/3
-
159


Master Navigation in Windows Store

Apps


http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/DEV
-
B341#fbid=kt1W5OJuY58


Design Guidance for Windows Store Line
-
of
-
Business

Apps


http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/DEV
-
B309#fbid=kt1W5OJuY58

Authentication and Security

20

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Authentication options


Windows Authentication for domain
joined
machines


Workplace join for non
-
domain joined machines


Smartcards, virtual smartcards


APIs in
Windows.Devices.SmartCards

namespace


F
ingerprint authentication


UserConsentVerifier

class in
Windows.Security.Credentials.UI

namespace


CheckAvailabilityAsync

and
RequestVerificationAsync

methods


Active Directory authentication
for off
-
premises scenarios


Custom credentials or Microsoft account for partners/vendors


21

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Data protection scenarios


Protect data sent over the wire


Windows.Security.Cryptography.DataProtection namespace


DataProtectionProvider class Protect and Unprotect methods


Windows.Security.Cryptography.Core namespace


Encryption, signing, and hashing


Symmetric and asymmetric keys


Protect data on domain joined devices with Bitlocker


Protect data on workplace joined devices with Selective Wipe

22

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Authentication
and security resources


Securing
Windows Store Applications and REST Services with
Active

Directory


http://
channel9.msdn.com/Events/Build/2013/3
-
518


Tips for Building LOB Apps for the Windows

Store

(Selective Wipe demo at 35:15)


http://channel9.msdn.com/Events/Build/2013/3
-
185


23

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Remote testing


Download Remote Tools for Visual Studio
2012/2013


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


Demo

Remote testing

25

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Testing resources


Testing Windows Store Applications with Coded UI Tests


http://msdn.microsoft.com/en
-
us/library/dn305948(v=vs.120).aspx


Automated Testing of XAML
-
Based Windows Store

Apps


http://channel9.msdn.com/Events/Build/2013/3
-
323


Manual Testing Of Windows 8 Metro Style

Applications


http://channel9.msdn.com/posts/Manual
-
Testing
-
Of
-
Windows
-
8
-
Metro
-
Style
-
Applications


26

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Windows 8 app deployment

Install corporate apps

Download public apps
from Windows Store

Windows 8 or Windows RT devices

Custom LOB

Windows
Store app
links

Through

the cloud

Directly

on
-
premise

27

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Prepare
apps for
sideloading


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 Windows App Certification Kit


Validates technical compliance of the app


Validate app capabilities


Check for usage of appropriate capabilities:


Documents Library


Enterprise Authentication


Private Networks


Shared User Certificates


28

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Configure devices for
sideloading


Group policy set to “Allow all trusted apps to install”


Allows install of sideloaded apps


App signing certificates are trusted


Installation and update by IT based process


Can only be run on “enterprise sideloading enabled” devices


Devices must be enabled for sideloading to install and launch apps


29

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Enable
devices for sideloading

Windows 8 Enterprise, not domain joined

Windows 8 Pro

Windows RT

Software Assurance

With software assurance in EA/Select

Without software assurance

Windows 8 Enterprise,
domain joined

sideload key required

(available via Volume Licensing)

sideload

key provided for free

sideload

key must be purchased

sideloading

automatically enabled

30

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Internal apps on workplace joined devices

31

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Internal apps on workplace joined devices

32

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Internal apps on workplace joined devices

Demo

Deployment


34

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Deployment
resources


Windows
Store Apps: Enterprise LOB App Deployment

Scenarios


http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WCA
-
B358#fbid=kt1W5OJuY58


35

©
DEVintersection
. All rights reserved.

http://www.DEVintersection.com

Review


Reviewed
Windows 8 LOB apps strategy


Reviewed
some of the technologies used in Windows 8 LOB apps


Accessing
data


Authenticating users of an app


Securing data


Testing and deploying
apps


Understand that Windows
8 LOB apps use many of the technologies and
techniques you are currently using

Questions?

Thank you!

Don’t forget to enter your evaluation

of this session using EventBoard!