Enterprise Patterns: Concurrency in Business Applications

When multiple users are editing the same data, concurrency effects can result in lost work or errors. This course teaches you how to prevent concurrency errors at database level, and for business transactions that span multiple pages and postbacks.
Course info
Rating
(34)
Level
Intermediate
Updated
Dec 28, 2017
Duration
2h 53m
Table of contents
Course Overview
Understanding Concurrency in Business Applications
Implementing the Optimistic Offline Lock Pattern
Implementing the Pessimistic Offline Lock Pattern
Implementing the Coarse-grained Lock Pattern
Implementing the Implicit Lock Pattern
Description
Course info
Rating
(34)
Level
Intermediate
Updated
Dec 28, 2017
Duration
2h 53m
Description

When developing applications where multiple users can edit the same data, concurrency effects can result in work being overwritten and inconsistent data being read, which can cost a business time, money, and frustration. In this course, Enterprise Patterns: Concurrency in Business Applications, you'll learn how to recognize and prevent these types of errors. First, you'll explore how to use isolation levels within database transactions. Next, you'll discover how to implement optimistic and pessimistic concurrency in code for long-running business transactions. Finally, you'll learn how to design a locking framework for your application. When you’re finished with this course, you'll have a foundational knowledge of concurrency patterns that will help you as you move forward to design more robust, enterprise applications. Software required: Microsoft Visual Studio.

About the author
About the author

Neil is a solutions architect and developer, with a passion for web development, architecture, and security. He has worked in large and small IT organizations, written articles on development, and spoken at local .NET user groups. Neil has several Microsoft Certifications, including MCPD, MCSA, and MCSD.

More from the author
Microsoft Azure Services and Concepts
Intermediate
3h 37m
Sep 18, 2020
More courses by Neil Morrissey
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
[Autogenerated] Hi, everybody. My name is Neil Morsi and welcome to my course enterprise patterns, concurrency and business applications. When more than one user tries to update the same piece of data at the same time, a whole host of concurrency errors can occur like lost updates, Dirty reads and Phantom reads. Not only can users lose work, but strange errors can appear in everything from the user interface to calculations to even reports. If you don't take concurrency into account when designing your application in, this course will examine how to prevent concurrency issues at two levels. At the database level. We'll look at how isolation levels work in system transactions and then, at a higher level, will examine concurrency and business transactions, where user performs operations that's banned multiple pages and post backs before committing their data. If someone else modifies the data during that time, work can get over written and lost. We'll be examining concurrency control for business transactions using design patterns from Martin Fowler's famous book Patterns of enterprise application architecture. The examples in this course air in the latest versions of SB dot net core an entity framework or but these air designed patterns you're gonna learn the concepts really well. So regardless of what language and platform you code in, you'll gain an understanding of how to implement these patterns. Some of the major topics will cover include understanding and recognizing types of concurrency errors. How to handle concurrency at the database level, using transactions and isolation levels, as well as features of entity framework or how to implement optimistic and pessimistic concurrency control. How to handle concurrency for groups of objects like a customer and their addresses, and how to build concurrency control into a framework in your application so you can ensure that you and other developers on your team don't bypass your concurrency strategy. This is a topic that's often overlooked in system design, so knowing these patterns will add to your toolbox and make you a better application. Designer and developer. Well, you don't need any prior experience to follow the concepts and patterns in this course. If you want to get the most out of the demos, you'll need a basic understanding of SP dot net and the entity framework. I'm really excited to show you how you can use these patterns to make your applications more robust so I hope you'll join me on this journey toe learn enterprise patterns, concurrency and business applications here on plural site.