73
Ready: hitecting for the Client Tier

ArcReady - Architecting For The Client Tier

Embed Size (px)

DESCRIPTION

The client (or presentation) tier of our applications is taking on an increasingly important role. Users are expecting more compelling user interfaces, but they also want more functionality from their applications. In this ArcReady we examine how to design and deliver well architected client applications that will be easy to maintain and extend. Session 1: Trends and patterns on the client tier In our first session we will take a vendor and platform neutral look at some of the trends and emerging technologies that can be used on the client tier. We will look at techniques like Mashups, technologies like Natural User Interfaces (NUI) and the increasing importance of the mobile platform. We will also look at some common patterns that can be used in the architecture of the client tier. Session 2: Applying Microsoft technology on the client tier In our second session we will take some look at how we can use Microsoft technologies to create well architected and compelling client applications. We will look at technologies like Silverlight and WPF that can be used to create compelling clients. We will also look at technologies that can be used to make your applications more extensible for future development. We will also examine some architectural guidance developed by the Microsoft Patterns and Practices group.

Citation preview

Page 1: ArcReady - Architecting For The Client Tier

ArcReady:Architecting for the Client Tier

Page 2: ArcReady - Architecting For The Client Tier

About ArcReady…

• A forum for aspiring and practicing architects to discuss industry trends

• An overview of Microsoft’s roadmap as it relates to software architecture

• A mechanism to solicit your feedback

• An opportunity to showcase the work you do!

Page 3: ArcReady - Architecting For The Client Tier

Discussion Encouraged

Page 4: ArcReady - Architecting For The Client Tier

Agenda

Session 1: Trends & Patterns in the Client Tier

Session 2: Client Tier Technologies

Page 5: ArcReady - Architecting For The Client Tier

SESSION 1

Trends & Patterns in the Client Tier

Page 6: ArcReady - Architecting For The Client Tier

Do you use social applications at work?

Page 7: ArcReady - Architecting For The Client Tier

Do you feel like a walking information

filter?

Page 8: ArcReady - Architecting For The Client Tier
Page 9: ArcReady - Architecting For The Client Tier
Page 10: ArcReady - Architecting For The Client Tier
Page 11: ArcReady - Architecting For The Client Tier

Servers

Devices

Mobile

Netbooks/Nettops

World we live in

PCs

Surface

Messaging

Social Networking Work

GamesVideos Internet

Photos

TV & Movies

Page 12: ArcReady - Architecting For The Client Tier

The world our kids will live in

Page 13: ArcReady - Architecting For The Client Tier

6 key trends

1:* Communication

Search, Newsand ResearchShopping

Entertainment Sharing Memories

SocialNetworking

These 6 scenarios have been identified as top tasks across markets:

Richer, more active, and meaningful digital experiences.

Page 14: ArcReady - Architecting For The Client Tier

The increasing importance of video

Page 15: ArcReady - Architecting For The Client Tier

Have you watched full length video programming over the web?

Page 16: ArcReady - Architecting For The Client Tier
Page 17: ArcReady - Architecting For The Client Tier
Page 18: ArcReady - Architecting For The Client Tier

17 days…

Page 19: ArcReady - Architecting For The Client Tier

1.3 billion page views

Page 20: ArcReady - Architecting For The Client Tier

50+ million unique visitors

Page 21: ArcReady - Architecting For The Client Tier

70 million streams

Page 22: ArcReady - Architecting For The Client Tier

10 million hours of video watched

Page 23: ArcReady - Architecting For The Client Tier

35 million mobile page views

Page 24: ArcReady - Architecting For The Client Tier

50,000+ clips viewed every day

Page 25: ArcReady - Architecting For The Client Tier

Why is the client tier important to us?

Page 26: ArcReady - Architecting For The Client Tier
Page 27: ArcReady - Architecting For The Client Tier
Page 28: ArcReady - Architecting For The Client Tier
Page 29: ArcReady - Architecting For The Client Tier
Page 30: ArcReady - Architecting For The Client Tier
Page 31: ArcReady - Architecting For The Client Tier
Page 32: ArcReady - Architecting For The Client Tier
Page 33: ArcReady - Architecting For The Client Tier
Page 34: ArcReady - Architecting For The Client Tier
Page 35: ArcReady - Architecting For The Client Tier
Page 36: ArcReady - Architecting For The Client Tier
Page 37: ArcReady - Architecting For The Client Tier
Page 38: ArcReady - Architecting For The Client Tier
Page 39: ArcReady - Architecting For The Client Tier
Page 40: ArcReady - Architecting For The Client Tier
Page 41: ArcReady - Architecting For The Client Tier
Page 42: ArcReady - Architecting For The Client Tier
Page 43: ArcReady - Architecting For The Client Tier
Page 44: ArcReady - Architecting For The Client Tier

Archetypes & Patterns

Page 45: ArcReady - Architecting For The Client Tier

Application Archetypes

Information /Reference

E-Commerce

Data Viewer/Editor

Utility Entertainment

DocumentViewer/Editor

Page 46: ArcReady - Architecting For The Client Tier

Ubiquitous, heterogeneous searchConsistent experience everywhere

Document Repository

Enterprise Application

Enterprise Data Store

Page 47: ArcReady - Architecting For The Client Tier

Social awarenessFinding friends wherever we are

Page 48: ArcReady - Architecting For The Client Tier

Asynchronous multi-threading Background scanning & processing

Page 49: ArcReady - Architecting For The Client Tier

Occasionally connected appsOptimize for online, but enable offline

Page 50: ArcReady - Architecting For The Client Tier

Live preview Avoid full blown context switching

Page 51: ArcReady - Architecting For The Client Tier

Demo: Automatic updates

Demo: Tear away applications

Page 52: ArcReady - Architecting For The Client Tier

Location awarenessGeo-coding via GPS

Page 53: ArcReady - Architecting For The Client Tier

Plug-ins Enabling 3rd party extensions

Page 54: ArcReady - Architecting For The Client Tier

Natural interfacesTouch, speech, handwriting, computer vision, machine

translation

Page 55: ArcReady - Architecting For The Client Tier

The client tier is our interface to the computing continuum

Page 56: ArcReady - Architecting For The Client Tier

SESSION 2

Client Tier Technologies

Page 57: ArcReady - Architecting For The Client Tier

All

One

High Low

Reach

<html/>

WPFVista / Win7 Gadget

Winforms

Silverlight

AJAX

Win32

Telnet

Rich versus Reach

Richness

XNA

Richness

Reac

h

Page 58: ArcReady - Architecting For The Client Tier

Understanding digital delivery models for the standards-based Web, the rich Web and the rich client

Page 59: ArcReady - Architecting For The Client Tier

Client Continuum

Platform OptimizedWeb

ASP.NET+AJAX Gadgets RIAs WPF XNA

Supplemented Web

Ubiquity Richness Next Generation

Page 60: ArcReady - Architecting For The Client Tier

Formerly Codenamed “Atlas”AJAX based Web applications

Standards Based

ASP.NET Ajax

Page 61: ArcReady - Architecting For The Client Tier

Create and Deploy XAML content & Apps Everywhere!Windows, Web, Crossplatform, Devices

Silverlight

Page 62: ArcReady - Architecting For The Client Tier

What is Silverlight?

~4Mb Download (2) Extends browser capability with XAML

<MediaElement x:Name=‘myMediaPlayBack' Canvas.Left='532' Canvas.Top='184' AutoPlay='false' Height='185' Width='350' Opacity='0'>

Plug-in with cross browser &

OS support

Page 63: ArcReady - Architecting For The Client Tier

Support for HigherQuality Video & Audio

EmpoweringRich Experiences

Improving RIA Productivity

Out of BrowserCapabilities

Expression Blend 3Preview

Silverlight 3 Themes

Page 64: ArcReady - Architecting For The Client Tier

Windows Presentation FoundationWindows Desktop

ApplicationsConnected Applications

WPF

Page 65: ArcReady - Architecting For The Client Tier

WPF Vision• Unified approach to UI, Documents,

and Media– Integration as part of development

and experience

• Integrated, vector-based composition engine– Utilizing the power of the PC

throughout the graphics stack

• Declarative programming– Bringing designers directly into

application development

• Ease of deployment– Allowing administrators to deploy and

manage applications securely

Page 66: ArcReady - Architecting For The Client Tier

Windows Presentation Foundation

<Button Width="100"> OK <Button.Background> LightBlue </Button.Background></Button>

XAML

Button b1 = new Button();b1.Content = "OK";b1.Background = new SolidColorBrush(Colors.LightBlue);b1.Width = 100;

C#

Dim b1 As New Buttonb1.Content = "OK"b1.Background = New _ SolidColorBrush(Colors.LightBlue)b1.Width = 100

VB.NET

XAMLeXtensible Application Markup Language

Page 67: ArcReady - Architecting For The Client Tier
Page 68: ArcReady - Architecting For The Client Tier

.NET 3.0ASP.NET AJAX

Extensions

.NET

XAML

Silverlight

AJAX + .NET, JavaScript, DL

Support

XAML

HTML + AJAX

CSS / DHTML

Web + Standards Rich Web Ultimate Experience

Where to apply it

Page 69: ArcReady - Architecting For The Client Tier
Page 70: ArcReady - Architecting For The Client Tier
Page 71: ArcReady - Architecting For The Client Tier
Page 72: ArcReady - Architecting For The Client Tier

Windows Client Strengths

Windows Integration

Shell (Gadgets, Sideshow,

notifications)

File Association

s

Desktop Stickiness (Start Menu, System

Tray)

Search Provider

Office Integration

Outlook

OBAs

Phone Integration

Full Hardware Access

DirectX Acceleration

Full Threading And Scheduling

APIs

Tablet, Touch, and other Input

Modes

Accessibility Aids

Security and Encryption

Offline Support

Disconnected

Scenarios

Sync Framework

s

Caching

File System Access

Other Scenarios

3D

Rich Typography

International Character

Sets

Flow Documents

Page 73: ArcReady - Architecting For The Client Tier

© 2009 Microsoft corporation. all rights reserved.this presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.