Slide1 : Introducing the Microsoft .NET Framework 3.0 Harjeet Singh
Agenda : Software Trends
.NET Framework 3.0 Tour
Getting the .NET Framework 3.0 Agenda
Software Development Trends : Service-Oriented
Development Differentiated
User Experience Business Process Modeling Digital Identity
Management Software Development Trends
Microsoft .NET Framework 3.0 : Microsoft .NET Framework 3.0 The Managed Code
Programming Model
for Windows
Windows Communication Foundation : Windows Communication Foundation Unified framework for
rapidly building
service-oriented applications
Windows Communication Foundation : Interop with
other platforms ASMX WSE WS-* protocols Location
transparency Remoting Unified framework supersets existing technologies Windows Communication Foundation Attribute Based Programming Message- based programming
Our Solution: Programming WCF : Our Solution: Programming WCF Classes added to the .NET Framework 2.0
… for building software services:
i.e. software designed for interaction over
a network with an interface described in WSDL.
WSDL is as important to software as money is
to the economy: it makes interactions efficient.
The WCF programming model follows WSDL closely.
Our Solution: Programming WCF : Our Solution: Programming WCF
Our Solution: Programming WCF : Our Solution: Programming WCF A .Net interface and implementation Specified in a configuration file
Our Solution: WCF Architecture : Our Solution: WCF Architecture Typed Proxy Dispatcher Message
WCF Live Coding : WCF Live Coding
Windows Workflow Foundation : Programming model, engine
and tools for building
workflow-enabled applications Windows Workflow Foundation
What Is A Workflow? : What Is A Workflow? A Set Of Activities
That Coordinates People
And / Or Software... Like a flowchart…. Or a state diagram….
Windows Workflow Foundation : Windows Workflow Foundation Key Concepts Host Process
Windows
Workflow Foundation Runtime Engine
A Workflow
An Activity Runtime Services Base Activity Library
Custom Activity Library
Visual Designer Visual Designer: Graphical and code-based construction Workflows are a set of Activities Workflows run within a Host Process: any application or server Developers can build their own Custom Activity Libraries Components Base Activity Library: Out-of-box activities and base for custom activities Runtime Engine: Workflow execution and state management Runtime Services: Hosting flexibility and communication
Workflow Authoring Modes : Workflow Authoring Modes
.NET assembly
ctor defines
workflow
Markup Only
“Declarative” XAML Markup and
Code Code Only Application
Generated XAML XML defines
workflow structure
logic and data flow
XML defines
workflow
Code-beside
defines extra logic
Code creates
workflow
in constructor
XAML
App creates activity
tree and serializes Workflow Compiler
wfc.exe C#/VB Compiler
What are Activities? : What are Activities? An activity is a step in a workflow
Has properties and events that are programmable within your workflow code
Has methods (e.g. Execute) that are only invoked by the workflow runtime
Think of Forms & Controls
Activity == Controls
Workflows == Forms
Activities fall under two broad categories
Basic – steps that “do work”
Composite – manage a set of child activities
Activities: An Extensible Approach : Activities: An Extensible Approach OOB activities, workflow types, base types
General-purpose
Activity libraries define workflow constructs Create/Extend/ Compose activities
App-specific building blocks
First-class citizens Base Activity
Library Custom Activity Libraries Out-of-Box
Activities
Flexible Control Flow : Flexible Control Flow Rules-driven Activities Step2 Step1 Rule1 Rule2 Data Rules + data state
drive processing
order Data-driven
Simple Conditions, complex Policies
Constrained Activity Group
State Machine Workflow Event Event External
events drive
processing
order Reactive, event-driven
Skip/re-work, exception handling
Graph metaphor Sequential Workflow Step1 Step2 Sequential
structure
prescribes
processing order Prescriptive, formal
Automation scenarios
Flowchart metaphor
Windows Workflow Foundation : Windows Workflow Foundation
WF Live Coding : WF Live Coding
Windows Presentation Foundation : Windows Presentation Foundation Unified framework for building
next gen user experiences with
UI, media and documents
Windows Presentation Foundation : Windows Presentation Foundation XAML
eXtensible Application Markup Language
Windows Presentation Foundation : Windows Presentation Foundation With XAML designers & developers can streamline their collaboration
Slide35 : What is WPF? Windows Presentation Foundation is one of four principal components in .NET 3.0
WPF is essentially an alternative method for developing Windows based applications
WPS vs Windows Forms Development : WPS vs Windows Forms Development WPF has a number of advantages over Windows Forms development which include
Comprehensive Integration – WPF provides a uniform platform for using video, speech, text, 2D and 3D graphics
Resolution Independence – as DPI increases, WPF applications maintain their size exactly
Instead of shrinking, WPF applications merely get Sharpe
WPF Advantages over Windows Forms Development : WPF Advantages over Windows Forms Development WPF supports hardware acceleration
WPF applications can take advantage of GPUs on Graphics cards for smoother graphics
WPF allows the effective separation of design work (to be performed by Designers) and functionality (to be performed by Developers)
WPF Advantages over Windows Forms Development : WPF Advantages over Windows Forms Development WPF supports a new model for content under which almost any control can host almost any other control
This permits very rich user interfaces as almost any control can support 3D graphics, animations and even videos
WPF supports almost complete scalability
WPF and XAML : WPF and XAML XAML is a declarative programming language designed for constructing and initializing .NET objects
XAML code is principally the textual representation of some visual element – either a graphic object or a user interface object such as a button or a combo box
WPF and XAML : WPF and XAML Under the standard paradigm the User Interface is described in XAML and the underlying functionality is built using C# (or Visual Basic .NET)
However, using Markup Extensions Microsoft has cleverly been able to build a considerable degree functionality into XAML
Usually when things can be expressed in either C# or XAML, XAML is more terse
What is WPF/E : What is WPF/E WPF/E stands for WPF Everywhere
WPF/E is basically a Microsoft equivalent for Macromedia Flash
Currently only in beta form, WPF supports Fire fox and Internet Explorer 7 on Windows and Fire fox and Safari on the MAC
What is the Relationship Between WPF/E and WPF : What is the Relationship Between WPF/E and WPF WPF/E uses a Javascript control to host content created using XAML
Recall that vector graphics can be expressed in XAML and that WPF has very strong support for animations
Client side event handling is processed using JavaScript
What is the Expressions Suite : What is the Expressions Suite The Expressions Suite consists of four designer type applications
Only one of these applications, Expressions Web Designer has been officially released (January, 2007)
The other three releases are currently in beta release (or CTP)
Expressions Web Designer : Expressions Web Designer This product is essentially the successor to Microsoft Front Page
Its principal competitor is Macromedia (Adobe) DreamWeaver
The emphasis by Microsoft for this product is Standards Based web design (XHTML)
This product has nothing at all directly to do with WPF
Expressions Blend : Expressions Blend Expressions Blend is a Visual Studio like tool for designing WPF user interfaces
While Blend is intended for use by Designers, it is sufficiently superior to the equivalent designer in Visual Studio that most Developers will likely use it in conjunction with Visual Studio
Expressions Graphic Designer : Expressions Graphic Designer This product represents Microsoft’s attempt to move into the space occupied by Adobe Illustrator and CorelDraw
Vector Graphics
Graphic Designer uses XAML as its native output language
This, of course, facilitates using these vector graphics in WPF applications
Expressions Media : Expressions Media The latest addition to the Expressions suite
Represents a content management system similar to Adobe Bridge
No direct relationship with WPF
Windows CardSpace : Windows CardSpace Private desktop
Separate user context
Protects against hacking
Self-issued cards
Non-corroborated
Stored locally
Managed cards
Corroborated
Stored at STS
Windows CardSpace : WS-*
Web Services Windows CardSpace
Introduction to Windows CardSpace : Introduction to Windows CardSpace Windows CardSpace is client software that enables users to provide their digital identity to online services in a simple, secure and trusted way.
It is what is known as an identity selector
The CardSpace UI enables users to create Personal cards (aka self-issued cards) and associate a limited set of identity data.
Windows CardSpace : Windows CardSpace The architecture upon which CardSpace has been built – consisting of subjects, identity providers and relying parties – is called “The Identity Metasystem”.
Microsoft .NET Framework 3.0 : Microsoft .NET Framework 3.0 Windows Presentation Foundation
Next generation user experience “CardSpace”
Digital identity management Windows Workflow Foundation
Business process modeling Windows Communication Foundation
Service-oriented development