winfx – avalon & indigo

29
WinFx – Avalon & WinFx – Avalon & Indigo Indigo Stephen Turner Stephen Turner Software Design Engineer Software Design Engineer Microsoft UK Microsoft UK [email protected] [email protected]

Upload: clark-sanders

Post on 01-Jan-2016

16 views

Category:

Documents


0 download

DESCRIPTION

WinFx – Avalon & Indigo. Stephen Turner Software Design Engineer Microsoft UK [email protected]. The WinFX Vision. Enable developers to take advantage of new technologies and hardware advances Increase developer productivity Improve application security, deployment and manageability - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: WinFx – Avalon & Indigo

WinFx – Avalon & IndigoWinFx – Avalon & IndigoWinFx – Avalon & IndigoWinFx – Avalon & Indigo

Stephen TurnerStephen TurnerSoftware Design EngineerSoftware Design Engineer

Microsoft UKMicrosoft [email protected]@microsoft.com

Page 2: WinFx – Avalon & Indigo

The WinFX VisionThe WinFX VisionThe WinFX VisionThe WinFX Vision

Enable developers to take advantage of new Enable developers to take advantage of new technologies and hardware advances technologies and hardware advances

Increase developer productivityImprove application security, deployment and manageabilityLeverage existing developer skills

Enabled by a new programming model, WinFX™Enabled by a new programming model, WinFX™

Built on the .NET Framework

Easily extend Win32 applications

Enable developers to take advantage of new Enable developers to take advantage of new technologies and hardware advances technologies and hardware advances

Increase developer productivityImprove application security, deployment and manageabilityLeverage existing developer skills

Enabled by a new programming model, WinFX™Enabled by a new programming model, WinFX™

Built on the .NET Framework

Easily extend Win32 applications

Page 3: WinFx – Avalon & Indigo

Presentation Data Communication

Base Operating System Services

TM

Windows “Longhorn” Developer ArchitectureWindows “Longhorn” Developer ArchitectureAs Announced at PDC 2003As Announced at PDC 2003Windows “Longhorn” Developer ArchitectureWindows “Longhorn” Developer ArchitectureAs Announced at PDC 2003As Announced at PDC 2003

Page 4: WinFx – Avalon & Indigo

Longhorn Update: One Year OnLonghorn Update: One Year On

Customer feedback based on PDC 2003 Customer feedback based on PDC 2003 and WinHEC 2004and WinHEC 2004

Improved clarity on timeline“Downlevel” operating system support

Updated plansUpdated plansLonghorn client shipping in 2006Avalon & Indigo technology planned for Windows XP & Windows Server 2003WinFS technology to ship post Longhorn

Planned for beta around Longhorn ship dateBetter alignment of client and server

““This is a pragmatic [step], and overall it will let enterprises and This is a pragmatic [step], and overall it will let enterprises and developers do better planning.”developers do better planning.” David Smith, Vice President, David Smith, Vice President,

GartnerGartner

Page 5: WinFx – Avalon & Indigo

Developer RoadmapDeveloper Roadmap

2005

2006

2007

Beta

BetaBeta

Beta

Page 6: WinFx – Avalon & Indigo

Avalon OverviewAvalon OverviewAvalon OverviewAvalon Overview

Page 7: WinFx – Avalon & Indigo

Avalon VisionAvalon Vision

Unified approach to UI, Unified approach to UI, Documents, and MediaDocuments, and Media

Integration as part of development and experience

Integrated, vector-based Integrated, vector-based composition enginecomposition engine

Utilizing the power of the PC throughout the graphics stack

Declarative programmingDeclarative programmingBringing designers directly into application development

Ease of deploymentEase of deploymentAllowing administrators to deploy and manage applications securely

Page 8: WinFx – Avalon & Indigo

Integrated Vector-based Integrated Vector-based Graphics and CompositionGraphics and Composition

Modern graphics capabilitiesModern graphics capabilities2D and 3D graphicsImage effects and codecHardware accelerated sub-pixel ClearTypeVideo and audio

Revolutionizing the Graphics and Media pipelineRevolutionizing the Graphics and Media pipelineAcross the display, audio, printing, and remoting sub-systemsDirect3D-based hardware acceleration throughout the rendering pipeline

Anticipates future hardware technologiesAnticipates future hardware technologiesResolution independenceDouble floating point precisionDeeper color pipeline

Enabling high-quality, cinematic experiences

Page 9: WinFx – Avalon & Indigo

Unified Approach to UI, Documents, and Unified Approach to UI, Documents, and MediaMediaIntegration: The Guiding VisionIntegration: The Guiding Vision

Application ModelApplication ModelComposable component architectureLayout engineTwo-way transformable data bindingRich visual styling and themingBrowser hosting

Graphics ModelGraphics Model2D & 3D GraphicsImagingTextVideo and audioAnimation

Document ModelDocument ModelFixed, flow and adaptive layoutsAdvanced typographyContainer servicesRights management

Media IntegrationLayer

Media IntegrationLayer

Element ServicesElement Services

Ap

plic

ati

on

Mod

el

Ap

plic

ati

on

Mod

el

Docu

men

tM

od

el

Docu

men

tM

od

el

Gra

ph

ics

Mod

el

Gra

ph

ics

Mod

el

Composition and Rendering

Composition and Rendering

.NET Framework

.NET Framework

DirectXDirectX

AvalonAvalon

Tools

an

d L

an

gu

ag

es

Tools

an

d L

an

gu

ag

es

Page 10: WinFx – Avalon & Indigo
Page 11: WinFx – Avalon & Indigo

Markup for WindowsMarkup for WindowsBuild applications in simple declarative statementsCan be used for any CLR object hierarchy

Code and content are separateCode and content are separateStreamline collaboration between designers and developers

Easy for tools to consume and generateEasy for tools to consume and generate

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

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

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

Page 12: WinFx – Avalon & Indigo
Page 13: WinFx – Avalon & Indigo

Avalon 1.0 Target ScenariosAvalon 1.0 Target Scenarios

Avalon is the Avalon is the future offuture of Windows presentation technology Windows presentation technologyOther technologies are often still better choices today

Recommended Avalon 1.0 usageRecommended Avalon 1.0 usageWeb sites that want to push the limits of user experiencesWindows applications with complex data visualization scenarios

Windows FormsWindows Forms is still the best solution for is still the best solution for mainstream rich client Windows applicationsmainstream rich client Windows applications

DirectXDirectX is still the platform for extremely is still the platform for extremely intensive graphics (games, CAD applications)intensive graphics (games, CAD applications)

ASP.NET ASP.NET is the reach solution for server-based is the reach solution for server-based platform-agnostic applicationsplatform-agnostic applications

Page 14: WinFx – Avalon & Indigo

Avalon November CTP ThemesAvalon November CTP Themes

First release for Windows XP and Windows Server 2003First release for Windows XP and Windows Server 2003Based on Whidbey Beta 1Tablet PC support

Layout and control changesLayout and control changesToggleButton, TabControl, ViewBoxStoryboards

3D drawing enhancements3D drawing enhancementsAdvancedMaterial

Continued refinementsContinued refinementsPerformanceGlobalizationObject model modifications

Media and printing are not enabled in this releaseMedia and printing are not enabled in this releaseExpect ongoing changes between now and Beta 1Expect ongoing changes between now and Beta 1

More details at: http://msdn.microsoft.com/longhorn(“What’s New in Nov CTP” article)

Page 15: WinFx – Avalon & Indigo

Avalon Self-Guided TourAvalon Self-Guided TourControlsControls

Components and ControlsControl Styling

PanelsPanels Introduction to Panels

Shapes and 3D graphicsShapes and 3D graphicsLines, Curves, and ShapesCreate a 3-D Scene

ContainerContainerCreate a New ContainerCreate a New Stream in the Container

DocumentsDocumentsCreate Adaptive-flow-format DocumentsSet Typographic Properties

Data BindingData BindingData Binding

http://winfx.msdn.microsoft.com/

Page 16: WinFx – Avalon & Indigo

Indigo OverviewIndigo OverviewIndigo OverviewIndigo Overview

Page 17: WinFx – Avalon & Indigo

The Move to Distributed The Move to Distributed ApplicationsApplications

Page 18: WinFx – Avalon & Indigo

Class-basedPolymorphismEncapsulation

Interface-basedDynamic LoadingRuntime Metadata

Message-basedMessage-basedSchema+ContractSchema+ContractBinding via PolicyBinding via Policy

ObjectObjectOrientationOrientation

(1980s)(1980s)

ComponentsComponents(1990s)(1990s)

ServiceServiceOrientationOrientation

(Today)(Today)

From Objects to From Objects to ServicesServices

Page 19: WinFx – Avalon & Indigo

Services and consumers are Services and consumers are independently versioned, independently versioned, deployed, operated, and secured.deployed, operated, and secured.

Services are Services are autonomousautonomous

Data never includes behavior; Data never includes behavior; Objects with data and behavior are Objects with data and behavior are a local phenomenon.a local phenomenon.

Share schema Share schema & contract, not & contract, not

classclassCapabilities and requirements Capabilities and requirements represented by a unique public represented by a unique public name; Used to establish service name; Used to establish service suitability.suitability.

Compatibility Compatibility based on policybased on policy

Developers opt-in to consuming, Developers opt-in to consuming, exposing, and defining public-exposing, and defining public-facing service façade.facing service façade.

Boundaries Boundaries are explicitare explicit

The Four Tenets of SOThe Four Tenets of SO

Page 20: WinFx – Avalon & Indigo

• Unifies today’s distributed technology stacksUnifies today’s distributed technology stacks• Composable functionalityComposable functionality• Appropriate for use on-machine, cross machine, Appropriate for use on-machine, cross machine,

and cross Internetand cross Internet

• Cross-platform interoperabilityCross-platform interoperability• Integration across Microsoft productsIntegration across Microsoft products• Interoperability with today’s distributed stacksInteroperability with today’s distributed stacks

The unified framework for building service-oriented The unified framework for building service-oriented applications on the Windows platformapplications on the Windows platform

““Indigo”Indigo”

• Service-oriented programming modelService-oriented programming model• Supports all features required by SOAsSupports all features required by SOAs• Maximized productivity for building SOAsMaximized productivity for building SOAs

Page 21: WinFx – Avalon & Indigo

Each stack has different strengths, target scenariosEach stack has different strengths, target scenariosCustomers want to mix and match, composeCustomers want to mix and match, compose

Reliable servicesInteroperable transactions

ServicesServicesInteroperableInteroperable

ASP.NET InfrastructureASP.NET Infrastructure

ObjectsObjectsExtensibleExtensible

CLR InfrastructureCLR Infrastructure

ComponentsComponentsTransactionsTransactions

COM+ InfrastructureCOM+ Infrastructure

QueuingQueuingReliable MsgReliable Msg

MSMQ InfrastructureMSMQ Infrastructure

Distributed Stacks Distributed Stacks TodayToday

Page 22: WinFx – Avalon & Indigo

The Union of Today’s The Union of Today’s StacksStacks

WS-*WS-*ProtocolsProtocols

SOASOAInteropInterop

Attribute-Attribute-BasedBased

ProgrammingProgramming

Message-Message-OrientedOriented

ProgrammingProgramming

ComposabilityComposabilityExtensibilityExtensibility

Page 23: WinFx – Avalon & Indigo

Indigo ArchitectureIndigo Architecture

Page 24: WinFx – Avalon & Indigo

Service Model LayerService Model Layer

Instancing Behavior

Security

Channel TCP

Transport

ChannelUDP

Transport

Channel

Cross-Proc

Transport ChannelQueue

Transport

Channel

HTTP Transpor

t Channel

Messaging LayerMessaging Layer

Full DuplexChanne

l

Reliable Messagi

ngChannel

CustomChanne

l

BehaviorsBehaviors ChannelsChannels

Transaction Behavior

CLR Type Integration Behavior

Throttling Behavior

Metadata Behavior

Error Handling Behavior

Concurrency Behavior

Custom Behavior

Security

Channel

HTTP Transpor

t Channel

TCP Transpor

t Channel

UDP Transpor

t ChannelReliable

Messaging

Channel

CustomChanne

l

Instancing Behavior

Custom Behavior

CLR Type Integration Behavior

Composability in ActionComposability in Action

Page 25: WinFx – Avalon & Indigo

[TcpTransport][TcpTransport][CustomTransport][CustomTransport][ServiceContract([ServiceContract(SecureChannel=true, SecureChannel=true, SecurityMode SecurityMode

=="W"Windows")]indows")][ServiceSettings(InstanceMode=InstanceMode.PerCall)][ServiceSettings(InstanceMode=InstanceMode.PerCall)]class MyServiceclass MyService{{

[CustomBehavior][CustomBehavior][ServiceOperation(TransactionFlowAllowed = true)][ServiceOperation(TransactionFlowAllowed = true)]void DoSomething(string argument)void DoSomething(string argument){{

// Do something transacted here// Do something transacted here}}

}}

Feature OverviewFeature OverviewProgramming ModelProgramming Model

Ari Bixhorn
The code on this slide still needs to be updated.
Page 26: WinFx – Avalon & Indigo

Transports Transports HTTP, TCP HTTP, TCP Transports Transports HTTP, TCP HTTP, TCP

XML XML XML, XSD, XPath XML, XSD, XPath XML XML XML, XSD, XPath XML, XSD, XPath

Messaging Messaging SOAP, WS-Addressing, WS-EventingSOAP, WS-Addressing, WS-EventingMessaging Messaging SOAP, WS-Addressing, WS-EventingSOAP, WS-Addressing, WS-Eventing

SecuritySecurityWS-SecurityWS-Security

WS-TrustWS-TrustWS-FederationWS-Federation

SecuritySecurityWS-SecurityWS-Security

WS-TrustWS-TrustWS-FederationWS-Federation

ReliabilityReliabilityWS-ReliableWS-ReliableMessagingMessaging

ReliabilityReliabilityWS-ReliableWS-ReliableMessagingMessaging

TransactionsTransactionsWS-AtomicTransactionWS-AtomicTransaction

WS-CoordinationWS-Coordination

TransactionsTransactionsWS-AtomicTransactionWS-AtomicTransaction

WS-CoordinationWS-Coordination

Meta

data

Meta

data

WS

DL,

WS

-Policy,

WS

DL,

WS

-Policy,

WS

-Dis

covery

WS

-Dis

covery

Meta

data

Meta

data

WS

DL,

WS

-Policy,

WS

DL,

WS

-Policy,

WS

-Dis

covery

WS

-Dis

covery

Cross-Platform InteropCross-Platform Interop

Page 27: WinFx – Avalon & Indigo

WinFX Requirements & Distribution WinFX Requirements & Distribution

System RequirementsSystem RequirementsWindows XP SP2, Windows Server 2003 or higherPentium-class 1GHz CPU (minimum)At least 256MB RAMDirectX 9 hardware accelerated graphics (preferred)

Distribution StrategyDistribution StrategyAvailable via Windows UpdateWorking on pre-install arrangements w/ major OEMs (currently 60% shipping .NET Framework)Included with Windows “Longhorn”

Fully RedistributableFully Redistributable

Page 28: WinFx – Avalon & Indigo

Call to ActionCall to Action

Prepare today’s applications for platform advancesPrepare today’s applications for platform advancesGet on the path to WinFX by installing .NET Framework 2.0Make use of web services

Install Avalon from MSDN Subscriber DownloadsInstall Avalon from MSDN Subscriber DownloadsUse self-guided toursFind samples: WinFX SDK, blogs, Longhorn Dev CenterNewsgroups: microsoft.public.developer.winfx.*

Evaluate scenarios for WinFX usageEvaluate scenarios for WinFX usageDistributed applications with advanced web service needsWeb sites that want to push the limits of user experiencesWindows applications with complex data visualization scenarios

Page 29: WinFx – Avalon & Indigo