Transactional Programming In A Windows World

Slides:



Advertisements
Similar presentations
1 Federating Identity and Authorization Across Organizations and Platforms Matthew Hur Lead Program Manager Microsoft Corporation
Advertisements

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.
Solidifying Software Interfaces: Checkable Contracts Thomas Ball Testing, Verification and Measurement Microsoft Research
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.
Understanding Active Directory
Future Directions for Leveraging Advanced XML Tools and Building Custom XML Solutions Denise Draper DAT321 Microsoft Corporation.
Building Rights Management Enabled Applications For Windows "Longhorn" Steve Bourne Chandramouli Venkatesh Microsoft Corporation Steve Bourne Chandramouli.
1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation Shane McRoberts Group Program Manager Microsoft.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
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.
1 Using XSD, CLR Types, And Serialization In Web Services Doug Purdy Program Manager Microsoft Corporation Doug Purdy Program Manager.
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.
CF and.NET Working Together Using Web Services Geoff Snowman Developer Community Champion Microsoft Corporation.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
1.NET Framework Overview: A Road Map Brad Abrams.NET Framework Team Microsoft Corporation Brad Abrams.NET Framework.
Distributed Transaction & Long-running transactions Rossen Zhivkov Freelance SharePoint Consultant January 19 th, 2008 Sofia, Bulgaria Krasimir Parushev.
.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.
Microsoft.Net Sven Groot. Common Language Runtime Superset of ECMA Common Language Infrastructure Defines  Language-neutral platform  Intermediate Language.
Windows Role-Based Access Control Longhorn Update
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.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
DAT325 SQL Server 2005 (Codenamed “Yukon”): Using the Service Broker To Build Asynchronous, Queued Database Applications Roger Wolter Program Manager.
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.
NAMESPACE. Namespaces Namespaces are a way to define the classes and other types of information into one hierarchical structure. System is the basic namespace.
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.
Windows Communications Foundation ("Indigo"): Writing Secure Distributed Applications Martin Gudgin COM312 Program Manager Microsoft Corporation.
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.
Building More Powerful ASP.NET Applications with IIS7 Michael Volodarsky COM303 Program Manager Microsoft Corporation.
Introducing the Microsoft® .NET Framework
Intra-Farm Shared Services
Microsoft Office Live Meeting 2007
Introduction to Windows Azure AppFabric
Using Audio, Video, and Imaging in your Longhorn Applications
ASP.NET Core: Web apps, cloud apps, and containers
System.Search, aka “Find My Stuff”
Avalon – Using Data In Your Applications
ASP.NET Web Forms and Web Services
Gert E.R. Drapers Software Architect Microsoft Corporation
TechEd /8/ :20 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Michael Wallent General Manager Windows Client Platform
Mobile Application Development 2005 By Sam Nasr July 25, 2006
“Whidbey” CLR Internals
11/17/2018 9:30 PM Session Code: ARC 420
MIX 09 11/23/2018 6:07 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Forms and Smart Device Extensions in the End-to-End Application Hans Verbeeck Developer Consultant Microsoft EMEA.
Building Rich, Interactive Controls for Windows “Longhorn”
New User Interface Possibilities in Longhorn
Intro to Workflow Services and Windows Server AppFabric
"Avalon": Building Applications With Controls And Dialogs
People And Groups Controls In Windows "Longhorn"
DEV 305 Introducing System.Transactions
Distributed Applications on Windows Vista
NAMESPACE.
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
data programming and modeling for the Microsoft .net developer
.NET Framework Design Goals
Presentation transcript:

Transactional Programming In A Windows World ARC303 Transactional Programming In A Windows World James Johnson and Don Box Architects, Indigo Microsoft Corporation {jimjohn,dbox}@microsoft.com © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

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

Why Transactions? Order vs. Chaos 7/22/2018 9:18 AM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Why Not Transactions? Excuses and Issues 7/22/2018 9:18 AM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transactions And Windows 7/22/2018 9:18 AM Transactions And Windows Productivity, Scalability, Ubiquity © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transactions And Windows 7/22/2018 9:18 AM Transactions And Windows System.Transactions Declarative Transactions ([Transaction]) Implicit Transactions (Tx.Current, TxScope) Lightweight Transaction Manager (LTM) System.Transaction.Log System.Tx.Isolation Manual Transactions (ITransaction) Distributed Transaction Coordinator WS-Atomic Transaction OLE Transaction XA LU6.2 Windows Kernel Kernel Transaction Manager (KTM) Windows Logging System (WinLS) Transactional NTFS Transactional Registry © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transactions come to the CLR 7/22/2018 9:18 AM System.Transactions Transactions come to the CLR © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

System.Transactions System.Transactions Declarative Transactions 7/22/2018 9:18 AM System.Transactions System.Transactions Declarative Transactions ([Transaction]) Implicit Transactions (Tx.Current, TxScope) Lightweight Transaction Manager (LTM) System.Transaction.Log System.Tx.Isolation Manual Transactions (ITransaction) Distributed Transaction Coordinator WS-Atomic Transaction OLE Transaction XA LU6.2 Windows Kernel Kernel Transaction Manager (KTM) Windows Logging System (WinLS) Transactional NTFS Transactional Registry © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

System.Transactions Explicit/Manual Model 7/22/2018 9:18 AM System.Transactions Explicit/Manual Model © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

System.Transactions Kicking the tires… 7/22/2018 9:18 AM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

System.Transactions Implicit Model 7/22/2018 9:18 AM System.Transactions Implicit Model public class TransactionScope : IDisposable { public TransactionScope(TransactionScopeOptions opts); public TransactionScope(ITransaction tx); public bool Consistent { get; set; } public ITransaction Detach(); } [Flags] public enum TransactionScopeOptions { TransactionNeeded = 0, NoTransactionNeeded = 1, TransactionOptional = 2, ImportOptional = 0, ImportIgnored = 16, NotSupported = ImportIgnored | NoTransactionNeeded, Supported = ImportOptional | TransactionOptional, Required = ImportOptional | TransactionNeeded, RequiresNew = ImportIgnored | TransactionNeeded } © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

System.Transactions Declarative Model 7/22/2018 9:18 AM System.Transactions Declarative Model public class TransactionScopeAttribute : Attribute { public UsageMode Usage { get; set; } } public class ContextPropagationAttribute : Attribute { public UsageMode Inbound { get; set; } public UsageMode Outbound { get; set; } public Type ContextType { get; set; } } © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Implicit scopes in Whidbey 7/22/2018 9:18 AM System.Transactions Implicit scopes in Whidbey © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

The Three Amigos of Transaction Management LTM, KTM And DTC The Three Amigos of Transaction Management © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

LTM,KTM,DTC System.Transactions Declarative Transactions 7/22/2018 9:18 AM LTM,KTM,DTC System.Transactions Declarative Transactions ([Transaction]) Implicit Transactions (Tx.Current, TxScope) Lightweight Transaction Manager (LTM) System.Transaction.Log System.Tx.Isolation Manual Transactions (ITransaction) Distributed Transaction Coordinator WS-Atomic Transaction OLE Transaction XA LU6.2 Windows Kernel Kernel Transaction Manager (KTM) Windows Logging System (WinLS) Transactional NTFS Transactional Registry © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transaction Agility App Tx.Create LTM Single Phase Delegation VEnlist 7/22/2018 9:18 AM Transaction Agility App Tx.Create LTM Single Phase Delegation VEnlist LTM Conn.Enlist ADO.NET SQL Server Tx.Marshal LTM DTC Transaction Promotion © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Stupid transaction tricks… 7/22/2018 9:18 AM Agile Transactions Stupid transaction tricks… © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transactional Resources 7/22/2018 9:18 AM Transactional Resources Beyond the DBMS © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transactional Resources 7/22/2018 9:18 AM Transactional Resources System.Transactions Declarative Transactions ([Transaction]) Implicit Transactions (Tx.Current, TxScope) Lightweight Transaction Manager (LTM) System.Transaction.Log System.Tx.Isolation Manual Transactions (ITransaction) Distributed Transaction Coordinator WS-Atomic Transaction OLE Transaction XA LU6.2 Windows Kernel Kernel Transaction Manager (KTM) Windows Logging System (WinLS) Transactional NTFS Transactional Registry © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

System.Transaction And Enlistment 7/22/2018 9:18 AM System.Transaction And Enlistment © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Volatile Enlistment Suffrage for VB… 7/22/2018 9:18 AM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transactions And Durability 7/22/2018 9:18 AM Transactions And Durability Durable resources typically rely on a log System.Transactions.Log provides a unified transaction-aware log Uses Windows Logging System (WinLS) Implements ARIES protocol for undo/compensate Savepoints allow checkpointing work Common log reduces I/O costs for all participants © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Transactions And Isolation 7/22/2018 9:18 AM Transactions And Isolation Transaction resources typically use locks to enforce isolation System.Transaction.Isolation provides an app-level lock for internal use by RM Implements read/update/write semantics Implements two-phase locking protocol Allows arbitrary correlation for reentrancy © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

7/22/2018 9:18 AM Where Are We? System.Transactions makes transactions broadly accessible in Whidbey The LTM and KTM improve transaction scalability based on the needs of the application, not the infrastructure We’re making it much easier to build transactional resources © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

For More Information Come see us 7/22/2018 9:18 AM For More Information Come see us Immediately after this session Web/Services Lounge: 309 Foyer MSDN “Longhorn” DevCenter http://msdn.microsoft.com/longhorn Newsgroup microsoft.public.windows.developer.winfx.fundamentals At PDC Hands on labs: On-site or download from CommNet Ask The Experts: Tuesday 7 PM – 9 PM Hall G, H PDC Weblogs: http://pdcbloggers.net © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

© 2003-2004 Microsoft Corporation. All rights reserved. 7/22/2018 9:18 AM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

7/22/2018 9:18 AM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.