Download presentation
Presentation is loading. Please wait.
Published byPaulina Fleming Modified over 8 years ago
1
Jeremy Boyd - Intergen MSDN Regional Director jeremyb@intergen.co.nz WinFX Managed APIs for Windows
2
Windows Platform
3
Agenda Quick tour through WinFX: Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation
4
Enabling the User Experience for Developers Windows Presentation Foundation
5
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?
6
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
7
Microsoft Presentation Technologies UX Richness Developer Productivity ASP.NET 2.0 (HTML) Windows Forms 2.0 Win32 Direct 3D v9 Availability: 20052006 ASP.NET “Atlas” Approachable Direct 3D v10 Richness Windows Presentation Foundation Optimized Richness & Approachable
8
XAML Extensible Application Markup Language 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 Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = new Length(100); OK HorizontalGradient White LtBlue Dim b1 As New Button b1.Content = "OK" b1.Background = New SolidColorBrush(Colors.LightBlue) b1.Width = New Length(100)
9
XAML in context of WPF WPF: Rich Control Library Border, BulletDecorator, Button, Canvas, CheckBox, ComboBox, ContextMenu, Control, DockPanel, DocumentViewer, Expander, FlowDocumentPageViewer, FlowDocumentReader, FlowDocumentScrollViewer, Frame, Grid, GridSplitter, GridView, GroupBox, Image, Label, ListView, ListBox, Menu, Panel, PasswordBox, Popup, Tooltip, etc etc…. Panels Styles and Resources Animations, Triggers, Storyboards, Timelines Bindings
10
Windows Presentation Foundation
11
Enabling Workflow in Applications Windows Workflow Foundation
12
What is a Workflow? “A set of activities… that co-ordinate people or and/or software… in to some kind of process or flow” Examples: Flowchart, State Diagram
13
Software Challenges Long Running “Orders are shipped over 30 days” Flexible Flow Control “This must be approved – NOW!” Transparency into running state “What's going on with this process??” Transactional “Its all, or nothing..”
14
Traditional Implementation
15
Windows Workflow Implementation
16
Workflow Solutions with WF Supports long running transactions Allows flexible flow control Allows monitoring Allows transactional boundaries Allows unification of business analyst, developer and end user view
17
Opportunities with Workflow Business Applications – LOB / B2B IT Management Information Worker Process System Workflow Human Workflow Participants: people, roles Flow style: flexible, dynamic Data: unstructured, documents Participants: apps, services Flow style: prescriptive, protocols Data: structured, transactional
18
Workflow Basics Workflows are sets of activities Workflows are hosted in a process Workflows are executed in the WF runtime Workflows can be persisted
19
Windows Workflow Foundation My Workflow built using Visual Designer Hosting Process Windows Workflow Foundation Base Activity Library Windows Workflow Runtime Workflow Services
20
Workflow Basics using System.Workflow.Activities; public class MyWorkflow : SequentialWorkflow { /// code here /// code here} </SequentialWorkflow> Workflow is a Class: Workflow can also be defined in markup (XOML):
21
Windows Workflow Foundation
22
The unified framework for building Service-Oriented applications. Windows Communication Foundation
23
Service-Oriented Tenets Services and consumers are independently versioned, deployed and operated. Services are autonomous Data never includes behavior Share schema & contract, not class Requirements of service declared independent of contract – e.g. Security Compatibility based on policy Service and Consumer are separated by an explicit façade. Boundaries are Explicit
24
Endpoints Endpoint Client Service
25
Client Service A BC Address Where? Contract What? Binding How? CBACBACBA Address, Binding, Contract
26
Client Service A BC CBACBACBA Client: ChannelFactory factory = new ChannelFactory (); C service = factory.CreateChannel(); service.Operation(); Service: ServiceHost host = new ServiceHost( typeof( ServiceType), baseUri ); host.Open(); Creating and Consuming
27
Contract and Service Definition [ServiceContract] public interface IHello { [OperationContract] string Hello(string name); [OperationContract] MyMessageOut DoIt(MyMessageIn m); } public class HelloService : IHello { public string Hello(string name) { return “Hello, ” + name; } public MyMessageOut DoIt(MyMessageIn m) { return new MyMessageOut(); }
28
Service Configuration App.Config: <service type=“HelloService" <endpoint address=“http://localhost/HelloService" binding=“basicHttpBinding" contract="IHello" />
29
Standard / Specification Support
30
Windows Communication Foundation
31
Summary Windows Presentation Foundation gives us the opportunity to build a great user experience Windows Workflow Foundation gives us the opportunity to model effective business process Windows Communication Foundation gives us the opportunity to build service-oriented systems WinFX is beta, but with a go-live licence – get it now! WinFX is beta, but with a go-live licence – get it now!
32
Binding Features EncodingTransportSecurity Reliable Messaging Transactions
33
Which Binding Do I Use? BasicHttpBinding WsHttpBinding Interop? What Level? Duplex? WsDualHttpBinding NetNamed PipeBinding NetMsmqBinding NetPeerTcpBinding NetTcpBinding No Basic No Yes Local? Need Queues? Peer to Peer? No Yes WS-* Yes
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.