Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Enterprise Application Development with C# 9 and .NET 5

You're reading from   Enterprise Application Development with C# 9 and .NET 5 Enhance your C# and .NET skills by mastering the process of developing professional-grade web applications

Arrow left icon
Product type Paperback
Published in Mar 2021
Publisher Packt
ISBN-13 9781800209442
Length 610 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (5):
Arrow left icon
Ravindra Akella Ravindra Akella
Author Profile Icon Ravindra Akella
Ravindra Akella
Suneel Kumar Kunani Suneel Kumar Kunani
Author Profile Icon Suneel Kumar Kunani
Suneel Kumar Kunani
Bhupesh Guptha Muthiyalu Bhupesh Guptha Muthiyalu
Author Profile Icon Bhupesh Guptha Muthiyalu
Bhupesh Guptha Muthiyalu
Arun Kumar Tamirisa Arun Kumar Tamirisa
Author Profile Icon Arun Kumar Tamirisa
Arun Kumar Tamirisa
Rishabh Verma Rishabh Verma
Author Profile Icon Rishabh Verma
Rishabh Verma
+1 more Show less
Arrow right icon
View More author details
Toc

Table of Contents (24) Chapters Close

Preface 1. Section 1: Architecting an Enterprise Application and its Fundamentals
2. Chapter 1: Designing and Architecting the Enterprise Application FREE CHAPTER 3. Chapter 2: Introducing .NET 5 Core and Standard 4. Chapter 3: Introducing C# 9 5. Section 2: Cross-Cutting Concerns
6. Chapter 4: Threading and Asynchronous Operations 7. Chapter 5: Dependency Injection in .NET 8. Chapter 6: Configuration in .NET Core 9. Chapter 7: Logging in .NET 5 10. Chapter 8: Understanding Caching 11. Section 3: Developing Your Enterprise Application
12. Chapter 9: Working with Data in .NET 5 13. Chapter 10: Creating an ASP.NET Core 5 Web API 14. Chapter 11: Creating an ASP.NET Core 5 Web Application 15. Section 4: Security
16. Chapter 12: Understanding Authentication 17. Chapter 13: Understanding Authorization 18. Section 5: Health Checks, Unit Testing, Deployment, and Diagnostics
19. Chapter 14: Health and Diagnostics 20. Chapter 15: Testing 21. Chapter 16: Deploying the Applications in Azure 22. Assessments 23. Other Books You May Enjoy

Identifying enterprise application requirements (business and technical)

In the next few chapters, we will build a working e-commerce application. It will be a three-tier application consisting of a UI layer, a service layer, and a database. Let's look at the requirements for this e-commerce application.

The solution requirements are the capabilities to be implemented and made available in the product to solve a problem or achieve an objective.

The business requirements are simply the end customer's needs. In the IT world, "business" generally refers to "customers." These requirements are collected from various stakeholders and documented as a single source of truth for everyone's reference. This eventually becomes the backlog and scope of work to be completed.

The technical requirements are the technology aspects that a system should implement, such as reliability, availability, performance, and BCDR. These are also known as quality of service (QOS) requirements.

Let's break the typical business requirements for an e-commerce application site down into the following categories: Epic, Feature, and User Story.

The application's business requirements

The following screenshot from Azure DevOps shows a summary of the backlog for our business requirements. You can see the different features expected in our application along with the user stories:

Figure 1.12 – Requirements backlog from Azure DevOps

Figure 1.12 – Requirements backlog from Azure DevOps

The application's technical requirements

Having seen the business requirements, let's now go through the technical requirements:

  • The e-commerce application should be highly available, that is, available for 99.99% of the time for any 24-hour period.
  • The e-commerce application should be highly reliable, that is, reliable 99.99% of the time for any 24-hour period.
  • The e-commerce application should be highly performant: 95% of the operations should take less than or equal to 3 seconds.
  • The e-commerce application should be highly scalable: it should automatically scale up/down based on the varying load.
  • The e-commerce application should have monitoring and alerts: an alert should be sent to a support engineer in the case of any system failure.

Here are the technical aspects identified for the e-commerce application and its requirements:

Frontend

  • A web application (e-commerce) using ASP.NET 5.0

Core components

  • Logging/caching/configuration in C# 9.0 and .NET 5.0

Middle tier

  • An Azure API gateway to implement authentication
  • A user management service through an ASP.NET 5.0 web API to add/remove users
  • Product and pricing services through an ASP.NET 5.0 web API to get products from the data store
  • A domain data service through an ASP.NET 5.0 web API to get the domain data, such as country data.
  • A payment service through an ASP.NET 5.0 web API to complete payments
  • An order processing service through an ASP.NET 5.0 web API to submit and search orders
  • An invoice processing service through an ASP.NET 5.0 web API to generate invoices
  • A notification service through an ASP.NET 5.0 web API to send notifications such as emails

Data tier

  • A data access service through an ASP.NET 5.0 web API to talk to Azure Cosmos DB to read/write data
  • Entity Framework Core to access data

Azure Stack

  • Azure Cosmos DB as a backend data store
  • Azure Service Bus for asynchronous message processing
  • Azure App Service to host the web application and web APIs
  • Azure Traffic Manager for high availability and responsiveness
  • Azure Application Insights for diagnostics and telemetry
  • Azure paired regions for better resiliency
  • Azure resource groups to create Azure Resource Manager (ARM) templates and deploy to the Azure subscription
  • Azure Pipelines for continuous integration and continuous deployment (CI/CD)

We are now done with the enterprise application requirements. Next, we will look at architecting an enterprise application.

You have been reading a chapter from
Enterprise Application Development with C# 9 and .NET 5
Published in: Mar 2021
Publisher: Packt
ISBN-13: 9781800209442
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image