Upload
cecil-mosley
View
213
Download
0
Embed Size (px)
Citation preview
Microsoft Windows “Longhorn”Microsoft Windows “Longhorn”future version of Windows OSfuture version of Windows OS
Jan “Honza” StoklasaJan “Honza” Stoklasajajanstoknstok atat microsoftmicrosoft dotdot comcom
Academic Program ManagerAcademic Program ManagerMicrosoft CzechMicrosoft Czech
Microsoft Windows “Longhorn”Microsoft Windows “Longhorn” LAPI (Longhorn API)LAPI (Longhorn API)
object oriented APIobject oriented API neXt step neXt step of Microsoft of Microsoft
AvalonAvalon user interface classesuser interface classes using 3D power of video cardusing 3D power of video card XAML – XML based UI languageXAML – XML based UI language
WinFSWinFS relational and transactional filesystemrelational and transactional filesystem
IndigoIndigo messaging framework messaging framework based on XML Web Services standardsbased on XML Web Services standards
LAPILAPI LAPI (Longhorn API)LAPI (Longhorn API)
huge set of OS level classeshuge set of OS level classes UI, filesystem, communication, multimediaUI, filesystem, communication, multimedia
based on .NET Framework based on .NET Framework managed execution environmentmanaged execution environment virtual machine analogyvirtual machine analogy
LAPI classes can be instantiated by LAPI classes can be instantiated by programs written in C#, C++, J#, VB.NET…programs written in C#, C++, J#, VB.NET… or any language having .NET compileror any language having .NET compiler
Pascal, Python, Haskell… Pascal, Python, Haskell…
low-level stuff (drivers) still runs as low-level stuff (drivers) still runs as native codenative code
LAPILAPI managed execution environmentmanaged execution environment
applications are restricted based on its applications are restricted based on its originorigin
configurable sandboxconfigurable sandbox C:\Program Files\MyAccounting.exeC:\Program Files\MyAccounting.exe
application coming from local system has full application coming from local system has full access to computer resourcesaccess to computer resources
http://www.suspicious.com/MaybeIAmTrojan.exehttp://www.suspicious.com/MaybeIAmTrojan.exe no access to sensitive resourcesno access to sensitive resources no more modem dialers… no more modem dialers…
DemoDemo
Hello LonghornHello Longhorn
AvalonAvalon user interface classesuser interface classes
explicitly instantiated by C# codeexplicitly instantiated by C# code ……or declaratively by XAMLor declaratively by XAML
XAMLXAML XML based language defining UIXML based language defining UI tree of UI elements <-> XML documenttree of UI elements <-> XML document XAML is compiled to ILXAML is compiled to IL
no runtime speed penaltyno runtime speed penalty
Interesting scenario: user interface Interesting scenario: user interface generated on-the fly from datagenerated on-the fly from data
AvalonAvalon <Canvas><Canvas>
drawable surfacedrawable surface <Rectangle>, <Ellipse><Rectangle>, <Ellipse> geometric transformationsgeometric transformations
<DockPanel><DockPanel> docking layoutdocking layout
<FlowPanel><FlowPanel> similar to HTML layoutsimilar to HTML layout
<TextPanel><TextPanel> formatted textformatted text
<GridPanel><GridPanel> tabular layouttabular layout
<Fixed Panel><Fixed Panel> numeric coordinates layoutnumeric coordinates layout
AvalonAvalon opacity, compositionopacity, composition gradientsgradients
<LinearGradientBrush><LinearGradientBrush>
geometric transformationsgeometric transformations <RotateTransform><RotateTransform> <ScaleTransform><ScaleTransform>
animationsanimations almost any property can be animatedalmost any property can be animated
3D objects are not part of my Longhorn build3D objects are not part of my Longhorn build
DemoDemo
Avalon sample applicationsAvalon sample applications
WinFSWinFS relational and transactional filesystemrelational and transactional filesystem
folder-file relationshipfolder-file relationship fixed by filesystemfixed by filesystem
logical relationshipslogical relationships enabled by WinFSenabled by WinFS
SQL queriesSQL queries filesystem stores typed objectsfilesystem stores typed objects
not just bytesnot just bytes
WinFSWinFS frequently used types are already frequently used types are already
defineddefined Person, Email, PicturePerson, Email, Picture now: every program has its own address now: every program has its own address
bookbook Longhorn: central address bookLonghorn: central address book
transactionstransactions BeginTransactionBeginTransaction CommitTransactionCommitTransaction AbortTransactionAbortTransaction
WinFSWinFS notificationsnotifications
programmer gets notified when set of data programmer gets notified when set of data changeschanges new file in directorynew file in directory new person in address booknew person in address book
support from underlying SQL enginesupport from underlying SQL engine
DemoDemo
WinFSWinFS
IndigoIndigo flexible messaging framework flexible messaging framework based on XML Web Services standardsbased on XML Web Services standards
XML RPCXML RPC XML message passingXML message passing remote object activationremote object activation object poolingobject pooling
DemoDemo
IndigoIndigo
MSDN AA MSDN AA current and coming Windows and .NET current and coming Windows and .NET
software easily available to academia software easily available to academia Visual Studio .NET and Windows XP for Visual Studio .NET and Windows XP for
whole computer science department whole computer science department and its students and its students and Longhorn beta once this comes outand Longhorn beta once this comes out
jjanstokanstok atat microsoftmicrosoft dotdot comcom for details for details