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.
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.
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 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.