260 likes | 396 Views
Introduction to .NET FX 3.0 (+ sneak preview of .NET FX 3.5). Martin Parry Developer & Platform Group Microsoft Ltd Martin.Parry@microsoft.com http://www.martinparry.com. Mike Taulty Developer & Platform Group Microsoft Ltd Mike.Taulty@microsoft.com http://www.mtaulty.com.
E N D
Introduction to .NET FX 3.0(+ sneak preview of .NET FX 3.5) Martin Parry Developer & Platform Group Microsoft Ltd Martin.Parry@microsoft.com http://www.martinparry.com Mike Taulty Developer & Platform Group Microsoft Ltd Mike.Taulty@microsoft.com http://www.mtaulty.com
Intro - .NET Framework v3.0 • Shipped last year • CardSpace, WCF, WPF, WF • Supported on: - • Windows XP SP2 • Windows Server 2003 • Windows Vista • Uses CLR v2.0, VS 2005, no language changes
Intro - .NET Framework v3.5 • Will ship with Visual Studio 2008 • Currently available in Beta 1 • Enhancements to some v3.0 features, plus new bits • Still uses CLR v2.0 • Visual Studio 2008 • Some language additions
Agenda 9:45 – 11:00 Martin Parry WCF and Windows CardSpace 11:00 – 11:15 Break 11:15 – 12:30 Mike Taulty WPF and WF 12:30 Close
Windows CardSpace &Windows Communication Foundation(3.0 and a bit of 3.5) Martin Parry Developer & Platform Group Microsoft Ltd Martin.Parry@microsoft.com http://www.martinparry.com
Identity - Problems • Passwords • Too easy to crack, or too hard to remember • I want multiple identities • Because I don’t trust all recipients the same • Results in identity silos on the web • Banks etc. would like sign-on to be much more complex • Human beings are the limiting factor • Nobody trusts a single organization...
Identity - Solutions • Must work cross-platform • Must allow me several identities • Must put me in control of my identities • Must not put a single org. in charge • Must allow recipients to define arbitrarily complex sign-on data • ...and protect the user from that complexity
What have we got? • WS-* specs give us cross-platform comms • SAML tokens are a standard way to exchange identity claims • Putting these together inside an open, consistent architecture gives us... • The Identity Metasystem
The Identity MetaSystem Relying Party 2. “I would like a SAML 1.1 token, containing First Name, Surname, issued by *any*” Policy 3. UI filters cards that can satisfy policy Access resource 7. Token is presented 4. User picks a card 6. Token is created 5. Token is requested Identity Provider
Types of Information Card • Personal Card • Refers to self-issued security token • Securely stored on user’s PC • Fixed set of claims available • Managed Card • Refers to Identity Provider that can issue tokens • User’s PC stores only the IP details • Claims are extensible
What’s in the HTML? <formid="form1" method="post"action="login1.aspx"> <div> <buttontype="submit">Click here to sign in</button> <objecttype="application/x-informationcard" name="xmlToken"> <paramname="tokenType"value="urn:oasis:names:tc:SAML:1.0:assertion"/> <paramname="issuer"value="http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self"/> <paramname="requiredClaims" value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier" /> </object> </div> </form>
Sys.Messaging MSMQ, Txns, Queuing Communications ASMX Ent Services Secure, Transactional Basic, Open Comms Remoting WSE Secure, Open Comms Fast, Secure, Binary
“Service” Message (SOAP) Message Headers: Addressing, Security, etc. Message Body: Payload Metadata Distributed Applications • Services pass messages described by a contract • Service may provide metadata, describing: - • The contract • The policy applied to communication “Client”
Security? Encoding? Transport? Mechanics of Communication “Service” “Client” What do I send? Contract Where do I send it? Address How should I send it? Binding
Endpoint Endpoint Endpoint Contract Contract Contract Binding Binding Binding Address Address Address Mechanics of Communication “Service” “Client”
XML objects formatting behaviours behaviours WCF – sketched architecture Client Service Metadata Your code Your code channel channel Transport Channel (HTTP, TCP, MSMQ, Pipes, Peer) channel channel channel channel Binding (ordered list of channel types & config) encoding decoding channel type 1 config channel type 2 config channel type N config
Instancing, Concurrency, Sessions Service classes can be instantiated: - Singleton, Per-Call, Per-Session, Shareable Service code can be either: - Single threaded, Re-entrant or Multi-threaded Service Message A Singleton Message B Message C Client
Instancing, Concurrency, Sessions Service classes can be instantiated: - Singleton, Per-Call, Per-Session, Shareable Service code can be either: - Single threaded, Re-entrant or Multi-threaded Service Message A Single Call Message B Single Call Message C Client Single Call
Instancing, Concurrency, Sessions Service classes can be instantiated: - Singleton, Per-Call, Per-Session, Shareable Service code can be either: - Single threaded, Re-entrant or Multi-threaded Service session Message A Per Session Message B Per Session Message C Client
Summary • CardSpace • Solving the problems associated with identity • It’s the Identity Selector for Windows • Part of cross-platform, open, identity metasystem • Windows Communication Foundation • Unified, highly extensible messaging API • FX3.5 adds non-SOAP messaging