Transcript NET3-4

.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