En los lenguajes de programación orientados a objetos tradicionales el envío de mensajes es el único mecanismo de comunicación. El objeto que envía un mensaje (cliente) debe especificar explícitamente el objeto que lo recibe (servidor). El objetivo de este trabajo es plantear un modelo alternativo en el cual se considera al ambiente de ejecución como un mercado en donde se ofrecen y requieren servicios, y el programador no se ve forzado a fijar por anticipado el objeto con el cual se establecerá la comunicación.
Cualquier modelo que pretenda brindar mecanismos para tal entorno debe contemplar un mediador que facilite a los clientes la búsqueda de información acerca de los servicios y sus proveedores. Esta funcionalidad es soportada en nuestro sistema por un componente denominado Trader. Los proveedores exportan sus servicios al Trader a través de ofertas de servicios. Por su parte, los potenciales usuarios comunican al Trader las características del servicio requerido. En función de este requerimiento, el Trader busca las ofertas que más se adecúan a lo solicitado y retorna referencias a los proveedores apropiados.
Este modelo se aplicó al ambiente de programación de Samlltalk, incorporándolo como alternativa al envío tradicional de mensajes. Cuando se desea invocar una operación y se desconocen los objetos que la pueden llevar a cabo se solicita al Trader que encuentre el proveedor más adecuado. A partir de ese momento, la comunicación se realiza en forma directa entre el cliente y el servidor sin ningún tipo de intermediación