.NET 3.0, 3.5, 4.0 WCF, WPF, WF, CardSpace, LINQ, Task Parallel Windows Communication Foundation (WCF) WCF: Windows Communication Foundation • For distributed applications. • Using service oriented architecture (SOA). • Clients can consume multiple services; Services can be consumed by multiple clients. (M:M) • Services have WSDL interface. • WCF examples: WSS (Web Services Security, extension to SOAP to apply security to web services), WS-Discovery (Web Services Dynamic Discovery, a multicast discovery protocol to locate services), WCF: Windows Communication Foundation • Endpoints: client connects to a WCF service at an Endpoint, each service exposes its contract via endpoints. • End point ABC: address, binding, contract • WCF endpoints use SOAP envelope to communicate with clients (for platform independence). • Behaviors allow the developer to customize how the messages are handled. Windows Presentation Foundation (WPF) WPF: Windows Presentation Foundation • • • • • • • Graphical subsystem. Based on DirectX 2D and 3D graphics, vector graphics and animation Remote or standalone Safe remote view with IE. Uses XAML to define UI elements. XAML: eXtensible Application Markup Language Windows Workflow Foundation (WF) WF: Windows Workflow Foundation • • • • • Workflow: a series of distinct programming steps. An activity at each step. Workflow Designer in Visual Studio. Workflow engine: scheduling, managing, tracking workflows. To create applications that execute an ordered business process (UA curriculum proposal approval system). Windows CardSpace Windows CardSpace • Identification metasystem. • Resistance to phishing attacks • Follow the “7 laws of identity” (User Control and Consent, Minimal Disclosure for a Constrained Use, Justifiable Parties, Directed Identity, Pluralism of Operators and Technologies, Human Integration, Consistent Experience Across Contexts) • To be replaced by U-Prove. LINQ Language Integrated Query Embedded SQL in C# as strings StringBuilder builder = new StringBuilder (); builder.Append ("select count(*) from users " + "where username = \'"); builder.Append (username); builder.Append ("\' and pwd = \'"); builder.Append (password); builder.Append ("\';"); MySqlCommand command = new MySqlCommand (builder.ToString (), connection); Int64 count = (Int64) command.ExecuteScalar (); LINQ: Language Integrated Query var results = from c in SomeCollection where c.SomeProperty < 10 select new {c.SomeProperty}; foreach (var result in results) Console.WriteLine(result); Task Parallel Parallel Extensions • • • • • Managed concurrency library TPL: Task Parallel Library PLINQ: Parallel LINQ Multithreading based. Take advantages of muti-core (Intel) and many core (Nvidia GPU) That’s all. Folks. Edward Heyne Tim Reynolds Project Presentation