The most simplistic definition given to metadata is that it is data about data. While it is accurate in terms of its application on single documents, spreadsheets, music and photos a more descriptive definition is imperative especially when it’s applied to communications programs and systems.
Metadata could then be appropriately defined as the data that describes the infrastructures and how components should interact, function and operate. Metadata describes how information is to be managed and used.
On the other hand, WCF or Windows Communication Foundation is a framework for programming which main utilization is for building applications that inter-communicate. Being a part of the .NET Framework, WCF works to unify into a single model all the programming models for communications that .NET 2.0 supports.
WCF utilizes metadata in describing the ways that interaction should take place at the service endpoints. This enables tools like Svcutil.exe to automatically generate client code so access to a service can be allowed.
WCF metadata could include the operations that a particular service can do. It also includes the data type structure that operations act with or return. And then it could also define the endpoints that are to be implemented by the service. It further defines the necessary options for each like security.
Some consider WCF metadata as WSDL. This could be accurate today. However, the story would turn out differently should services be written in formats that do not use SOAP like REST. So while most services have a WSDL interface, it would be more appropriate to just refer to WCF metadata as such.