About WCF Services

Windows Communication Foundation (WCF) is a Microsoft programming model for building service-oriented applications. It enables developers to build secure, reliable, transacted solutions that integrate across platforms and interoperate with existing investments. When compared to a traditional Web service, a WCF Service supports more transport protocols, including HTTP, HTTPS, TCP, MSMQ, and Named Pipes. It also provides both transport and message level security, and supports other Web service enhancement specifications such as WS-ReliableMessaging and WS-Transactions.

Earlier versions of Powerbuilder allowed you to create only traditional Web services that were conformant to the WS-I profile. The traditional ASP.NET Web Service has limited functionalities: it supports only HTTP and HTTPS transport protocols, and XML message encoding and transport-level security. Beginning with Version 12.5, PowerBuilder provides a WCF Services target that can more fully implement the WCF programming model.

Differences With PowerBuilder Classic Web Services

Programmers who have worked with PowerBuilder Classic Web Services will notice some differences developing and deploying WCF Services. For example:

PowerBuilder Classic Web Services PowerBuilder WCF Service
PowerBuilder Classic Web Services process file operations using the PowerBuilder virtual file system. WCF Service does not use the PowerBuilder virtual file system. Instead, you can use .NET Framework functions to find absolute paths of virtual directories for read and write file operations.

In Web Forms applications, output from supported PowerScript print functions is published as PDF files on the server side. These PDF files are visible in the client-side Web browser through links in the Web Forms Print Manager, and they can be printed on the client side.

WCF Service does not access the PowerBuilder Web Forms Print Manager, but a physical printer on the server.

WCF Concepts

Host Process – Every WCF Service object must be hosted in a Windows process; it cannot exist independently. The process that hosts the WCF Service is called the host process or host. A host process can be any Windows process, such as an IIS process, a console application, or a Windows Service.
Binding – A binding is a set of options for the transport protocol, message encoding, communication pattern, reliability, security, transaction propagation, and interoperability of the service. You can use predefined bindings provided in the WCF framework, you can modify their properties, or you can write your own custom bindings.
endpoint – Every service is associated with an address that defines where the service is, a binding that defines how to communicate with the service, and a contract that defines what the service does. These three associations are easy to remember as the ABC of the service. WCF formalizes the relationship as an endpoint, concatenating the address, contract, and binding.