A system and method for communicating across multiple heterogeneous hosts using a two-tier software infrastructure where messaging software is used to handle all intra- and inter-host messaging and application software is divided into functional blocks called software entities where these entities communicate with one another through the messaging software. The messaging software communicates with other hosts using TCP/IP connection, where information about the registered entities such as location and state are communicated using a routing protocol such as RIP. This framework provides a new means of communication between functionally well-separated software components.