Outro aspecto fundamental de sistemas de software é a interação entre os blocos de construção do sistema. Muitos sistemas modernos são construídos a partir de um grande número de componentes complexos, distribuídos em vários hosts, que são atualizados dinamicamente durante um determinado período de tempo. Em tais sistemas, garantir interações adequadas entre os componentes pode tornar-se ainda mais importante e desafiador para os desenvolvedores do que a funcionalidade dos componentes em si; em outras palavras, as interações do sistema se tornam a principal preocupação arquitetônica.
Conectores de software são a abstração arquitetônica encarregada de gerenciar as interações de componentes.