|
|
|
|
Hands-On W*F .NET 3.0: WCF, WF and WPF
|
|
|
|
|
In November 2006, Microsoft released .NET 3.0 (formerly known as WinFX), which includes 3 principal facets:
Capable of running on WinXP, WinServer 2003, and Windows Vista, .NET 3.0 provides a wealth of new services for creating:
- More powerful service endpoints that supplant .NET Remoting and .NET Web Services (.ASMX), address transactions and security, and do so with a single, unified programming model.
- Create WorkFlow applications that can run continuously and survive system resets.
- Rich presentation layers using 2D and 3D graphics with a single API.
Our HANDS-ON W*F .NET 3.0 Workshop addresses all 3 topics over 5 days.
Be notified when registration opens for a public presentation of this Class
Request an On-Site presentation of this Class
|
|
You must have at least 1 year of experience programming the .NET Framework in C# or VB.NET. Experience with the following is preferred, but not required (you're welcome to join us without these, but there'll be no hand-holding on these points):
- C# 2.0 (specifically, Generics, Custom Iterators and Anonymous Methods)
- Building .NET Web Services
- Managing .NET .config files with XML
- Using the VS2005 IDE
All labs will be worked using C# 2.0. (If you've not used 2.0, or you're a VB.NET developer, you'll be able to follow the labs via the step-by-step, cookbook approaches we'll provide.)
|
|
Windows Communication Foundation (WCF)
|
|
|
|
|
Until now, .NET developers have had two key choices for implementing the services that expose business objects to clients:
- .NET Remoting
- .NET Web Services
Both of these come with advantages -- and disadvantages.
.NET Remoting allows more runtime flexibility, can service binary protocols (TCP), offers high-fidelity to .NET runtime types, and is relatively performant. But Remoting will only service .NET-to-.NET communications, offers no built-in security or transaction model, and -- while easy to use for simple scenarios -- is relatively complex to implement when full-featured.
.NET Web Services (.ASMX) allow maximum platform independence, and are relatively simple to implement. But the .ASMX model only services HTTP/SOAP endpoints, offers little fidelity to .NET runtime types, and -- like Remoting -- offers little in the way of built-in security or transaction support.
To add to this: some applications may require that you implement service endpoints with both the Remoting and .ASMX models -- and if you do, you'll have to do so using distinctly different programming models and techniques.
The Windows Communication Foundation (WCF) is designed to address these issues directly. Through a single, unified programming model it offers:
- The flexibility to create different types of endpoints at runtime.
- The ability to service both binary and soap-based protocols.
- Services that can be consumed by both .NET and non-.NET clients.
- A built-in security model.
- Built-in transaction support.
- High-fidelity to .NET runtime data types.
Plus, WCF offers:
- Serialization facilities
- Queued exchanges
- Integration with MSMQ, COM+, ASP.NET Web Services, and even Microsoft's Web Services Enhancements (WSE).
In this course, you'll learn how to create WCF services that take advantage of these features.
|
- The WCF architecture
- What constitutes a WCF component and Service
- How to design WCF contracts and implement WCF Services
- How to configure channels and bindings
- How to define message structures
- How to expose metadata from a service
- How to interrogate service metadata from a client
- How to serialize and encode messages
- How to leverage hosting options
- How transactional WCF applications work
- How to create queued call services
- How to use addresses, bindings and contracts
- How to leverage channels and factories
- How to implement versioning
- How claims-based security works
- How to migrate existing Remoting and .ASMX Services to WCF
- How Callback Services work
|
|
Introduction to Service-Oriented Architectures
- Architecture and applications
- Programming with Contracts
- Decoupling connections, behaviors, responses
- WCF as an SOA implementation technology
Fundamentals of WCF
- WCF and .NET 3.0
- WCF Architecture
- Addresses, Bindings and Contracts and Endpoints
- Client-side programming
Getting Started with WCF
- Building your first Service
- Defining the Contract
- Implementing the Service
- Using multiple bindings and endpoints
- Building your first Client
- Using the generated Proxy
- Using Runtime Metadata Discovery
- Inproc vs. Out-of-proc Hosting
- Programmatic vs. manual configuration
- Controlling Host Behavior
Working with Contracts
- Service, Operation and Message Contracts
- Contract Design Techniques
- Re-Factoring your Contracts
- Leveraging Data Contracts
- Creating Custom Collections and Lists
- Serialization
- Versioning
Implementing Your Service
- Implementing the Fire and Forget Pattern
- Implementing a Streaming Service
- Managing Exceptions
- Debugging your Service
- Uniform Error-handling
- Leveraging Asynchronicity and Concurrency
- Asynchronous Calls
- Re-entrancy issues
- Synchronization
- Avoiding Deadlocks
- Thread Affinity
- Implementing a Callback Service
- Duplex contracts and Callbacks
- Creating Eventing Solutions
More Powerful WCF Clients
- Exploring MetaData Exchange
Service Management
- Deactivating your Service
- Implementing Per-Call Services
- Implementing Per-Session Services
- Implementing Singleton Services
- Controlling your Service
Advanced WCF Operations
- Implementing Queued Calls
- Implementing Secure Calls
- Implementing Transactional Calls
|
|
Windows Workflow Foundation (WF)
|
|
|
|
|
Workflow applications have unique constraints:
- They often have to wait days, weeks, or months for events to occur, or for other activities to finish.
- They shouldn't consume processor cycles while waiting.
- They must survive machine resets.
- They often require asynchronous control flow.
- They often require the use of a compensation model, instead of traditional database transactions.
Meeting these requirements force developers to build a complex workflow infrastructure into their applications.
Windows Workflow Foundation (WF), provides a workflow infrastructure. With this WF-supplied runtime engine and a framework for implementing workflow, you can focus on the business logic, rules, and policies that you understand, rather than building workflow infrastructure plumbing.
In the WF portion of our course, you'll write several applications that will demonstrate how to build a range of workflow applications.
.
|
- The Windows Workflow architecture
- The relationships between host, activity, and workflow
- How to use the Windows Workflow compiler
- How to design Workflows with and without Visual Studio.NET 2005
- How to use the Visual Studio.NET 2005 Workflow Designer
- How to use the features of the Windows Workflow Runtime class
- How to design and build a Workflow Host
- How to build Activities with Parallel Paths
- How to use the Built-in Flow Control Activities
- How to call External Methods from a Workflow
- How to handle Events in a Workflow
- How to use Composite Activities
- How to Pass Data in and out of Workflows
- How to use Workflow Rules Engine
- How the Workflow and the Runtime interact
- How to build Sequential Workflows
- How to build State Machine Workflows
- How to build Data or Policy Driven Workflows
- How to handle Errors in Workflow
- Understand Workflow Persistence
- How to use ACID Transactions in a Workflow
- How to use Compensation in a Workflow
- How to build Custom Workflow Activities
|
|
Overview of Workflow Foundation (WF)
- What is Workflow?
- What is Windows Workflow?
-
When to use and when not to use WF
- Relationship between WF and BizTalk
- Windows Workflow Architecture
- Workflow Foundation Tools
Building Simple Workflows
- Workflows and Activities
- Windows Workflow Foundation Runtime
- Hosts and Workflow Instances
- Windows Workflow Foundation Designer for Visual Studio 2005
- Passing Data in and Out of Workflows
- Composite Activities
- Basic Workflow Activities included with Workflow Foundation
- Control Flow
- Sequence and Parallel Activities
- Calling External Methods
- Events
- Workflow Runtime Interaction
Different Styles of Workflow
- Sequential Workflows
- State Machine Workflows
- Data or Policy Driven Workflows
Advanced Workflow Scenarios
- Workflow Error Handling
- Workflow Persistence
- Transactions and Compensation
Custom Activities
- Inadequacy of Basic Workflow Activities
- Custom Activities Reveal the Real Power of Windows Workflow
|
|
Windows Presentation Foundation (WPF)
|
|
|
|
|
Windows Presentation Foundation (WPF) is a rich set of services for the Windows graphics environment, that gives you a single API for manipulating virtually every graphic surface needed in a Windows application. (E.g., the same API lets you create both 2D and 3D graphics.) Prior to WPF, you'd need to work with GDI+ and DirectX as separate entities; with WPF you can combine both in the same application, using Visual Studio (or another Microsoft editor), and both can be addressed with the same programming language.
WPF lets you create and manipulate a variety of graphics entities, such as:
- Animation
- Fonts
- Printing
- Document Layout and formatting
- 2D Graphics
- 3D Graphics
- Video
In this section of the course, you'll how to use WPF to create rich presentation layers in your .NET3.0 applications.
|
-
The rationale for creating Windows Presentation Foundation
-
Which new and existing Microsoft tools help you create WPF apps
-
Ways to experiment with all the new graphics sub-engines (2D, 3D Media, etc)
-
What XAML is, and how it will change the way you write applications
-
How to use the new WPF controls
-
How to control screen layout
-
How to simplify navigation between forms and pages
-
How to add consistent UI look with Templates and Styles
-
Why Microsoft changed the event model
-
How DependencyProperties are radically different from standard .NET properties
-
Ways to explore the elegant Animation and Storyboard classes
-
What XPS is?
|
|
Introduction to Windows Presentation Foundation (WPF)
XAML
Visual Studio Integration
-
XAML Pad
-
Cider plug-in for VS
-
What's not supported
Controls and Forms
Layout
Understanding pages and navigation
Templates and Styles
Events and Properties
-
Standard Events
-
Event Bubbling
-
Dependency properties
Documents and Printing
-
Fonts
-
XPS document format
Data-binding
-
Sources and Targets
-
Declarative binding
Graphics
Media
Animation
|
|
*Outline subject to change without notice.
|
|
Regarding .NET 3.5 / C# 3.0 BootCamp"Richard is completely up-to-date with the latest .NET topics. He has an excellent way of passing his knowledge on to students." --Peter Helgé, Bluegarden
|
|