SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Building Connected
 Application using WF and
 WCF
Sarang Datye
sarang.datye@microsoft.com
http://www.dotnetbetaworks.com
Agenda
 Modeling processes via WF
 Exposing and consuming services via WCF
What is Workflow?
The workflow framework and tools for
       Microsoft products and
    partner/customer ecosystem

 Single workflow technology for Microsoft®
 Windows®
 A framework for building workflow, not an
 application or server
 Make declarative workflow a mainstream
 development paradigm
Why Workflow?
                              Workflow Value-Add
 Real-World Examples

                            Long Running and Stateful
“Orders are confirmed in
                            Workflows run for up to 30
48 hours and shipped
                            days and maintain state
within 30 days.”
                            throughout
“Most suppliers
                            Flexible Control Flow
confirm our orders but
                            Flexibility for people to
some forget and we
                            override or skip steps in
need to follow up.”
                            the workflow
                            Transparency
 “What are the next steps
                            Rendering a visualization of
 in handling this order?”
                            next steps based on
                            defined control flow
Architecture                                   Visual Designer

Key Concepts
                                                 A Workflow
  Workflows are a set of Activities
  Workflows run within a Host Process:
  any application or server                      An Activity
  Developers can build their own Custom
  Activity Libraries                             Custom Activity Library
                                                 Windows
Components
                                                 Workflow Foundation
  Base Activity Library: Out-of-box activities
                                                 Base Activity Library
  and base for custom activities
  Runtime Engine: Workflow execution and
                                                 Runtime Engine
  state management
  Runtime Services: Hosting flexibility and
                                                 Runtime Services
  communication
  Visual Designer: Graphical and code-                Host Process
  based construction
Extensible Activities                                 Domain-Specific
                            Custom Activity
Base Activity
                                                      Workflow Packages
                            Libraries
Library




                                                      Compliance
                                                                          CRM
                                           Extend
                             Compose
                                           activity
                             activities
     Out-of-Box
                                                      RosettaNet
   (OOB) Activities               Author new
                                  activity                              IT Mgmt
 OOB activities, workflow
                             Create/Extend/
 types,                                                Vertical-specific activities
                             Compose activities
base types                                             and workflows
                             App-specific building
 General-purpose                                       Best-practice intellectual
                             blocks
 Activity libraries                                    property (IP) and
                             First-class citizens
define workflow                                        knowledge
constructs
Runtime Extensibility
                        Host App Domain
                        Runtime

                                              Out of Box Services are
                                              provided that support SQL
                        Services              Server 2000 & 2005
PersistenceService
stores and retrieves     PersistenceService         SQL
instance state.
                         TrackingService
TrackingService
manages profiles and
                         SchedulerService
stores tracked
information.
                         TransactionService

Common resource
services for managing
threading, timers and
creating transactions
Workflow Services
Advantages
  Service implemented as Workflow
     Leverage Workflow development experience
     Enforces application protocol by default
     Allows long-running, durable Services
  Workflow hosted as Service
     ServiceContract provides typed interface for integrating
     with the Workflow
     Messages enforce by-value, serializable data
     Workflows can be message-activated
Workflow Service
Architecture
Service.cs
Workflow.cs or
Workflow.xoml
                                                        Service Instance
                                                        Workflow Instance
                               Service Runtime

                                    OperationInvoker          Operation 1
                                                            ReceiveActivity 1
                            WorkflowOperationInvoker
App.config
                                    OperationSelector         Operation 2
                                                            ReceiveActivity 2
       Workflow
      ServiceHost
      ServiceHost                    InstanceProvider
                            DurableInstanceProvider
                                                        Workflow Runtime
                                   MessageInspector
                            MessageContextInspector


 ServiceDescription
                               ContextChannel
                                                        WF Persistence DB
         ServiceBehavior
WorkflowServiceBehavior
                               ListenerChannel
        OperationBehavior
WorkflowOperationBehavior
Getting Started with WF
Agenda
 Modeling processes via WF
 Exposing and consuming services via WCF
The Imperative to Connect
MOBILE EMPLOYEES   CUSTOMERS   CUSTOMERS   MOBILE EMPLOYEES
WCF is:
 Our next-generation platform for distributed systems
 A set of extensions to the Microsoft.NET Framework 2.0
 Build WCF services in Visual Studio 2008 using any .NET Language
     Intelligent code editing, IDE Extensions for WCF, debugging, re-factoring,
     code snippets, etc.
     Visual Basic .NET, Visual C#, etc.
 Runs on
     Microsoft Windows Vista
     Microsoft Windows XP
     Microsoft Windows Server 2003
 Part of .NET 3.0 and .NET 3.5
Benefits of WCF
                   Unifies today’s distributed technologies
  Unification      Lets you develop/deploy/manage one model
                   Visual Studio 2008 integration



                   Broad support for Web services
Interoperability   (WS-*) specifications and REST
                   Single stop shop for building services



                   Enables development of
Service-Oriented   loosely-coupled services
 Development
                   Config-based communication
Unified Programming Model


                                        .NET Remoting
   ASMX & WSE

       Interop                           Extensibility
     with other                            Location
                                        transparency
 Platforms & WS-*


        Attribute-                   Message-
         Based                        Oriented
                     REST / HTTP
      Programming                   Programming
                     Programming
        Enterprise                 System.Messaging
         Services
                        HTTP
                       Services
A Look at WCF (1)


  Client                      Service
                          Endpoint

                Message
     Endpoint             Endpoint
A Look at WCF (2)


  Client                                             Service
                                           A     B   C

                             Message
           C   B    A                      A     B   C




               Address       Binding   Contract
                   (Where)    (How)     (What)
Productivity
Using Visual Studio .NET 2003


 class HelloService {

                                                                   20,379 lines
     [WebMethod]
                                                                      security
     public String Hello(String Greeting) {

         X509CertificateCollection collection = new
         X509CertificateCollection();
                                                                    5,988 lines
         IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf(
                                                                 reliable messaging
            typeof(CRYPTOAPI_BLOB)));
         IntPtr data = (IntPtr)((int)blob +
           Marshal.SizeOf(typeof(CRYPTOAPI_BLOB)));
         …
                                                                   25,507 lines
                                                                    transactions
         SeqAckRange range = new SeqAcknRange(id, low, high );
         SeqAckRange[] ranges = { range };
         ReliableQueue.ProcessAcks( ranges );
         …
                                                                    4,442 lines
                                                                   infrastructure
         BeginTransaction (NULL,
           ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions,
           &pITransaction);
         …
                                                                 Total lines 56,296
         return Greeting;
     }
 }
Productivity
Using Visual Studio .NET 2003 and WSE


   class HelloService {

       [WebMethod]
       public String Hello(String Greeting) {
                                                                     10 lines
           foreach ( SecurityToken tok in
                                                                      security
             requestContext.Security.Tokens
           {
             X509SecurityToken token = tok as X509SecToken
                                                                    1,804 lines
           }
                                                                 reliable messaging
           …
           SeqAckRange range = new SeqAcknRange(id,low,high );
           SeqAckRange[] ranges = { range };
                                                                   25,507 lines
           ReliableQueue.ProcessAcks( ranges );
                                                                    transactions
           …

           BeginTransaction (NULL,
             ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions,
                                                                 Total lines 27,321
             &pITransaction);
           …

           return Greeting;
       }
   }
Productivity 2005 and WCF
   Using Visual Studio

[ServiceContract]
class HelloService
{
  [OperationContract]
                                                          1 code + 2 config (elem.)
  [PrincipalPermission(SecurityAction.Demand,
    Role = “Adminstratorsquot;)]                                       security
  [TransactionFlow(TransactionFlowOption.Mandatory)]
  [OperationBehavior(TransactionScopeRequired = true,
                                                           0 code + 1 config (elem.)
    TransactionAutoComplete = true)]
  String Hello(String Greeting) {return Greeting;}             reliable messaging
}

<bindings>                                                 2 code + 1 config (attr.)
  <wsHttpBinding>
                                                                 transactions
    <binding name=quot;Binding1“ transactionFlow=quot;truequot;>
      <security mode=quot;Messagequot;>
        <message clientCredentialType=quot;Windows“/>
                                                                 Total lines:
      </security>
                                                        3 code (what) + 4 config (how)
      <reliableSession enabled=quot;truequot; />
    </binding>
  </wsHttpBinding>
</bindings>
Getting Started with
WCF
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
     conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
                                 MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Questions…

Más contenido relacionado

La actualidad más candente

Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformService2Media
 
5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-ramesh5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-rameshIBM
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleBob Rhubart
 
Azure for the ITPro
Azure for the ITProAzure for the ITPro
Azure for the ITProEnrique Lima
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Spiffy
 
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...SPTechCon
 
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!goodfriday
 
Dan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with JavaDan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with JavaCodecamp Romania
 
DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013Sanjeev Sharma
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: TestingSpiffy
 
Java one brazil_keynote_dochez
Java one brazil_keynote_dochezJava one brazil_keynote_dochez
Java one brazil_keynote_dochezJerome Dochez
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusIMC Institute
 
Heterogeneous Development With RTC - Sreerupa Sen
Heterogeneous Development With RTC -  Sreerupa SenHeterogeneous Development With RTC -  Sreerupa Sen
Heterogeneous Development With RTC - Sreerupa SenRoopa Nadkarni
 
WAS85 whats new_functionality_performance
WAS85 whats new_functionality_performanceWAS85 whats new_functionality_performance
WAS85 whats new_functionality_performanceOtto Kee LeakPeng
 

La actualidad más candente (19)

Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle Platform
 
5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-ramesh5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-ramesh
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
Azure for the ITPro
Azure for the ITProAzure for the ITPro
Azure for the ITPro
 
Unit 08: Security for Web Applications
Unit 08: Security for Web ApplicationsUnit 08: Security for Web Applications
Unit 08: Security for Web Applications
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...
 
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
 
Unit 07: Design Patterns and Frameworks (2/3)
Unit 07: Design Patterns and Frameworks (2/3)Unit 07: Design Patterns and Frameworks (2/3)
Unit 07: Design Patterns and Frameworks (2/3)
 
Dan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with JavaDan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with Java
 
Application Migration & Enhancement
Application Migration & EnhancementApplication Migration & Enhancement
Application Migration & Enhancement
 
DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
Unit03: Process and Business Models
Unit03: Process and Business ModelsUnit03: Process and Business Models
Unit03: Process and Business Models
 
Java one brazil_keynote_dochez
Java one brazil_keynote_dochezJava one brazil_keynote_dochez
Java one brazil_keynote_dochez
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
 
Heterogeneous Development With RTC - Sreerupa Sen
Heterogeneous Development With RTC -  Sreerupa SenHeterogeneous Development With RTC -  Sreerupa Sen
Heterogeneous Development With RTC - Sreerupa Sen
 
Unit 05: Physical Architecture Design
Unit 05: Physical Architecture DesignUnit 05: Physical Architecture Design
Unit 05: Physical Architecture Design
 
WAS85 whats new_functionality_performance
WAS85 whats new_functionality_performanceWAS85 whats new_functionality_performance
WAS85 whats new_functionality_performance
 

Similar a Connected Applications using WF and WCF

Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Marco Parenzan
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Oguzhan Ozavar
 
Understanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyUnderstanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyWSO2
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...VMware Tanzu
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented ArchitectureBob Rhubart
 
Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011SudheerD
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspectiverizaon
 
Defining business process and workflows
Defining business process and workflowsDefining business process and workflows
Defining business process and workflowsHiep Luong
 
SPS- Share Point 2010 and Windows Azure
SPS- Share Point 2010 and Windows AzureSPS- Share Point 2010 and Windows Azure
SPS- Share Point 2010 and Windows AzureShakir Majeed Khan
 
Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Juanchi_43
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewChip Childers
 
Windows Workflow Foundation
Windows Workflow FoundationWindows Workflow Foundation
Windows Workflow FoundationAndrei Oros
 
Oracle web center
Oracle web centerOracle web center
Oracle web centerEast Le
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper DiveBIOVIA
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchRob Windsor
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For ArchitectsAnko Duizer
 

Similar a Connected Applications using WF and WCF (20)

Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012
 
Understanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyUnderstanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and Technology
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
ServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptxServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptx
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective
 
Defining business process and workflows
Defining business process and workflowsDefining business process and workflows
Defining business process and workflows
 
SPS- Share Point 2010 and Windows Azure
SPS- Share Point 2010 and Windows AzureSPS- Share Point 2010 and Windows Azure
SPS- Share Point 2010 and Windows Azure
 
Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012
 
Configuring and deploying a private cloud with system center 2012
Configuring and deploying a private cloud with system center 2012Configuring and deploying a private cloud with system center 2012
Configuring and deploying a private cloud with system center 2012
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
Windows Workflow Foundation
Windows Workflow FoundationWindows Workflow Foundation
Windows Workflow Foundation
 
Oracle web center
Oracle web centerOracle web center
Oracle web center
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For Architects
 

Más de maddinapudi

Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content Managementmaddinapudi
 
eRoom Installation Screen Shots
eRoom Installation Screen ShotseRoom Installation Screen Shots
eRoom Installation Screen Shotsmaddinapudi
 
eRoom 7 Installation,Upgrade, and Configuration Guide
eRoom 7 Installation,Upgrade, and Configuration GuideeRoom 7 Installation,Upgrade, and Configuration Guide
eRoom 7 Installation,Upgrade, and Configuration Guidemaddinapudi
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Developmentmaddinapudi
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Modelmaddinapudi
 
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..maddinapudi
 
SharePoint Web Parts
SharePoint Web PartsSharePoint Web Parts
SharePoint Web Partsmaddinapudi
 
Dotnet Interview Questions
Dotnet Interview QuestionsDotnet Interview Questions
Dotnet Interview Questionsmaddinapudi
 
White Paper On Moss 2007
White Paper On Moss 2007White Paper On Moss 2007
White Paper On Moss 2007maddinapudi
 
Asp.Net MVC Framework Design Pattern
Asp.Net MVC Framework Design PatternAsp.Net MVC Framework Design Pattern
Asp.Net MVC Framework Design Patternmaddinapudi
 
.net 3.5 and vs 2008
.net 3.5 and vs 2008.net 3.5 and vs 2008
.net 3.5 and vs 2008maddinapudi
 
Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008maddinapudi
 

Más de maddinapudi (12)

Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content Management
 
eRoom Installation Screen Shots
eRoom Installation Screen ShotseRoom Installation Screen Shots
eRoom Installation Screen Shots
 
eRoom 7 Installation,Upgrade, and Configuration Guide
eRoom 7 Installation,Upgrade, and Configuration GuideeRoom 7 Installation,Upgrade, and Configuration Guide
eRoom 7 Installation,Upgrade, and Configuration Guide
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Development
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Model
 
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
 
SharePoint Web Parts
SharePoint Web PartsSharePoint Web Parts
SharePoint Web Parts
 
Dotnet Interview Questions
Dotnet Interview QuestionsDotnet Interview Questions
Dotnet Interview Questions
 
White Paper On Moss 2007
White Paper On Moss 2007White Paper On Moss 2007
White Paper On Moss 2007
 
Asp.Net MVC Framework Design Pattern
Asp.Net MVC Framework Design PatternAsp.Net MVC Framework Design Pattern
Asp.Net MVC Framework Design Pattern
 
.net 3.5 and vs 2008
.net 3.5 and vs 2008.net 3.5 and vs 2008
.net 3.5 and vs 2008
 
Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008Introduction to Asp.net 3.5 using VS 2008
Introduction to Asp.net 3.5 using VS 2008
 

Último

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

Connected Applications using WF and WCF

  • 1. Building Connected Application using WF and WCF Sarang Datye sarang.datye@microsoft.com http://www.dotnetbetaworks.com
  • 2. Agenda Modeling processes via WF Exposing and consuming services via WCF
  • 3. What is Workflow? The workflow framework and tools for Microsoft products and partner/customer ecosystem Single workflow technology for Microsoft® Windows® A framework for building workflow, not an application or server Make declarative workflow a mainstream development paradigm
  • 4. Why Workflow? Workflow Value-Add Real-World Examples Long Running and Stateful “Orders are confirmed in Workflows run for up to 30 48 hours and shipped days and maintain state within 30 days.” throughout “Most suppliers Flexible Control Flow confirm our orders but Flexibility for people to some forget and we override or skip steps in need to follow up.” the workflow Transparency “What are the next steps Rendering a visualization of in handling this order?” next steps based on defined control flow
  • 5. Architecture Visual Designer Key Concepts A Workflow Workflows are a set of Activities Workflows run within a Host Process: any application or server An Activity Developers can build their own Custom Activity Libraries Custom Activity Library Windows Components Workflow Foundation Base Activity Library: Out-of-box activities Base Activity Library and base for custom activities Runtime Engine: Workflow execution and Runtime Engine state management Runtime Services: Hosting flexibility and Runtime Services communication Visual Designer: Graphical and code- Host Process based construction
  • 6. Extensible Activities Domain-Specific Custom Activity Base Activity Workflow Packages Libraries Library Compliance CRM Extend Compose activity activities Out-of-Box RosettaNet (OOB) Activities Author new activity IT Mgmt OOB activities, workflow Create/Extend/ types, Vertical-specific activities Compose activities base types and workflows App-specific building General-purpose Best-practice intellectual blocks Activity libraries property (IP) and First-class citizens define workflow knowledge constructs
  • 7. Runtime Extensibility Host App Domain Runtime Out of Box Services are provided that support SQL Services Server 2000 & 2005 PersistenceService stores and retrieves PersistenceService SQL instance state. TrackingService TrackingService manages profiles and SchedulerService stores tracked information. TransactionService Common resource services for managing threading, timers and creating transactions
  • 8. Workflow Services Advantages Service implemented as Workflow Leverage Workflow development experience Enforces application protocol by default Allows long-running, durable Services Workflow hosted as Service ServiceContract provides typed interface for integrating with the Workflow Messages enforce by-value, serializable data Workflows can be message-activated
  • 9. Workflow Service Architecture Service.cs Workflow.cs or Workflow.xoml Service Instance Workflow Instance Service Runtime OperationInvoker Operation 1 ReceiveActivity 1 WorkflowOperationInvoker App.config OperationSelector Operation 2 ReceiveActivity 2 Workflow ServiceHost ServiceHost InstanceProvider DurableInstanceProvider Workflow Runtime MessageInspector MessageContextInspector ServiceDescription ContextChannel WF Persistence DB ServiceBehavior WorkflowServiceBehavior ListenerChannel OperationBehavior WorkflowOperationBehavior
  • 11. Agenda Modeling processes via WF Exposing and consuming services via WCF
  • 12. The Imperative to Connect MOBILE EMPLOYEES CUSTOMERS CUSTOMERS MOBILE EMPLOYEES
  • 13. WCF is: Our next-generation platform for distributed systems A set of extensions to the Microsoft.NET Framework 2.0 Build WCF services in Visual Studio 2008 using any .NET Language Intelligent code editing, IDE Extensions for WCF, debugging, re-factoring, code snippets, etc. Visual Basic .NET, Visual C#, etc. Runs on Microsoft Windows Vista Microsoft Windows XP Microsoft Windows Server 2003 Part of .NET 3.0 and .NET 3.5
  • 14. Benefits of WCF Unifies today’s distributed technologies Unification Lets you develop/deploy/manage one model Visual Studio 2008 integration Broad support for Web services Interoperability (WS-*) specifications and REST Single stop shop for building services Enables development of Service-Oriented loosely-coupled services Development Config-based communication
  • 15. Unified Programming Model .NET Remoting ASMX & WSE Interop Extensibility with other Location transparency Platforms & WS-* Attribute- Message- Based Oriented REST / HTTP Programming Programming Programming Enterprise System.Messaging Services HTTP Services
  • 16. A Look at WCF (1) Client Service Endpoint Message Endpoint Endpoint
  • 17. A Look at WCF (2) Client Service A B C Message C B A A B C Address Binding Contract (Where) (How) (What)
  • 18. Productivity Using Visual Studio .NET 2003 class HelloService { 20,379 lines [WebMethod] security public String Hello(String Greeting) { X509CertificateCollection collection = new X509CertificateCollection(); 5,988 lines IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( reliable messaging typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); … 25,507 lines transactions SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … 4,442 lines infrastructure BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … Total lines 56,296 return Greeting; } }
  • 19. Productivity Using Visual Studio .NET 2003 and WSE class HelloService { [WebMethod] public String Hello(String Greeting) { 10 lines foreach ( SecurityToken tok in security requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecToken 1,804 lines } reliable messaging … SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; 25,507 lines ReliableQueue.ProcessAcks( ranges ); transactions … BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, Total lines 27,321 &pITransaction); … return Greeting; } }
  • 20. Productivity 2005 and WCF Using Visual Studio [ServiceContract] class HelloService { [OperationContract] 1 code + 2 config (elem.) [PrincipalPermission(SecurityAction.Demand, Role = “Adminstratorsquot;)] security [TransactionFlow(TransactionFlowOption.Mandatory)] [OperationBehavior(TransactionScopeRequired = true, 0 code + 1 config (elem.) TransactionAutoComplete = true)] String Hello(String Greeting) {return Greeting;} reliable messaging } <bindings> 2 code + 1 config (attr.) <wsHttpBinding> transactions <binding name=quot;Binding1“ transactionFlow=quot;truequot;> <security mode=quot;Messagequot;> <message clientCredentialType=quot;Windows“/> Total lines: </security> 3 code (what) + 4 config (how) <reliableSession enabled=quot;truequot; /> </binding> </wsHttpBinding> </bindings>
  • 22. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.