SlideShare a Scribd company logo
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…

More Related Content

What's hot

Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle Platform
Service2Media
 
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 Simple
Bob 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, 2013
Sanjeev 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 Bus
IMC 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_performance
Otto Kee LeakPeng
 

What's hot (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 to 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 2012
Oguzhan 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 SOA
Bob Rhubart
 
ServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptxServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptx
Usama Wahab Khan Cloud, Data and AI
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
Bob Rhubart
 
Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011
SudheerD
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective
rizaon
 
Defining business process and workflows
Defining business process and workflowsDefining business process and workflows
Defining business process and workflows
Hiep 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
 
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
Microsoft TechNet - Belgium and Luxembourg
 
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
Chip Childers
 
Windows Workflow Foundation
Windows Workflow FoundationWindows Workflow Foundation
Windows Workflow Foundation
Andrei Oros
 
Oracle web center
Oracle web centerOracle web center
Oracle web center
East Le
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
joaogoncalves
 
(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
BIOVIA
 
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 Architects
Anko Duizer
 

Similar to 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
 

More from maddinapudi

Enterprise Content Management
Enterprise Content ManagementEnterprise Content Management
Enterprise Content Management
maddinapudi
 
eRoom Installation Screen Shots
eRoom Installation Screen ShotseRoom Installation Screen Shots
eRoom Installation Screen Shots
maddinapudi
 
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
maddinapudi
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Development
maddinapudi
 
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 Parts
maddinapudi
 
Dotnet Interview Questions
Dotnet Interview QuestionsDotnet Interview Questions
Dotnet Interview Questions
maddinapudi
 
White Paper On Moss 2007
White Paper On Moss 2007White Paper On Moss 2007
White Paper On Moss 2007
maddinapudi
 
Asp.Net MVC Framework Design Pattern
Asp.Net MVC Framework Design PatternAsp.Net MVC Framework Design Pattern
Asp.Net MVC Framework Design Pattern
maddinapudi
 
.net 3.5 and vs 2008
.net 3.5 and vs 2008.net 3.5 and vs 2008
.net 3.5 and vs 2008
maddinapudi
 
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
maddinapudi
 

More from 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
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 

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.