50
Introducing the Microsoft .NET Framework 3.0

Dotnet 3.0 Overview

  • Upload
    harish

  • View
    120

  • Download
    2

Embed Size (px)

DESCRIPTION

An overview on the description of dotnet framework like wcf workflow foundation,WPF,Expression Blends & Windows Cardspace

Citation preview

Page 1: Dotnet 3.0 Overview

Introducing the Microsoft .NET Framework 3.0

Page 2: Dotnet 3.0 Overview

Software TrendsSoftware Trends

.NET Framework 3.0 Tour.NET Framework 3.0 Tour

Getting the .NET Framework 3.0Getting the .NET Framework 3.0

Agenda

Page 3: Dotnet 3.0 Overview

Service-OrientedService-OrientedDevelopmentDevelopment

Differentiated Differentiated User ExperienceUser Experience

Business Process Business Process ModelingModeling

Digital IdentityDigital IdentityManagementManagement

Software Development Trends

Page 4: Dotnet 3.0 Overview

Microsoft .NET Framework 3.0

The Managed Code The Managed Code

Programming ModelProgramming Model

for Windowsfor Windows

Page 5: Dotnet 3.0 Overview

Windows Communication Foundation

Unified framework for Unified framework for

rapidly buildingrapidly building

service-oriented applicationsservice-oriented applications

Page 6: Dotnet 3.0 Overview

Interop withInterop withother platformsother platforms

ASMX

WSEWSE

WS-* protocols

LocationLocationtransparencytransparency

Remoting

Unified framework supersets existing technologiesUnified framework supersets existing technologies

Windows Communication Foundation

Attribute Based Programming

Message- based programming

Page 7: Dotnet 3.0 Overview

Our Solution: Programming WCF

Classes added to the .NET Framework 2.0Classes added to the .NET Framework 2.0

… … for building software services: for building software services:

i.e. software designed for interaction over i.e. software designed for interaction over a network with an interface described in WSDL. a network with an interface described in WSDL.

WSDL is as important to software as money is WSDL is as important to software as money is to the economy: it makes interactions efficient. to the economy: it makes interactions efficient.

The WCF programming model follows WSDL closely. The WCF programming model follows WSDL closely.

Page 8: Dotnet 3.0 Overview

Our Solution: Programming WCFOur Solution: Programming WCF

WSDL WSDL SectionSection

a.a. WherWhere?e?

serviceservice

b.b. How?How? bindingbinding

c.c. What?What? portTypeportType

Page 9: Dotnet 3.0 Overview

Our Solution: Programming WCF

WSDL WSDL SectionSection

WCF WCF

TermTerm

a.a. WherWhere?e?

serviceservice aaddressddress

b.b. How?How? bindingbinding bbindinginding

c.c. What?What? portTypeportType ccontractontractA .Net interface

and implementation

Specified in a configuration file

Page 10: Dotnet 3.0 Overview

Our Solution: WCF Architecture

User Code User Code

Typed Proxy Dispatcher

Protocol Protocol

Encoding Encoding

Transport TransportMessage

Page 11: Dotnet 3.0 Overview
Page 12: Dotnet 3.0 Overview
Page 13: Dotnet 3.0 Overview
Page 14: Dotnet 3.0 Overview
Page 15: Dotnet 3.0 Overview
Page 16: Dotnet 3.0 Overview
Page 17: Dotnet 3.0 Overview
Page 18: Dotnet 3.0 Overview

Programming model, engine Programming model, engine

and tools for building and tools for building

workflow-enabled applications workflow-enabled applications

Windows Workflow Foundation

Page 19: Dotnet 3.0 Overview

EX: Check InventoryEX: Escalate To Manager

What Is A Workflow?

A Set Of Activities A Set Of Activities That Coordinates People That Coordinates People

And / Or Software...And / Or Software...

Like a flowchart…. Like a flowchart…. Or a state diagram…. Or a state diagram….

Sequential Workflow

Sequential structure Prescribes processing order

Step1

Step2

State MachineWorkflow

External events drive processing order

State2

State1Event

Event

Rules + data state drive processing order

Rules-driven Activities

Rule1

Rule2

Data

Step2

Step1

Page 20: Dotnet 3.0 Overview

Windows Workflow FoundationKey ConceptsKey Concepts

Host Process

WindowsWorkflow Foundation

Runtime Engine

A Workflow

An Activity

Runtime Services

Base Activity Library

Custom Activity Library

Visual Designer

Visual Designer:Visual Designer: Graphical and Graphical and code-based constructioncode-based construction

Workflows are a set of ActivitiesWorkflows are a set of Activities

Workflows run within a Host Workflows run within a Host Process:Process: any application or any application or serverserverDevelopers can build their own Developers can build their own Custom Activity LibrariesCustom Activity Libraries

ComponentsComponentsBase Activity Library:Base Activity Library: Out-of-Out-of-box activities and base for custom box activities and base for custom activitiesactivitiesRuntime Engine:Runtime Engine: Workflow Workflow execution and state managementexecution and state managementRuntime Services:Runtime Services: Hosting Hosting flexibility and communicationflexibility and communication

Page 21: Dotnet 3.0 Overview

Workflow Authoring Modes

.NET assembly• ctor defines

workflow

Markup Only“Declarative”

XAML

Markup andCode

C#/VB

Code Only ApplicationGenerated

XAML C#/VB

• XML definesworkflow structurelogic and data flow

• XML definesworkflow• Code-beside defines extra logic

• Code createsworkflowin constructor XAML C#/

VB

App creates activitytree and serializes

Workflow Compilerwfc.exe

C#/VB Compiler

Page 22: Dotnet 3.0 Overview

What are Activities?An activity is a step in a workflowAn activity is a step in a workflow

Has Has propertiesproperties andand eventsevents that are that are programmable within your workflow codeprogrammable within your workflow codeHas Has methodsmethods (e.g. Execute) that are only (e.g. Execute) that are only invoked by the workflow runtimeinvoked by the workflow runtime

Think of Forms & ControlsThink of Forms & ControlsActivity == ControlsActivity == Controls

Workflows == Forms Workflows == Forms

Activities fall under two broad categoriesActivities fall under two broad categoriesBasicBasic – steps that “do work” – steps that “do work”

CompositeComposite – manage a set of child activities – manage a set of child activities

Page 23: Dotnet 3.0 Overview

Activities: An Extensible Approach

OOB activities,OOB activities,workflow types,workflow types,base typesbase typesGeneral-purposeGeneral-purposeActivity libraries define Activity libraries define workflow constructsworkflow constructs

Create/Extend/Create/Extend/Compose activitiesCompose activitiesApp-specificApp-specificbuilding blocksbuilding blocksFirst-class citizensFirst-class citizens

Base ActivityBase ActivityLibraryLibrary

Custom ActivityCustom ActivityLibrariesLibraries

Author new activity

Out-of-Box Activities

Extend activity

Compose activities

Vertical-specificVertical-specificactivities & workflowsactivities & workflowsBest-practice IP &Best-practice IP &KnowledgeKnowledge

Domain-SpecificDomain-SpecificWorkflow PackagesWorkflow Packages

Compliance

RosettaNet

CRM

IT Mgmt

Page 24: Dotnet 3.0 Overview

Flexible Control Flow

Rules-driven Activities

Step2

Step1Rule1

Rule2

DataRules + data statedrive processing order

•Data-driven•Simple Conditions, complex Policies •Constrained Activity Group

State Machine Workflow

State2

State1Event

Event

External events drive processingorder

•Reactive, event-driven•Skip/re-work, exception handling•Graph metaphor

Sequential WorkflowStep1

Step2

Sequentialstructure prescribesprocessing order

•Prescriptive, formal•Automation scenarios•Flowchart metaphor

Page 25: Dotnet 3.0 Overview

Windows Workflow Foundation

Page 26: Dotnet 3.0 Overview
Page 27: Dotnet 3.0 Overview
Page 28: Dotnet 3.0 Overview
Page 29: Dotnet 3.0 Overview
Page 30: Dotnet 3.0 Overview

Windows Presentation Foundation

Unified framework for building Unified framework for building

next gen user experiences next gen user experiences

withwith

UI, media and documentsUI, media and documents

Page 31: Dotnet 3.0 Overview

Windows Presentation Foundation

<Button Width="100"> OK <Button.Background> LightBlue </Button.Background></Button>

XAML

Button b1 = new Button();b1.Content = "OK";b1.Background = new SolidColorBrush(Colors.LightBlue);b1.Width = 100;

C#

Dim b1 As New Buttonb1.Content = "OK"b1.Background = New _ SolidColorBrush(Colors.LightBlue)b1.Width = 100

VB.NET

XAMLXAMLeXtensible Application Markup LanguageeXtensible Application Markup Language

Page 32: Dotnet 3.0 Overview

Windows Presentation Foundation

With XAML designers & With XAML designers &

developers can streamline developers can streamline

their collaborationtheir collaboration

Page 33: Dotnet 3.0 Overview

What is WPF?

Windows Presentation Foundation is Windows Presentation Foundation is one of four principal components one of four principal components in .NET 3.0in .NET 3.0

WPF is essentially an alternative WPF is essentially an alternative method for developing Windows method for developing Windows based applicationsbased applications

Page 34: Dotnet 3.0 Overview

WPS vs Windows Forms Development

WPF has a number of advantages over WPF has a number of advantages over Windows Forms development which Windows Forms development which includeinclude

Comprehensive Integration – WPF provides a Comprehensive Integration – WPF provides a uniform platform for using video, speech, text, uniform platform for using video, speech, text, 2D and 3D graphics2D and 3D graphics

Resolution Independence – as DPI increases, Resolution Independence – as DPI increases, WPF applications maintain their size exactlyWPF applications maintain their size exactly

Instead of shrinking, WPF applications merely get Instead of shrinking, WPF applications merely get SharpeSharpe

Page 35: Dotnet 3.0 Overview

WPF Advantages over Windows Forms Development

WPF supports hardware accelerationWPF supports hardware accelerationWPF applications can take advantage of WPF applications can take advantage of GPUs on Graphics cards for smoother GPUs on Graphics cards for smoother graphics graphics

WPF allows the effective separation WPF allows the effective separation of design work (to be performed by of design work (to be performed by Designers) and functionality (to be Designers) and functionality (to be performed by Developers)performed by Developers)

Page 36: Dotnet 3.0 Overview

WPF Advantages over Windows Forms Development

WPF supports a new model for content WPF supports a new model for content under which almost any control can under which almost any control can host almost any other controlhost almost any other control

This permits very rich user interfaces as This permits very rich user interfaces as almost any control can support 3D almost any control can support 3D graphics, animations and even videosgraphics, animations and even videos

WPF supports almost complete WPF supports almost complete scalability scalability

Page 37: Dotnet 3.0 Overview

WPF and XAML

XAML is a declarative programming XAML is a declarative programming language designed for constructing language designed for constructing and initializing .NET objectsand initializing .NET objects

XAML code is principally the textual XAML code is principally the textual representation of some visual representation of some visual element – either a graphic object or a element – either a graphic object or a user interface object such as a user interface object such as a button or a combo box button or a combo box

Page 38: Dotnet 3.0 Overview

WPF and XAML

Under the standard paradigm the User Under the standard paradigm the User Interface is described in XAML and the Interface is described in XAML and the underlying functionality is built using C# underlying functionality is built using C# (or Visual Basic .NET)(or Visual Basic .NET)

However, using Markup Extensions However, using Markup Extensions Microsoft has cleverly been able to build a Microsoft has cleverly been able to build a considerable degree functionality into considerable degree functionality into XAMLXAML

Usually when things can be expressed in Usually when things can be expressed in either C# or XAML, XAML is more terseeither C# or XAML, XAML is more terse

Page 39: Dotnet 3.0 Overview

What is WPF/E

WPF/E stands for WPF EverywhereWPF/E stands for WPF Everywhere

WPF/E is basically a Microsoft WPF/E is basically a Microsoft equivalent for Macromedia Flashequivalent for Macromedia Flash

Currently only in beta form, WPF Currently only in beta form, WPF supports Fire fox and Internet supports Fire fox and Internet Explorer 7 on Windows and Fire fox Explorer 7 on Windows and Fire fox and Safari on the MAC and Safari on the MAC

Page 40: Dotnet 3.0 Overview

What is the Relationship Between WPF/E and WPF

WPF/E uses a Javascript control to WPF/E uses a Javascript control to host content created using XAMLhost content created using XAML

Recall that vector graphics can be Recall that vector graphics can be expressed in XAML and that WPF has expressed in XAML and that WPF has very strong support for animationsvery strong support for animations

Client side event handling is Client side event handling is processed using JavaScriptprocessed using JavaScript

Page 41: Dotnet 3.0 Overview

What is the Expressions Suite

The Expressions Suite consists of The Expressions Suite consists of four designer type applications four designer type applications

Only one of these applications, Only one of these applications, Expressions Web Designer has been Expressions Web Designer has been officially released (January, 2007)officially released (January, 2007)

The other three releases are The other three releases are currently in beta release (or CTP) currently in beta release (or CTP)

Page 42: Dotnet 3.0 Overview

Expressions Web Designer

This product is essentially the successor This product is essentially the successor to Microsoft Front Pageto Microsoft Front Page

Its principal competitor is Macromedia Its principal competitor is Macromedia (Adobe) DreamWeaver(Adobe) DreamWeaver

The emphasis by Microsoft for this The emphasis by Microsoft for this product is Standards Based web design product is Standards Based web design (XHTML)(XHTML)

This product has nothing at all directly This product has nothing at all directly to do with WPFto do with WPF

Page 43: Dotnet 3.0 Overview

Expressions Blend

Expressions Blend is a Visual Studio like Expressions Blend is a Visual Studio like tool for designing WPF user interfacestool for designing WPF user interfaces

While Blend is intended for use by While Blend is intended for use by Designers, it is sufficiently superior to Designers, it is sufficiently superior to the equivalent designer in Visual Studio the equivalent designer in Visual Studio that most Developers will likely use it in that most Developers will likely use it in conjunction with Visual Studioconjunction with Visual Studio

Page 44: Dotnet 3.0 Overview

Expressions Graphic Designer

This product represents Microsoft’s This product represents Microsoft’s attempt to move into the space attempt to move into the space occupied by Adobe Illustrator and occupied by Adobe Illustrator and CorelDrawCorelDraw

Vector GraphicsVector Graphics

Graphic Designer uses XAML as its Graphic Designer uses XAML as its native output languagenative output language

This, of course, facilitates using these This, of course, facilitates using these vector graphics in WPF applicationsvector graphics in WPF applications

Page 45: Dotnet 3.0 Overview

Expressions Media

The latest addition to the The latest addition to the Expressions suiteExpressions suite

Represents a content management Represents a content management system similar to Adobe Bridgesystem similar to Adobe Bridge

No direct relationship with WPFNo direct relationship with WPF

Page 46: Dotnet 3.0 Overview

Windows CardSpace

Private desktopPrivate desktopSeparate user contextSeparate user context

Protects against Protects against hackinghacking

Self-issued cardsSelf-issued cardsNon-corroboratedNon-corroborated

Stored locallyStored locally

Managed cardsManaged cardsCorroboratedCorroborated

Stored at STSStored at STS

Page 47: Dotnet 3.0 Overview

WS-*Web Services

Windows CardSpace

User Relying Party

Identity Provider

Page 48: Dotnet 3.0 Overview

Introduction to Windows CardSpace

Windows CardSpace is client software Windows CardSpace is client software that enables users to provide their digital that enables users to provide their digital identity to online services in a simple, identity to online services in a simple, secure and trusted way. secure and trusted way.

It is what is known as an It is what is known as an identity selectoridentity selector

The CardSpace UI enables users to The CardSpace UI enables users to create Personal cards (aka self-issued create Personal cards (aka self-issued cards) and associate a limited set of cards) and associate a limited set of identity data. identity data.

Page 49: Dotnet 3.0 Overview

Windows CardSpace

The architecture upon which The architecture upon which CardSpace has been built – CardSpace has been built – consisting of subjects, identity consisting of subjects, identity providers and relying parties – is providers and relying parties – is called “The Identity Metasystem”. called “The Identity Metasystem”.

Page 50: Dotnet 3.0 Overview

Microsoft .NET Framework 3.0

Windows Presentation Windows Presentation FoundationFoundation

Next generation user experienceNext generation user experience

““CardSpace”CardSpace”Digital identity managementDigital identity management

Windows Workflow Windows Workflow FoundationFoundation

Business process Business process modelingmodeling

Windows Communication Windows Communication FoundationFoundation

Service-oriented Service-oriented developmentdevelopment