Aqui vai uma dica importante sobre o EP1: Talvez vocês já devem ter percebido que a aplicação de bate-papo tem uma característica peculiar: ela não é uma aplicação cliente/servidor convencional pois o "servidor" também pode mandar mensagens para os "clientes". Quando um usuário envia uma mensagem para o servidor, este tem que repassar a mensagem para outros usuários. Há duas formas de implementar isso: 1) Modelo PUSH. Se adotarmos esse modelo, o servidor de bate-papo envia (empurra, ou push) as mensagens para os vários clientes sempre que ele receber uma mensagem nova. Para que o servidor de bate-papo seja capaz de enviar mensagens CORBA para os usuários, o programa que o usuário executa tem que ser capaz de receber mensagens CORBA, i.e., ele tem que implementar um servente e registrar esse servente no ORB de forma a receber as mensagens enviadas pelo servidor de bate-papo. Assim, o programa com o qual o usuário do bate-papo interage localmente será tanto um cliente CORBA quanto um servidor CORBA (simultaneamente). Os ORBs oferecem suporte para isso sem problemas. Quando o cliente se registrar com o servidor de bate-papo, ele passa como parâmetro uma referência para o seu "servidor local" que será responsável por receber as mensagens e imprimir na tela para o usuário. Isso é chamado também de "call-backs" pois o servidor "calls the client back". 2) Modelo PULL. Neste modelo, o programa com o qual o usuário interage localmente será somente um cliente CORBA, não possuirá um servente e não implementará nenhuma interface IDL. Neste caso, o cliente deverá de tempos em tempos (por exemplo, 1 vez por segundo) enviar uma mensagem ao servidor de bate-papo perguntando se há alguma mensagem nova desde a última vez na qual ele perguntou. Ajudaria colocar um número de série nas mensagens dentro do servidor de bate-papo. Esta mensagem que o cliente envia ao servidor serve para puxar ("pull") os dados do servidor, daí o nome do modelo. Obviamente, esta opção é menos eficiente. Mas funciona também. Para resolver o problema de eficiência, podemos fazer com que as chamadas dos clientes ao servidor bloqueiem até que o servidor tenha algo a retornar. Mas aí você vai precisar ter vários (pelo menos 2) threads no seu cliente, vários threads no servidor, controlar a concorrência de tudo isso e pode ficar muito complexo. Não recomendo. Bom, acho que isso é suficiente prá vocês terem uma boa noção das alternativas para resolver o problema proposto. Boa sorte e, se você ainda não começou a fazer o EP, por favor, comece o mais rápido possível pois ele não é tão fácil como pode parecer (se é que ele parece fácil). []s, Fabio.