Learning Goals
This 5-day course will cover the whole development process needed to create successful
distributed and service oriented .NET enterprise applications using .NET 3.5/4.0
and Visual Studio 2008/2010. Students will be guided through the end to end creation
of a complete enterprise application. You will study in-depth and practice the latest
.NET technologies that are required to develop an enterprise application. This course
provides participants with technical guidelines on design and implementation in
.NET making participants skillful and ready for action.
Target Audience
This course is indented for professional C# or VB.NET programmers experienced
with Visual Studio 2005 or 2008 and .NET 3.x who are interested to learn how to
implement the .NET 3.5/4.0 technologies in enterprise applications.
Course Outline
Implementing the Service Oriented Architecture
This module presents an overall view of the development process of a .NET enterprise
application.
- The service oriented architecture, the concept of services and
messages, the logical and physical architectures for multi-tier
applications, guidelines, and design patterns.
- The enterprise application programming paradigms available in
.NET
- Overview of the building blocks of an enterprise application
implemented in .NET
- Overview of the technologies and design patterns available in
.NET
The Enterprise application skeleton
Starting from a skeleton for a multitier enterprise application, this module
will teach you how to divide an enterprise application into logical layers, how
to implement this in physical layers and what best practices are available out of
the box. Students will learn how to create their classes in .NET assemblies, and
will apply advanced object-oriented techniques for encapsulating and exposing the
data using interfaces; when and how to create private either shared assemblies.
- Working with several assemblies in the same solution
- Linking assemblies using References, Versioning, the Global
Assembly Cache
- The principle of the 3 layer architecture: Presentation, Business
and Data Access Layer
- Physical implementation of a layered solution in .NET: the data
layer, business layer, presentation layer and framework layer
Implementing the Data Access Layer
In this module you will study how to build a data access layer. This layer is
responsible for persisting data stored in objects and datasets to databases. Because
we will be loading data from databases, both ADO.NET, LINQ to SQL and Entity Framework
will be demonstrated as another way of accessing data from databases. We will look
at the pros and cons of using datasets and/or data objects, and look at what kind
of problems might occur when several users access the same databases and relating
locking strategies. Covered are also the .NET patterns for decoupling the data access
layers, in order to be able to replace one data layer with another data layer, for
example one that uses Oracle.
- Building the data layer using ADO.NET
- Building the data layer using LINQ
- Using Entity Framework to build the data layer
- DataSets vs. Entities (objects)
- Creating serializable data objects
- Solving concurrent update problems
- Decoupling the Data Layer from the Business Layer using the
Provider Pattern
Building reusable Business Components
This module discusses how to build a business layer and confronts you with the
problem of how to check business rules in the business layer and how to reuse these
business rules in the presentation layer to minimize round-trips to the server.
You will learn how to add role based security in an enterprise application, how
to work with transactions in order to update data correctly and to keep datastores
consistent.
- Creating business rules in the Business Layer
- Building reusable components to check business rules
- Building configuration code for business rules
- Returning errors from the Business Layer
- Using role based security
- Adding component transactions with System.Transactions
- Understanding Timeout and Isolation Levels
Building the Service Layer
In this module students will learn how to expose their business components as
services through Windows Communication Foundation (WCF). WCF allows services to
be exposed on the intranet, extranet and the public internet using protocols such
as TCP, HTTP and Message Queuing. You will study security, reliability, transactions...
and not to forget interoperability with the previous .NET 2.0 web service technologies.
- The principles of WCF in an enterprise application
- Implementing WCF services: Address, Binding and Contract
- Exposing and consuming services through service contracts
- Securing WCF services: transport vs. message security, authentication
and authorization...
- Impersonation systems and trusted subsystems
- Implementing reliability, transactions
- Building highly scalable and reliable systems with message queues:
using System.Messaging and WCF Queuing
Implementing the Presentation Layer
The Presentation layer is responsible for interaction with the user, for exposing
enterprise data and making it available for user consummation. .NET offers developers
a variety of technologies: the traditional Windows Forms, ASP.NET web forms, ASP.NET
MVC, Silverlight and Windows Presentation Foundation. This module discusses important
concepts such as data binding and validation and caching for disconnected scenarios.
- Available patterns for building the presentation layer
- Windows Forms and smart clients
- ASP.NET web forms
- ASP.NET MVC
- Windows Presentation Foundation
- Silverlight
- Displaying data with data binding
- Doing data validation and displaying validation errors
Implementing workflows in an enterprise application
Workflow Foundation (WF) is the foundation for workflow enabled enterprise applications.
You will learn how to integrate workflows in a multitier application and learn how
to implement workflows allowing services and information workers to collaborate
in an enterprise environment. Both WF 3.5 and WF 4.0 will be illustrated.
- Architecture of Windows Workflow Foundation (WF): workflow as
collection of activities, types of workflows
- Orchestrating services with workflows in enterprise applications
- Adding Human interaction to your application using workflows
- Running workflows and hosting workflows in a multitier application
Building, deploying and configuring an enterprise application
Once an application has been developed it needs to be built, deployed and configured.
- Building, deploying and configuring local assemblies
- Building, deploying and configuring shared assemblies in the
Global Assembly Cache
- Best practices for building enterprise applications: build instructions,
batch build, Team Foundation Build Server...
- Out of the box deployment technologies: Setup projects, Publishing
techniques, Click-Once, MSI...
- Configuration of data base connections, services, security,
logging...
- Custom configuration techniques
- Versioning and maintaining .NET enterprise applications
|