Este documento describe las características de las aplicaciones distribuidas y los diferentes tipos, incluyendo aplicaciones monolíticas, cliente-servidor y de múltiples capas. Las aplicaciones distribuidas involucran la ejecución de procesos independientes en diferentes equipos que se comunican mediante protocolos. Algunos desafíos son la concurrencia, la topología de red, la ubicación de la lógica y la seguridad.