1 / 33

Introducing WinFX Discover Next Generation Managed APIs

Introducing WinFX Discover Next Generation Managed APIs. Christian Weyer thinktecture christian.weyer@thinktecture.com 7 & 8 March 2006 ICC Gent. Christian Weyer and. Support and consulting services for software developers and architects Renowned experts in today’s technologies

onan
Download Presentation

Introducing WinFX Discover Next Generation Managed APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducing WinFXDiscover Next Generation Managed APIs Christian Weyer thinktecture christian.weyer@thinktecture.com 7 & 8 March 2006 ICC Gent

  2. Christian Weyer and • Support and consulting services for software developers and architects • Renowned experts in today’s technologies • We track future technologies and work closely with Microsoft • My area of expertise are distributed applications, Web Services in particular, Web Services interoperability and all things service orientation • http://www.thinktecture.com • christian.weyer@thinktecture.com • Independent Microsoft Regional Director for Germany • Microsoft MVP for Solution Architecture

  3. Agenda • The Windows Platform • Presentation Foundation • Communication Foundation • Workflow Foundation

  4. Microsoft Windows PlatformArchitectural Principles Presentation Data Communication Avalon Base Operating System Services

  5. System.ServiceModel (Contract, Activation, Behaviors, …) Message Binding (WS-*, HTTP/XML, …) Channel (TCP, PeerChannel, MSMQ, Security, Reliability, …) People Near Me 802.11 AutoConfig Extensible Authorization Protocol NTFS / Transacted DFS (NS, Replication) FAT 16/32,UDFS Network &Offline FS Lightweight Transactions IPV4, IPV6 UDP, TCP IPSEC QOS HTTP Listener Shadow Copy Volume Encryption Bandwidth Manager Virtual Disk Service TransactionCoordinator 802.3 802.11 RAS Plug andPlay MemoryManager PowerManager Common Logging Services TransactionManager Process Manager Config Manager Cache Manager SecurityMonitor RPC / LPC I/O Manager Device Bus Manager (USB, PCI, ...) Windows Driver Foundation Windows API V.Next Presentation Data Communication Windows Presentation Foundation Windows Forms ASP.NET Windows Data Foundation Windows WorkflowFoundation (System.Workflow) Identity and AccessServices (AD, RMS, AD-STS, “InfoCard” Services) … Language Integrated Query Documents UI Media “Atlas” Client Script Library Application Services Controls, Control Interop Server Controls “Atlas” Services Bridge Standard Query Operators “XLinq” (System.XML) “DLinq” (ADO.NET) … Windows Communication Foundation Elements Desktop Window Manager Page App Services Visual System Objects XML SQL WinFS DB2, Oracle, Files, … … Application Services Desktop Composition Engine Designer Services Application Hosting Hardware Rendering Software Rendering Network Class Library Base Operating System Services COM CLR Base Class Libraries Windows Activation Service / Internet Information Service (Demand Activation and Protocol Health) COM / DCOM Memory Manager Code Execution Loader Security Serialization OLE32 Click-Once Deployment Hosting Layer Security, Identity & Access Services (Crypto, SSPI, ACLs, Audit, WinLogon, SmartCard, Integrity, …) Management Services (MMC, Eventing, Tracing, WMI, Update, Group Policy, Scheduler) File System Filter Manager Portable Media Devices Support (Camera, Cell, …) GDI/GDI+ Window Manager DirectX (Direct 3D, Direct Sound, …) Network Access Protection Network Diagnostics Framework Name Resolution (PNRP,…) Network Location Awareness PMD Drivers Input Manager Printer Drivers Audio Drivers Display Drivers (VDDM) Storage Drivers (ScsiPort, StorPort, UFD, …) IPMI Driver Hardware Abstraction Layer

  6. Supported Platforms • Windows Vista • Windows "Longhorn" Server • Windows XP SP2, Windows Server 2003 SP1, Windows Server 2003 R2 • Separate Install • Get it via Microsoft Update, App Bootstrapper, MSI on CD, etc. ... • ... just like the .NET Framework today

  7. 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?

  8. PresentationWindows 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

  9. WPF Application Model Document Model Graphics Model Tools and Languages Element Services Media Integration Layer Composition and Rendering .NET Framework DirectX 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

  10. <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 Button b1.Content = "OK" b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100 XAML • 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

  11. New Graphics Tooling • Microsoft Expression Tools Suite • Graphic Designer • brings together the best of vector and pixel-based capabilities, letting you explore new creative and cutting edge possibilities • Interactive Designer • helps you create streamlined, innovative and just plain beautiful applications. Users experience increased satisfaction, while you develop in a flexible, productive environment • Web Designer • gives you all the powerful tools you'll need to produce high-quality, standard-based Web sites the way you want them

  12. 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 <XAML> <Button Width="100px"> OK <Button.Background> LightBlue </Button.Background> </Button> </XAML>

  13. Where does it fit? • ASP.NET, Atlas, Windows Forms, WPF, Office – oh my! • ASP.NET • Web apps; broad reach; no deployment and versioning issues • Atlas • Web apps; enhanced user experience • Windows Forms • Windows apps; proven and mature • WPF • Windows and browser apps; new and evolving; consolidated concepts; ‘everything’ is first-class citizen; different form and device factors

  14. Communication Challenges How can I write one program that talks to everything? 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 do I ensure reliable and secure connections?

  15. Peer to peer infrastructure for collaborative applications PeerChannel PeerNet People near me Federated Identity CommunicationWindows Communication Foundation Unified communication platform for distributed applications • Web Services • REST/POX • MSMQ Channel • Instrumentation and Tracing

  16. The unified programming model for rapidly building service-oriented applications on the Windows platform Windows Communication Foundation Unifies today’s distributed technology stacks Appropriate for use on-machine, cross machine, and cross Internet Unification ServiceOrientation • Codifies best practices for building distributed applications Interoperates with applications running on other platforms Integrates with Microsoft’s own distributed stacks Integration

  17. Messages & Endpoints Client Service Endpoint Endpoint Endpoint Endpoint

  18. A A A B B B C C C C B A Address, Binding, Contract Client Service Address Where? Binding How? Contract What? Endpoint

  19. Contracts in WCF public class Order{ public int orderID; public int partNumber; public int price; public string info; public void Process(); public GetInfo();} [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); }

  20. Features Summary Address Binding Contract Behavior Request/Response InstancingBehavior HTTPTransport WS-SecurityProtocol ConcurrencyBehavior http://... Peer Transport net.p2p://... Throttling Behavior WS-RMProtocol TCP Transport net.tcp://... MetadataBehavior NamedPipeTransport WS-CoordProtocol One-Way net.pipe://... Error Behavior TransactionBehavior MSMQTransport DuplexChannel net.msmq://... CustomBehavior SecurityBehavior Duplex CustomTransport CustomProtocol xxx://... Externally visible, per-endpoint Opaque, per-service, endpoint, or operation

  21. Standard Bindings T = Transport Security | S = WS-Security | O = One-Way Only

  22. Why does Workflow matter? • 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

  23. Windows Workflow Foundation The workflow framework & tools for Microsoft products and partner/customer ecosystem • 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

  24. Windows Workflow Foundation Visual Designer Workflows are a set of Activities AWorkflow Key Concepts Workflows run within a Host Process: any application or server Developers can build their own Custom Activity Libraries AnActivity Custom Activity Library Components Windows Workflow Foundation Base Activity Library:Out-of-box activities and base for custom activities Base Activity Library Runtime Engine:Workflow execution and state management Runtime Engine Runtime Services:Hosting flexibility and communication Runtime Services Visual Designer:Graphical and code-based construction Host Process

  25. State1 State2 Flexible Control Flow State Machine Workflow Sequential Workflow External events drive processing order Sequential structure prescribes processing order Step1 Event Step2 Event • Prescriptive, formal • Automation scenarios • Flowchart metaphor • Reactive, event-driven • Skip/re-work, exception handling • Graph metaphor Rules-driven Activities Rule1 Step1 Rules + data state drive processing order Data Step2 Rule2 • Data-driven • Simple Conditions, complex Policies • Constrained Activity Group

  26. Runtime Engine • provides intrinsic behaviors to activities WorkflowExecution State Management TrackingInfrastructure Dynamic Update • Runtime Services • hosting flexibility - pluggable implementations (with defaults) Tracking … Persistence Communication Runtime Engine and Services My Workflow Workflow Foundation • Base Activity Library Host Process

  27. Workflow Designers (À la ‘WinForms’ Designer) • Create new workflows • Visual (/code) authoring • Seamlessly integrate .NET code with round-tripping • Visual debugging • Themes support • Designer re-hosting Sequential Designer State Machine Designer Activity Designer (À la ‘UserControl’ Designer) • Create new activities • Visual (/code) authoring • Inherit from base activities or start from scratch • Black-box/Gray-box composition support Activity Designer Visual Studio Workflow Designers

  28. “All together now!” • ‘Perfect’ fit: WF and WCF • Have WCF activities for WF • Have a WF host for WCF • Both WF and WCF will be at the core of a number of other technologies and products • WPF always kind of orthogonal to other two pillars • But can be used hand-in-hand quite nicely • Demo app: Microsoft Max • We can expect some interesting cross-pillar applications in the upcoming months

  29. WinFX In-Depth Session • WinFX - A Lap Around the Windows Presentation Foundation • March 7, 2006 - 13:00 - 14:15Speaker: Bart De Smet • WinFX - Windows Communications Foundation: Building Next Generation Distributed Applications • March 7, 2006 - 14:30 - 15:45Speaker: Christian Weyer • WinFX - Workflow-based Applications using Windows Workflow Foundation • March 7, 2006 - 16:15 - 17:30Speaker: Christian Weyer

  30. System.ServiceModel (Contract, Activation, Behaviors, …) Message Binding (WS-*, HTTP/XML, …) Channel (TCP, PeerChannel, MSMQ, Security, Reliability, …) People Near Me 802.11 AutoConfig Extensible Authorization Protocol NTFS / Transacted DFS (NS, Replication) FAT 16/32,UDFS Network &Offline FS Lightweight Transactions IPV4, IPV6 UDP, TCP IPSEC QOS HTTP Listener Shadow Copy Volume Encryption Bandwidth Manager Virtual Disk Service TransactionCoordinator 802.3 802.11 RAS Plug andPlay MemoryManager PowerManager Common Logging Services TransactionManager Process Manager Config Manager Cache Manager SecurityMonitor RPC / LPC I/O Manager Device Bus Manager (USB, PCI, ...) Windows Driver Foundation Windows API V.Next Presentation Data Communication Windows Presentation Foundation Windows Forms ASP.NET Windows Data Foundation Windows WorkflowFoundation (System.Workflow) Identity and AccessServices (AD, RMS, AD-STS, “InfoCard” Services) … Language Integrated Query Documents UI Media “Atlas” Client Script Library Application Services Controls, Control Interop Server Controls “Atlas” Services Bridge Standard Query Operators “XLinq” (System.XML) “DLinq” (ADO.NET) … Windows Communication Foundation Elements Desktop Window Manager Page App Services Visual System Objects XML SQL WinFS DB2, Oracle, Files, … … Application Services Desktop Composition Engine Designer Services Application Hosting Hardware Rendering Software Rendering Network Class Library Base Operating System Services COM CLR Base Class Libraries Windows Activation Service / Internet Information Service (Demand Activation and Protocol Health) COM / DCOM Memory Manager Code Execution Loader Security Serialization OLE32 Click-Once Deployment Hosting Layer Security, Identity & Access Services (Crypto, SSPI, ACLs, Audit, WinLogon, SmartCard, Integrity, …) Management Services (MMC, Eventing, Tracing, WMI, Update, Group Policy, Scheduler) File System Filter Manager Portable Media Devices Support (Camera, Cell, …) GDI/GDI+ Window Manager DirectX (Direct 3D, Direct Sound, …) Network Access Protection Network Diagnostics Framework Name Resolution (PNRP,…) Network Location Awareness PMD Drivers Input Manager Printer Drivers Audio Drivers Display Drivers (VDDM) Storage Drivers (ScsiPort, StorPort, UFD, …) IPMI Driver Hardware Abstraction Layer

  31. Resources • WinFX Developer Center • http://msdn.microsoft.com/winfx/ • WPF • http://msdn.microsoft.com/windowsvista/building/presentation/ • WCF • http://windowscommunication.net/ • WF • http://www.windowsworkflow.net/ • Microsoft Max • http://www.microsoft.com/max/ • Blog Christian Weyer • http://blogs.thinktecture.com/cweyer/

  32. { } In-depth support and consulting for software architects and developers http://www.thinktecture.com/ christian.weyer@thinktecture.com http://blogs.thinktecture.com/cweyer/

More Related