Building End-to-End Multi-Client Service Oriented Applications

This course will take you through the development of a service oriented application from beginning to end and will include multiple types of clients.
Course info
Rating
(1138)
Level
Intermediate
Updated
Aug 30, 2013
Duration
11h 43m
Table of contents
Welcome & Course Description
Demo of A Service Oriented Appication
SOA & Technology
Architecture & Database
Entities & Core
Data Access (starting the business tier)
Services & Business Engines - Part 1
Services & Business Engines - Part 2
Service Hosting
Client Access
Car Rental Website - Part 1
Car Rental Website - Part 2
Car Rental Website - Part 3
Car Rental Desktop - Part 1
Car Rental Desktop - Part 2
Conclusion & vNext
Description
Course info
Rating
(1138)
Level
Intermediate
Updated
Aug 30, 2013
Duration
11h 43m
Description

It seems to me that the longer I stay in this business, the shorter the time between new technology releases. There's enough stuff out there in the development world to keep us both excited and overwhelmed. Learning new tech has become easier with the all the information available to us, especially in the way of these Pluralsight courses. But learning how to use a technology and learning how to properly implement it or integrate it with other technologies can be a whole different ballgame. Service-Oriented systems have become mainstream, but designing applications in a service-oriented fashion requires a different look on the components that make it up as well as technologies to support the architecture. This course will bring it all together for you by building on knowledge you have on technologies like WCF, Web API, ASP.NET MVC, WPF, and Knockout and going from A to Z on the architecture, design, development, and testing of a complete system. And this system will not only use a multitude of technologies in the middle-tier, but will also be consumed by different UI clients on the web and the desktop. Know how to write services in WCF and Web API, but want to see some real-world implementation from both MVC and WPF clients? This course is for you. Want to know how to implement dependency injection from the middle tier to the various UIs? This course is for you. Want to write decoupled, testable software? This course is for you. The final set of applications can be used as a skeleton and framework for any SOA-based system you write going forward, and the techniques used in its development will become part of your development arsenal forever.

About the author
About the author

Whether playing on the local Radio Shack’s TRS-80 or designing systems for clients around the globe, Miguel has been writing software since he was 12 years old. He keeps himself heavily involved in every aspect, layer, nook, and cranny of app development and would not have it any other way.

More from the author
WCF Power Topics
Advanced
7h 10m
Feb 29, 2016
WCF End-to-End
Intermediate
10h 24m
Mar 9, 2015
More courses by Miguel Castro
Section Introduction Transcripts
Section Introduction Transcripts

Services & Business Engines - Part 1
Hi. This is Miguel Castro, and welcome back to Building End-to-End Multi-Client Service Oriented Applications. This is the first of the two modules that cover the service layer of the car rental system. In this module, I'll be covering the building of all the WCF Services including their service contracts on the business side, any custom data contracts that I might need, and I'll retouch on the business entities that we covered in an earlier module in the course. I'll also be using dependency injection within the WCF Services, so I'll show you how all of that is set up, and I'll be writing some business engines if the need arises. And those business engines will also be incorporated into dependency injection. During the building of the services, you're going to see a variety of different calls. Some of the calls are going to be data center calls meaning the only job of the WCF operation is to just retrieve data, and some of them require more complex behavior, sometimes reusable behavior, and that's where business engines will come into play. I'll also be using some patterns for reusability to take care of some of my common exception handling. And then in the next module I'll secure all the services.

Services & Business Engines - Part 2
Hi. This is Miguel Castro, and welcome back to Building End-to-End Multi-Client Service Oriented Applications. In this module, I'll continue working on the service and engine layer by adding security and unit testing. I'm going to be covering security in two different forms. The first one is standard WCF-based security. And then I'm going to take it up a notch and do something very specific called user-data authorization. This is where we're securing the data on an already authenticated user so that they cannot access data that may pertain to another user. After I'm done with security, we're going to get into unit testing, and I'm going to be unit testing both the business engines and the WCF Services.

Service Hosting
Hi. This is Miguel Castro, and welcome back to Building End-to-End Multi-Client Service Oriented Applications. In this module, I'll cover WCF hosting and bring to light those services that we wrote in the previous module by exposing them to clients for consumption. Let's go over some of the highlights that we'll cover here. I'm going to discuss several different types of WCF Service Hosting and then show you how to set one of them up. We'll also cover configuration, of course, which is going to be necessary for WCF hosting, and I'll do some testing on client consumption using a unit test. In doing so, I'll cover some client configuration and also how to use the WCF channel factory. And lastly, I'm going to set up an unattended process. There's a process that needs to run at a certain interval for this application, and it's not something that a client is going to kick off manually, so I'll show you how to set that up. So, let's get started.

Client Access
Hi, this is Miguel Castro and welcome back to Building End-to-End Multi-Client Service Oriented Applications. In this module, we're going to move to the client-side and write the layer that is going to take care of accessing the WCF services. I'm going to go over Client Contracts, which are very similar to the service contracts, and then we're going start talking heavily about WCF Proxies. Now these are the classes that the clients or any UIs are going to use to access the WCF services; these are the classes that are going to provide the layer of abstraction so that the UI developer doesn't really even need to have WCF knowledge, they basically just need to have a set of objects to access the services with. And, we're going to be talking about SOAP Headers as well. I'm going to bring in Dependency Injection yet again; you're going to see how that's going to incorporate itself into the client-side. And then I'm going to end with the Service Factory - a pattern that I'm applying to the creation of proxies that's going to help out significantly later in the Client.

Car Rental Website - Part 1
Hi, this is Miguel Castro and welcome back to Building End-to-End Multi-Client Service Oriented Applications. This module is the first of three modules that will cover the building of the Car Rental Web Site application. In this module, I'm going to cover all of the infrastructure and layout of the site. And also, start working with Knockout as I start building the site's security. So I'm going to cover in detail how the Layout view is set up and what components are used; how the MEF bootstrapping works because, of course, we are going to be using MEF for all the dependency injection; because of that, I'm going to have to write a custom Dependency Resolver; and I also have a Security Adapter in place and you'll see what this is for. This is going to wrap all of the security access to make our controllers very easily testable. I also have some infrastructure to discuss regarding Knockout. This site is going to use heavy Knockout-JS, which means we're going to be doing things in an SPA or or Single Page Application Style, and in order to not repeat a lot of the code that I'm going to be using, I set up a ViewModelHelper class in JavaScript that I'll be going over in detail. And also, every view that uses Knockout is going to have a very specific view structure, which I'll talk about in detail. I've incorporated quite a few third-party components here and I'm going to show you what they are and who wrote them and where you can get more information about them. And then we're going to talk about Single Page Application patterns or SPA patterns. There are several ways of doing SPA. I took the easy approach for the purpose of this course and I'll be discussing in detail, how I'm accomplishing everything that's taken place on the site. And then, after all the infrastructure and layout stuff is done, we're going to cover the implementation of all the security, using Forms-Authentication of course. So first, let's discuss the infrastructure on how the MVC project is set up.

Car Rental Website - Part 3
Hi, this is Miguel Castro, and welcome back to Building End-to-End Multi-Client Service Oriented Applications. This module is going to continue where the last one left off, we're going to finish The Car Rental Web Site. So let's go over some of the highlights. The first thing I'm going to talk about is HTML 5 Push-State, this is otherwise known as back-button history. And I'm going to teach you how to track it and how to push stuff into it to give your application a really final polish. Then I'm going to write some of the other controllers and views, not all of them, but a couple of more to show you some of the other patterns that I've put in place and to also show you how to access services from the site. Then I'm going to add some user-data authorization; this is very similar to what you saw me do in WCF services and it's certainly done for the same reason. We don't want a user to try to access data that belongs to another user. So I'm going to show you how to secure against that in a Web API fashion now. Then I'll get into Unit Testing the controllers, both the MVC and the Web API controllers.

Car Rental Desktop - Part 1
Hi, this is Miguel Castro and welcome back to Building End-to-End Multi-Client Service Oriented Applications. This is the first of the two modules where I'll be building the car rental desktop application using WPF. Let's go over some of the highlights. In this module, I'll be covering all of the application infrastructure, how the entire app is laid out, what all the code files are, what the relationship of the views to the viewmodels is, and the app. xaml file, what role it's going to play in the application. I'll also be quickly covering the configuration and some new base classes that I've introduced in the core framework. Then I'll be talking about the themes and controls that I'll be applying. Afterward, I'll be giving you an entire overview of all of the views in the application and in fact, we're going to setup the skeletal structure of all of the views and the view modules, and you'll be seeing the relationship from one view to the next. Then, I'm going to be describing some common problems that every WPF application has and most developers don't even know they have them. Then in the next module, where I'm going to build an entire view and a viewmodel for the application, I'm going to solve the problems I'm going to discuss here in detail. So let's get started.