Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Windows Presentation Foundation
Ronnie SaurenmannArchitect
Microsoft Switzerland
What Is User Experience?
Ease of UseLearn ability
PerformanceReliability
SecurityOptimized form factorsLegibility / Readability
Relevance / Contextualization
RichnessGraphics & MediaData VisualizationHigher Fidelity InformationGlobalizationAccessibilityHardware & Printing Integration
Measuring UX ROI(end user behaviors / benefits)
SuccessProductivity
RetentionComprehension
ConversionSatisfactionExcitementRepeat Use
User Experience in Software?User Experience in Software?
Windows VistaWindows Vista Office 2007Office 2007
Key Scenarios
NextNext--Gen Windows Smart Client applications:Gen Windows Smart Client applications:
• Installed desktop applications
• Browser applications (XAML Browser Application)
• Common code base and flexible deployment
Windows Presentation Foundation
• Deliver Innovative User Interfaces
• Increase Developer-Designer Productivity
• Achieve Flexible Application Deployment
• Leverage Existing Code Base and Skills Set
Superior UX with UI, Media & DocumentsSuperior UX with UI, Media & Documents
A productive, unified approach to UI, mediaA productive, unified approach to UI, mediaand documents to deliver unmatched UXand documents to deliver unmatched UX
Introducing WPF
Building & Deploying WPF Apps
Designer-Developer Productivity
•• Microsoft Tools for Designer & Microsoft Tools for Designer & DevelopersDevelopers
•• Declarative Programming through Declarative Programming through XAMLXAML
•• Third Party Tools (e.g. Aurora by Third Party Tools (e.g. Aurora by Mobiform, ZAM 3D by Electric Rain)Mobiform, ZAM 3D by Electric Rain)Designers designDesigners design
With XAML designers & With XAML designers & developers can streamline developers can streamline
their collaborationtheir collaborationDevelopers add business logicDevelopers add business logic
Form Factors & Hardware Acceleration
Sony VAIO U71 Toshiba M200 Toshiba 72MX195
• 6”
• 800 x 600
• 12”
• 1400 x 1050
• 72”
• PixelPure AT™
CPU GPU
2D Graphics, 3D Graphics, Imaging
2D Graphics2D Graphics 3D Graphics3D Graphics
ImagingImaging
<Border Width="400" BorderBrush="Green" BorderThickness="9">
<StackPanel><MediaElement Source="aero.wmv" /><Button>Hello</Button>
</StackPanel></Border>
• Formats: WMV, MPEG, Some AVIs• Can be synchronized with animations• Windows Media Foundation used to instantiate playback machinery
into a DirectShow graph
Audio & Video
Interoperability
Incrementally embrace WPF, while Incrementally embrace WPF, while preserving existing investments.preserving existing investments.
WPF - Windows Forms InteroperabilityWPF - HWNDs
WPF Summary
Deliver Innovative User InterfacesDeliver Innovative User Interfaces
Increase DeveloperIncrease Developer--Designer ProductivityDesigner Productivity
Achieve Flexible Application DeploymentAchieve Flexible Application Deployment
Leverage Existing Code Base & Skill SetLeverage Existing Code Base & Skill Set
WPF Resources
• WPF @ Windows Vista Developer Centerhttp://msdn.microsoft.com/windowsvista/building/presentation/
• WPF/WinFX Community Sitehttp://www.winfx.com
• Microsoft Expressionwww.microsoft.com/expression
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 1
Windows Communication Windows Communication Foundation (Foundation (““IndigoIndigo””))
Ronnie SaurenmannRonnie SaurenmannArchitectArchitectMicrosoft SwitzerlandMicrosoft [email protected]@microsoft.com
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 2
222
The Evolution of Application ArchitectureThe Evolution of Application Architecture
Clients
PCs
Web
Web Services
TMainframeDBMS
Business Logic
GUIClient/Server DBMSBusiness
LogicBusiness
Logic
BrowserMulti-Tier DBMSBusiness
Logic
Service-Oriented DBMS
Business Logic Business
Logic
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 3
333
WCF Client
WCF
CLR
Illustrating WCFIllustrating WCF
WCF Service
WCF
CLR
SOAP
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 4
444
What WCF Provides What WCF Provides
UnificationUnification of existing Microsoft of existing Microsoft technologies for distributed technologies for distributed applicationsapplications
InteroperabilityInteroperability with applications with applications built on platforms other than the built on platforms other than the .NET Framework.NET Framework
ServiceService--orientedoriented application supportapplication support
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 5
555
UnificationUnification
ASMX
Interoperable Web Services
x.NET –.NET
Communicationx
Support for WS-* Specs
x
.NETRemoting
Distributed Transactions, etc.
x
xQueued Messaging
EnterpriseServices
WSE MSMQ WCF
x
x
x
x
x
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 6
666
Services
AccessData
Relations
Logic ClientsUI
Logic
Objects
Tables <=> ObjectsSQL types <=> Java or CLR types
Objects <=> Interfaces and messagesJava or CLR types <=> XML types
ServiceService--OrientationOrientation
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 7
777
Transports Transports HTTP HTTP
XML XML XML, XSD, XPath XML, XSD, XPath
Messaging Messaging SOAP, SOAP, WSWS--Addressing, WSAddressing, WS--EventingEventing
SecuritySecurityWSWS--SecuritySecurity
WSWS--TrustTrustWSWS--FederationFederation
ReliabilityReliabilityWSWS--ReliableReliableMessagingMessaging
TransactionsTransactionsWSWS--AtomicTransactionAtomicTransaction
WSWS--CoordinationCoordination
Met
adat
aM
etad
ata
WSD
L, W
SW
SDL,
WS --
Polic
y,Po
licy,
WS
WS --
Dis
cove
ryD
isco
very
WSWS--**
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 8
Programming WCFProgramming WCF
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 9
Client Service
Clients and ServicesClients and Services
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 10
Client Service
EndpointsEndpoints
EndpointEndpoint
Endpoint
Endpoint
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 11
Service
CBA
CBA
Client
Address, Binding, ContractAddress, Binding, Contract
ABC
AddressWhere?
ContractWhat?
BindingHow?
EndpointEndpoint
CBA
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 12
Service
ServiceHost
Client
Creating EndpointsCreating Endpoints
ClientChannel
ABC CBA
CBA
CBA
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 13
Indigo can be used in any managed applicationIndigo can be used in any managed applicationASP.NET, COM+, EXE, NT Service, Winforms, AvalonASP.NET, COM+, EXE, NT Service, Winforms, Avalon
Windows Activation System (WAS)Windows Activation System (WAS)New activation subsystem in Windows Longhorn New activation subsystem in Windows Longhorn
Used by Indigo and IIS 7Used by Indigo and IIS 7
MessageMessage--based activation on any transportbased activation on any transport
Health monitoring, recyclingHealth monitoring, recycling
AdministrationAdministration
Hosting ModelsHosting Models
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 14
DemoDemo
Remote Remote ToUpperToUpper()()
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 15
MetadataMetadata
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 16
app/web.config
Client
Proxy.cs
Service
Describing EndpointsDescribing Endpoints
CBA
CBA
ABC
GetMetadata
WSDL
ABC
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 17
DemoDemo
SvcutilSvcutil
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 18
Programming WCFProgramming WCF
ContractsContractsBindingsBindingsMetadataMetadataBehaviorsBehaviors
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 19
ClientClient
ScenariosScenarios
BasicABC
PeerABC
Service
CBAWS
ABC
TcpABC
PeerCBA
TcpCBA
DuplexContractDuplexContract
Request/Reply, Request/Reply, OneWayOneWay
R/RR/R
Amazon
WSDL
CBAR/RR/R
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 20
ContractsContracts
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 21
Contracts in WCFContracts in WCF
[DataContract]
public class Order{[DataMember]
public int orderID;
[DataMember]
public int partNumber;
[DataMember]
public int price;
[DataMember]
public string info;
}
[DataContract]
public class Query{
[DataMember]public int orderID;
}
[DataContract]public class Info{[DataMember]public string info;
}
[ServiceContract]public interface IOrderService
{
[OperationContract]void Process(Order o);
[OperationContract]
Info GetInfo(Query q);
}
public class Order{
public int orderID;
public int partNumber;
public int price;
public string info;
public void Process();
public GetInfo();}
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 22
Describing MessagesDescribing Messages
UntypedUntyped((““universaluniversal””))
Typed Typed MessageMessage
[MessageContract]public class ChatRequest {[MessageHeader] public string Me;[MessageBody] public string Text;
}
void Chat(Message m){}
void Chat(ChatRequest m){}
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 23
Describing Message ExchangesDescribing Message Exchanges
Request/ReplyRequest/Reply
OneOne--waywayMessageMessage
DuplexDuplexContractsContracts
[OperationContract(IsOneWay = true)]void Chat(string text);
[OperationContract]string Echo(string text);
[ServiceContract(CallbackContract = typeof(IChat)]
public interface IChat {[OperationContract(IsOneWay = true)]void Chat(string text);}
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 24
ServerClient
DouplexDouplex
ABC
InitiateSendingQuotesInitiateSendingQuotes
CBAsendQuotesendQuote
WSWS WSWS
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 25
DemoDemo
Duplex and OneDuplex and One--WayWay
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 26
BindingsBindings
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 27
Inside BindingsInside Bindings
Transport
IPCMSMQ
Custom
TCP HTTP
ProtocolEncoders
Binary
Text
Custom
.NETTX
Custom
Security RM
BindingHTTP Text TXSecurity RM
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 28
Standard BindingsStandard Bindings
T | ST | S.NET.NETNetPeerTcpBindingNetPeerTcpBinding
OOT | ST | S.NET.NETNetNamedPipesBindingNetNamedPipesBindingT | ST | S.NET.NETNetMsmqBindingNetMsmqBinding
OOT | ST | S.NET.NETNetTcpBindingNetTcpBindingT | ST | SWSWSWsDualHttpBindingWsDualHttpBindingT | ST | SWSWSWsHttpBindingWsHttpBinding
TTBP 1.1BP 1.1BasicHttpBindingBasicHttpBinding
Stream
ingS
treaming
Duplex
Duplex
TransactionsTransactions
Session
Session
Security
Security
InteropInterop
T = Transport Security T = Transport Security || S = WSS = WS--Security | O = OneSecurity | O = One--Way OnlyWay Only
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 29
BasicHttpBindingBasicHttpBindingWsHttpBindingWsHttpBindingWsDualHttpBindingWsDualHttpBinding
Bindings: Out of the BoxBindings: Out of the Box
NetTcpBindingNetTcpBindingNetNamedPipeBindingNetNamedPipeBindingNetMsmqBindingNetMsmqBindingNetPeerTcpBindingNetPeerTcpBinding
InteroperableInteroperable
WCF to WCFWCF to WCF
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 30
ASMX/WSE3ASMX/WSE3 WCFWCF
WCFWCF ASMX/WSE3ASMX/WSE3
Integration using BindingsIntegration using Bindings
MSMQMSMQ WCFWCF
WCFWCF MSMQMSMQ
WSWS--* Protocols* Protocols
WSWS--* Protocols* Protocols
MSMQ ProtocolMSMQ Protocol
MSMQ ProtocolMSMQ Protocol
MSMQBinding
MSMQBinding
Http/WSBinding
Http/WSBinding
JavaJava WCFWCF
WCFWCF JavaJava
WSWS--* Protocols* Protocols
WSWS--* Protocols* Protocols
Http/WSBinding
Http/WSBinding
WCFWCF WCFWCFWSWS--* Protocols* Protocols *Binding
*Binding
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 31
Bindings: Decision TreeBindings: Decision Tree
BasicHttpBindingBasicHttpBinding
WsHttpBindingWsHttpBinding
InteropInterop??
What Level?What Level?
Duplex?Duplex?
WSDualHttpBindingWSDualHttpBinding
NetNamedPipeBindingNetNamedPipeBinding
NetMsmqBindingNetMsmqBinding
NetPeerTcpBindingNetPeerTcpBinding
NetTcpBindingNetTcpBinding
NoNo
BasicBasic
NoNo
YesYes
Local?Local?
Need Queues?Need Queues?
Peer to Peer?Peer to Peer?
NoNo
NoNo
NoNo
YesYes
YesYes
YesYes
WSWS
YesYes
But we support multiple endpoints
But we support But we support multiple endpointsmultiple endpoints
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 32
DemoDemo
Multiple endpoints, Multiple endpoints, InteropInterop and Securityand Security
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 33
Security Transport vs. Msg.Security Transport vs. Msg.Transport Level Advantages (HTTPS)Transport Level Advantages (HTTPS)
Performance. Once a secure transportPerformance. Once a secure transport--level channel is created, level channel is created, messages flow quickly.messages flow quickly.Known Entity. The HTTPS protocol has been in use for some time, Known Entity. The HTTPS protocol has been in use for some time, and is well understood by all.and is well understood by all.Deployment. Most sites that require secure message exchange are Deployment. Most sites that require secure message exchange are already equipped to use HTTPS.already equipped to use HTTPS.
Message Level Advantages (WSMessage Level Advantages (WS--SecuritySecurity) )
EndEnd--toto--end securityend securityData origin authentication. Every message contains data that Data origin authentication. Every message contains data that describes its point of origindescribes its point of originRich credentials. The credentials presented can be of various tyRich credentials. The credentials presented can be of various types.pes.Multiple credentials. Because of the flexibility of SOAP, multipMultiple credentials. Because of the flexibility of SOAP, multiple le credentials can be supplied with every message. credentials can be supplied with every message.
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 34
EncodingEncodingText, Binary, CustomText, Binary, Custom
Transport selectionTransport selectionTCP, HTTP, Named Pipes, P2P, MSMQ, CustomTCP, HTTP, Named Pipes, P2P, MSMQ, Custom
EndEnd--toto--end Securityend SecurityConfidentiality, integrity, Confidentiality, integrity, authNauthN, , authZauthZ, federation, federationCredentials: X509, User/Credentials: X509, User/PwdPwd, Kerberos, SAML, , Kerberos, SAML, InfoCardInfoCard, Custom, Custom
EndEnd--toto--end Reliable messagingend Reliable messagingTransport independent Transport independent QoSQoS (in order, exactly once)(in order, exactly once)Volatile and durable queues for availabilityVolatile and durable queues for availability
TransactionsTransactionsShared transactions for Shared transactions for ““synchronoussynchronous”” operationsoperationsTransactional queues for Transactional queues for ““asynchronousasynchronous”” operationsoperations
Binding FeaturesBinding Features
Next Generation Business Solutions Platform Strategy Review
7/13/2006 5:57 PM
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 35
Features SummaryFeatures SummaryAddress Binding BehaviorContract
HTTPHTTPTransportTransport
TCPTCPTransportTransport
NamedPipeNamedPipeTransportTransport
MSMQMSMQTransportTransport
CustomCustomTransportTransport
WSWS--SecuritySecurityProtocolProtocol
WSWS--RMRMProtocolProtocol
WSWS--CoordCoordProtocolProtocol
DuplexDuplexChannelChannel
CustomCustomProtocolProtocol
http://...http://...
net.tcpnet.tcp://...://...
net.pipenet.pipe://...://...
net.msmqnet.msmq://...://...
xxx://...xxx://...
ThrottlingThrottlingBehaviorBehavior
MetadataMetadataBehaviorBehavior
Error Error BehaviorBehavior
CustomCustomBehaviorBehavior
InstancingInstancingBehaviorBehavior
ConcurrencyConcurrencyBehaviorBehavior
TransactionTransactionBehaviorBehavior
SecuritySecurityBehaviorBehavior
Request/Request/ResponseResponse
OneOne--WayWay
DuplexDuplex
net.p2p://...net.p2p://...PeerPeer
TransportTransport
Externally visible, per-endpoint
Opaque, per-service,endpoint, or operation
Microsoft IT Forum 2005 Europe
Session ID
Workflow Technology (WF)Workflow Technology (WF)
Stefano MallStefano MallèèEnterprise Evangelism Lead / Swiss DPEEnterprise Evangelism Lead / Swiss [email protected]@microsoft.com
Microsoft IT Forum 2005 Europe
Session ID
Important LinksImportant Links
•Windows Workflow Foundation official site
•Windows Vista MSDN Home•Windows Workflow Foundation MSDN Home•Windows Workflow Foundation MSDN Forum
•Simplify Development With The Declarative Model Of Windows Workflow Foundation
Microsoft IT Forum 2005 Europe
Session ID
Workflow FoundationWorkflow Foundation
Microsoft IT Forum 2005 Europe
Session ID
4
Windows Workflow FoundationWindows Workflow Foundation……
isisA framework for building workflowA framework for building workflow--based applications on Windowsbased applications on WindowsTargeted at developersTargeted at developers
is notis notA complete workflow applicationA complete workflow applicationTargeted at information workers or Targeted at information workers or business analystsbusiness analysts
4
Microsoft IT Forum 2005 Europe
Session ID
5
WinFX, a superset of .NET 2.0WinFX, a superset of .NET 2.0
AvalonPresentation Workflow Communication
Base Operating System Services
Display Composition
Visual Styling
Interactive Data Visualization
Unified Workflow for applications
Universal Connectivity
Secure and Reliable
Internet Standards
Better code, better tested
Secure Isolated Execution
Robust Device Management
Software Deployment And Servicing
Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation
5
Microsoft IT Forum 2005 Europe
Session ID
6
Shipping WFShipping WF
Windows WF is part of WinFXWindows WF is part of WinFXItIt’’s built on the .NET Framework 2.0s built on the .NET Framework 2.0
WinFX will be available for:WinFX will be available for:Windows VistaWindows VistaWindows XPWindows XPWindows Server 2003Windows Server 2003
Beta 2.2 AvailableBeta 2.2 AvailableGOGO--LIVE License!LIVE License!
6
Microsoft IT Forum 2005 Europe
Session ID
Architectural PrinciplesArchitectural Principles
Microsoft IT Forum 2005 Europe
Session ID
9
Windows Workflow FoundationWindows Workflow Foundation
Key ConceptsKey Concepts
Visual Designer:Visual Designer: Graphical and codeGraphical and code--based based constructionconstruction
WorkflowsWorkflows are a set of are a set of ActivitiesActivities
Workflows run within a Workflows run within a Host ProcessHost Process: any : any application or serverapplication or server
Developers can build their own Developers can build their own Custom Activity LibrariesCustom Activity Libraries
ComponentsComponentsBase Activity Library:Base Activity Library: OutOut--ofof--box activities and box activities and
base for custom activitiesbase for custom activities
Runtime Engine:Runtime Engine: Workflow execution and state Workflow execution and state managementmanagement
Runtime Services:Runtime Services: Hosting flexibility and Hosting flexibility and communicationcommunication
Windows Workflow Windows Workflow FoundationFoundation
Base Activity LibraryBase Activity Library
Runtime EngineRuntime Engine
Runtime ServicesRuntime Services
Host ProcessHost Process
Custom Activity LibraryCustom Activity Library
A WorkflowA Workflow……
An ActivityAn Activity……
Visual DesignersVisual Designers
9
Microsoft IT Forum 2005 Europe
Session ID
11
RulesRules--driven Activitiesdriven Activities
Step2Step2
Step1Step1Rule1Rule1
Rule2Rule2
DataDataRules + data stateRules + data statedrive processing drive processing orderorder
••DataData--drivendriven••Simple Conditions, complex Policies Simple Conditions, complex Policies ••Constrained Activity GroupConstrained Activity Group
State Machine WorkflowState Machine Workflow
State2
State1EventEvent
EventEvent
External External events drive events drive processingprocessingorderorder
•Reactive, event-driven•Skip/re-work, exception mgmt•Graph metaphor
Sequential WorkflowSequential WorkflowStep1
Step2
SequentialSequentialstructure structure prescribesprescribesprocessing orderprocessing order
•Prescriptive, formal•Automation scenarios•Flowchart metaphor
Workflow TypesWorkflow Types
11
Microsoft IT Forum 2005 Europe
Session ID
13
OOB activities, OOB activities, workflow types,workflow types,
base typesbase typesActivity librariesActivity librariesdefine workflowdefine workflowconstructsconstructs
Create/Extend/ Create/Extend/ Compose activitiesCompose activities
AppApp--specific building specific building blocksblocks
FirstFirst--class citizensclass citizens
Base ActivityBase ActivityLibraryLibrary
Custom Activity Custom Activity LibrariesLibraries
Author new activity
Out-of-Box Activities
Extend activity
Compose activities
VerticalVertical--specific specific activities & workflowsactivities & workflows
BestBest--practice IP & practice IP & KnowledgeKnowledge
DomainDomain--Specific Specific Workflow PackagesWorkflow Packages
Compliance
BPEL
CRM
IT Mgmt
Sequencing engine driven by activities (no fixed language)Sequencing engine driven by activities (no fixed language)
Workflow as mainstream technologyWorkflow as mainstream technology
13
Microsoft IT Forum 2005 Europe
Session ID
SendMailSendMail
Microsoft IT Forum 2005 Europe
Session ID
16
CommunicationCommunication
Local App Object
Communication Services• Proxy management• Correlation
Local Application Remote Application
Workflow Runtime
Custom Host
Workflow Instances
CallExternalMethodHandleExternalEvent
Activities• Model sending and
receiving of data
Runtime• Scheduling
ASP.NET
Local App ObjectLocal App ObjectLocal App ObjectLocal App ObjectWeb Service
WebServiceInputWebServiceOutputWebServiceFaultInvokeWebService
16
Microsoft IT Forum 2005 Europe
Session ID
17
Web Services ActivitiesWeb Services Activities
InvokeWebServiceInvokeWebServiceLike Visual Studio Add Web ReferenceLike Visual Studio Add Web ReferenceParameter bindingParameter bindingCan manipulate the proxy before the callCan manipulate the proxy before the call
For example, to set credentialsFor example, to set credentials
SessionSession--awareaware
Consume Web ServiceConsume Web Service
WebServiceInputWebServiceInput, , WebServiceOutputWebServiceOutputModel 1Model 1--way and 2way and 2--way requests to the workflowway requests to the workflowDefine web service contract as an interfaceDefine web service contract as an interfaceParameter bindingParameter bindingGenerate default web service project plus artifactsGenerate default web service project plus artifacts
with a single click in Visual Studiowith a single click in Visual Studio
Expose Workflow as a Web ServiceExpose Workflow as a Web Service
17
Microsoft IT Forum 2005 Europe
Session ID
……allow you to provide allow you to provide conditioncondition--driven driven executionexecution behavior to a collection of behavior to a collection of activities. activities. This behavior allows you to define the This behavior allows you to define the condition under which a given activity will condition under which a given activity will execute, as opposed to defining a strict execute, as opposed to defining a strict sequencing or flow of activity execution. sequencing or flow of activity execution.
Conditioned Activity Group Conditioned Activity Group ActivityActivityPolicy Policy ActivityActivity
RuleRule--driven Workflowdriven Workflow
18
Microsoft IT Forum 2005 Europe
Session ID
Banking ScenarioBanking Scenario
Microsoft IT Forum 2005 Europe
Session ID
22
TransactionsTransactions
Why?Why?Need to synchronize resource information between the Need to synchronize resource information between the workflow and the host applicationworkflow and the host applicationNeed to ensure that all information or none will be Need to ensure that all information or none will be committed to the databasecommitted to the database……
What?What?Atomic TransactionsAtomic TransactionsLongLong--running Workflow with Compensationrunning Workflow with Compensation
How?How?Transactional Activities (TransactionScope, Transactional Activities (TransactionScope, Compensate)Compensate)Transactional ServiceTransactional Service
22
Microsoft IT Forum 2005 Europe
Session ID
Banking ScenarioBanking Scenario
Microsoft IT Forum 2005 Europe
Session ID
SPS & Authoring WorkflowsSPS & Authoring Workflows
Microsoft IT Forum 2005 Europe
Session ID
25
Visual Studio & Workflow SDKVisual Studio & Workflow SDK
OutOut--ofof--thethe--BoxBoxSolutionsSolutions
(with customization)(with customization)
Sharepoint EditorSharepoint Editor
Routing & ApprovalRouting & Approval
Tracking ApplicationsTracking Applications
List ModerationList Moderation
Document ExpirationDocument Expiration
ProfessionalProfessional D
eveloper End User
Developer End U
ser
Custom Tracking AppsCustom Tracking Apps
Document ProcessesDocument Processes
Custom Form ActionsCustom Form Actions
LOB LOB integrationintegration
Industry specific Industry specific processesprocesses
AuthoringAuthoring Scenario PyramidScenario Pyramid
25
Microsoft IT Forum 2005 Europe
Session ID
SPSSPS
Microsoft IT Forum 2005 Europe
Session ID
Business ValueBusiness Value
Microsoft IT Forum 2005 Europe
Session ID
28
Business ValueBusiness Value
Development & Maintenance Cost ReductionDevelopment & Maintenance Cost ReductionReuse / Buy activitiesReuse / Buy activitiesReadability / selfReadability / self--documenting documenting
Though the workflowThough the workflow--based version of the program is more verbose, it is also more based version of the program is more verbose, it is also more transparent, easier to change (especially by nontransparent, easier to change (especially by non--C# programmers)C# programmers)
Unified Model for WorkflowUnified Model for WorkflowMove to BTSMove to BTSOfficeOfficeWeb/WinWeb/Win
Business AgilityBusiness AgilityProcess SimilarityProcess SimilarityBus Rule AffinityBus Rule AffinityRuntime Access to business logic Runtime Access to business logic
And outAnd out--ofof--thethe--boxboxTraceabilityTraceabilityPersistence (longPersistence (long--running processes)running processes)
28
Microsoft IT Forum 2005 Europe
Session ID
29
©© 2005 Microsoft Corporation. All rights reserved.2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. This presentation is for informational purposes only.
MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMAMICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.RY.
29
Microsoft IT Forum 2005 Europe
Session ID
WF & BizTalkWF & BizTalk
Microsoft IT Forum 2005 Europe
Session ID
31
Workflow and BizTalk ServerWorkflow and BizTalk Server
MessagingMessagingDesignDesignToolsTools
BusinesBusinesss
ActivityActivityMonitorMonitor
AndAndAdminAdminToolsTools
OrchestrationOrchestration
TransformationTransformation
AdaptersAdapters
BizTalkBizTalk ServerServerAcceleratorsAccelerators
Premium BPM serverPremium BPM serverDistinct server productDistinct server product
Use in B2B, EAI, BPM scenariosUse in B2B, EAI, BPM scenarios
Deployable solutionsDeployable solutions
Manageability, ScaleManageability, Scale--outout
WorkflowWorkflow
Future version will migrate to Windows Future version will migrate to Windows Workflow Foundation for orchestrationWorkflow Foundation for orchestration
WinFXWinFX
Visual Studio DesignerVisual Studio Designer
Windows Workflow Windows Workflow FoundationFoundation
Workflow frameworkWorkflow frameworkExposed via WinFX Exposed via WinFX
Broad set of scenarios Broad set of scenarios
Used to build solutionsUsed to build solutions
Enables manageability and scaleEnables manageability and scale--out in out in solutionssolutions
Use for building workflow into apps or Use for building workflow into apps or workflow enabled serversworkflow enabled servers
31
Microsoft IT Forum 2005 Europe
Session ID
32
BPM Feature ComparisonBPM Feature ComparisonFeatureFeature
BizTalk BizTalk 20062006 Workflow fxWorkflow fx
Orchestration / Workflow EngineOrchestration / Workflow EngineRules EngineRules EngineBusiness Activity Monitoring (BAM)Business Activity Monitoring (BAM)EAI & B2B Designer ToolsEAI & B2B Designer ToolsBusiness Analyst ToolsBusiness Analyst ToolsTracking Database and ReportingTracking Database and ReportingHost Failover InfrastructureHost Failover InfrastructureCross Platform Pipelines, Parsers & SerializersCross Platform Pipelines, Parsers & SerializersB2B Trading Partner Config and Communication ToolsB2B Trading Partner Config and Communication ToolsRuntime Scale Out InfrastructureRuntime Scale Out InfrastructureXSLT Transform and Mapper ToolsXSLT Transform and Mapper ToolsXML Schema Designer ToolsXML Schema Designer ToolsCross Platform LOB AdaptersCross Platform LOB AdaptersPub/Sub MessageBoxPub/Sub MessageBoxApplication to Application IntegrationApplication to Application IntegrationDeployment, Management and Monitoring ToolsDeployment, Management and Monitoring ToolsBusiness Process Management (BPM)Business Process Management (BPM)
UnfinishedUnfinishedSlideSlide
32
Microsoft IT Forum 2005 Europe
Session ID
33
•• Office Office ““1212”” workflow support with the workflow support with the Sharepoint Adapter.Sharepoint Adapter.•• Web Services support to connect into Web Services support to connect into workflow enabled applications.workflow enabled applications.
•• BizTalk Server built natively on Windows Workflow BizTalk Server built natively on Windows Workflow Foundation.Foundation.
••Continued support for existing orchestration technology.Continued support for existing orchestration technology.
BizTalk and Workflow RoadmapBizTalk and Workflow Roadmap
33
Microsoft IT Forum 2005 Europe
Session ID
©© 2005 Microsoft Corporation. All rights reserved. This presentat2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.ion is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMAMICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.RY.
Microsoft IT Forum 2005 Europe
Session ID
Rule Driven WorkflowsRule Driven Workflows
Microsoft IT Forum 2005 Europe
Session ID
36
……allow you to provide allow you to provide conditioncondition--driven driven executionexecution behavior to a collection of behavior to a collection of activities. activities. This behavior allows you to define the This behavior allows you to define the condition under which a given activity will condition under which a given activity will execute, as opposed to defining a strict execute, as opposed to defining a strict sequencing or flow of activity execution. sequencing or flow of activity execution.
Conditioned Activity Group Conditioned Activity Group ActivityActivityPolicy Policy ActivityActivity
RuleRule--driven Workflowdriven Workflow
36
Microsoft IT Forum 2005 Europe
Session ID
37
Amount = $25 Amount = $25 Total = $80Total = $80DiscountDiscount = 10%= 10%
Rule 1 (P0)Rule 1 (P0)IfIf Total < $100 Total < $100 ThenThen Discount = 10%Discount = 10%
Rule 2 (P0)Rule 2 (P0)IfIf Total >= $100Total >= $100ThenThen Discount = 15%Discount = 15%
Rule 3 (P0)Rule 3 (P0)IfIf NewAmount > $0NewAmount > $0ThenThen Total = Total + Total = Total +
NewAmountNewAmount
Simple ExampleSimple Example
Rule 1Rule 1Rule 3 Rule 3 Rule 2Rule 2
Execution Sequence
$105$105
RuleSet
15%15%37
Microsoft IT Forum 2005 Europe
Session ID
PolicyPolicy