Una de las acepciones menos entretenidas del término "colas" se refiere a
las colas de mensajes que comunican aplicaciones, como en el caso de MQ
Series (ahora parte de Web Sphere) ó MSMQ en Windows. Pero éstas son sólo
uno de tantos canales posibles.

La gracia de WCF es que separa el modelo de programación (la implementación
de un servicio) del transporte (por ejemplo, colas, named pipes, TCP, HTTP,
etc), y del protocolo (SOAP, WS-*, POX -plain old xml-, etc). En WCF, vos
escribís una interfaz que decorás con atributos (ServiceContract para tus
clases, OperationContract para tus métodos, DataContract y DataMember para
los contratos de datos).

Después generás cualquier implementación de esa interfaz con el código que
quieras. Lo interesante es que con eso tenés un servicio, pero no dijiste
para nada cómo va a exponerse; eso se hace completamente por fuera, en un
archivo de configuración.

Con esta configuración podés crear uno o más "endpoints" que contienen el
ABC de los servicios:
A - address (la dirección física donde está publicado, como http://bla bla
bla)
B - binding, que es el canal y protocolo, como BasicHttp para SOAP, PeerTCP
para redes P2P, etc)
C - contract, que es la clase que implementa el servicio

De esta manera tu modelo de programación es uno solo, y después el mismo
servicio lo exponés como quieras, incluso de varias maneras simultáneas,
como por ejemplo por TCP dentro de la LAN, y por HTTP hacia afuera, etc.

La verdad es que el modelo es muy bueno. En el Framework 3.5, lanzado
oficialmente la semana pasada, ya soporta REST, RSS, ATOM y un montón de
cosas más, menos corporativas y más útiles.

Abrazo,
   /ms


On 11/30/07, David Brunstein <[EMAIL PROTECTED]> wrote:
>
> Che Martin, justamente por eso le preguntaba... no me habia quedado claro
> el concepto de "mensaje".
> Yo pensaba mandarle un link a WebSphere MQ, pero esto del Windows
> Foundation Communications (WFC) parece que pinta lindo,...
> http://wcf.netfx3.com/
>
> Saludos,
> Davo.
>
> On Nov 29, 2007 8:11 PM, Martín Salías <[EMAIL PROTECTED] > wrote:
>
> > No, Davo. Alejandro quiere recibir mensajes. Los programas pueden
> > mandarse mensajes a través de canales sin tener que instanciarse.
> >
> > Podría ser por winsock, como mencionaron, por named-pipes, por HTTP,
> > etc. A estudiar WCF, muchachos...
> >
> > Saludos,}    /ms
> >
> > On 11/29/07, David Brunstein <[EMAIL PROTECTED] > wrote:
> >
> > > Hola Alejandro,
> > >
> > > Son varias preguntas en una.
> > >
> > > 1. Correr como servicio.
> > > http://blogs.msdn.com/calvin_hsia/archive/2004/12/13/282351.aspx
> > >
> > > 2. Ejecutar tareas a determinada hora. lo podes hacer con un Timer
> > > control. Cada tanto, intervalo de tiempo, ves si es la hora programada 
> > > para
> > > ejecutar la tarea.
> > > http://msdn2.microsoft.com/en-us/library/hby83ha1(VS.80).aspx<http://msdn2.microsoft.com/en-us/library/hby83ha1%28VS.80%29.aspx>
> > >
> > > 3. Recibir mensajes de otros programas? Mmm... a que te refereis?
> > > Que un programa instancie un object con CreateObject() o also similar?
> > > Que un programa grabe una fila en un DBF y el VFP lo este revisando
> > > cada tanto?
> > > Que un programa grabe una fila en un TXT y el VFP lo este revisando
> > > cada tanto?
> > > Me parece que deberias especificar mas "recibir un mensaje", cual es
> > > el evento que el programa VFP debe atrapar?
> > >
> > > 4. Minimizar el programa VFP al system tray.
> > > http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1581546&SiteID=1
> > >
> > > http://www.news2news.com/vfp/?example=336&function=-1&xpg=1
> > >
> > > Davo.
> > >
> > >
> > > On Nov 29, 2007 8:49 AM, Alejandro Paciotti Iacchelli <[EMAIL PROTECTED]>
> > > wrote:
> > >
> > > >  Alguien sabe como hacer para que un programa hecho en Fox resida
> > > > como servicio, y pueda ejecutar algo a determinada hora, o cada 
> > > > determinadas
> > > > horas (estoy sería facil), pero (y acá viene lo dificil), que pueda 
> > > > recibir
> > > > mensajes de otros programas ?
> > > > lo ideal también sería que pueda verse como un tray en la barra de
> > > > tareas !
> > > >
> > > > Gracias de antemano !
> > > >
> > >
> > >
> > >
> > > --
> > > =======================
> > > David Brunstein
> > > http://davidbrunstein.googlepages.com/
> > > http://davidbrunstein.blogspot.com/
> > >
> > > Java/PB/VFP Developer
> > > Winnipeg, MB
> > > Canada
> > >
> > > Before I speak, I have something important to say.
> > > Antes de dar mi discurso, tengo algo importante que decir.
> > > Antes de dar meu discurso, tenho algo importante para dizer.
> > > G.M.
> > >
> >
> >
> >
> > --
> > Martín Salías
> > Enterprise Architect - Microsoft South Cone
> > www.Salias.com.ar
> > Agile Alliance Member - Microsoft MVP
>
>
>
>
> --
> =======================
> David Brunstein
> http://davidbrunstein.googlepages.com/
> http://davidbrunstein.blogspot.com/
>
> Java/PB/VFP Developer
> Winnipeg, MB
> Canada
>
> Before I speak, I have something important to say.
> Antes de dar mi discurso, tengo algo importante que decir.
> Antes de dar meu discurso, tenho algo importante para dizer.
> G.M.
>



-- 
Martín Salías
Enterprise Architect - Microsoft South Cone
www.Salias.com.ar
Agile Alliance Member - Microsoft MVP

Responder a