Welcome & Course Description
- 9m 17s
—The Course
3m 17s
—Course Agenda
4m 38s
—Ready For Some Fun
1m 22s
Demo of A Service Oriented Appication
- 10m 37s
—Description and Goals of The Case-Study App
3m 18s
—Application Demo
1m 22s
—Software Configuration Management
5m 57s
SOA & Technology
- 16m 37s
—What is SOA
2m 4s
—Evolution of Software Development
3m 4s
—Characteristics of A Service
5m 34s
—A Typical Service Oriented Architecture (visual)
2m 13s
—SOA & Course Technologies
3m 42s
Architecture & Database
- 21m 11s
—The Database
2m 57s
—Core use Cases
2m 22s
—Service Decomposition
1m 51s
—Security
3m 5s
—The Architecture: Walkthrough
4m 54s
—The Architecture: Reasons & Goals
6m 2s
—Entity Design & Structure
2m 10s
—Initial Setup for Business and Client Entities
2m 26s
—Entities as Data Contracts
1m 52s
—Data Contract Equivalency
4m 33s
—Business Entity Base Class & Identification Interface
2m 42s
—Business Entity Account Ownership
3m 42s
—Property Change Notification & Dirty Tracking: Intro
3m 35s
—Setting up The Client Entity Base Class
3m 27s
—Adding Dirty-Tracking Functionality
1m 48s
—Event Declaration to Avoid Duplicate Subscribers
5m 27s
—Compile-Time Safe Property Change Notification
2m 8s
—Object-Graph Walking and Dirty States
5m 3s
—Refactoring Object Walk for Reusability
5m 37s
—Helpers for Collecting Properties
1m 33s
—The Rest of The Client Entities
3m 21s
—Validation: Intro
1m 54s
—Implementing Validation
6m 51s
—Unit Testing: Intro
2m 33s
—Unit Testing Core Functionality
3m 14s
—The Rest of The Tests and Conclusion
3m 4s
Data Access (starting the business tier)
- 1h 14m
—Intro and EF Code-First Description
4m 1s
—Creating The DB-Context
2m 43s
—DB-Context Properties
2m 49s
—Setting up The ORM
4m 57s
—Adding ORM Rules
5m 52s
—Overview of A Data Repository
3m 59s
—Core Base Classes & Interfaces
4m 38s
—CRUD Implementation in The Account Repository
5m 44s
—Custom Methods & Repository Interface with DI Setup
4m 51s
—The Rest of The Data Repositories
2m 49s
—Setting up A Test Client Class to use DI
6m 31s
—Repository Usage and Mocking
6m 9s
—Intro to The Data Repository Factory
1m 35s
—The Data Repository Factory Abstraction
2m 4s
—The Data Repository Factory
3m 2s
—The Repository Factory Test Client Class
2m 39s
—Repository Factory Usage and Mocking
3m 36s
—Custom DTOs
5m 13s
—Recap & Conclusion
1m 21s
Services & Business Engines - Part 1
- 1h 2m
—Intro and Highlights
1m 13s
—Service Contracts and Services Overview
5m 37s
—Inventory Service Contract
6m 7s
—Setting up The Inventory Service
4m 45s
—Fully Implementing The First Operation
5m 53s
—Implementing A more Complex Operation
3m 10s
—Setting Service Characteristics
3m 34s
—The Manager Base Class
5m 23s
—Adding The Fault Contracts to The Operation Contracts
2m 34s
—Adding CRUD Operations and Transactions
5m 36s
—Adding A Multi-Data and Behavior Operation
3m 59s
—Intro to Business Engines
1m 20s
—Setting up A Business Engine
4m 21s
—Setting up The Business Engine for DI
6m 2s
—Using The Business Engine from A Service
2m 9s
—Recap and Summary
0m 45s
Services & Business Engines - Part 2
- 1h 0m
—Intro and Highlights
0m 45s
—Security Intro
2m 51s
—Adding Security to A Service
6m 2s
—User-Data Authorization Intro
3m 7s
—Setting up The Rental Service
3m 39s
—Implementing The GetRentalHistory Operation
2m 30s
—Retrieving Call User from SOAP Header
5m 21s
—Setting up for Retrieval of Authorization Account
3m 41s
—Adding The Authorization Check
7m 0s
—Finishing The Rental Service
4m 30s
—Finishing The Car Rental Engine
2m 31s
—Wrapping up with The Account Manager
3m 23s
—Testing The Business Engine
6m 55s
—Testing The Manager
4m 8s
—Adding Needed Credentials for The Manager Test
2m 52s
—Recap and Summary
1m 17s
Service Hosting
- 45m 54s
—Intro and Highlights
0m 58s
—Service Hosting Intro
1m 53s
—Simple Host Setup of Inventory Service
2m 38s
—Configuring The Inventory Service Host
4m 29s
—Reporting Hosting to Console
3m 27s
—Configuring The Other Services
1m 16s
—Binding Configurations
3m 53s
—Configuring-the-test-client
2m 38s
—Testing Service Connectivity
5m 18s
—Unattended Process Intro
2m 59s
—Writing The Unattended Process
6m 12s
—Adding Security Credentials for The Process
1m 31s
—Bootstrapping MEF and Test Run
2m 14s
—Other Hosting Options
4m 16s
—Recap and Summary
2m 12s
—Intro & Hightlights
1m 3s
—Client Contracts Intro
1m 38s
—Setting up The Client-Side Contracts
5m 25s
—Writing The Basic Client Proxies
4m 51s
—Making The Client Proxies DI-aware
2m 9s
—Soap Header Intro
1m 56s
—Adding User Name to The Soap Header in A Proxy Class
3m 53s
—Refactoring to A Proxy Base Class
1m 27s
—Service Factory Intro
4m 4s
—Writing The Service Factory
2m 56s
—Setting up The Client Bootstrapper
3m 50s
—Proxy Obtainment Unit Tests
3m 34s
—Service Connection Unit Tests
2m 27s
—Recap & Summary
1m 30s
Car Rental Website - Part 1
- 55m 50s
—Intro & Highlights
1m 52s
—Infrastructure Description
2m 46s
—MEF Bootstrapping and The Dependency Resolver
4m 5s
—Describing The Layout View
5m 28s
—General Javascript Definitions and Their Location
1m 37s
—Top-Bar View Description
3m 23s
—Knockout Intro and Component Credits
4m 36s
—The Security Adapter Class
2m 55s
—The Account Controller Setup
8m 10s
—Setting up The Login View and The Knockout Model
5m 53s
—The Rest of The Login View
7m 35s
—Checking Validation Rules and Reporting Them
5m 14s
—Test run for Validation Display
2m 16s
Car Rental Website - Part 2
- 1h 2m
—Intro & Highlights
2m 28s
—Setting up An API Controller
7m 44s
—Finishing up The Login Viewmodel Function
6m 15s
—Completing The Login REST API Call
6m 8s
—Testing The Login Section of The Site
3m 58s
—Setting up The Registration Models and Initial View
7m 16s
—Writing The Registration Ciew Using SPA-Style
4m 34s
—Setting up Viewmodel and Providing Previous-Step Functionality
3m 37s
—Client-Validating All Three Steps
5m 40s
—Servre-Validating All Three Steps
5m 47s
—Completing The Account Creation Process
2m 56s
—Test Run and Recap
6m 28s
Car Rental Website - Part 3
- 1h 9m
—Intro & Highlights
1m 8s
—Intro to Push-State
3m 44s
—Initial Setup for Push-State
6m 27s
—Finishing The Pattern Implementation
4m 53s
—Testing The Push-State
1m 21s
—Intro to The Rest of The Site
2m 46s
—Setting up The Files for Car Reservations
3m 22s
—Skeletal Code For JS Files Ad CSHTML View
3m 23s
—Writing The First View-Mode
4m 14s
—Making A 'Get' Call to The API
2m 3s
—Setting up The API Operation
3m 20s
—Injecting and Using A WCF Proxy from The Controller
2m 46s
—Pattern for Closing Proxies After Use
4m 15s
—Returning The List of Cars and Proceeding with The View
1m 36s
—Showing The List of Available Cars
5m 10s
—Making The Actual Reservation
5m 38s
—Displaying Reservation Results
2m 39s
—User-Data Authorization
3m 3s
—Unit Testing MVC Controllers
2m 46s
—Unit Testing API Controllers
2m 54s
—Recap & Summary
2m 3s
Car Rental Desktop - Part 1
- 35m 56s
—Intro & Highlights
1m 21s
—Application Infrastructure Intro
3m 11s
—Basic Structure and Main View/App Config and MEF Bootstrapping
5m 16s
—View Hierarchy Description
1m 44s
—Creating The First View and Setting up Its Base
3m 23s
—Creating The Skeleton for The Other Three Views
1m 8s
—Creating The Skeleton for The Four Viewmodels
4m 50s
—Completing The Main Viewmodel
3m 39s
—Setting up The Tab Panel
4m 41s
—Setting up The Data Templates
2m 52s
—Upcoming Problems to Be Solved
3m 51s
Car Rental Desktop - Part 2
- 1h 5m
—Intro & Highlights
2m 8s
—Demonstrating View and Viewmodel Initialization Points
3m 22s
—Solving Deterministic Viewmodel Initialization
4m 31s
—Setting up The Cars Observable
2m 37s
—Obtaining Service Proxy and Getting Car List
2m 46s
—Setting up More XAML and Running The App So Far
2m 57s
—Writing The First Viewmodel Command
3m 5s
—Writing and Testing The Edit Command
2m 39s
—Setting up The Edit-Car Viewmodel
3m 16s
—Calling upon The Edit-Car Viewmodel From Its Parent
2m 12s
—Validating and Saving A Car
3m 7s
—Letting The Parent Viewmodel Know About The Update
1m 39s
—Finishing up The Edit-Car Viewmodel with Cancellation
1m 17s
—Updating The Parent Viewmodel with Updated Car
4m 12s
—Updating Rhe XAML to Account for Car Editing
3m 3s
—Test Run Showing The Empty Edit Panel
0m 54s
—The Edit-Car View
2m 25s
—Testing Car-Editing
1m 30s
—Finishing The Viewmodel with Delete and Exception Handling
3m 29s
—Wiring and Unwiring Viewmodel Events
4m 39s
—Unit Testing The Viewmodel
6m 47s
—Recap & Summary
2m 59s
Conclusion & vNext
- 4m 49s
—Course Recap with vNext Summary and Farewell Surprise
4m 49s