winfx – avalon & indigo stephen turner software design engineer microsoft uk...
Post on 14-Jan-2016
214 Views
Preview:
TRANSCRIPT
WinFx – Avalon & IndigoWinFx – Avalon & IndigoWinFx – Avalon & IndigoWinFx – Avalon & Indigo
Stephen TurnerStephen TurnerSoftware Design EngineerSoftware Design Engineer
Microsoft UKMicrosoft UKsturner@microsoft.comsturner@microsoft.com
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
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
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
Developer RoadmapDeveloper Roadmap
2005
2006
2007
Beta
BetaBeta
Beta
Avalon OverviewAvalon OverviewAvalon OverviewAvalon Overview
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
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
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
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
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
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)
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/
Indigo OverviewIndigo OverviewIndigo OverviewIndigo Overview
The Move to Distributed The Move to Distributed ApplicationsApplications
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
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
• 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
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
The Union of Today’s The Union of Today’s StacksStacks
WS-*WS-*ProtocolsProtocols
SOASOAInteropInterop
Attribute-Attribute-BasedBased
ProgrammingProgramming
Message-Message-OrientedOriented
ProgrammingProgramming
ComposabilityComposabilityExtensibilityExtensibility
Indigo ArchitectureIndigo Architecture
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
[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
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
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
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
top related