This paper surveys distributed computing techniques used in the implementation of BEA WebLogic Server. It discusses how application servers provide a distributed transactional infrastructure that extends outward from backend databases. The basic treatment of data is characterized in terms of four types of clustered services that differ in the way they manage state in memory and on disk. This paper also discusses how application servers support loosely-coupled clients, both at the transport level and at the higher level of server-to-server Web Services. Finally, this paper speculates about the development of a new application server persistence layer and its use in widely-distributed computing.