Enterprise software has undergone a gradual evolution in pursuit of providing ever-greater value to the enterprise. Enterprise software faces some distinct challenges. These include, among others, scalability, distribution, security, and the need to work with a diverse set of vendor technology. Various evolutionary architectural approaches have been tried over the years to meet such challenges. An increasingly popular solution revolves around using a distributed component model to develop superior enterprise software. Such distributed component models hold promise, but they are still in their infancy.