ArcReady - Architecting For The Client Tier

Preview:

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

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!

Discussion Encouraged

Agenda

Session 1: Trends & Patterns in the Client Tier

Session 2: Client Tier Technologies

SESSION 1

Trends & Patterns in the Client Tier

Do you use social applications at work?

Do you feel like a walking information

filter?

Servers

Devices

Mobile

Netbooks/Nettops

World we live in

PCs

Surface

Messaging

Social Networking Work

GamesVideos Internet

Photos

TV & Movies

The world our kids will live in

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.

The increasing importance of video

Have you watched full length video programming over the web?

17 days…

1.3 billion page views

50+ million unique visitors

70 million streams

10 million hours of video watched

35 million mobile page views

50,000+ clips viewed every day

Why is the client tier important to us?

Archetypes & Patterns

Application Archetypes

Information /Reference

E-Commerce

Data Viewer/Editor

Utility Entertainment

DocumentViewer/Editor

Ubiquitous, heterogeneous searchConsistent experience everywhere

Document Repository

Enterprise Application

Enterprise Data Store

Social awarenessFinding friends wherever we are

Asynchronous multi-threading Background scanning & processing

Occasionally connected appsOptimize for online, but enable offline

Live preview Avoid full blown context switching

Demo: Automatic updates

Demo: Tear away applications

Location awarenessGeo-coding via GPS

Plug-ins Enabling 3rd party extensions

Natural interfacesTouch, speech, handwriting, computer vision, machine

translation

The client tier is our interface to the computing continuum

SESSION 2

Client Tier Technologies

All

One

High Low

Reach

<html/>

WPFVista / Win7 Gadget

Winforms

Silverlight

AJAX

Win32

Telnet

Rich versus Reach

Richness

XNA

Richness

Reac

h

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

Client Continuum

Platform OptimizedWeb

ASP.NET+AJAX Gadgets RIAs WPF XNA

Supplemented Web

Ubiquity Richness Next Generation

Formerly Codenamed “Atlas”AJAX based Web applications

Standards Based

ASP.NET Ajax

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

Silverlight

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

Support for HigherQuality Video & Audio

EmpoweringRich Experiences

Improving RIA Productivity

Out of BrowserCapabilities

Expression Blend 3Preview

Silverlight 3 Themes

Windows Presentation FoundationWindows Desktop

ApplicationsConnected Applications

WPF

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

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

.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

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

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