SlideShare una empresa de Scribd logo
1 de 39
 
WinFX Rolando Sandoval Wayik [email_address]
Agenda ,[object Object],[object Object],[object Object],[object Object]
WinFX: .NET To The Core
Windows Communication Foundation
The Imperative to Connect MOBILE EMPLOYEES CUSTOMERS MOBILE EMPLOYEES CUSTOMERS
SOA Made Simple
What We Hear From You “ What API should I use?” “ How do I build service-oriented systems?” “ How can I send messages securely & reliably?” “ How do I develop interoperable applications?”
Windows Communication Foundation The Unified Programming Model For Rapidly Building  Service-Oriented Applications
Windows Communication Foundation INTEROPERABILITY PRODUCTIVITY SERVICE-ORIENTED DEVELOPMENT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SERVICE ORIENTATION
From Objects to Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Service-Oriented Component-Oriented 1980s 2000s 1990s
Four Tenets of Service Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit
Binding Address Contract
WS-* Protocol Support XML Messaging Security Transactions Reliable Messaging Metadata
Windows Communication Foundation
Windows Workflow Foundation
Windows Workflow Foundation The Programming Model, Engine And Tools For Building Workflow  Enabled Applications  On The Windows Platform.
Workflow Software Challenges “ Orders are confirmed in  48 hours and shipped within 30 days” “ Most suppliers confirm our orders but some forget and we need to follow up” “ What is the status of this order and what is the next step?” Long Running & Stateful Require Flexible Control Flow Must Provide Transparency Workflows  run  for up  to 30 days and must maintain state throughout Flexibility for people to override or skip steps in the workflow Rendering runtime state within a visualization of the workflow control flow
What Is A Workflow? A Set Of  Activities   That Coordinates People  And Software... Like a flowchart….  Or a state diagram….  EX: Check Inventory EX: Escalate To Manager
Activity Basics ,[object Object],The unit of execution, re-use and composition Basic activities are steps within a workflow Composite activities contains other activities Base Activity Library provides out-of-the-box activity set Partners and customers author custom activities
Flexible Control Flow Rules + data state drive processing order Rules-driven Activities ,[object Object],[object Object],[object Object],State Machine Workflow External events drive processing order ,[object Object],[object Object],[object Object],Sequential Workflow Sequential structure  Prescribes processing order ,[object Object],[object Object],[object Object],Step1 Step2 State2 State1 Event Event Rule1 Rule2 Data Step2 Step1
Windows Workflow Foundation
Workflow Basics A workflow class may be defined in markup A workflow is a class
Building A Workflow
Windows Presentation Foundation
Windows Presentation Foundation A productive, unified approach to UI, media and documents to deliver unmatched user experience
What Is User Experience?
User Experience in Software? Ease of Use Learn ability Performance Reliability Security Optimized form factors Legibility / Readability Relevance / Contextualization Richness Graphics & Media Data Visualization Higher Fidelity Information Globalization Accessibility Hardware & Printing Integration Windows Vista Office 2007 Measuring UX ROI (end user behaviors / benefits) Success Productivity Retention Comprehension  Conversion Satisfaction Excitement Repeat Use
Windows Presentation Foundation ,[object Object],[object Object],[object Object],[object Object],Superior UX with UI, Media & Documents A productive, unified approach to UI, media and documents to deliver unmatched UX
InfoCard
Who Are You?
The Imperative To Connect
The Internet Identity Crisis ,[object Object],[object Object],[object Object],[object Object]
"InfoCard" ,[object Object],[object Object],[object Object],[object Object],Easier Safer Built on WS-* Web Services Protocols
"InfoCard" Cards ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],SELF - ISSUED MANAGED
Microsoft InfoCard & WS-* Click “Login” Return <OBJECT> tag Request Metadata (WS-MetadataExchange) Return Metadata (XSD, WSDL, WS-Policy, WS-SecurityPolicy) Request Security Token (WS-Trust, WS-Security) Return Security Token Submit Security Token & Login To Web Site Select InfoCard
WinFX Resources ,[object Object]
 

Más contenido relacionado

La actualidad más candente

Primavera unifier integration_wp
Primavera unifier integration_wpPrimavera unifier integration_wp
Primavera unifier integration_wpCampin Chou
 
Moss 2007 overview webology
Moss 2007 overview webologyMoss 2007 overview webology
Moss 2007 overview webologynrnice
 
Ukfs Snr Dev Arch Forum Pres1 Jb
Ukfs Snr Dev Arch Forum Pres1 JbUkfs Snr Dev Arch Forum Pres1 Jb
Ukfs Snr Dev Arch Forum Pres1 JbAllyWick
 
Middleware often sits between the operating system and applications on differ...
Middleware often sits between the operating system and applications on differ...Middleware often sits between the operating system and applications on differ...
Middleware often sits between the operating system and applications on differ...Matthew Warner
 
CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3
CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3
CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3Peter de Haas
 
Office Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAsOffice Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAsMike Walker
 
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...jward5519
 
Best sharepoint development services
Best sharepoint development servicesBest sharepoint development services
Best sharepoint development servicesseoquixtec
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systemsrsnarayanan
 
Azure Overview Capgemini
Azure Overview CapgeminiAzure Overview Capgemini
Azure Overview Capgeminibramveen
 
Manage Your SharePoint Document Libraries Easily
Manage Your SharePoint Document Libraries EasilyManage Your SharePoint Document Libraries Easily
Manage Your SharePoint Document Libraries Easilyseoquixtec
 
Live Framework
Live FrameworkLive Framework
Live Frameworkukdpe
 
Use Microsoft Flow Connectors to create a powerful business process app
Use Microsoft Flow Connectors to create a powerful business process appUse Microsoft Flow Connectors to create a powerful business process app
Use Microsoft Flow Connectors to create a powerful business process appMarkus Alt
 
The Features Of Custom Solution Development Services
The Features Of Custom Solution Development ServicesThe Features Of Custom Solution Development Services
The Features Of Custom Solution Development Servicesseoquixtec
 
Microsoft Biz Talk Server
Microsoft Biz Talk ServerMicrosoft Biz Talk Server
Microsoft Biz Talk ServerAshish Bagade
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)WSO2
 
SOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsSOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsYaniv Pessach
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 
Federation Services
Federation ServicesFederation Services
Federation ServicesEmpowerID
 

La actualidad más candente (20)

Primavera unifier integration_wp
Primavera unifier integration_wpPrimavera unifier integration_wp
Primavera unifier integration_wp
 
Moss 2007 overview webology
Moss 2007 overview webologyMoss 2007 overview webology
Moss 2007 overview webology
 
Ukfs Snr Dev Arch Forum Pres1 Jb
Ukfs Snr Dev Arch Forum Pres1 JbUkfs Snr Dev Arch Forum Pres1 Jb
Ukfs Snr Dev Arch Forum Pres1 Jb
 
Middleware often sits between the operating system and applications on differ...
Middleware often sits between the operating system and applications on differ...Middleware often sits between the operating system and applications on differ...
Middleware often sits between the operating system and applications on differ...
 
CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3
CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3
CoNGNes 2009 - Microsoft BPOS - 22-01-2009 - Final - PPT2K3
 
Office Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAsOffice Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAs
 
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
 
Team Thunder Cloud
Team Thunder CloudTeam Thunder Cloud
Team Thunder Cloud
 
Best sharepoint development services
Best sharepoint development servicesBest sharepoint development services
Best sharepoint development services
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systems
 
Azure Overview Capgemini
Azure Overview CapgeminiAzure Overview Capgemini
Azure Overview Capgemini
 
Manage Your SharePoint Document Libraries Easily
Manage Your SharePoint Document Libraries EasilyManage Your SharePoint Document Libraries Easily
Manage Your SharePoint Document Libraries Easily
 
Live Framework
Live FrameworkLive Framework
Live Framework
 
Use Microsoft Flow Connectors to create a powerful business process app
Use Microsoft Flow Connectors to create a powerful business process appUse Microsoft Flow Connectors to create a powerful business process app
Use Microsoft Flow Connectors to create a powerful business process app
 
The Features Of Custom Solution Development Services
The Features Of Custom Solution Development ServicesThe Features Of Custom Solution Development Services
The Features Of Custom Solution Development Services
 
Microsoft Biz Talk Server
Microsoft Biz Talk ServerMicrosoft Biz Talk Server
Microsoft Biz Talk Server
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
SOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsSOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basics
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Federation Services
Federation ServicesFederation Services
Federation Services
 

Similar a WinFX guide covers WCF, WF and WPF with InfoCard integration

The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLJorgen Thelin
 
Microsoft Online Services Partner Core Deck
Microsoft Online Services Partner Core DeckMicrosoft Online Services Partner Core Deck
Microsoft Online Services Partner Core Deckjessiethe3rd
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comAlistair Croll
 
Azure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedAzure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedWes Yanaga
 
Malta soa infrastructure
Malta soa infrastructureMalta soa infrastructure
Malta soa infrastructureAngel Knight
 
DEVNET-1132 Create B2B Exchanges with Cisco Connected Processes
DEVNET-1132	Create B2B Exchanges with Cisco Connected ProcessesDEVNET-1132	Create B2B Exchanges with Cisco Connected Processes
DEVNET-1132 Create B2B Exchanges with Cisco Connected ProcessesCisco DevNet
 
Ws Soa V6 Theory And Practice
Ws Soa V6 Theory And PracticeWs Soa V6 Theory And Practice
Ws Soa V6 Theory And PracticePini Cohen
 
End User Development - Governance and Risk Management
End User Development - Governance and Risk ManagementEnd User Development - Governance and Risk Management
End User Development - Governance and Risk ManagementDaniel Li
 
Chronos Workflow Platform │Brochure │IT - BPA
Chronos Workflow Platform │Brochure │IT - BPAChronos Workflow Platform │Brochure │IT - BPA
Chronos Workflow Platform │Brochure │IT - BPAANDREA Szabo
 
John N. Lewis - Resume - Public
John N. Lewis - Resume - Public John N. Lewis - Resume - Public
John N. Lewis - Resume - Public John N. Lewis
 
SAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich ClientSAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich ClientEric Molner
 
Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overviewRohan Walia
 
Windows Azure in Qatar
Windows Azure in QatarWindows Azure in Qatar
Windows Azure in Qatarguestb9112
 
xRM - as an Evolution of CRM
xRM - as an Evolution of CRMxRM - as an Evolution of CRM
xRM - as an Evolution of CRMCatherine Eibner
 
2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Servicesssphelps
 
2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech ServicesSEdwardPhelps
 
2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Servicesssphelps
 
Encontrando la Aguja en el Rendimiento de Aplicaciones
Encontrando la Aguja en el Rendimiento de AplicacionesEncontrando la Aguja en el Rendimiento de Aplicaciones
Encontrando la Aguja en el Rendimiento de AplicacionesSoftware Guru
 
20080117 Iasa Software + Services
20080117   Iasa   Software + Services20080117   Iasa   Software + Services
20080117 Iasa Software + ServicesDavid Chou
 

Similar a WinFX guide covers WCF, WF and WPF with InfoCard integration (20)

The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRL
 
Microsoft Online Services Partner Core Deck
Microsoft Online Services Partner Core DeckMicrosoft Online Services Partner Core Deck
Microsoft Online Services Partner Core Deck
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.com
 
Azure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedAzure Services Platform Oc Event Ned
Azure Services Platform Oc Event Ned
 
Malta soa infrastructure
Malta soa infrastructureMalta soa infrastructure
Malta soa infrastructure
 
DEVNET-1132 Create B2B Exchanges with Cisco Connected Processes
DEVNET-1132	Create B2B Exchanges with Cisco Connected ProcessesDEVNET-1132	Create B2B Exchanges with Cisco Connected Processes
DEVNET-1132 Create B2B Exchanges with Cisco Connected Processes
 
Ws Soa V6 Theory And Practice
Ws Soa V6 Theory And PracticeWs Soa V6 Theory And Practice
Ws Soa V6 Theory And Practice
 
Next_Gen_Overview
Next_Gen_OverviewNext_Gen_Overview
Next_Gen_Overview
 
End User Development - Governance and Risk Management
End User Development - Governance and Risk ManagementEnd User Development - Governance and Risk Management
End User Development - Governance and Risk Management
 
Chronos Workflow Platform │Brochure │IT - BPA
Chronos Workflow Platform │Brochure │IT - BPAChronos Workflow Platform │Brochure │IT - BPA
Chronos Workflow Platform │Brochure │IT - BPA
 
John N. Lewis - Resume - Public
John N. Lewis - Resume - Public John N. Lewis - Resume - Public
John N. Lewis - Resume - Public
 
SAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich ClientSAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich Client
 
Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overview
 
Windows Azure in Qatar
Windows Azure in QatarWindows Azure in Qatar
Windows Azure in Qatar
 
xRM - as an Evolution of CRM
xRM - as an Evolution of CRMxRM - as an Evolution of CRM
xRM - as an Evolution of CRM
 
2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services
 
2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services
 
2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services2011 09 19 Radiss Tech Services
2011 09 19 Radiss Tech Services
 
Encontrando la Aguja en el Rendimiento de Aplicaciones
Encontrando la Aguja en el Rendimiento de AplicacionesEncontrando la Aguja en el Rendimiento de Aplicaciones
Encontrando la Aguja en el Rendimiento de Aplicaciones
 
20080117 Iasa Software + Services
20080117   Iasa   Software + Services20080117   Iasa   Software + Services
20080117 Iasa Software + Services
 

WinFX guide covers WCF, WF and WPF with InfoCard integration

  • 1.  
  • 2. WinFX Rolando Sandoval Wayik [email_address]
  • 3.
  • 4. WinFX: .NET To The Core
  • 6. The Imperative to Connect MOBILE EMPLOYEES CUSTOMERS MOBILE EMPLOYEES CUSTOMERS
  • 8. What We Hear From You “ What API should I use?” “ How do I build service-oriented systems?” “ How can I send messages securely & reliably?” “ How do I develop interoperable applications?”
  • 9. Windows Communication Foundation The Unified Programming Model For Rapidly Building Service-Oriented Applications
  • 10.
  • 12.
  • 13. Four Tenets of Service Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit
  • 15. WS-* Protocol Support XML Messaging Security Transactions Reliable Messaging Metadata
  • 18. Windows Workflow Foundation The Programming Model, Engine And Tools For Building Workflow Enabled Applications On The Windows Platform.
  • 19. Workflow Software Challenges “ Orders are confirmed in 48 hours and shipped within 30 days” “ Most suppliers confirm our orders but some forget and we need to follow up” “ What is the status of this order and what is the next step?” Long Running & Stateful Require Flexible Control Flow Must Provide Transparency Workflows run for up to 30 days and must maintain state throughout Flexibility for people to override or skip steps in the workflow Rendering runtime state within a visualization of the workflow control flow
  • 20. What Is A Workflow? A Set Of Activities That Coordinates People And Software... Like a flowchart…. Or a state diagram…. EX: Check Inventory EX: Escalate To Manager
  • 21.
  • 22.
  • 24. Workflow Basics A workflow class may be defined in markup A workflow is a class
  • 27. Windows Presentation Foundation A productive, unified approach to UI, media and documents to deliver unmatched user experience
  • 28. What Is User Experience?
  • 29. User Experience in Software? Ease of Use Learn ability Performance Reliability Security Optimized form factors Legibility / Readability Relevance / Contextualization Richness Graphics & Media Data Visualization Higher Fidelity Information Globalization Accessibility Hardware & Printing Integration Windows Vista Office 2007 Measuring UX ROI (end user behaviors / benefits) Success Productivity Retention Comprehension Conversion Satisfaction Excitement Repeat Use
  • 30.
  • 33. The Imperative To Connect
  • 34.
  • 35.
  • 36.
  • 37. Microsoft InfoCard & WS-* Click “Login” Return <OBJECT> tag Request Metadata (WS-MetadataExchange) Return Metadata (XSD, WSDL, WS-Policy, WS-SecurityPolicy) Request Security Token (WS-Trust, WS-Security) Return Security Token Submit Security Token & Login To Web Site Select InfoCard
  • 38.
  • 39.  

Notas del editor

  1. Speaker Notes This 1-hour presentation provides a technical overview of the Windows Communication Foundation, previously codenamed “Indigo.” This presentation is targeted primarily at developers and architects. By the end of this presentation, you will understand the what, why, and how of WCF: What WCF is and what it provides developers, Why Microsoft is building it (the challenges we hope to overcome with WCF), and How WCF works, how it interacts with other Microsoft products (including the .NET Framework 2.0, Visual Studio 2005, and BizTalk Server), and how you can take advantage of WCF when building connected systems. Transition to next slide: Let’s begin by discussing the motivation behind WCF. 11/25/09 02:18 © 2004 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
  2. InfoCard, is part of WinFX … built on .NET.
  3. Speaker Notes This 1-hour presentation provides a technical overview of the Windows Communication Foundation, previously codenamed “Indigo.” This presentation is targeted primarily at developers and architects. By the end of this presentation, you will understand the what, why, and how of WCF: What WCF is and what it provides developers, Why Microsoft is building it (the challenges we hope to overcome with WCF), and How WCF works, how it interacts with other Microsoft products (including the .NET Framework 2.0, Visual Studio 2005, and BizTalk Server), and how you can take advantage of WCF when building connected systems. Transition to next slide: Let’s begin by discussing the motivation behind WCF. 11/25/09 02:18 © 2004 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
  4. The world we live in is more connected than ever before, and the imperative to connect spans the boundaries of platforms and geography. This need to connect was once limited to communication within a business, but now it’s expanded beyond the walls of the enterprise. Connected systems today must support all sorts of scenarios, whether it’s corporations communicating with partner businesses or mobile employees logging into corporate servers. In fact, sometimes the scenarios don’t even involve a business – connection is as varied as families sharing pictures or teenagers IMing. But building distributed applications that support these scenarios is difficult, particularly since each scenario imposes different constraints on the application. For corporations communicating across platforms, interoperability might be the most important requirement. For mobile employees using corporate resources over insecure networks, security might be most important. But for other users, like families videoconferencing, interoperability and security might be less important than performance, for a faster frame rate. 11/25/09 02:18 © 2004 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
  5. We hear similar questions about these problems from developers building distributed applications everywhere. They need to know how to develop interoperable applications, so that their applications can communicate with other applications on partner platforms. They need to send messages securely and reliably, so that their users’ data is protected and guaranteed to be received. And they want to know how they can use the principles of service-orientation to build a flexible application that changes gradually, to adapt to their changing business needs. These are all problems that have nothing to do with business logic, and these are the issues that WCF is designed to solve. That way you as developers can focus on what’s really important – the business logic of your application. Transition : Given that, what exactly is WCF? 11/25/09 02:18 © 2004 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
  6. WCF is the unified framework for rapidly building secure, reliable, interoperable, service-oriented applications. It’s a set of classes that extends the .NET Framework 2.0 that you can use to take care of the dirty work of building distributed systems. WCF is a part of WinFX, the next-generation programming model for Windows Vista and beyond. Transition : Before we dive into WCF, let’s do a quick demo to see how WCF works in practice.
  7. Speaker Notes WCF is designed around three pillars or design goals. We’ll drill into each of them in this presentation. &lt;click&gt; The first design goal is productivity . When we talk about productivity, we’re talking about bringing together the various technologies available today for building distributed applications (COM+ and .NET Enterprise services, MSMQ, .NET Remoting, ASP.NET Web Services, Web Services Enhancements (WSE)) into a single, unified programming model. Why is this important? First, it reduces complexity by allowing us to focus on a single programming model rather than learn multiple programming models. Second, it allows us to combine the functionality of today’s technologies in ways that we can’t today. Finally, it allows us to use a single programming model for building distributed applications that communicate with one another on a single machine, across multiple machines, and across the Internet. &lt;click&gt; The second design goal is interoperability . We talk about interoperability on two different pivots. First, WCF enables you to build services that use advanced Web services protocols (WS-*) by default, to enable your application to communicate with other applications on partner platforms. Second, we built WCF to provide a smooth integration and upgrade story for the distributed applications you’ve built on today’s Microsoft technologies (WSE, ASMX, .NET Enterprise Services, System.Messaging, .NET Remoting). Why are interop and integration important? First, the ability to communicate with applications running on other platforms provides you with the flexibility you need when working in a heterogeneous environment. Second, the ability to communicate with existing applications protects your investments and provides you with an optional, incremental upgrade path to WCF. &lt;click&gt; The third design goal is all about service orientation . WCF provides developers with a highly productive programming model for building service-oriented applications. At Microsoft, we think of service-orientation as a best practice for building distributed systems that involves developing loosely-coupled services that can be independently managed, updated, and deployed, so that your application as a whole is flexible and changes gradually. Transition to next slide: Let’s talk about these 3 concepts in more detail. 11/25/09 02:18 © 2004 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
  8. Service orientation has come to have a number of meanings in the industry today. To us at Microsoft, it’s a set of best practices for building distributed systems. 11/25/09 02:18 © 2004 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
  9. Speaker Notes We at Microsoft see service orientation as not a revolution, but an evolution in the way we create abstractions in code. For years, software development has focused on how to best reuse the code that we write. Ultimately, people and businesses want long-term return on their short-term investments in code. We’ve seen 3 waves of advancement in this movement in recent decades: 1980s and Object-Orientation: Object-oriented development promised the idea of building reusable abstractions (called classes) that we could then inherit from in order to reuse the base class functionality. This shift from simple procedural-based code brought with it a lot of benefits including polymorphism (the ability to dynamically bind types at runtime), abstractions that included both state and behavior, and encapsulation (controlling which parts of the code the external world can access). However, object-orientation by itself didn’t facilitate the dynamic evolution of software at runtime. Once an application was built, it was static. There wasn’t an easy way to infuse new code into an application. 1990s and Components: Component-based development helped us overcome this challenge. It forced the developer to think about the external facing interface of the application. This enabled us to build systems that dynamically load and bind to new functionality at runtime (an application discovers new components after it has been built) and introduced the notion of an application as a growing/evolving organism. To facilitate dynamic loading, we saw a big emphasis on runtime metadata. In the past, you couldn’t easily discern application capabilities since there was very little/rudimentary metadata information stored as part of the application. Whereas C and C++ programs from 1980s were these relatively opaque collections of code, component-based applications of the 1990s enabled runtime inspection of code to determine what a particular component supported. This introduced the notion of self-describing systems. But while this metaphor worked really well on a single machine (using method invocation on an object reference), we hit scaling problems when we tried to stretch it out and apply it as the substrate for distributed software integration (across machines, etc). 2000s and Service-Orientation – With service orientation, we retain the benefits of self-describing applications, explicit encapsulation, and dynamic loading of functionality. What changes is the metaphor with which we accomplish it. Instead of using method invocation on an object reference, we shift the conversation to that of message passing – a proven metaphor for scalable distributed software integration. In addition, to support dynamic loading of service-based functionality, we use schema to describes the structure of messages, behavioral contract to define acceptable message exchange patterns, and policy to define service semantics. WCF facilitates using these service-oriented constructs to build flexible, adaptable applications. Transition to next slide: We’ve isolated four concrete tenets that define service orientation. 11/25/09 02:18 © 2004 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
  10. Speaker Notes Tenet 1: Boundaries are Explicit. Based on the underlying concept of encapsulation, this tenet specifies the publishing and consumption of functionality as sets of services that abstract their underlying implementation. With WCF, the attribute-based programming enables developers to explicitly define external service contracts. Without explicitly defining these, nothing within the class will be exposed publicly. In other words, WCF provides an opt-in model for explicitly defining service boundaries. Tenet 2: Services are Autonomous. Autonomy means we design the system to support the inevitable evolution of the service’s implementation over time. As we build our services, we need to assume that their internal implementation will evolve (be versioned) over time and that our services as well as the services on which we depend could change location at any time. Tenet 3: Services share schema and contract, not class. For those of you who are familiar with ASMX, this is exactly how ASMX works. The service publishes a contract that clients use to generate their own code to call the service. No types are shared between service and its clients by default. In addition, neither service requires knowledge of each other’s internal workings in order to exchange data – they only need the published schemas &amp; contracts Tenet 4: Service compatibility is determined based on policy. Services communicate through dynamically negotiated communications channels that support the necessary semantics (security, reliability, etc). Service policy statements are created automatically based on configuration, class attributes, and method signatures. Client channels are automatically configured via retrieved service policy. By “name” means that we reference a well known name in Policy that represents a whole specification of behavior that needs to be used when talking to this endpoint. Transition : now that we’ve covered the three pillars of WCF, let’s take a high-level look at how a service actually works. 11/25/09 02:18 © 2004 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
  11. Speaker Notes Here’s a high-level view of the WCF architecture. At the top is your code, the code you’re developing in Visual Studio or your environment. &lt;click&gt;The WCF service uses an address (like “http://localhost”), a binding that determins how the service communicates, and a contract that specifies what operations the service can carry out. &lt;click&gt;The binding consists of modules that specify how the service communicates, such as &lt;click&gt; which transport the service communicates on, whether http, tcp, etc &lt;click&gt; what encoder the service uses, like a text/XML encoder, a binary encoder, or a custom encoder &lt;click&gt; what kind of security the service requires &lt;click&gt; and any other communication requirements. &lt;click&gt; When a message comes into the service, it is taken off the transport &lt;click&gt; decoded with the proper decoder &lt;click&gt; security is negotiated away &lt;click&gt; and then the message is dispatched to the appropriate part of your code.
  12. Speaker Notes When Web services were first introduced, they promised standards-based, loosely-coupled interoperability between applications running on different platforms. We&apos;ve seen the success of Web services in recent years through their broad industry adoption and through the ongoing collaboration of MS, IBM, BEA, and other industry leaders involved in the standardization of the various Web services standards. While Web services brought about basic interoperability between different platforms, at their inception they didn’t provide for many of the enterprise-critical requirements for application to application communication – such as security, reliable messaging, and transaction support. Just as organizations collaborated on the basic standards for Web services interoperability (XML, WSDL, etc), they reconvened to begin building the WS-* specifications. These specifications would define the way in which services could interoperate securely, reliably, etc. For those of you unfamiliar with the process of standardization, in a nutshell: Organizations write and publish a specification such as WS-Security They gather feedback on this specification through feedback workshops After edits to the specification are made, it is republished The specification is tested through interoperability workshops, in which different organizations like MS, IBM, BEA, Webmethods, et al, get together and test their implementations of the specifications to ensure that they can interoperate with one another. That means that by the time the spec is ratified, all the participating vendors are guaranteed to have working implementations of it. Finally, the specification is submitted to a standards body such as the W3C or OASIS. The beauty of this process is that it is abstracted away from us as developers. What we see is the end result: interoperability! Because WCF will support the specifications shown on this slide, we know that the services we write using WCF will be able to interoperate with other platforms and tools that comply with the WS-* specifications. Plus, WCF services use WS-* compliant messages by default . That means that you get interoperability for free when you use WCF. In addition, when possible, WCF takes advantage of performance optimizations. For example, if two WCF services residing on the same machine want to communicate with one another, WCF can use named pipes instead of HTTP. Similarly, in such a scenario the WCF service would default to the binary format instead of text-based XML. Transition to next slide: Another key area of integration is ensuring that WCF integrates with ASMX, WSE, ES, etc to preserve our existing investments. 11/25/09 02:18 © 2004 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
  13. 11/25/09 02:18 © 2004 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
  14. Speaker Notes This 1-hour presentation provides a technical overview of the Windows Communication Foundation, previously codenamed “Indigo.” This presentation is targeted primarily at developers and architects. By the end of this presentation, you will understand the what, why, and how of WCF: What WCF is and what it provides developers, Why Microsoft is building it (the challenges we hope to overcome with WCF), and How WCF works, how it interacts with other Microsoft products (including the .NET Framework 2.0, Visual Studio 2005, and BizTalk Server), and how you can take advantage of WCF when building connected systems. Transition to next slide: Let’s begin by discussing the motivation behind WCF. 11/25/09 02:18 © 2004 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
  15. Composite activities contains other activities EG: Sequence Partners and customers author custom activities EG: “ApproveOrder”
  16. Speaker Notes This 1-hour presentation provides a technical overview of the Windows Communication Foundation, previously codenamed “Indigo.” This presentation is targeted primarily at developers and architects. By the end of this presentation, you will understand the what, why, and how of WCF: What WCF is and what it provides developers, Why Microsoft is building it (the challenges we hope to overcome with WCF), and How WCF works, how it interacts with other Microsoft products (including the .NET Framework 2.0, Visual Studio 2005, and BizTalk Server), and how you can take advantage of WCF when building connected systems. Transition to next slide: Let’s begin by discussing the motivation behind WCF. 11/25/09 02:18 © 2004 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
  17. Windows Presentation Foundation (WPF) is a productive, unified approach to UI, Media, and Documents that you can use to deliver unmatched user experiences to your customers.
  18. User experience is more than “looks”. User experience represents the overall interaction process of the user with an object. This interaction provides the user with an added value benefit. In this case the benefit that both tools offer is “opening a can”. However it is evident that the can opener will provide the user with a better overall user experience on obtaining the benefit. It is more secure, easier to use and can achieve the benefit faster than the knife. Let’s take this example even further. What is the difference between 2 cars - a 10K car and a 40K BMW? Both take you from point A to point B. There’s a world of difference. For one, the BMW has a much superior user experience (styling, handling, performance, etc.) In addition, notice that a BMW offers its owners an emotional connection, a “pride of ownership.” This gives BMW a unique brand in the eyes of its owners, and to the millions of potential owners who dream of buying this car some day! This shows us that user experience has tremendous business value – ability to differentiate products, create brand awareness, and customer satisfaction.
  19. We say earlier how user experience is so common-place in consumer goods. Yet, when it comes to software, we are happy to live with “good enough” experiences. When was the last time you had a very satisfying experience with your software, where you thought to yourself “I Love my Software.” Is this because user experience in software does NOT matter? Microsoft firmly believes that user experience in software does matter. Even with our own products, such as Windows Vista and Microsoft Office 2007, Microsoft is delivering software with amazing user experience. User Experience (UX) matters because it helps end-users use products in an easy way (easy to use, relevant, secure, etc.). The things that make a software have a good UX is richness, data viz, globalization, accessibility, etc. UX can be easily measured based on success of usage, productivity, retention, comprehension, and so on.
  20. Deliver Innovative User Interfaces Unified approach to UI, media, and documents Vector-based composition engine, hardware acceleration, resolution independent graphics engine Works on Windows Vista, Windows XP and Windows Server 2003 Increase Developer-Designer Productivity; Flexible Application Deployment Visual Studio IDE for developers; Microsoft Expression for designers Declarative programming (XAML) for better designer-developer collaboration Common code base and flexible deployment as stand-alone client or in browser Leverage Existing Code Base and Skill Set Interoperability with Windows Forms, Win32, DirectX, MFC, ActiveX Leverage vested knowledge in .NET Framework, CLR languages, and Visual Studio IDE WPF, a WinFX component, is Microsoft’s strategic presentation technology for Windows smart client user experiences. Use WPF to deliver innovative user interfaces through support for UI, media, document services, hardware acceleration, vector graphics, resolution-independent DPI for different form factors, data visualization, and superior content readability. Increase developer-designer productivity and collaboration through Visual Studio, Microsoft Expression Interactive Designer, and XAML. Write code once, and deploy as stand-alone client or in a browser. Incrementally embrace WPF through interoperability with Win32 and Windows Forms. Leverage vested knowledge in .NET Framework, CLR languages and Visual Studio IDE. Derive business value through new paradigms of user experiences, business intelligence through data visualizations, brand awareness through differentiated customer experiences, and customer loyalty through higher customer satisfaction.
  21. Speaker Notes This 1-hour presentation provides a technical overview of the Windows Communication Foundation, previously codenamed “Indigo.” This presentation is targeted primarily at developers and architects. By the end of this presentation, you will understand the what, why, and how of WCF: What WCF is and what it provides developers, Why Microsoft is building it (the challenges we hope to overcome with WCF), and How WCF works, how it interacts with other Microsoft products (including the .NET Framework 2.0, Visual Studio 2005, and BizTalk Server), and how you can take advantage of WCF when building connected systems. Transition to next slide: Let’s begin by discussing the motivation behind WCF. 11/25/09 02:18 © 2004 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
  22. … “ Who are you?” It’s an easy question to ask, but a hard one to answer, and I answer in a manner that’s appropriate to the context in which I am being asked. If I am asked who I am by someone I’ve never met before, I might only offer my name. If I am asked by someone at a conference, I might also offer my employer’s name and my role within that company. If I am asked who I am by a bank clerk when I open a new bank account, I might have to provide several pieces of identtiy information including proof that I have successfully identified myself to several other organizations (e.g. providing my drivers licence, passport, utility bill, mortgage papers, etc). I have several “identities” each representing a set of claims that identify me to different levels of accuracy, and each are applicable in a finite number of scenarios. But why is the question of identity now so very important? [Click]
  23. The main reason that identity is now such a hot topic is based upon the fact that there is more opportunity to connect. High bandwidth communications via the Internet are now almost ubiquitous and span a broad range of scenarios Within organizations Between organizations At home (DSL/Cable/…) And elsewhere (GPRS/…) This has resulted in a rapid increase in the adoption of products and services available via the internet, and many of these services require some form of user authentication
  24. While the broad adoption of the Internet is a good thing, confidence in the internet is now declining. Phishing and Phraud are now rife, users can not remember their many different usernames and passwords and there is no safe and consistent way in which identity information can be exchanged online 11/25/09 02:18 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  25. So, what’s the solution? Imagine if we could replace usernames and passwords with cryptographically strong tokens containing identity claims corroborated by a trusted third party This is what InfoCard and the Identity Metasystem gives us! &amp;quot;InfoCard&amp;quot; is the codename for a new feature of Windows Provides a rich, consistent experience to help users better manage and control their identities Identities are represented as “Cards” For the user: Simple to use - no more pesky username/password combinations to remember! Consistent UX - works the same, wherever you go Safe, highly secure environment shields your identity from attack For the RP: Reduced fraud Reduce overheads &amp; improve bottom line Richer relationship with customers that you now KNOW Simplify identity management infrastructure Simple to adopt For the IP: Opens up a lot of business opportunities Reduced fraud Enable richer services for customers 11/25/09
  26. Cards contain no actual identity data – only metadata: A list of the claims that a card represents Where to go in order to obtain the claims A signature identifying the card The actual data behind a card is dynamically obtained from the IP: From a local store for “self-issued cards” From the Identity Provider’s Secure Token Service (STS) for “managed cards”
  27. Background and Scenario Information “ InfoCard” is the codename for a new technology in WinFX that simplifies and improves the safety of accessing Web sites. It helps Web sites defend against the most common forms of identity theft such as phishing, by replacing user names and passwords with cryptographically strong tokens and WS-* Web services. InfoCard is built into Windows Vista and will also be available on Windows XP and Windows Server 2003. In this diagram, we see how a customer uses an employer-provided InfoCard to login to a Web site.   &lt;Click&gt; The user navigates their browser to the Website and clicks on the Website’s login button. This causes the Website to respond with an HTML OBJECT tag that instructs the user’s machine to invoke the InfoCard UI. The user decides to use an InfoCard provided by their employer (like an electronic employee ID card) to login to the Web site. They click a representation of the card in the InfoCard UI. Because InfoCard doesn’t actually store any card information on the user’s machine (to help protect the safety of the information), it needs to retrieve the card information from the employer. All of the communication between the user’s machine and the employer is done using WS-* Web services.   &lt;Click&gt; How InfoCard uses WS-* Web Services Protocols First, InfoCard sends a WS-MetadataExchange request to the employer. This preliminary call is used to determine the requirements of the employer’s Web service that will return the InfoCard information. The employer then responds with all the information required to call the Web service. This includes requirements for the message format (schema – provided by XSD), Web service signature (WSDL), protocol (using WS-Policy), and security (using WS-SecurityPolicy). &lt;Click&gt;   Once InfoCard knows the requirements of the employer’s Web service, it submits a request for a security token containing the InfoCard information. It uses WS-Trust and WS-Security to secure the message. The employer processes the message and responds with the encrypted security token. Now that InfoCard has the encrypted security token containing InfoCard information from the employer, it simply submits it to the Web site, which processes the token and logs the user in.   Summary InfoCard has the potential to eliminate the need for usernames and passwords which are susceptible to phishing. Most importantly, InfoCard is based entirely on WS-* Web services protocols. This means, that in this scenario, even if the employer is running on Linux and the Website is running on PHP, InfoCard can still be used to perform the secure login.  
  28. Thank you. 11/25/09 02:18 © 2004 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