Slide1 : Frank Prengel
Developer Evangelist
Developer Platform & Strategy Group
Microsoft Deutschland GmbH
http://blogs.msdn.com/frankpr
WinFX™
Next Generation Windows API
Agenda : Agenda The Windows Platform
Presentation
Communication
Workflow
Example: Max
Microsoft Windows PlatformArchitectural Principles : Microsoft Windows Platform Architectural Principles Avalon Presentation Data Communication Base Operating System Services
Windows API V.Next : Data Communication Base Operating System Services Objects SQL XML WinFS … … Identity and Access Services
(AD, RMS, AD-STS, “InfoCard” Services) Windows Workflow Foundation
(System.Workflow) Presentation ASP.NET Windows
Forms Windows Presentation Foundation Desktop Composition Engine Visual System Elements Documents Desktop
Window
Manager Hardware
Rendering Software
Rendering UI Media Designer
Services App
Services Application
Services Controls, Control Interop Application
Hosting Application Services Page Server
Controls “Atlas” Client
Script Library “Atlas”
Services
Bridge DB2,
Oracle,
Files,
…
Windows Communication Foundation Base Class Libraries Memory Manager Hosting Layer Code Execution Loader Security Serialization Hardware Abstraction Layer Windows Activation Service / Internet Information Service
(Demand Activation and Protocol Health) Network Class Library GDI/GDI+ Window
Manager DirectX (Direct 3D,
Direct Sound, …) Click-Once
Deployment Security,
Identity &
Access
Services
(Crypto, SSPI, ACLs, Audit, WinLogon,
SmartCard,
Integrity, …) File System Filter Manager CLR Windows Data Foundation “DLinq”
(ADO.NET) “XLinq”
(System. XML) Standard
Query
Operators Language Integrated Query … Display
Drivers (VDDM) Input
Manager Audio
Drivers Printer
Drivers Portable
Media
Devices
Support
(Camera,
Cell, …) Storage
Drivers (ScsiPort, StorPort, UFD, …) Management
Services
(MMC, Eventing,
Tracing, WMI, Update,
Group Policy, Scheduler) IPMI Driver COM COM / DCOM OLE32 PMD
Drivers Network
Access
Protection Network
Diagnostics
Framework Name
Resolution
(PNRP,…) Network
Location
Awareness Windows API V.Next
Supported Platforms : Supported Platforms Windows Vista
Windows "Longhorn" Server
Windows XP SP2, Windows Server 2003 SP1
Separate Install
Get it via Microsoft Update, App Bootstrapper, MSI on CD, etc. ...
... just like the .NET Framework today
Presentation Challenges : How do I improve productivity and usability? How can software exploit available hardware and form factors? How do I differentiate my software from my competition? How can my software reach the broadest possible audience? How can developers and designers collaborate? Presentation Challenges
PresentationWindows Presentation Foundation : Presentation Windows Presentation Foundation 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
Integrating UI Technologies : Application Model
Composable component architecture
Layout engine
Two-way transformable data binding
Rich visual styling and theming
Browser hosting
Graphics Model
2D & 3D Graphics
Imaging
Text
Video and audio
Animation
Document Model
Fixed, flow and adaptive layouts
Advanced typography
Container services
Rights management Integrating UI Technologies
WPF Applications : WPF Applications
Slide10 : Markup for Windows
Build applications in simple declarative statements
Can be used for any CLR object hierarchy
Code and content are separate
Streamline collaboration between designers and developers
Easy for tools to consume and generate XAML
Expression Interactive Designer : Expression Interactive Designer
Introducing “WPF/E”Lightweight WPF runtime : Introducing “WPF/E” Lightweight WPF runtime Interactive experiences for devices and PC platforms
Strict subset of Windows Presentation Foundation
Lightweight download
Programming model uses XAML + JScript
Access to all WPF tooling
WPF-based Tools
Communication Challenges : How do I ensure reliable and secure connections? How do I manage identity and access between applications? How do I make it work over peer-to-peer and enterprise networks? How do I create applications that cross trust boundaries? How can I write one program that talks to everything? Communication Challenges
CommunicationWindows Communication Foundation : Communication Windows Communication Foundation
Peer to peer infrastructure for collaborative applications
PeerChannel
PeerNet
People near me
Federated Identity Unified communication platform for distributed applications
Web Services
REST/POX
MSMQ Channel
Instrumentation and Tracing
Windows Communication Foundation : Unifies today’s distributed technology stacks
Appropriate for use on-machine, cross machine, and cross Internet The unified programming model for rapidly building service-oriented applications on the Windows platform Interoperates with applications running on other platforms
Integrates with our own distributed stacks Unification Integration Codifies best practices for building distributed applications Service Orientation Windows Communication Foundation
Messages & Endpoints : Client Service Messages & Endpoints Endpoint Endpoint Endpoint Endpoint
Address, Binding, Contract : Service Client Address, Binding, Contract Address
Where? Contract
What? Binding
How? Endpoint
Contracts in WCF : Contracts in WCF [DataContract]
public class Order { [DataMember]
public int orderID;
[DataMember]
public int partNumber;
[DataMember]
public int price;
[DataMember]
public string info;
}
[DataContract]
public class Query {
[DataMember] public int orderID; }
[DataContract] public class Info { [DataMember] public string info; } [ServiceContract] public interface IOrderService {
[OperationContract] void Process(Order o);
[OperationContract]
Info GetInfo(Query q);
} public class Order { public int orderID;
public int partNumber;
public int price;
public string info;
public void Process();
public GetInfo(); }
Features Summary : Features Summary Address
Binding
Behavior
Contract
HTTP Transport TCP
Transport NamedPipe Transport MSMQ Transport Custom Transport WS-Security Protocol WS-RM Protocol WS-Coord Protocol Duplex Channel Custom Protocol http://... net.tcp://... net.pipe://... net.msmq://... xxx://... Throttling
Behavior Metadata Behavior Error Behavior Custom Behavior Instancing Behavior Concurrency Behavior Transaction Behavior Security Behavior Request/ Response One-Way Duplex net.p2p://... Peer
Transport Externally visible,
per-endpoint Opaque, per-service,
endpoint, or operation
Standard Bindings : Standard Bindings T = Transport Security | S = WS-Security | O = One-Way Only
Indster : Indster
Why does Workflowmatter? : Workflow is everywhere
Every “if” statement
Every Web page transition
Top driver of application complexity
Need to take the next step
Capture complex workflows
Expose them to developers
Enable on-the-fly extensions Why does Workflow matter?
Windows Workflow Foundation : The workflow framework & tools for Microsoft products and partner/customer ecosystem Windows Workflow Foundation
Single workflow technology for Windows
Base for Microsoft products and ISV/customer solutions
One technology for human and system workflow scenarios
A framework for building workflow into applications
A framework to build on - not an application or server
Exposed to developers via WinFX
Brings workflow to mainstream .NET development
Transform workflow from niche to mainstream paradigm
Build strong partner & solution ecosystem
Windows Workflow Foundation : Windows Workflow Foundation Key Concepts Host Process
Windows
Workflow Foundation Runtime Engine
A Workflow
An Activity Runtime Services Base Activity Library
Custom Activity Library
Visual Designer Visual Designer: Graphical and code-based construction Workflows are a set of Activities Workflows run within a Host Process: any application or server Developers can build their own Custom Activity Libraries Components Base Activity Library: Out-of-box activities and base for custom activities Runtime Engine: Workflow execution and state management Runtime Services: Hosting flexibility and communication
Flexible Control Flow : Flexible Control Flow Rules-driven Activities Step2 Step1 Rule1 Rule2 Data Rules + data state
drive processing
order Data-driven
Simple Conditions, complex Policies
Constrained Activity Group
State Machine Workflow Event Event External
events drive
processing
order Reactive, event-driven
Skip/re-work, exception handling
Graph metaphor Sequential Workflow Step1 Step2 Sequential
structure
prescribes
processing order Prescriptive, formal
Automation scenarios
Flowchart metaphor
Runtime Engine and Services : Host Process Workflow Foundation Runtime Engine and Services
Base Activity Library
My Workflow
Visual Studio Workflow Designers : Visual Studio Workflow Designers
Building Workflow in VS2005 : Building Workflow in VS2005
Slide29 : Does this make sense for Shareware?
Slide30 : http://www.microsoft.com/max/index.html
More information : More information http://msdn.microsoft.com/windowsvista
Slide32 : Thank you!
Slide33 : © 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.