Why not use a servlet based central server and send messages with HTTP? That makes for a pretty lightweight client and can avoid problems with firewalls.
You need to define some more characteristics of the system you want to build - how many clients, local or WAN, can message delivery be unreliable, etc.
OK here goes nothing... I am interested in creating a system where I could have a server talk to a lightweight agent and vice versa. The server could get a directive from an admin or a cron job and send that directive to the affected agents. The agents would be event-driven or job-driven and send messages back to the server. I figure the agents could work with both servers and workstations/PCs, thus IMO the need for the small size.
Unless I'm shown otherwise, I didn't believe this kind of interaction could (or should) be done using web services, since bidirectional communications required the use of web servers on both ends, and I want to have the agent side of the equation as small and compartmentalized as possible.