describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

Similar documents
Getting Started with WCF

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

Pro WCF 4. Practical Microsoft SOA Implementation SECOND EDITION. Apress* Nishith Pathak

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

The SOAP Story. Martin Parry Developer & Platform Group Microsoft Ltd

MOC 6461A C#: Visual Studio 2008: Windows Communication Foundation

Windows Communication Foundation. Mike Taulty, Mike Ormond Developer & Platform Group Microsoft Ltd

Sentinet for Microsoft Azure SENTINET

Communication Foundation

Chapter 8 Web Services Objectives

WebSphere MQ Update. Paul Dennis WMQ Development 2007 IBM Corporation

Appendix A - Glossary(of OO software term s)

SERVICE-ORIENTED COMPUTING

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

(9A05803) WEB SERVICES (ELECTIVE - III)

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

Sentinet for BizTalk Server SENTINET

Overview SENTINET 3.1

Network Programmability with Cisco Application Centric Infrastructure

Copyright 2014 Blue Net Corporation. All rights reserved

Distributed Multitiered Application

STARCOUNTER. Technical Overview

Kepware Whitepaper. IIoT Protocols to Watch. Aron Semle, R&D Lead. Introduction

[MS20487]: Developing Windows Azure and Web Services

Service-Oriented Architecture (SOA)

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

IEC : Implementation Profile

Introduction to RESTful Web Services. Presented by Steve Ives

Web Services Architecture Directions. Rod Smith, Donald F Ferguson, Sanjiva Weerawarana IBM Corporation

: ESB Implementation Profile

Sentinet for BizTalk Server VERSION 2.2

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

Sentinet for Windows Azure VERSION 2.2

MS-20487: Developing Windows Azure and Web Services

Architecting a Network-Centric M&S Application

Introduction to Web Services & SOA

Introduction to Web Services & SOA

Transport (http) Encoding (XML) Standard Structure (SOAP) Description (WSDL) Discovery (UDDI - platform independent XML)

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

1. Introduction to the Common Language Infrastructure

Lesson 14 SOA with REST (Part I)

Developing Windows Azure and Web Services

WCF-Service-Endpoint. WCF Endpoint Components

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview

1. Introduction. 2. Technology concepts

WCF Services in Nutshell

Vlad Vinogradsky

Services Oriented Architecture and the Enterprise Services Bus

Integrating Legacy Assets Using J2EE Web Services

Windows Communication Foundation

F O U N D A T I O N. OPC Unified Architecture. Specification. Part 1: Concepts. Version 1.00

ReST 2000 Roy Fielding W3C

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Introducing SAP Enterprise Services Explorer for Microsoft.NET

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Software Design COSC 4353/6353 DR. RAJ SINGH

ActiveVOS Technologies

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

DS 2009: middleware. David Evans

Ellipse Web Services Overview

Integration of Wireless Sensor Network Services into other Home and Industrial networks

WAN-DDS A wide area data distribution capability

Who Should Read This Book?

We recommend you review this before taking an ActiveVOS course or before you use ActiveVOS Designer.

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

Enterprise service bus

Naming & Design Requirements (NDR)

COMMUNICATION PROTOCOLS

BEAAquaLogic. Service Bus. MQ Transport User Guide

A Sophisticated Approach for the Integration Of.Net Framework and Google Maps Using Mashup Technology

IIS Installation for.net Application. Md. Saifullah Al Azad

Service oriented Middleware (SOM)

BEAAquaLogic. Service Bus. Native MQ Transport User Guide

6/4/2007 Microsoft Corporation NET StockTrader Technical Documentation Page 1

SRIJAN MANANDHAR MQTT BASED COMMUNICATION IN IOT. Master of Science thesis

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led

Basic Properties of Styles

BPEL Research. Tuomas Piispanen Comarch

Next-Generation SOA Infrastructure. An Oracle White Paper May 2007

Neuron Change History

Mono Infocard project::

Il Mainframe e il paradigma dell enterprise mobility. Carlo Ferrarini zsystems Hybrid Cloud

COP 4814 Florida International University Kip Irvine. Inside WCF. Updated: 11/21/2013

Fast Track to Java EE

European Sky ATM Research (SESAR) [5][6] in Europe both consider the implementation of SWIM as a fundamental element for future ATM systems.

Modeling an Application with Cisco ACI Multi-Site Policy Manager

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware

Microservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson

Composer Help. Web Request Common Block

ACI Terminology. This chapter contains the following sections: ACI Terminology, on page 1. Cisco ACI Term. (Approximation)

SOA Architect. Certification

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

An Overview of Microsoft Visual Studio 2008

Enterprise Software Architecture & Design

Transcription:

1 of 9 10/9/2013 1:38 AM WCF and WF Learning Objectives After completing this topic, you should be able to describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution 1. Functions of WCF The Windows Communication Foundation, commonly known as WCF, service is a next-generation programming platform and runtime environment used to configure and deploy network-distributed services. Graphic In WCF, applications that run on different platforms use HTML and XML files to communicate with XML WCF services through a WCF proxy. The WCF architecture uses message-based communication. This involves messages being sent between endpoints generated by either a service or a client. A service is an application that responds to a request, and a client is an application that initiates a request. In many cases, a single application can act as both a client and a service, depending on the situation. Before the WCF distribution, a developer had to know the strengths of the following fundamental.net technologies to create an application: ASP.NET Web Services, also known as ASMX, and the Web Service Enhancements or WSE The ASMX and WSE technologies provide an interoperable, service-oriented infrastructure and programming model that can easily be integrated into web services or web service clients. They only work over the HTTP protocol, and may have performance issues, but are interoperable because their data is encoded using XML. Enterprise Services Enterprise Services is a component-oriented technology that provides transaction integration across multiple objects that perform related work in a distributed environment. It minimizes throttling, optimizes the pooling of object instances, provides a publish/subscribe mechanism for events, and uses a fast, secure, and platformintegrated transport method. But it provides poor interoperability because it is tightly coupled with the infrastructure. Microsoft Message Queue, commonly known as MSMQ, and MSMQ is a set of objects that provide a durable, volatile, and scalable message queuing system that ensures reliable data transport from one place to the next. It is used to collect a group of messages, send them to a server for processing, and receive a reply from the server. However, MSMQ cannot process corrupted messages efficiently. When a corrupted message is received by the server, it blocks other messages in the queue. Remoting Remoting is the application programming interface, abbreviated to API, used by.net to allow.net Framework

2 of 9 10/9/2013 1:38 AM applications to communicate across application domain boundaries. It is a very flexible and extensible model that enables developers to manipulate proxy mechanisms, transports, and the way communication channels function. However, remoting does not provide interoperability with non-.net applications. These different fundamental technologies for building, configuring, and deploying network-distributed services require specialized knowledge and skills to implement. In cases where more than one type of technology was required, the skill of the developer was put to the test. For example, a hotel wants to create a new reservation application whose business logic has to be accessed by various software inside and outside the hotel, including the Windows desktop reservation application used by employees the old reservation application, which was created on a J2EE server and runs on a non-windows operating system, and affiliated applications used by travel agencies to make reservations In this scenario, the developer would have to create a complex application, which could be difficult to maintain. The developer might have designed an application that uses.net remoting to communicate with the Windows desktop application, ASMX and WSE to communicate with the existing J2EE-based application, MSMQ to communicate with the affiliated applications used by agencies, and Enterprise Services to manage object lifetimes. WCF, however, simplifies the developer's task by combining the strengths of the various fundamental.net technologies for network-distributed services and applications. WCF is not just another API. It has been developed by Microsoft in conjunction with various other application vendors to ensure that it is universal and easy to use. The functions of WCF include asynchronous one-way messaging Many applications use asynchronous one-way messaging. For example, web browsers send requests to web servers and wait for replies. In addition to other message exchange patterns, WCF supports asynchronous one-way messaging, which provides advanced functionality, reliability, and application responsiveness. It also makes efficient use of available processing power. Asynchronous messaging is the most efficient way of performing the input and output tasks required by a distributed application. interoperability WCF has interoperability features that were previously spread across different technologies. It communicates using SOAP-based web services or WS-* and supports Representational State Transfer, also known as REST, architectures, Plain Old XML, abbreviated to POX, messaging systems, and JavaScript Object Notation, also known as JSON, data during WCF runtimes. In addition, you can write custom extensions that enable WCF applications to communicate with applications that require proprietary message encoding. platform consolidation Before the development of WCF, the technology stack used in the solution of a service depended largely on the requirements for that application. WCF supports the features of all of the five major technology stacks WSE, ASMX, Remoting, Component Object Model, commonly known as COM+, and MSMQ. independent versioning, and WCF strictly adheres to the WS-* specifications that enable WCF services to grow at a different rate than service consumers. WS-* requirements for messages ensure that independent versioning is maintained as WCF services grow. transaction support Electronic communication rests on the acknowledgement of the receipt of a request that was sent to other

3 of 9 10/9/2013 1:38 AM applications. This information exchange is done in the scope of a transaction, which ensures that either all work is done or no work is done. WCF allows transactional scopes to flow across multiple applications. These functions provide several benefits to WCF, which are extensibility WCF is extremely powerful because of its extensible design. It is designed for custom channels, encoding, transports, bindings, and architectural paradigms. easy configuration WCF supports rich configuration through XML files, which enable you to change the behavior of a WCF application without recompiling the application or changing its source code. Using this feature, you can configure bindings, transports, behaviors, and addresses in an XML file. reliability WCF provides four assurances of reliability for distributed computing at most once, at least once, exactly once, and in order. An assurance is similar to a guarantee. It contains mechanisms that provide these assurances with little or no modification to the application. As opposed to traditional types of assurances, WCF's assurance mechanisms don't depend on the transport method used. higher performance Distributed technologies usually have a fixed performance cost, which is determined by how long one distributed application takes to exchange information with another. The performance of two WCF applications interacting is typically faster than that of a WCF application interacting with a Java-based web service. security, and WCF supports many widely accepted security measures and models. Because WCF adheres to the WS-Security specifications, its default security options range from message-based security to the more traditional transport-centric security model. message queuing and object lifetime management WCF provides an option for queued messaging, which is built on message queuing. This allows applications to persistently queue messages without using another API. It also provides the features of Enterprise Services, such as object lifetime management and defining distributed transactions. With WCF, the developer of the hotel reservation application would only need to use one programming platform to create the application. WCF's interoperability would ensure that the application could easily communicate with the existing J2EE-based application. Its option for enabling queued messaging would allow the application to communicate with the affiliated partner applications used by agencies. And because WCF provides the features of Enterprise Services, the application can also manage object lifetimes. The WCF architecture is based on the design principles of service-oriented architecture, commonly known as SOA. SOA is a framework that is used to design service-based distributed systems. In an SOA-based system, platformindependent services communicate across networked computers or computer processes. WCF is better understood by considering the four SOA principles that it implements: explicit boundaries WCF services function using defined interfaces to identify the communications that flow outside the boundaries of the service. independent services All WCF services are deployed and managed independently; they are independent of deployment, installation,

4 of 9 10/9/2013 1:38 AM and version issues. Each service interaction is also independent of other interactions. schema and contract-based communication, and WCF services communicate with clients by providing only the schema of the message and not its implementation classes. This enables developers to change the service implementation in the future without impacting the clients. policy-based compatibility Compatibility between WCF services and clients at run time is determined by using published policies. Policies help separate the description of the service from its implementation details. The SOA-based WCF architecture contains four layers Contracts, Service Runtime, Messaging, and Hosting. The Contracts layer describes the WCF message system. In this layer, a Service Contract describes the method signatures of a service. It's defined using programming languages, such as Visual Basic and Visual C#. A Data Contract enables.net types to be expressed in XML. Message Contracts define the structure of SOAP messages exchanged between a service and a client. Policies and Bindings define the configuration, such as security levels, required by clients to communicate with a service. The Service Runtime layer includes behaviors that occur when services operate. For example, Throttling Behavior controls client requests, decides how many messages should be processed, and prioritizes messages if the demand for the service rises. When a service fails to function normally, Error Behavior decides how that service behaves and what information it communicates to the client. The Messaging layer contains channels that process messages and operate on messages and message headers. The eight channels in this layer define the possible formats and exchange patterns of the data. These eight channels are divided into two categories transport channels and protocol channels. Transport channels read and write messages from the network, and protocol channels implement message processing protocols. The Hosting layer describes the ways in which a WCF service can be hosted. WCF services can be hosted using Windows Activation Services, Internet Information Services, Windows Services,.EXE, or COM+. In a WCF application, clients use the endpoints of a service to communicate with the service. An endpoint consists of these components: address Each endpoint has a unique address that helps a client understand where it is located on the network. The client uses this address to send messages to an endpoint. An address can be absolute or relative. If you enter a relative address, WCF uses the absolute base address as the prefix for it. An example of an absolute address is http://localhost:8080/publishfile. binding, and The binding of an endpoint describes the channels used to communicate with the endpoint. A channel is a route that all messages in a WCF architecture must take. A channel is composed of binding elements that tell clients which transport protocol, encoding, and security configurations should be used to communicate with the endpoint. WCF provides many default bindings such as BasicHttpBinding and NetTcpBinding. contract An endpoint's contract informs clients about the capabilities or features that the endpoint provides. It tells clients the form of the message, what operations they can call, how they can call an operation, and what response message they will receive from the endpoint. A contract is created by applying the ServiceContract attribute to an interface or class description and applying the OperationContract attribute to each method included as a service operation.

5 of 9 10/9/2013 1:38 AM To run a WCF service, you require a service host, which can be any managed process in an operating system. A host provides the infrastructure necessary to start and stop a service and control its lifetime and context. It also provides basic features that enable users to manage a service. There are four commonly used hosting options: Internet Information Services or IIS IIS has a preconfigured infrastructure for running WCF services, which enables you to host services without writing the hosting code. It's integrated with ASMX and ASP.NET, so it's suitable for hosting HTTP-based WCF services. IIS provides features such as message-based activation, process recycling, and identity management. It also helps you to host unattended services that start and stop with the system. Services hosted using IIS 6 can only use an HTTP protocol, but IIS 7 can be implemented with WAS to use non-http protocols. Windows Process Activation Services, also known as WAS WAS is a hosting mechanism available in Windows Server 2008 and Windows 7. It's automatically configured along with IIS 7. When you install IIS 7, it is automatically installed because IIS 7 is dependent on it. Like IIS, WAS also has an inbuilt infrastructure for running WCF services and helps in hosting unattended services that start and stop with the system. WAS provides all features of IIS, and it also enables services to use non-http protocols, such as TCP, MSMQ, and named pipes. So it is suitable for services that use protocols other than HTTP. self-hosting in a managed Windows service, and A managed Windows service is an operating system process controlled by a Service Control Manager or SCM. The service can choose the SCM features it implements, such as whether the service starts and ends automatically or manually. So it is suitable for creating a customized hosting environment. However, it requires you to write some hosting code in the service application. hosting more than one service in a single process WCF allows you to host multiple services in one operating system process. You can do this by implementing a ServiceHost class for each service in the code. WCF 4 REST service applications are service applications that are designed based on the Representational State Transfer, commonly known as REST, principles. REST is a software architectural style that is developed for distributed hypermedia systems such as the Web. In contrast to SOA, which is message-based with associated methods, REST is resource-based with associated actions. Resources are specific sources of information, which can be referenced by using URIs containing query strings to request and exchange information. Representations contain the actual information and can be in any format, including HTML, XML, JSON, ATOM, and audio or video files. You do all this by using the simple HTTP verbs and status codes. You can use the HTTP verbs to determine what actions to perform on the resources. You can use status codes to check the success of the action performed on the resource. Commonly used HTTP verbs are GET You can use the GET verb to retrieve data from the resources. You can also buffer the retrieved data easily. PUT When specifying a unique URL for a resource, you can add or update the resource by using the PUT verb. To add or update a resource, you add additional or modified details to the request body. DELETE, and You use the DELETE verb to delete resources. If you call this verb on a resource that has already been deleted, nothing happens and there is no adverse effect. POST When you don't know the URL to be used for a resource, you can use the POST verb to create a new resource.

6 of 9 10/9/2013 1:38 AM The new URL used for the resource will be returned in this case. WCF includes a routing component. This routing service can accept requests and messages from clients, and route them to services in your network. This prevents clients from directly accessing services on the network and reduces network traffic. The routing service acts as a bridge, broker, or gateway between the clients and the services available on the network. It can also perform intermediate processing within the routing node before passing on client requests to the appropriate service. You can use routing services to perform these roles: implement security that all requests from clients should pass through determine the target service to be used, based on the content of the client request messages implement protocol bridging implement load-balancing, and implement versioning techniques In WCF 4, you can use the new service discovery feature to dynamically locate services during run time. You might need to locate services dynamically when you want to use services with a nonconstant endpoint address, such as an endpoint in a specialized service-orientated environment, which could change during run time. For example, suppose you want a remote desktop service in the network to be used by all client applications. You can use the service discovery feature to ensure that client applications can discover the remote desktop service and establish communication with it. WCF 4 uses Web Services-Discovery, also known as WS-Discovery, which is a specification that uses a SOAP-based protocol to dynamically locate and use service endpoint addresses during run time. It also supports the complete implementation of the WS-Discovery protocol. WS-Discovery operates in two modes:

7 of 9 10/9/2013 1:38 AM ad hoc and In the ad hoc mode, clients searching for specific services send multicast messages with details of their service requirements. Services that match the requirements can then respond to the clients directly. Services can also send multicast messages to any clients that are listening whenever the services join or leave a network. By default, the.net framework provides support for ad hoc WS-Discovery over the User Datagram Protocol, abbreviated to UDP, multicast mechanism. One disadvantage of using this mechanism is that service discovery is restricted by the protocol used for sending multicast messages. For instance, when using UDP, only services listening in the local subnet can receive messages from the clients. managed In a managed mode, WS-Discovery enables you to provide a centralized server known as a discovery proxy on the network to manage information about the available services and enable clients to discover service endpoints. Clients can then communicate directly with the discovery proxy to retrieve the details of the available services. WCF provides the base classes required to implement the discovery proxy. When you use these base classes, you don't have to provide basic details for the discovery proxy because these details are included in the base classes. You only need to specify the action that you want the discovery proxy to take when it is contacted by a client application. Question Which function of WCF enables you to communicate with applications that require proprietary message encoding? Options: 1. 2. 3. 4. 5. Asynchronous one-way messaging Interoperability Platform consolidation Independent versioning Transaction support Answer Option 1: This option is incorrect. WCF supports asynchronous one-way messaging, which provides advanced functionality, reliability, and application responsiveness. Asynchronous messaging is the most efficient way of performing the input and output tasks required by a distributed application. Option 2: This option is correct. WCF has interoperability features that were previously spread across different technologies. It communicates using WS-* and supports REST architectures, POX, messaging systems, and JSON, data during WCF runtimes. In addition, you can write custom extensions that enable WCF applications to communicate with applications that require proprietary message encoding. Option 3: This option is incorrect. WCF supports the features of all five major technology stacks WSE, ASMX, Remoting, Component Object Model, commonly known as COM+, and MSMQ. Option 4: This option is incorrect. WCF strictly adheres to WS-* specifications, which enable WCF services to grow at a different rate than service consumers. WS-* requirements for messages ensure that independent versioning is maintained as WCF services grow. Option 5: This option is incorrect. Electronic communication rests on the acknowledgement of the receipt of a request that was sent to other applications. This information exchange is done in the scope of a transaction, which ensures that either all work is done or no work is done. WCF allows transactional

8 of 9 10/9/2013 1:38 AM scopes to flow across multiple applications. Correct answer(s): 2. Interoperability 2. Windows Workflow Foundation Two main challenges when developing a server-based application are ensuring that the application is scalable without using too many resources, and that it is easy to understand. Windows Workflow Foundation, commonly referred to as WF, was developed to address these challenges. WF is a framework that enables you to create human or system workflows in your applications. You can create these workflows based on simple or complex scenarios depending on the project requirement. For example, you can use WF to create workflows that depict the progression of pages in an application or you can build complex business rules. You can develop these workflows using either code or markup. WF also provides specialized tools, such as a workflow compiler, a debugger, and a graphical workflow designer, to create workflows. Creating workflows allow you to develop scalable applications that have a unified logic. It also includes several features that help you overcome application development challenges such as managing parallel activities. To ensure scalability and that application logic is easy to understand, WF uses the persistence store and activities An application is scalable when it can be used to meet increasing user demands. To do this, most developers split applications into parts so that different parts can run on different servers. However, this makes the application difficult to understand and manage. To promote scalability, WF has the WF runtime component and a persistence store. The WF runtime component determines when the workflow of the application is blocked because it's waiting for an input. Then it stores the state of the workflow and the location that the workflow should restart in the persistence store. This frees the resources of the server. When the appropriate input is received, the WF component automatically retrieves the required details from the persistence store and restarts the application from where it was blocked. This reloading can be done on the same server, or even on a different server, depending on availability. Additionally, as the application can be reloaded even a long time after it was blocked, this process is useful for lengthy or time-consuming applications. To ensure that the workflow of an application is easy to understand, WF has introduced the concept of activities. Each activity performs a task or a group of related tasks as one unit in the application. Some activities, called composite activities, contain other activities within them. These activities help to present a unified workflow for the application, which makes it easier for you to understand and manage the logic of the application. Each activity is represented by a class that is run by the WF runtime component. This class can be in a language you choose and can also be chosen from the set of activities available in the Base Activity Library, commonly referred to as BAL. All workflow activities are run by the WF runtime component in a top-down order. If this component finds a composite activity, it performs all activities and tasks within it before moving on to the next activity. Question

9 of 9 10/9/2013 1:38 AM Which statements regarding the features of the WF solution are correct? Options: 1. 2. 3. 4. The persistence store prevents an application from being blocked The workflow state is stored to promote scalability Activities help you reload an application from the point where it stopped Activities can be chosen from an existing library of activities Answer Option 1: This option is incorrect. To promote scalability, WF has the WF runtime component and a persistence store. The WF runtime component determines when the workflow of the application is blocked because it's waiting for an input. Then it stores the state of the workflow and the location that the workflow should restart from in the persistence store. This frees the resources of the server. Option 2: This option is correct. To promote scalability, WF has the WF runtime component and a persistence store. The WF runtime component determines when the workflow of the application is blocked because it's waiting for an input. Then it stores the state of the workflow and the location that the workflow should restart from in the persistence store. This frees the resources of the server. Option 3: This option is incorrect. Each activity performs a task or a group of tasks in the application. Some activities, called composite activities, contain other activities within them. These activities help to present a unified workflow for the application, which makes it easier for you to understand and manage the logic of the application. Option 4: This option is correct. Each activity is represented by a class that is run by the WF runtime component. This class can be in a language you choose and can also be chosen from the set of activities available in the BAL. Correct answer(s): 2. The workflow state is stored to promote scalability 4. Activities can be chosen from an existing library of activities Summary The WCF service is a next-generation programming platform and runtime environment used to configure and deploy network-distributed services. Because it is universal and easy to use, WCF simplifies the developer's task by unifying the strengths of a number of other.net technologies for network-distributed services and applications. Its functions include asynchronous one-way messaging, interoperability, platform consolidation, independent versioning, and transaction support. It also supports REST, routing, and discovery. Windows WF is a framework that enables you to create human or system workflows in your applications, it allows you to create scalable applications that are easy to understand and manage. To do this, it uses the persistence store and activities. The persistence store enables you to save the state of an application that is waiting for user input and reload it from where it stopped. Activities enable you to simplify the logic of an application and present it in a unified way. 2012 SkillSoft Ireland Limited.