Building End-to-end Multi-client Service Oriented Applications - AngularJS Edition

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
(688)
Level
Intermediate
Updated
Sep 19, 2014
Duration
12h 33m
Table of contents
Welcome and Course Description
Demo of a Service Oriented Application
SOA and Technology
Architecture and Database
Entities and Core
Data Access (Starting the Business Tier)
Services and Business Engines - Part 1
Services and 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 and vNext
Description
Course info
Rating
(688)
Level
Intermediate
Updated
Sep 19, 2014
Duration
12h 33m
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 require 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 AngularJS 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, then this course is for you. Want to know how to implement dependency injection from the middle tier to the various UIs, then this course is for you. Want to write decoupled, testable software, then 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 and Business Engines - Part 1
Hi. This is Miguel Castro, and welcome back to Building End-to-End Multi-Client Service Oriented Applications - Angular Edition. 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 that is setup. And I'll be writing some business engines if the need arises, and those business engines will also be incorporated in 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 centric 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 and Business Engines - Part 2
Hi. This is Miguel Castro, and welcome back to Building End-to-End Multi-Client Service Oriented Applications - Angular Edition. 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-Angular Edition. In this module I'll cover WCF hosting and bring to life 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-Angular Edition. 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 to 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 3
Hi. This is Miguel Castro, and welcome back to Building End-to-End Multi-Client Service Oriented Applications-Angular Edition. This module is going to continue where the last one left off. We're going to finish The Car Rental Web Site. Let's go over some of the highlights. So far the parts of the site that I've written have not really accessed services in any way. All the security stuff is done directly from the website right to the database through the simple membership provider. The first thing I'm going to talk about in this module is how to access the WCF Services from this site. This is going to be necessary in order to do everything else we need to do from this site regarding the rental of cars. In doing so I'm going to show you some of the patterns that I use including dependency injection and proxy disposability. Then I'm going to show you how I handle user-data authorization. This is actually very similar to what you saw me do when we did the WCF Services. It's also something we have to do for the exact same reasons. We don't want a user to access data that belongs to another user. And finally, like I've done in every other module in this course, I'll cover unit testing, and I'll be unit testing 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-Angular Edition. 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 view models is, and the app. xaml file, what role it's going to play in the application. I'll also be quickly covering 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 set up the skeletal structure of all of the views and the view models, 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 view model for the application I'm going to solve the problems I'm going to discuss here in detail, so let's get started.