Objects were introduced as programming constructs that encapsulate dat
a and methods. The goal was to foster software reuse and simplify the
developer's concept of how a task was implemented. The developer need
only know the interfaces to an object to use ifs functionality. Distri
buted objects simplified conceptualization further by removing the nee
d to know the locality of an object Clients invoked methods on distrib
uted objects as if the objects existed in the client's process. Beyond
this location transparency, the need arose for distributed objects to
survive beyond the life of one client, to be able to support thousand
s or millions of clients, and to participate in transactions. To suppo
rt scalability, persistence, and transactional semantics with no depen
dencies on platform or data store, ''component models'' were developed
. In this paper we look at various component models, focusing on two:
IBM's Component Broker and Sun's Enterprise JavaBeans(TM). We show tha
t they augment each other and propose how Enterprise JavaBeans can use
the additional functions of Component Broker to provide a scalable, t
ransactional, and persistent environment to clients of both worlds.