.NET 3.0 Sessions
Tuesday, March 27
Implementing SOA Design Patterns with WCF, Advanced
Robert Daigneau
10:30 a.m.
Both Service-Orientation and the Windows Communication Foundation (WCF) offer the promise of greater interoperability and ease of integration, but in order to realize benefits such as these we must evolve the way we architect solutions. While many of the lessons learned from Distributed Object-Oriented Architectures can be leveraged, much of what we did “back in the day” will not help us to achieve the goals of SOA even if we choose to use the WCF. In fact, many of the old ways have become Anti-Patterns.
In this session you’ll see how the WCF can be leveraged to create extensible, versioned, responsive, interoperable, and easy-to-maintain services. We’ll also see how Microsoft’s “Web Service Software Factory” might help or hinder us in our efforts.
Windows Presentation Foundation (WPF) for Windows Forms Developers, Introductory
Walt Ritscher
11:45 a.m.
You’ve mastered WinForms development. You can create functional, compelling forms, craft complex user controls, and you understand data-binding's strengths and weaknesses. Then, with much fanfare, Microsoft releases a brand new UI engine (WPF) which impacts all Windows UI development. So the question becomes: what does an experienced WinForm developer need to know about WPF?
In this session, Walt will show you how WPF programming is different from WinForm development. We'll discuss the radical graphics improvements that WPF brings to your palette. We’ll explore the new UI controls and dig into the changes in data-binding. And, you'll get the tips and tricks you need to succeed in this unfamiliar new world. You’ll leave this session with a better understanding of how to leverage your existing WinForms knowledge and application code to create rich, powerful new applications that leverage the Windows Presentation Foundation.
Introduction to Microsoft Windows Workflow Foundation - Part 1, Introductory
Michael Stiefel
3:15 p.m.
What do email, meeting planning, document approval, budgeting, manufacturing processes, resource planning, and product lifecycle management have in common? Work flow: long running, complex business processes that interact with human decision making. But traditional, conventional programming techniques require you to spend an enormous amount of time building your workflow infrastructure before you write a line of application code. Fortunately, there’s a solution: Microsoft Windows Workflow (WF) arrived with .NET Framework 3.0, and offers a programming solution that lets you focus on writing business workflows immediately, without having to solve the difficult problems of workflow plumbing. In this session, I will introduce the fundamentals of building workflow applications.
Using an example of a simple business process, I will show you how to build a simple workflow application. I will also explain the fundamental parts of WF such as hosts, workflow, the activities and the basic workflow patterns.
Windows Communication Foundation (WCF) for .ASMX and Remoting Developers, Intermediate
Richard Hale Shaw
4:30 p.m.
NET Web Services (.ASMX) are great -- so long as you don't mind that they lack high fidelity to .NET data types, have no built-in support for security or transactions, and only offer HTTP/SOAP endpoints. Oh, yeah, they can be kind of slow. .NET Remoting, on the other hand, can service binary protocols, offers greater fidelity to .NET data types, and is relatively performant. But Remoting isn't cross-platform where .ASMX services are, and still doesn't directly address security or transactions. And neither .ASMX services nor Remoting objects are compatible: each has its own, distinct programming model.
Enter WCF: while "packaged" into Windows Vista, WCF is a .NET 3.0 technology that runs on Windows Server 2003 and Windows XP. And what .ASMX and Remoting lack, WCF delivers: it directly addresses security and transaction issues, and offers a single programming model while supporting both binary and SOAP endpoints. In this session, Richard will introduce key WCF concepts geared to .ASMX and Remoting programmers who're ready to begin migrating to .NET 3.0.
Designing and Implementing Smart Clients That Support Both WinForm and WPF UIs, Intermediate
Rocky Lhotka
5:45 p.m.
With planning and foresight you can build a Windows Forms application today, and preserve your business logic when you move to WPF in the future. Using .NET technologies like data binding, you can build a formal business layer that implements your validation, authorization and other business logic, and still retain a highly rich and interactive user experience. The result is to minimize the code in the UI, reducing your effort as you move from Windows Forms to WPF. In this session you’ll learn how to create such a business layer, and see how to create both Windows Forms and WPF interfaces.
Wednesday, March 28
Windows Presentation Foundation: Making it Real, Intermediate
Billy Hollis
10:30 a.m.
You've seen enough WPF demo applications. Now you're ready to see something close to a real world application, so you begin to understand what WPF's real advantages are. This session presents two simplified real-world WPF apps - a browser-based shopping application, and an RSS reader with a scalable, interactive user interface. We'll analyze the technologies that made them possible, and discuss the obstacles to doing your first real-world WPF application. This session presumes that you have seen an introductory session on WPF and XAML.
Introduction to Microsoft Windows Workflow Foundation - Part 2: Building Business Applications, Intermediate
Michael Stiefel
11:45 a.m.
Microsoft Windows Workflow Foundation (WF) arrived with .NET Framework 3.0, and offers a programming solution that lets you focus on writing business workflows immediately without having to solve the difficult problems of workflow plumbing. In this session, I will enhance the application built in the introductory session by introducing more advanced features of workflow in order to demonstrate how to build real world workflows. This will require overcoming some difficult challenges. Businesses have complex policies that are difficult to express. Workflow Foundation allows you express these business policy constraints as rules which may vary depending on the specific business conditions. Most real life workflows run for long periods of time, this talk will show how to use compensation, rather than the classic ACID transaction model to build workflows. In addition, I will demonstrate how these long running workflows can communicate asynchronously with other people and software.
Best Practices for Designing and Building SOA Applications with WCF,Intermediate
Richard Hale Shaw
3:15 p.m.
Just 'cause it's new doesn't mean it's good: "Indigo" was re-designed 3 times before it became WCF. Just 'cause you can do it that way doesn't mean you should: yeah, you can create WCF contracts that look and behave just like some Remoting and .ASMX Services, but why should you? What's the best way to get started with WCF? When should you use SOA approaches to contract design -- and why? How do you accommodate versioning your contracts? And what's the controversy over Data Contracts, anyway? In this session, Richard will address the topics and more. We'll look at the shoulds and shouldn'ts, dos and don'ts for WCF development, and how you can start leveraging this powerful new technology to service-enable your distributed application development.
WPF with Expression Interactive Designer and Visual Studio, Intermediate
Billy Hollis
4:30 p.m.
While the next version of Visual Studio will have a basic designer for user interfaces in Windows Presentation Foundation, gaining full access to the WPF feature set will require using Expression Interactive Designer. Though Expression can be used by non-programming visual designers, many developers who specialize in UI design will need to learn to use it too. This session explores using Expression for interactive UI design, and using the resulting XAML template in Visual Studio to create the code-behind.
Creating Custom WCF Behaviors, Advanced
Rob Daigneau
5:45 p.m.
Custom behaviors provide a mechanism to modify the WCF runtime execution at the proxy (i.e. client) or dispatcher (i.e. service) via attributes, configurations, and even programmatic means. This powerful technique may be used to inject common and “cross-cutting” logic upon Services, Contracts, Endpoints, and Operations, which in turn yields limitless possibilities.
In this session we will explore how WCF custom behaviors might be leveraged to implement a concept similar to Aspects. You'll learn how this powerful feature can be used to apply cross-cutting logic to your services in a manner that is both simple to understand and implement. You'll also see that the concepts of SOA, OOP, and AOP (i.e. Aspect-Oriented Programming) should be thought of as being complementary rather than competing.
