Welcome to MSDN Blogs Sign in | Join | Help

Tags

No tags have been created or used yet.
Intro to BTS R2 + the WCF adapter
What is WCF (Indigo)? Well in a nutshell, this is Microsoft’s new programming model that allows you to create distributed service orientated architectures. Technologies such as COM+/.NET remoting (1.1/2.0) /Web services etc. have all been binded together (and hopefully replaced by WCF) in a uniform manner, allowing end-to-end point communication in a interoperable approach regardless of what network/wire protocols are in use.
 
It’s a programming model that allows you to build services on the client and the server side, permitting you to expose these services using the same methods and techniques.
 
Reference the below diagram for a high level overview of WCF:
 
WCP overview
Other client consuming applications can also plug into WCF such as MOSS (ASP.NET) or SSIS (ADO.NET)
 
So, how is a WCF endpoint created? If you are already familiar with WCF, you will also be familiar with the ‘ABCs’:
 
1.        Address – The end point address of a client/server (Stored in the binding below)
 
<endpoint address=”http://localhost:8080/NumberMultiplication” />
 
2.        Binding – Where all our configuration is stored. Decisions relating to security, atomic transactions, transport protocols (optional) are all wrapped up here,
 
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <system.serviceModel>
 <services>
   <service name="NumberMultiplicationService">
    <endpoint address=”http://localhost:8080/NumberMultiplication” contract="INumberMultiplication" binding="wsHttpBinding" /> <!—-Example data-->
   </service>
 </services>
 </system.serviceModel>
</configuration>
 
3.        Contract – What is this service going to do? Will it be a one or two way communication? Or will it be a request- response pattern. (In its simplest form)
 
using System.ServiceModel; //Base WCF runtime
using System.Runtime.Serialization;
 
[ServiceContract] //a WCF contract defined using an interface
public interface INumberMultiplication  
{
         [OperationContract]
         double Multiply(int x, int y);
}
 
 
The funny this is, for you to create an endpoint, you have to start from the end (C) and work your way towards the beginning (A).
 
More detail soon...
Posted: Friday, November 21, 2008 5:27 PM by alexgeo
Anonymous comments are disabled
Page view tracker