1 Using XSD, CLR Types, And Serialization In Web Services Doug Purdy Program Manager Microsoft Corporation Doug Purdy Program Manager.

Slides:



Advertisements
Similar presentations
Indigo Jonathan Turnbull Nick Cartwright Ivan Konontsev Chris Bright.
Advertisements

1 Module 1 The Windows NT 4.0 Environment. 2  Overview The Microsoft Operating System Family Windows NT Architecture Overview Workgroups and Domains.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
1 Federating Identity and Authorization Across Organizations and Platforms Matthew Hur Lead Program Manager Microsoft Corporation
1 Introducing the “Longhorn” Identity System Stuart Kwan Product Unit Manager Microsoft Corporation Stuart Kwan
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Module 1: Overview of the Microsoft.NET Framework.
Web Services (ASMX 2.0 and WSE 3.0) Mike Taulty Developer & Platform Group Microsoft Ltd
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
1 Introducing ClickOnce: The New Application Deployment Model for Windows Forms and “Avalon” Jamie Cool Program Manager Microsoft.
Getting Started with Windows Communication Foundation 4.5 Ed Jones, MCT, MCPD, MCTS Consultant RBA Inc.
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
SP2 Mikael Nystrom. Agenda Översikt Installation.
Building Rights Management Enabled Applications For Windows "Longhorn" Steve Bourne Chandramouli Venkatesh Microsoft Corporation Steve Bourne Chandramouli.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation Shane McRoberts Group Program Manager Microsoft.
Nikola Dudar Program Manager Microsoft Corporation Session Code: DTL 311.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Plataformas.NET para desenvolvimento de aplicações web José António Silva
Data Access Design Patterns: Navigating the Data Access Maze Michael Pizzo Software Architect Microsoft Corporation Michael Pizzo Software Architect Microsoft.
Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services.
1 Keyboard, Speech, and Pen Input in Your Controls Kevin Gjerstad Lead Program Manager Kevin Gjerstad Lead Program Manager
Assemblies & Namespaces1. 2 Assemblies (1).NET applications are represented by an assembly An assembly is a collection of all software of which the application.
Module 1: Overview of the Microsoft.NET Platform.
“Indigo”: Building Peer-To-Peer Applications Todd R. Manion Program Manager Microsoft Corporation Todd R. Manion Program Manager.
1 “Indigo”: Services And The Future Of Distributed Applications Don Box Architect Microsoft Corporation here –
CF and.NET Working Together Using Web Services Geoff Snowman Developer Community Champion Microsoft Corporation.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1.NET Framework Overview: A Road Map Brad Abrams.NET Framework Team Microsoft Corporation Brad Abrams.NET Framework.
A Deep Dive into Best Practices with the Windows Communication Foundation John Justice COM415 Program Manager Microsoft Corporation.
Developing Web Services Using ASP.NET and WSE That Interoperate with the Windows Communications Foundation ("Indigo") Mark Fussell COM432 Lead Program.
1 “WinFS” Future Directions: An Overview Shishir Mehrotra DAT209 WinFS Product Planning Microsoft Corporation.
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
“Indigo”: Connected Application Technology Roadmap
1 Application Model Fundamentals Chris Anderson Software Architect Microsoft Corporation Chris Anderson Software Architect Microsoft.
Enabling Enterprise Applications Marcus Perryman Microsoft
Microsoft.Net Sven Groot. Common Language Runtime Superset of ECMA Common Language Infrastructure Defines  Language-neutral platform  Intermediate Language.
ADO.NET 2.0: Advanced Data Access Patterns Pablo Castro DAT408 ADO.NET Technical Lead Microsoft Corporation.
“Avalon”: Using UI Automation to Improve Application Testability Robert Sinclair Group Manager Microsoft Corporation Robert Sinclair.
Base Operating System Services CLR TransactionsStorage Protocols Network Services Kernel Mode Base Class Libraries Memory Manager Hosting Layer Code Execution.
1 Integrating Real-time Collaboration into your Applications Stephanie Lindsey Program Manager Microsoft Corporation Stephanie.
1 Programming "Indigo" Part 2: Secure, Reliable, Transacted Services Session Code: WSV 302 Don Box Architect Microsoft Corporation
1 Interop Best Practices and Common Pitfalls (That We Learned the Hard Way) Please write your name on a card in the back and place it in the box… Please.
DEV332 Programming for the Middle Tier in Visual Basic.NET Billy Hollis Author / Consultant.
SQL Server Notifications: Invalidating Cached Results Michael Pizzo Software Architect Microsoft Corporation Michael Pizzo Software.
Introduction to.NET Building.NET Applications Mike Taulty Developer & Platform Group Microsoft Ltd
1 “Indigo” & Web Services Roadmap David Gristwood.
Extending Workflow With Custom Activities Dennis Pilarinos COM328 Program Manager Microsoft Corporation.
1 Programming ADO.NET in Whidbey Pablo Castro/Brad Rhodes ADO.NET Team Microsoft Corporation Pablo Castro/Brad Rhodes.
Arizona SharePoint Professionals Group.
Introducing the Microsoft® .NET Framework
Session Code: CLI312 Windows “Longhorn:” Enhancements For A Trustworthy Application Experience Jude Kavalam Group Program Manager Microsoft Corporation.
Introduction to Windows Azure AppFabric
Using Audio, Video, and Imaging in your Longhorn Applications
System.Search, aka “Find My Stuff”
Transactional Programming In A Windows World
Michael Wallent General Manager Windows Client Platform
“Whidbey” CLR Internals
11/17/2018 9:30 PM Session Code: ARC 420
Building Rich, Interactive Controls for Windows “Longhorn”
New User Interface Possibilities in Longhorn
"Avalon": Building Applications With Controls And Dialogs
People And Groups Controls In Windows "Longhorn"
Exploiting WinFX from Win32/MFC Applications
Distributed Applications on Windows Vista
Session Code: CLI391 Windows Forms: Exploiting Windows “Longhorn” Features from Within Your Application Mark Boulter .NET Client Team Microsoft Corporation.
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

1 Using XSD, CLR Types, And Serialization In Web Services Doug Purdy Program Manager Microsoft Corporation Doug Purdy Program Manager Microsoft Corporation WSV303

2 Tools Client Application Model AvalonWindows Forms Web & Service Application Model ASP.NET / Indigo Win FS Compact Framework Yukon Mobile PC Optimized System.Help System.Drawing System.NaturalLanguageServices Data Systems Application Model Presentation Data Mobile PC & Devices Application Model Communication Command Line NT Service DataSet Mapping ObjectSpaces ObjectSpace Query Schema Item Relationship Media Audio Video Images System.Messaging System. Discovery System.DirectoryServices System.Remoting System.Runtime.Remoting Active Directory Uddi System.Web.Services Web.Service Description Discovery Protocols System.MessageBus Transport Port Channel Service Queue PubSub Router System.Timers System.Globalization System.Serialization System.Threading System.Text System.Design Base & Application Services Fundamentals System.ComponentModel System.CodeDom System.Reflection System.EnterpriseServices System.Transactions Security System.Windows. TrustManagement System.Web. Security System.Message Bus.Security Authorization AccessControl Credentials Cryptography System.Web.Configuration System.MessageBus.Configuration System.Configuration System.Resources System.Management System.Deployment System.Diagnostics ConfigurationDeployment/Management System.Windows System.Windows.Forms System.Console System.ServiceProcess System.Windows.Forms System.Web System.Storage System.Data.SqlServer Animation Controls Control Design Panel Controls Dialogs SideBar Notification System.Windows Documents Text Element Shapes Shape Ink UI Element Explorer Media System.Windows.Forms Forms Control Print Dialog Design System.Web.UI Page Control HtmlControls MobileControls WebControls Adaptors Design Ports InteropServices System.Runtime System.IO System.Collections Generic System.Search Annotations Monitoring Logging Relevance System.Data SqlClient SqlTypes SqlXML OdbcClient OleDbClient OracleClient Core Contact Location Message Document Event System.Storage System.Web Personalization Caching SessionState System.Xml Schema Serialization Xpath Query Permissions Policy Principal Token System.Security System.Collaboration RealTimeEndpoint TransientDataSession SignalingSession Media Activities HttpWebRequest FtpWebListener SslClientStream WebClient System.Net NetworkInformation Sockets Cache System.Web Administration Management Navigation Peer Group Policy Serialization CompilerServices Recognition System.Speech Synthesis Serialization

3 Agenda Overview What’s new in “Whidbey” What’s new in “Indigo” Moving to “Indigo” What’s in the PDC bits Wrap Up Discussion Overview What’s new in “Whidbey” What’s new in “Indigo” Moving to “Indigo” What’s in the PDC bits Wrap Up Discussion

4 Serialization Overview The transformation of a graph of objects to a stream and back again System.Xml.Serialization System.Runtime.Serialization The transformation of a CLR type into an another type system (XSD) and back again System.Xml.Serialization Framework-wide feature Web Services, Remoting, Yukon, etc. End-user feature The transformation of a graph of objects to a stream and back again System.Xml.Serialization System.Runtime.Serialization The transformation of a CLR type into an another type system (XSD) and back again System.Xml.Serialization Framework-wide feature Web Services, Remoting, Yukon, etc. End-user feature

5 Serialization In “Whidbey”

6 What’s New For Whidbey XmlSerializer New imperative model Schema import extensibility Serializer pregeneration Generics support SqlTypes BinaryFormatter Version tolerant serialization Performance improvements Generics support XmlSerializer New imperative model Schema import extensibility Serializer pregeneration Generics support SqlTypes BinaryFormatter Version tolerant serialization Performance improvements Generics support

7 Version Tolerant Serialization System.Runtime.Serialization

8 Serialization In “Indigo”

9 Base Operating System Services CLR TransactionsStorage Protocols Network Services Kernel Mode Base Class Libraries Memory Manager Hosting Layer Code Execution Loader Security Serialization Lightweight Transactions Lightweight Transactions Transaction Coordinator Kernel Transaction Manager Logging Service Kernel Hardware Abstraction Layer Process Manager Process Manager Security Reference Monitor LPC Facility Memory Manager Power Manager Config Manager Plug and Play Transacted NTFS Transacted NTFS Cache Manager Cache Manager Universal Data Format Universal Data Format Filter Engine Filter Engine TPC, UDP IPV4, IPV6 TPC, UDP IPV4, IPV6 IPSEC QOS HTTP Listener HTTP Listener Internet Connection Firewall Demand Activation and Protocol Health PNRP Native WiFi Native WiFi SIP TCP Listener TCP Listener UDP Listener UDP Listener IPC Listener IPC Listener Network Class Library GDI/GDI+ Window Manager Window Manager Global Audio Engine Global Audio Engine DirectX Graphics Graphics drivers DDI Input Manager Input Manager Audio Drivers Audio Drivers DirectX Graphics Mini port DirectX Graphics Mini port Redirectors SCSI/FC Device Drivers Management PresentationDataCommunication WinFSIndigo Make the connection Windows Forms Avalon ASP.NET ObjectSpaces DataSet SQL XML Providers Framework Services Schemas Data Model ADO.NET Connectivity Synchronization (WinFS, Win32..) InfoAgent (PreferenceRules..) InfoAgent (PreferenceRules..) FileSystem Services (MetaDataHandlers..) FileSystem Services (MetaDataHandlers..) Calendar Media Document … … Items Relationships Extensions Communications Manager (Port) Messaging Services Transport Channels (IPC, HTTP, TCP…) Transport Channels (IPC, HTTP, TCP…) IO Manager Channels (Datagram, Reliable, Peer, …) Policy Engine Policy Engine Message Encoder Message Encoder Channel Security Channel Security Queuing Eventing Routing Transaction Desktop Services Desktop Services Desktop Window Manager Desktop Window Manager Presentation Object Manager Desktop Composition Engine Animation and Composition Media Services Hardware Rendering Hardware Rendering Media Processing Capture and Sourcing Capture and Sourcing Software Rendering and Sinks Software Rendering and Sinks Adaptive UI Engine Adaptive UI Engine Page/Site Composition Personalization and Profiling Services Personalization and Profiling Services Membership and Security Services Membership and Security Services Designer Services Designer Services Controls Interop Engine Controls Interop Engine Controls Windows Forms Application Services Application Services Application Deployment Engine (Click-Once) Application Deployment Engine (Click-Once) People Group Identity & Security System Identity & Security System Collaboration People and Groups People and Groups Collaboration History Collaboration History Real-Time Activities Real-Time Activities Signaling Federation System Services FAT 16/32 Filter Manager Filter Manager Distributed File System Distributed File System Backup / Restore Backup / Restore File Replication Service File Replication Service Virtual Disk Service Virtual Disk Service Models Service Object T/SQL XML Document UI Media

10 Connector Communications Manager (Port) Transport Channels (IPC, HTTP, TCP…) Transport Channels (IPC, HTTP, TCP…) Channels (Datagram, Reliable, Peer, …) Policy Engine Policy Engine Message Encoder Message Encoder Channel Security Channel Security Service Model Hosting Environments Instance Manager Context Manager Type Integration Service Methods Declarative Behaviors Transacted Methods ASP.NET.container.exe NT Service DllHost Messaging Services System Services Queuing Routing Eventing … … Transaction Federation … … “Indigo” Architecture

11 A Tale Of Two Type Systems Act One (“Whidbey”) CLR XSD Challenging CLR XSD Straight Forward CLR CLR Really easy XmlSerializer Provides CLR programming model for some XSD constructs Maps some CLR types into XSD SoapFormatter Maps some CLR types (simple types) into XSD Custom SOAP encoding for the rest BinaryFormatter No support for XSD CLR  CLR only XmlSerializer Provides CLR programming model for some XSD constructs Maps some CLR types into XSD SoapFormatter Maps some CLR types (simple types) into XSD Custom SOAP encoding for the rest BinaryFormatter No support for XSD CLR  CLR only Serialization

12 A Tale Of Two Type Systems Act Two (“Indigo”) CLR XSD Challenging CLR XSD Straight Forward CLR CLR Really Easy There are really two areas Xml Programming Serialization Xml Programming is about, well, Xml XmlSerializer XPathNavigator … Serialization is about making CLR types Interoperable (XSD) Loosely coupled Enter the XmlFormatter... There are really two areas Xml Programming Serialization Xml Programming is about, well, Xml XmlSerializer XPathNavigator … Serialization is about making CLR types Interoperable (XSD) Loosely coupled Enter the XmlFormatter... XML Programming Serialization

13 XmlFormatter Architecture Serializable Types Data Contract [Serializable] Representations text/xml binary/xml Serialization Engine XmlFormatter SerializationContext Xml Processing XmlReader XmlWriter ISerializable Extensibility Surrogates Type Binders

14 Serializable Types Existing Types [Serializable] & ISerializable types just work Gain loose coupling & version resilient Data Contract New explicit programming model Enables loose coupling for CLR types Version resilient by default Foundation for the future Working Together Inheritance and composition just work Existing Types [Serializable] & ISerializable types just work Gain loose coupling & version resilient Data Contract New explicit programming model Enables loose coupling for CLR types Version resilient by default Foundation for the future Working Together Inheritance and composition just work

15 XmlFormatter And Serializable Types System.Runtime.Serialization

16 “Indigo” XSD Support Every serializable type is interoperable We export valid XSD for any CLR construct Our mapping is not extensible (POR for v1) Every XSD schema is supported XmlFormatter We provide a canonical CLR  XSD mapping No mapping extensibility (POR for v1) XML programming models Supports all schema constructs XmlSerializer, XPathNavigator, … Every serializable type is interoperable We export valid XSD for any CLR construct Our mapping is not extensible (POR for v1) Every XSD schema is supported XmlFormatter We provide a canonical CLR  XSD mapping No mapping extensibility (POR for v1) XML programming models Supports all schema constructs XmlSerializer, XPathNavigator, …

17 XSD Support System.Runtime.Serialization

18 Moving To “Indigo” “Indigo” works well with COM+, MSMQ, WSE, and ASMX apps “Indigo” nodes are easy to integrate into existing systems Existing applications have an easy migration path to “Indigo” Existing serializable types and serialization extensibility points just work Follow the prescriptive guidance for writing distributed applications Read and follow the serializable type guidelines “Indigo” works well with COM+, MSMQ, WSE, and ASMX apps “Indigo” nodes are easy to integrate into existing systems Existing applications have an easy migration path to “Indigo” Existing serializable types and serialization extensibility points just work Follow the prescriptive guidance for writing distributed applications Read and follow the serializable type guidelines

19 About The PDC Bits Two “Whidbey” features are available IXmlSerializable SqlTypes The rest are being coded as we speak System.Serialization Successor to the XmlSerializer Yet another XML programming model Taught us invaluable lessons Will likely not ship with “Indigo” Two “Whidbey” features are available IXmlSerializable SqlTypes The rest are being coded as we speak System.Serialization Successor to the XmlSerializer Yet another XML programming model Taught us invaluable lessons Will likely not ship with “Indigo”

20 For More Information Anytime Blog: LHDC: NS: microsoft.public.windows.developer.winfx.indigo At PDC Hands on labs: On-site or download from CommNet Web/Services Lounge: 309 Foyer Ask The Experts: Tuesday 7 P.M. – 9 P.M. Hall G, H PDC Weblogs: Anytime Blog: LHDC: NS: microsoft.public.windows.developer.winfx.indigo At PDC Hands on labs: On-site or download from CommNet Web/Services Lounge: 309 Foyer Ask The Experts: Tuesday 7 P.M. – 9 P.M. Hall G, H PDC Weblogs:

21 This Talk In A Nutshell “Whidbey” offers a number evolutionary features to current serialization stacks “Indigo” delivers a unified serialization engine Interoperable Backward compatibility Version resilient High performance “Indigo” supports many XML programming models We need your feedback!!! “Whidbey” offers a number evolutionary features to current serialization stacks “Indigo” delivers a unified serialization engine Interoperable Backward compatibility Version resilient High performance “Indigo” supports many XML programming models We need your feedback!!!

22 © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.