분산시스템은 각 시스템의 자원을 공유하기 위해 컴퓨터들이 서로 연결되어 있고, 사용자에게는 하나의 시스템으로 보이게 하는 것을 의미한다.
먼저 현대 분산 컴퓨팅의 흐름을 설명하기 위해 한 가지 예를 들어보도록 하겠다. 거대한 은행이 전 세계에 지점을 가지고 있다. 이 은행은 메인프레임 기반 컴퓨팅 센터를 세계 본부에 두어 왔고 모든 지점들은 메인프레임에 연결된 터미널을 사용해 왔다. 그런데 이 은행은 메인프레임 컴퓨터를 퇴출시키고 분산시스템으로 교체하기로 결정했다. 각 지점은 이제 로컬 계정을 저장하고 로컬 트랜잭션을 처리하는 마스터 컴퓨터를 갖게 됐다. 그리고 컴퓨터는 전 지역 네트워크를 통해 다른 지역 컴퓨터들과 연결되었다. 만약 고객이 있는 장소나 고객의 계정이 저장되어 있는 곳과 상관없이 트랜잭션이 수행될 수 있다면, 그리고 사용자는 새로운 시스템과 기존의 중앙집중(centralized) 메인프레임 기반 시스템과의 차이를 느낄 수 없다면 이는 매우 성공적인 분산시스템이라고 할 수 있다.
전 산업계에 걸쳐 분산시스템으로 옮겨 가는 가장 중요한 이유는 바로 비용이다. 메인프레임 컴퓨터 한대를 구입해서 유지보수 하는 것 보다 여러 대의 PC를 구매해서 관리하는 것이 훨씬 경제적일 수 있다. 하지만 이것은 H/W의 비용만을 의미하지는 않는다. 잘 설계된 분산시스템은 동일한 비용을 들였을 때 훨씬 좋은 처리 능력을 낼 수 있다. 분산시스템은 작업을 업그레이드 하거나 유지하기 위해 연결을 끊을 필요가 없다. 또 사용자에게 불편함을 끼치지 않고, 회사의 중요 업무를 위태롭게 하지 않고도 서버 여러 대의 연결을 동시에 끊거나, 서버를 추가 할 수도 있다. 이에 따라 수용능력 계획도 보다 더 안정적이고 논리적인 방식으로 세울 수 있는데, 필요시점 이전에 미리 처리 능력을 늘리는 것이 그리 어려운 작업이 아니기 때문이다.
이와 같은 환경에서 대두된 것이 분산컴포넌트이다. 분산시스템을 이루는 각 컴퓨터에 필요에 따라 컴포넌트들을 분산시키고, 이것들을 조립하여 하나의 완성된 소프트웨어를 만드는 방법이다. 이렇게 분산 환경에서 사용되는 컴포넌트 기술들에는 CORBA, COM+, EJB 등이 있다.