This chapter covered the world of connected systems related to Windows Workflow Foundation. In this chapter, connected systems refers to communications across application boundaries. This concept is also commonly associated with another popular acronym: SOA. SOA describes an architecture that provides pluggable, loosely coupled services that perform a single job. There are four tenets that commonly describe SOA: Service boundaries are explicit; services are autonomous; services share a schema and contract; and service compatibility is based upon policy. Although it is not a requirement, SOA is commonly implemented using web services.
Windows Workflow Foundation supports the concept of connected systems in a few ways. First, there are several activities that support communications with web services. The InvokeWebService activity supports calling a web service that is external to a workflow and consuming that service’s return values. The WebServiceInput and WebServiceOutput activities support exposing workflows as externally callable web services using the wizard included in Visual Studio.
Finally, this chapter covered WCF, the next-generation connected-systems platform from Microsoft. This platform will enable you to develop, configure, and deploy services. It holds under its umbrella the technologies of yesteryear for easier manageability, including .NET Remoting, ASMX, and other legacy transports. The chapter also introduced the concept of exposing a workflow through a WCF service that is hosted in a Windows service. This method of exposing a workflow to the outside world requires a bit more work than using the wizard for exposing a workflow as a web service, but it offers a great deal of scalability and flexibility in return.