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...
Otros Autores: | , |
---|---|
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.