Detailed Course Outline
Web Services Overview
Web service architecture
- Dividing responsibilities in n–tier distributed applications
- Determining service and operation granularity
- Comparing operation–, resource– and real–time–focused services
Web service support in .NET
- The spectrum of .NET service toolkits
- WCF
- ASP.NET Web API services
- SignalR real–time services
Designing Operation–Oriented Services
Programming WCF services
- Creating the service interface and implementation
- Applying attributes to the service and operations
- Implementing data contracts explicitly and implicitly
- Employing fault contracts to report service errors
Accessing and hosting WCF services
- Connecting ASP.NET MVC and WPF clients to WCF
- Adding service references to client applications
- Coding clients without adding service references
- Hosting WCF services with IIS and Windows services
Configuring WCF services
- Authoring service and client configuration
- Leveraging bindings for interoperability and performance
- Harnessing service and endpoint behaviours
- Simplifying configuration with .NET 4.x
Constructing Resource–Oriented Services
Creating ASP.NET Web API services
- Programming the API controller
- Mapping CRUD operations to HTTP verbs
- GET
- POST
- PUT / PATCH / MERGE
- DELETE
- Connecting service URLs to operations with routing
Web API clients and hostin
- Accessing Web API services from .NET, web and mobile clients
- Retrieving XML, JSON and Atom formatted data
- Hosting Web API services in IIS and custom applications
Constructing OData services with Web API
- Returning IQueryable from controller actions
- Querying OData service data with $select, $filter and $orderby
Exploiting Web API service features
- Integrating Web API services with Entity Framework
- Automating service documentation with help pages
- Validating with model binding and data annotations
Building Real–Time Services
Architecting ASP.NET SignalR services
- Replacing polling with server push
- Establishing candidate applications for SignalR
- Chat
- Monitoring
- Dashboard
- Collaboration
Coding SignalR services
- Developing the hub class
- Broadcasting to all connected clients
- Segmenting callbacks with groups
Interacting with SignalR services from browser clients
- Integrating SignalR with jQuery
- Responding to SignalR broadcast messages
- Managing the connection life cycle
Securing .NET Web Services
WCF service security
- Selecting a secure binding
- Comparing transport and message security
- Authorising service operations with principal permissions
ASP.NET Web API security
- Implementing individual account security with OAuth
- Integrating Web API with Forms authentication
- Enabling secure access to services with Authorize
Deploying Services
- Building deployment packages with Visual Studio
- Enabling Web Sockets with IIS
- Monitoring WCF services with Windows Server AppFabric