1
Windows "Longhorn"
Frank PrengelDeveloper EvangelistDeveloper Platform & Strategy GroupMicrosoft Deutschland GmbH
2
Introducing LonghornIntroducing Longhorn
“to enable people and businesses to realize their full potential” —Microsoft mission, 2003
3
Introducing LonghornIntroducing Longhorn
Major new Windows versionClient and Server releasesEvolution vs. revolutionTaking advantage of advancedhardware features in tomorrow’sPCs
Major new Windows versionClient and Server releasesEvolution vs. revolutionTaking advantage of advancedhardware features in tomorrow’sPCs
4
Core Longhorn technologiesCore Longhorn technologiesFundamentals – Privacy and
securityAvalon – PresentationAero – User experienceWinFS – StorageIndigo – CommunicationWinFX – Managed Windows APIMSH – "Monad" shell...and more – Management, help and support, software development issues
Fundamentals – Privacy and securityAvalon – PresentationAero – User experienceWinFS – StorageIndigo – CommunicationWinFX – Managed Windows APIMSH – "Monad" shell...and more – Management, help and support, software development issues
5
Securityand Privacy
Too much to fit in this box…
ReliabilitySystem and app tracingFast reboot via non-volatile memoryDriver verificationHardware monitoring
Deployment and Servicing
“Click Once”No rebootsSoftware Update ServicesComprehensive migration
Performance“SuperFetch”Glitch-free CPU scheduling and disc I/OFull GPU exploitation
FundamentalsFundamentals
6
Longhorn securityLonghorn securitySecurity as a core feature of the systemTrustworthy ComputingSecure features on by default – see XP SP2 for changesNext Generation Secure Computing Base (NGSCB) subsystem – work in progressNetwork isolation and quarantine
Security as a core feature of the systemTrustworthy ComputingSecure features on by default – see XP SP2 for changesNext Generation Secure Computing Base (NGSCB) subsystem – work in progressNetwork isolation and quarantine
7
Run SecurelySecure Execution Environment (SEE)Behavior Blocking/NXLUA/PAConsent UI
Run SecurelySecure Execution Environment (SEE)Behavior Blocking/NXLUA/PAConsent UI
Build SecurelyVisual StudioSecure Execution Environment (SEE)
Build SecurelyVisual StudioSecure Execution Environment (SEE)
Communicate SecurelySmart Card, Identity System, BiometricsSecure networking, WS-SecurityInternet Connection FirewallCross-organizational trust
Communicate SecurelySmart Card, Identity System, BiometricsSecure networking, WS-SecurityInternet Connection FirewallCross-organizational trust
Stay SecureSoftware Update Service (SUS)Windows UpdateSecurity Configuration WizardTrust Center
Stay SecureSoftware Update Service (SUS)Windows UpdateSecurity Configuration WizardTrust Center
Start SecurelyDriver signingSystem DLL protectionCode integrityHardware-assisted secure boot
Start SecurelyDriver signingSystem DLL protectionCode integrityHardware-assisted secure boot
Creating a Secure SystemCreating a Secure System
8
AvalonAvalon
"Why isn't Windows using my graphics card/3D
rendering hardware/pixel shader... ?"
9
Unified presentation model for Windows applications, web applications, graphics/media/animationIntegrated, vector-based compositing engineTaking advantage of hardware accelerationSupport for declarative programming
Unified presentation model for Windows applications, web applications, graphics/media/animationIntegrated, vector-based compositing engineTaking advantage of hardware accelerationSupport for declarative programming
10
Declarative Programming for WindowsCode Named “XAML”
Declarative Programming for WindowsCode Named “XAML”
Markup for WindowsBuild applications in simple declarative statementsEasy to learn, write, and read
Code and content are separateStreamline collaboration between designers and developers
Easy for tools to consume and generate
Markup for WindowsBuild applications in simple declarative statementsEasy to learn, write, and read
Code and content are separateStreamline collaboration between designers and developers
Easy for tools to consume and generate
Button b1 = new Button();b1.Content = "OK";b1.Background = new SolidColorBrush(Colors.LightBlue);b1.Width = new Length(100);
<Button Width="100px"> OK <Button.Background> LightBlue </Button.Background></Button>
Dim b1 As New Buttonb1.Content = "OK"b1.Background = New SolidColorBrush(Colors.LightBlue)b1.Width = New Length(100)
11
AeroAero
"Why does my desktop look so 20th century?"
12
AeroAeroLonghorn User Experience (UX)Transparency, 3D, ...Still under developmentNot in current alpha builds (DWM in 4074)Three-tiered system, based on graphics capabilities, power management settings
Windows ClassicAeroAero Glass
Longhorn User Experience (UX)Transparency, 3D, ...Still under developmentNot in current alpha builds (DWM in 4074)Three-tiered system, based on graphics capabilities, power management settings
Windows ClassicAeroAero Glass
13
WinFSWinFS
"It shouldn’t take longer to search my hard drive than it
takes to search the entire Internet on Google.com."
14
Extensible XML schemasLogical viewsProgrammatic relationshipsSynchronization serviceInformation agents
Extensible XML schemasLogical viewsProgrammatic relationshipsSynchronization serviceInformation agents
application specific datasyste
m
people
application specific data
user
application specific data application
specific data
infrastructure
application specific data
WinFSWinFS
15
Describing WinFSDescribing WinFS
"Windows Future Store" built on SQL Server & NTFSWinFS stores itemsItems have properties
Each item type is defined by a schemaAn item’s schema can be extended
Items are associated via relationshipsWinFS stores an item’s properties
Including its file stream, if there is one
"Windows Future Store" built on SQL Server & NTFSWinFS stores itemsItems have properties
Each item type is defined by a schemaAn item’s schema can be extended
Items are associated via relationshipsWinFS stores an item’s properties
Including its file stream, if there is one
16
IndigoIndigo
"What's the difference between local & remote, stateful & stateless, ... anyway?"
17
Advanced web services
Secure, reliable, transactedHeterogeneous interoperability
Powerful messaging capabilitiesProgramming model extends existing capabilitiesSimplifies building services
Advanced web services
Secure, reliable, transactedHeterogeneous interoperability
Powerful messaging capabilitiesProgramming model extends existing capabilitiesSimplifies building services
IndigoWindows CommunicationIndigoWindows Communication
18
Indigo
What is Indigo?What is Indigo?
ASMX .NET Remoting Enterprise Services
Simple ConfigInteroperable
Service-Oriented
AttributesTransactionsComponents
Broad VisionExtensibility
Object-Oriented
19
IndigoIndigo... is a set of technologies for building and managing service-oriented systems... is scale-invariant
Small device (Compact Framework) to large servers
... is broadly interoperableFully based on WS-* Web services protocols
... provides a unified programming model and runtime... blurs the line between local and remote applications
... is a set of technologies for building and managing service-oriented systems... is scale-invariant
Small device (Compact Framework) to large servers
... is broadly interoperableFully based on WS-* Web services protocols
... provides a unified programming model and runtime... blurs the line between local and remote applications
20
Secure, Reliable, Transactional Servicesusing System.ServiceModel;[Security(ConfidentialitySupport=true)][Connection(DeliveryAssurances= DeliveryAssurances.Full)][Service] public class Example{ [ServiceMethod] public int Method1(int x) { . . . }
[TransactionOperation] [ServiceMethod] public int Method2(int x) { . . . }}
using System.ServiceModel;[Security(ConfidentialitySupport=true)][Connection(DeliveryAssurances= DeliveryAssurances.Full)][Service] public class Example{ [ServiceMethod] public int Method1(int x) { . . . }
[TransactionOperation] [ServiceMethod] public int Method2(int x) { . . . }}
21
WinFXWinFX
"We want the Win32 functionality in .NET!"
22
Road To LonghornRoad To LonghornR
ich
nes
sR
ich
nes
s
Win16Win16 Win32Win32COMCOM
MFCMFC
Components
ComponentsServicesServices
APIsAPIsWindows
3.0 .NET Framework “Whidbey”
TM
23
Announcing WinFX™Faster, Easier DevelopmentAnnouncing WinFX™Faster, Easier Development
Builds on the .NET Framework
Well-structured programming framework for Windows
Continued commitment to backwards compatibility
Builds on the .NET Framework
Well-structured programming framework for Windows
Continued commitment to backwards compatibility
Avalon WinFS IndigoWindows Forms
ASP.NET
ObjectSpacesObjectSpaces
DataSetDataSet
SQL XMLSQL XML
ProvidersProviders
Fram
ework
ServicesSchemas
Data Model
ADO.NET
Connectivity
Synchronization(WinFS, Win32..)Synchronization(WinFS, Win32..)
InfoAgent(PreferenceRules..)InfoAgent(PreferenceRules..)
FileSystem Services(MetaDataHandlers..)FileSystem Services(MetaDataHandlers..)
CalendarCalendar MediaMedia
DocumentDocument ……
ItemsItems
RelationshipsRelationships
ExtensionsExtensionsCommunications Manager (Port)Communications Manager (Port)
Messaging Services
Transport Channels(IPC, HTTP, TCP…)Transport Channels(IPC, HTTP, TCP…)
Channels (Datagram, Reliable, Peer, …)
Channels (Datagram, Reliable, Peer, …)
Policy EnginePolicy Engine
MessageEncoderMessageEncoder
ChannelSecurityChannelSecurity
QueuingQueuing
EventingEventing
RoutingRouting
TransactionTransaction
Desktop ServicesDesktop Services
Desktop WindowManagerDesktop WindowManager
Presentation Object ManagerPresentation Object Manager
Desktop Composition EngineDesktop Composition Engine
Animation andCompositionAnimation andComposition
Media Services
Hardware RenderingHardware Rendering
MediaProcessingMediaProcessing
Capture and SourcingCapture and Sourcing
Software Renderingand SinksSoftware Renderingand Sinks
Adaptive UIEngineAdaptive UIEngine
Page/SiteCompositionPage/SiteComposition
Personalization andProfiling ServicesPersonalization andProfiling Services
Membership and Security ServicesMembership and Security Services
Designer ServicesDesigner Services
Controls Interop EngineControls Interop Engine
ControlsControls
Windows Forms
ApplicationServicesApplicationServices
PeoplePeople GroupGroup
Collaboration
People andGroupsPeople andGroups
CollaborationHistoryCollaborationHistory
Real-TimeActivitiesReal-TimeActivities
SignalingSignalingFederationFederation
System Services
Transactions Storage
Protocols
Network Services
Kernel M
ode
Base Class LibrariesBase Class Libraries
Memory ManagerMemory Manager
Hosting LayerHosting Layer
Code ExecutionCode Execution LoaderLoader SecuritySecurity SerializationSerialization
LightweightTransactionsLightweightTransactions
TransactionCoordinatorTransactionCoordinator
KernelTransactionManager
KernelTransactionManager
LoggingServiceLoggingService
KernelKernel
Hardware Abstraction LayerHardware Abstraction Layer
ProcessManagerProcessManager
SecurityReference Monitor
SecurityReference Monitor
LPCFacilityLPCFacility
MemoryManagerMemoryManager
PowerManagerPowerManager
ConfigManagerConfigManager
Plug andPlayPlug andPlay
TransactedNTFSTransactedNTFS
Cache ManagerCache
ManagerUniversalData Format
UniversalData Format
FilterEngineFilterEngine
TCP, UDPIPV4, IPV6TCP, UDPIPV4, IPV6 IPSECIPSEC QOSQOS HTTP
ListenerHTTPListener
Internet Connection FirewallInternet Connection Firewall
Demand Activation and Protocol HealthDemand Activation and Protocol Health
PNRPPNRP NativeWiFiNativeWiFi SIPSIP TCP
ListenerTCP Listener
UDP ListenerUDP Listener
IPC ListenerIPC Listener
Network Class LibraryNetwork Class Library
GDI/GDI+GDI/GDI+ WindowManagerWindowManager
GlobalAudio Engine
GlobalAudio Engine
Direct 3DGraphicsDirect 3DGraphics
Graphics driversGraphics drivers
DDIDDI InputManagerInputManager
AudioDriversAudioDrivers
DirectX GraphicsMini port
DirectX GraphicsMini port
RedirectorsRedirectors
SCSI/FCSCSI/FC 802.3802.3 802.11802.11 ....
Device Drivers
ManagementServices
(Event Logs,Tracing,Probes,
Auto Update,Admin)
ManagementServices
(Event Logs,Tracing,Probes,
Auto Update,Admin)
IO ManagerIO Manager
Application DeploymentEngine (Click-Once)
Application DeploymentEngine (Click-Once)
Identity &SecuritySystem
Identity &SecuritySystem
FAT 16/32FAT 16/32
FilterManagerFilterManager
DistributedFile SystemDistributedFile System
Virtual ShadowCopy ServiceVirtual ShadowCopy Service
File ReplicationServiceFile ReplicationService
Virtual DiskServiceVirtual DiskService
Models
ServiceServiceObjectObject T/SQLT/SQL XMLXMLDocumentDocument UIUI MediaMedia
CLR
Avalon WinFS IndigoPresentation Data Communication
Base Operating System Services
Presentation Data Communication
Base Operating System Services
TM
WinFXOccasionallyConnected Cinematic Quality
Presentation
DynamicSocket for
Web services
Natural UIWin32 Web
Rich UserExperience
DeveloperProductivity
“DLL Hell”
HeavyFootprint
SmallFootprint
Responsive
NetworkDependency
Ease ofDeployment
Poor UserExperience
EasyChange
Management
Tough ToDeploy
ComplexTo Develop
WinFX – The Best of Both WorldsWinFX – The Best of Both Worlds
.NET Framework Class Library
Illustrating WinFXIllustrating WinFX
WinFX
IndigoWinFSAvalon
Application
Longhorn
ASP.NET
ADO.NET
WindowsForms
. . .
Common Language Runtime
29
MSH (aka "Monad")MSH (aka "Monad")
"Give us a shell like UN*X (or better :-)"
30
Why MSH?Why MSH?Windows administration has not met the needs of administrators
Overemphasis on GUI-based tools and developer-oriented SDKs Weak command shell with incomplete coverage and limited automation
Unix employs a powerful model for automating administration tasks
Composition (A | B | C)Text-based pipelines
.NET enables Windows to do better than Unix
Object-based pipelinesManaged code
Commands are classesReflection-based utilities
Windows administration has not met the needs of administrators
Overemphasis on GUI-based tools and developer-oriented SDKs Weak command shell with incomplete coverage and limited automation
Unix employs a powerful model for automating administration tasks
Composition (A | B | C)Text-based pipelines
.NET enables Windows to do better than Unix
Object-based pipelinesManaged code
Commands are classesReflection-based utilities
31
RequestRequest
Command ParserCommand Parser
ProcessProcess
ProcessProcess
RequestRequest
processprocesscmdletcmdlet
processprocessrequestrequestobjectobject
WhereWhere
WhereWhere
wherewherecmdletcmdlet
wherewhererequestrequestobjectobject
SortSort
SortSort
sortsortcmdletcmdlet
sortsortrequestrequestobjectobject
Out/TableOut/Table
TableTableout-chartout-chartrequestrequestobjectobject
Pipeline ProcessorPipeline Processor
out-chartout-chartcmdletcmdlet
get/process | where “handlecount –gt 400” | sort handlecountget/process | where “handlecount –gt 400” | sort handlecount | out/chart processname,handlecount| out/chart processname,handlecount
Pipeline ProcessingPipeline Processing
32
OK, that's all?OK, that's all?
Of course not, there is... WinPE image-based install & componentization... new management tools... simple deployment & updates ("ClickOnce")... new help subsystem... a server version ("Blackcomb") in the making... etc., etc. ...
Of course not, there is... WinPE image-based install & componentization... new management tools... simple deployment & updates ("ClickOnce")... new help subsystem... a server version ("Blackcomb") in the making... etc., etc. ...
Key Take-AwaysKey Take-Aways
Longhorn is the most ambitious new version of Windows since Windows 95Longhorn is the ideal platform for a whole new type of applicationYou can get ready for Longhorn by using the .NET Framework todayLonghorn provides opportunities to find new customers and open up new lines of businesses
Longhorn is the most ambitious new version of Windows since Windows 95Longhorn is the ideal platform for a whole new type of applicationYou can get ready for Longhorn by using the .NET Framework todayLonghorn provides opportunities to find new customers and open up new lines of businesses
34© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.