Building RESTful web services with .NET Core developing distributed web services to improve scalability with .net core 2.0 and asp.net core 2.0

Building Complete E-commerce/Shopping Cart Application About This Book Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service Leverage the .NET Framework to quickly implement RESTful endpoints. Learn to implement a client library for a...

Descripción completa

Detalles Bibliográficos
Otros Autores: Aroraa, Gaurav, author (author), Dash, Tadit, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham ; Mumbai : Packt 2018.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631832506719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • Packt Upsell
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Getting Started
  • Discussing RESTful services
  • REST characteristics
  • Resource-oriented architecture
  • URI
  • REST constraints
  • Client-server architecture
  • Stateless
  • Caching
  • Code on demand (optional)
  • Uniform interface
  • More explanation
  • POST versus PUT explained
  • Layered system
  • Advantages and disadvantages of RESTful services
  • Advantages
  • Disadvantages
  • ASP.NET Core and RESTful services
  • Summary
  • Chapter 2: Building the Initial Framework - Laying the Foundation of the Application
  • SOAP
  • SOAP structure
  • Important points about SOAP
  • SOAP with HTTP POST
  • REST
  • Server and client are independent
  • Statelessness
  • Setting up the environment
  • Running the application
  • What's cooking here?
  • Interesting facts
  • Conclusions
  • Request and response
  • HTTP verbs
  • Postman
  • GET
  • Status codes
  • ASP.NET Core HTTP attributes
  • POST
  • PUT
  • DELETE
  • SOAP versus REST
  • Single-page application model
  • Service-oriented architecture
  • Summary
  • Chapter 3: User Registration and Administration
  • Why authentication and limiting requests?
  • Database design
  • User registration
  • Setting up EF with the API
  • Configuring DbContext
  • Generating the controller
  • Calling the API from a page to register the customer
  • CORS
  • Adding basic authentication to our REST API
  • Step 1 - Adding the (authorize) attribute
  • Step 2 - Designing BasicAuthenticationOptions and BasicAuthenticationHandler
  • Step 3 - Registering basic authentication at startup
  • Adding OAuth 2.0 authentication to our service
  • Step 1 - Designing the Config class
  • Step 2 - Registering Config at startup
  • Step 3 - Adding the [Authorize] attribute
  • Step 4 - Getting the token.
  • Step 5 - Calling the API with the access token
  • Step 6 - Adding the ProfileService class
  • Client-based API-consumption architecture
  • Summary
  • Chapter 4: Item Catalogue, Cart, and Checkout
  • Implementing controllers
  • Generating models
  • Generating controllers
  • Product listing
  • Product searching
  • Adding to cart
  • Implementing security
  • Client-side AddToCart function
  • API calls for AddToCart
  • POST - api/Carts
  • PUT - api/Carts/{id}
  • DELETE - api/Carts/{id}
  • Placing orders
  • UI design for placing an order
  • The client-side PostOrder function
  • Building order objects to match the model class Orders.cs
  • Pushing cart items into an order object as an array
  • Calling POST /api/Orders
  • PostOrders API POST method
  • Exposing shipping details
  • Summary
  • Chapter 5: Integrating External Components and Handling
  • Understanding the middleware
  • Requesting delegates
  • Use
  • Run
  • Map
  • Adding logging to our API in middleware
  • Intercepting HTTP requests and responses by building our own middleware
  • JSON-RPC for RPC communication
  • Request object
  • Response object
  • Summary
  • Chapter 6: Testing RESTful Web Services
  • Test paradigms
  • Test coverage and code coverage
  • Tasks, scenarios, and use cases
  • Checklist
  • Bugs and defects
  • Testing approach
  • Test pyramid
  • Types of tests
  • Testing the ASP.NET Core controller (unit testing)
  • Getting ready for the tests
  • Writing unit tests
  • Stubs and mocking
  • Security testing
  • Integration testing
  • Run tests
  • Fake objects
  • Run tests
  • Testing service calls using Postman, Advanced REST Client, and more
  • Postman
  • Advanced Rest Client
  • User acceptance testing
  • Performance or load testing
  • Run tests
  • Summary
  • Chapter 7: Continuous Integration and Continuous Deployment
  • Introduction - deployment terminology
  • The build stage.
  • Continuous integration
  • Deployment
  • Continuous deployment
  • Continuous delivery
  • Build and deployment pipeline
  • Release
  • Prerequisites for successful RESTful services deployments
  • The Azure environment
  • Cloud computing
  • The benefits of the cloud
  • Cloud-computing service models
  • Discussing the Azure environment
  • Starting with Azure
  • Publishing/hosting
  • Project hosting
  • The dashboard
  • Code
  • Work
  • Adding code to the repository
  • Test
  • Creating a test plan
  • Creating test cases
  • Running manual tests
  • Wiki
  • Build and Release tab
  • CI versus CD
  • CI and CD using TFS online
  • Initiating the CD release process
  • Summary
  • Chapter 8: Securing RESTful Web Services
  • OWASP security standards
  • Securing RESTful web services
  • The vulnerable areas of an unsecured web application
  • Cross-site scripting attacks
  • SQL injection attacks
  • What is cooking here?
  • Fixing SQL injection attacks
  • Cross-site request forgery
  • Authentication and authorization in action
  • Basic authentication, token-based authorization, and other authentications
  • Basic authentication
  • The security concerns of basic authentication
  • Token-based authorization
  • Other authentication methods
  • Securing services using annotations
  • Validations
  • Securing context
  • Data encryption and storing sensitive data
  • Sensitive data
  • Summary
  • Chapter 9: Scaling RESTful Services (Performance of Web Services)
  • Clustering
  • Load balancing
  • How does it work?
  • Introduction to scalability
  • Scaling in (vertical scaling)
  • Scaling out (horizontal scaling)
  • Linear scalability
  • Distributed caching
  • Caching persisted data (data-tier caching)
  • First-level caching
  • Second-level caching
  • Application caching
  • CacheCow
  • Memcached
  • Azure Redis Cache
  • Communication (asynchronous)
  • Summary.
  • Chapter 10: Building a Web Client (Consuming Web Services)
  • Consuming RESTful web services
  • Building a REST web client
  • Cooking the web client
  • Writing code
  • Implementing a REST web client
  • Summary
  • Chapter 11: Introduction to Microservices
  • Overview of microservices
  • Microservice attributes
  • Understanding microservice architecture
  • Communication in microservices
  • Synchronous messaging
  • Asynchronous messaging
  • Message formats
  • Why we should use microservices
  • How a microservice architecture works
  • Advantages of microservices
  • Prerequisites of a microservice architecture
  • Scaling
  • Vertical scaling
  • Horizontal scaling
  • DevOps culture
  • Automation
  • Testing
  • Deployment
  • Microservices ecosystem in ASP.NET Core
  • Azure Service Fabric - microservice platform
  • Stateless and Stateful services - a service programming model
  • Communication - a way to exchange data between services
  • Summary
  • Other Books You May Enjoy
  • Index.