Component Models: Naming, registration, activation, versioning, lifecycle, persistence, marshaling, support for distributed components; multi-threading, technologies - Common Object Request Broker Architecture (CORBA), Microsoft Component Object Model (COM+) and ActiveX, Enterprise Java Beans (EJB).
Communication models: Sockets, Remote Procedure Calling (RPC). Component-based transactions: Spheres of control, thread management - synchronisation and concurrency control, resource pooling, security, technologies - Microsoft Transaction Server (MTS), CORBA Object Transaction Service (OTS), EJB.
Messaging: Push and pull paradigms, synchronous and asynchronous messaging, technologies - CORBA Event Service, Microsoft Message Queue Server (MSMQ).
Architectural issues: Three- and four-tier architectures, scalability, fault tolerance, replication, load balancing.