Modern API Design with ASP.NET Core 2


Book Description

Use ASP.NET Core 2 to create durable and cross-platform web APIs through a series of applied, practical scenarios. Examples in this book help you build APIs that are fast and scalable. You’ll progress from the basics of the framework through to solving the complex problems encountered in implementing secure RESTful services. The book is packed full of examples showing how Microsoft’s ground-up rewrite of ASP.NET Core 2 enables native cross-platform applications that are fast and modular, allowing your cloud-ready server applications to scale as your business grows. Major topics covered in the book include the fundamentals and core concepts of ASP.NET Core 2. You'll learn about building RESTful APIs with the MVC pattern using proven best practices and following the six principles of REST. Examples in the book help in learning to develop world-class web APIs and applications that can run on any platform, including Windows, Linux, and MacOS. You can even deploy to Microsoft Azure and automate your delivery by implementing Continuous Integration and Continuous Deployment pipelines. What You Will Learn Incorporate automated API tooling such as Swagger from the OpenAPI specification Standardize query and response formats using Facebook’s GraphQL query language Implement security by applying authentication and authorization using ASP.NET Identity Ensure the safe storage of sensitive data using the data protection stack Create unit and integration tests to guarantee code quality Who This Book Is For Developers who build server applications such as web sites and web APIs that need to run fast and cross platform; programmers who want to implement practical solutions for real-world problems; those who want in-depth knowledge of the latest bits of ASP.NET Core 2.0




Clean Architecture


Book Description

Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them. Martin’s Clean Architecture doesn’t merely present options. Drawing on over a half-century of experience in software environments of every imaginable type, Martin tells you what choices to make and why they are critical to your success. As you’ve come to expect from Uncle Bob, this book is packed with direct, no-nonsense solutions for the real challenges you’ll face–the ones that will make or break your projects. Learn what software architects need to achieve–and core disciplines and practices for achieving it Master essential software design principles for addressing function, component separation, and data management See how programming paradigms impose discipline by restricting what developers can do Understand what’s critically important and what’s merely a “detail” Implement optimal, high-level structures for web, database, thick-client, console, and embedded applications Define appropriate boundaries and layers, and organize components and services See why designs and architectures go wrong, and how to prevent (or fix) these failures Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software manager–and for every programmer who must execute someone else’s designs. Register your product for convenient access to downloads, updates, and/or corrections as they become available.




API Design for C++


Book Description

API Design for C++ provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online. This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators. - The only book that teaches the strategies of C++ API development, including design, versioning, documentation, testing, scripting, and extensibility - Extensive code examples illustrate each concept, with fully functional examples and working source code for experimentation available online - Covers various API styles and patterns with a focus on practical and efficient designs for large-scale long-term projects




Building Single Page App Using ASP.NET Core and Angular


Book Description

Building Single Page App using ASP.NET Core and Angular is not at all meant for freshers or for those who just started programming. This Book covers tons of client-server side technologies. For exampleitusesASP.NETCore, Entity FrameworkCore, WebAPI, Repository Pattern, UnitofWork Pattern, Angular, Responsive design principles, HTML 5, Solid Principles, Design Patterns, etc. to name a few. Now to illustrate each and every concept right from the scratch is fairly impossible as it kills the purpose of writing this book. This book is for my readers who regularly ask me to write something combining all these principles. There are tons of developers and professionals around the world who know these concepts in bits and pieces but don't know how to connect the dots to build as an application. This book is entirely written around industry & coding standard, design principles. Hence, if you are fresher or just started your job, I would recommend to understand basics first and then refer this book. Otherwise, this will appear overwhelming at the beginning. From the second chapter, you will find questions section at the end of every chapter. If you are following this book precisely, you should be able to answer these questions on your own. These are project specific questions which are generally asked in any technical interviews. CONTENTS Chapter 1: Getting Started Chapter 2: Creating Solution From The Blank Slate Chapter 3: Creating Data Context Chapter 4: Implementing Web API Chapter 5: Getting Started with Angular Chapter 6: Deeper into Angular Chapter 7: Adding More Features Using Angular Chapter 8: Adding More Features to the App Chapter 9: Authentication & Authorisation Chapter 10: Introduction to Azure and CosmosDb




Mastering ASP.NET Web API


Book Description

Leverage ASP.Net Web API to build professional web services and create powerful applications. About This Book Get a comprehensive analysis of the latest specification of ASP.NET Core and all the changes to the underlying platform that you need to know to make the most of the web API See an advanced coverage of ASP.NET Core Web API to create robust models for your data, create controllers, and handle routing and security This book is packed with key theoretical and practical concepts that can be instantly applied to build professional applications using API with Angular 4, Ionic, and React Who This Book Is For This book is for .Net developers who wants to Master ASP.NET Core (Web API) and have played around with previous ASP.NET Web API a little, but don't have in-depth knowledge of it. You need to know Visual Studio and C#, and have some HTML, CSS, and JavaScript knowledge. What You Will Learn Acquire conceptual and hands-on knowledge of ASP.NET Core (MVC & Web API) Learn about HTTP methods, the structure of HTTP content, internet media types, and how servers respond to HTTP requests and their associated HTTP codes Explore middleware, filters, routing, and unit testing Optimize Web API implementations Develop a secure Web API interface Deploy Web API projects to various platforms Consume your web API in front end application based on Angular 4, Bootstrap, and Ionic Implement and explore the current trends in service architecture In Detail Microsoft has unified their main web development platforms. This unification will help develop web applications using various pieces of the ASP.NET platform that can be deployed on both Windows and LINUX. With ASP.NET Core (Web API), it will become easier than ever to build secure HTTP services that can be used from any client. Mastering ASP.NET Web API starts with the building blocks of the ASP.NET Core, then gradually moves on to implementing various HTTP routing strategies in the Web API. We then focus on the key components of building applications that employ the Web API, such as Kestrel, Middleware, Filters, Logging, Security, and Entity Framework.Readers will be introduced to take the TDD approach to write test cases along with the new Visual Studio 2017 live unit testing feature. They will also be introduced to integrate with the database using ORMs. Finally, we explore how the Web API can be consumed in a browser as well as by mobile applications by utilizing Angular 4, Ionic and ReactJS. By the end of this book, you will be able to apply best practices to develop complex Web API, consume them in frontend applications and deploy these applications to a modern hosting infrastructure. Style and approach Using a hands-on approach, we cover both the conceptual as well as the technical aspects of the ASP.NET Core (Web API) framework.




Real-Time Web Application Development


Book Description

Design, develop, and deploy a real-world web application by leveraging modern open source technologies. This book shows you how to use ASP.NET Core to build cross-platform web applications along with SignalR to enrich the application by enabling real-time communication between server and clients. You will use Docker to containerize your application, integrate with GitHub to package the application, and provide continuous deployment to Azure’s IaaS platform. Along the way, Real-Time Web Application Development covers topics including designing a Materialize CSS theme, using a test-driven development approach with xUnit.net, and securing your application with the OAuth 2.0 protocol. To further your understanding of the technology, you will learn logging and exception handling; navigation using view components; and how to work with forms and validations. The rich code samples from this book can be used to retrofit or upgrade existing ASP.NET Core applications. What You Will Learn Design and develop a real-world web application Implement security and data storage with OAuth2 and Azure Table Storage Orchestrate real-time notifications through SignalR Use GitHub and Travis CI for continuous integration of code Master Docker containerization and continuous deployment with Docker Cloud to Azure Linux virtual machines Who This Book Is For Developers and software engineers interested in learning an end-to-end approach to application development using Microsoft technologies.




Hands-On RESTful Web Services with ASP.NET Core 3


Book Description

Get up to speed with the latest features of C# 8, ASP.NET Core 3 and .NET Core 3.1 LTS to create robust and maintainable web services Key FeaturesApply design patterns and techniques to achieve a reactive, scalable web serviceDocument your web services using the OpenAPI standard and test them using PostmanExplore mechanisms to implement a secure web service using client-side SSL and token authenticationBook Description In recent times, web services have evolved to play a prominent role in web development. Applications are now designed to be compatible with any device and platform, and web services help us keep their logic and UI separate. Given its simplicity and effectiveness in creating web services, the RESTful approach has gained popularity, and this book will help you build RESTful web services using ASP.NET Core. This REST book begins by introducing you to the basics of the REST philosophy, where you'll study the different stages of designing and implementing enterprise-grade RESTful web services. You'll also gain a thorough understanding of ASP.NET Core's middleware approach and learn how to customize it. The book will later guide you through improving API resilience, securing your service, and applying different design patterns and techniques to achieve a scalable web service. In addition to this, you'll learn advanced techniques for caching, monitoring, and logging, along with implementing unit and integration testing strategies. In later chapters, you will deploy your REST web services on Azure and document APIs using Swagger and external tools such as Postman. By the end of this book, you will have learned how to design RESTful web services confidently using ASP.NET Core with a focus on code testability and maintainability. What you will learnGain a comprehensive working knowledge of ASP.NET CoreIntegrate third-party tools and frameworks to build maintainable and efficient servicesImplement patterns using dependency injection to reduce boilerplate code and improve flexibilityUse ASP.NET Core's out-of-the-box tools to test your applicationsUse Docker to run your ASP.NET Core web service in an isolated and self-contained environmentSecure your information using HTTPS and token-based authenticationIntegrate multiple web services using resiliency patterns and messaging techniquesWho this book is for This book is for anyone who wants to learn how to build RESTful web services with the ASP.NET Core framework to improve the scalability and performance of their applications. Basic knowledge of C# and .NET Core will help you make the best use of the code samples included in the book.




Practical ASP.NET Web API


Book Description

Practical ASP.NET Web API provides you with a hands-on and code-focused demonstration of the ASP.NET Web API in action. From the very beginning, you'll be writing working code in order to see best practices and concepts in action. As the book progresses, the concepts and code will become more sophisticated. Beginning with an overview of the web service model in general and Web API in particular, you'll progress quickly to a detailed exploration of the request binding and response formatting that lie at the heart of Web API. You'll investigate various scenarios and see how they can be manipulated to achieve the results you need. Later in the book more sophisticated themes will be introduced that will set your applications apart from the crowd. You’ll learn how you can validate the request messages on arrival, how you can create loosely coupled controllers, extend the pipeline processing to compartmentalize your code for security and unit testing before being put onto a live hosting server. What you’ll learn What ASP.NET Web API is and how it can be used effectively Ways to optimize your code for readability and performance What controller dependencies are and why they matter How to maintain robust security across your projects Reliable best-practices for using Web API in a professional context Who this book is for The book is ideal for any .NET developer who wants to learn how the ASP.NET Web API framework works in a realistic setting. A good working knowledge of C# and the .NET framework and a familiarity with Visual Studio are the only pre-requisites to benefit from this book Table of Contents Building a Basic Web API Debugging HTTP Formatting CLR Objects into HTTP Response Customizing Response Binding HTTP Request into CLR Objects Validating Request Managing Controller Dependencies Extending Pipeline Hosting ASP.NET Web API Securing ASP.NET Web API Consuming ASP.NET Web API Building Performant Web API




ASP.NET Core Recipes


Book Description

Quickly find solutions to common web development problems. Content is presented in the popular problem-solution format. Look up the problem that you want to solve. Read the solution. Apply the solution directly in your own code. Problem solved! ASP.NET Core Recipes is a practical guide for developers creating modern web applications, cutting through the complexities of ASP.NET, jQuery, React, and HTML5 to provide straightforward solutions to common web development problems using proven methods based on best practices. The problem-solution approach gets you in, out, and back to work quickly while deepening your understanding of the underlying platform and how to develop with it. Author John Ciliberti guides you through the MVC framework and development tools, presenting typical challenges, along with code solutions and clear, concise explanations, to accelerate application development. Solve problems immediately by pasting in code from the recipes, or put multiple recipe solutions together to overcome challenging development obstacles. What You'll Learn Take advantage of MVC's streamlined syntax Discover how to take full control over HTML Develop a simple API for creating RESTful web services Understand test-driven development Migrate a project from ASP.NET web forms to Core MVC, including recipes for converting DataGrids, Forms, Web Parts, Master Pages, and navigation controls Use Core MVC in combination with popular JavaScript libraries, including jQuery, React, Bootstrap, and more Write unit tests for your MVC controllers, views, custom filters, and HTML helpers Utilize the latest features in Visual Studio 2017 to accelerate your Core MVC projects Identify performance bottlenecks in your MVC application Who This Book Is For Web developers of all skill levels who are looking for a programming reference for ASP.NET Core MVC and would like to gain an understanding of the inner workings of the platform. In addition, parts of this book provide guidance to developers familiar with ASP.NET Web Forms who would like to update their skill set to include Core MVC.




Architecting ASP.NET Core Applications


Book Description

Backend design like you've never seen it before – a guide to building SOLID ASP.NET Core web apps that stand the test of time. Featuring more Minimal APIs, more testing, a new e-commerce project, and the modular monolith! Purchase of the print or Kindle book includes a free PDF eBook. Key Features Learn multiple ways to organize your application code and become a more flexible ASP.NET Core developer Explore hands-on design patterns, learn architectural principles, and how to sidestep anti-patterns Refactor code toward modern application design, such as feature-based vertical slice and clean architecture Book DescriptionThis unique ASP.NET Core book will fill in the gaps in your REST API and backend designs. Learn how to build robust, maintainable, and flexible apps using Gang of Four (GoF) design patterns and modern architectural principles. This new edition is updated for .NET 8 and focuses exclusively on the backend, with new content on REST APIs, the REPR pattern, and building modular monoliths. You’ll start by covering foundational concepts like REST, the SOLID principles, Minimal APIs, dependency injection in .NET, and other ASP.NET Core 8 mechanisms. Then, you’ll learn to develop components using design patterns, including many from the GoF. Finally, you’ll explore organizing your application code with patterns that vary from layers to feature-oriented vertical slice designs, covering CQS and a deep dive into microservices along the way. A brand-new e-commerce project at the end of the book will tie it all together. This how-to guide will teach you how to assemble your own APIs from building blocks, to suit whatever real-world requirements you may have.What you will learn Apply the SOLID principles for building flexible and maintainable software Test your apps effectively with automated tests, including black-box testing Embark on mastering ASP.NET Core dependency injection Work with GoF design patterns including strategy, decorator, facade, and composite Design REST APIs using Minimal APIs and ASP.NET Core MVC Discover layering and the tenets of clean architecture Use feature-oriented techniques as an alternative to layering Explore microservices, CQS, REPR, vertical slice architecture, and many more patterns Who this book is for This book is for intermediate-level ASP.NET Core developers who want to improve their C# app code structure and API design skills. ASP.NET developers who want to modernize their knowledge and enhance their technical architecture skills will also like this book. It’s also a good refresher for those in software design roles with more experience looking to update their expertise. A good knowledge of C# programming and a basic understanding of web concepts is necessary to get the most out of this book, though some refreshers are included along the way.