title: Beginners WCF Question - Consumable asynchronous services
body: <p>this is a more "can it be done" rather than a "how is it done" question.  I'm looking at building a service (middle tier, .net, providing data abstraction and some business logic) that will be used by multiple internal client systems on different platforms.  E.g. one client might be a web site, another client some java code, another client C#, etc.</p>
  
  <p>I want to provide a synchronous and asynchronous API into my service, e.g. GetData, BeginGetData, EndGetData methods.  I also want clients to be able to register for notifications of new "data" being added to the system.  In the past I've implemented this using web services with a Tibco EMS channel for the notifications.</p>
  
  <p>My question is: Could I achieve the three requirements (synch, asynch, and pub/sub) by exposing a WCF service?  Could this service by consumed by non WCF clients?</p>
  
  <p>Excuse the vagueness of this question - I can elaborate as needed.</p>
  
  <p>Thanks in advance.</p>