Camadas de Software e Arquitetura Distribuída

Classificado em Tecnologia

Escrito em em português com um tamanho de 2,43 KB.

Camadas de Software e Arquitetura de Software Distribuído

Definição

Camadas de Software: Especificam os componentes de software em um processo, impactando a simplicidade do desenvolvimento. Cada camada possui responsabilidades específicas.

Arquitetura de Software Distribuído: Especifica a organização e interação dos componentes em um sistema distribuído.

Relação entre Camadas e Arquitetura

A arquitetura distribuída utiliza componentes separados em camadas, seguindo princípios de organização, divisão de responsabilidades, alta coesão e baixo acoplamento.

Componentes de Software

São elementos da arquitetura que implementam processamento, estado e interação. Cada unidade modular pode ter interfaces fornecidas ou demandadas.

Composição de Componentes

Composição Hierárquica

Um componente chama diretamente os serviços de outro. Uma interface provedora é composta diretamente a uma interface requerida.

Composição Aditiva

O diagrama de componentes apresentado ilustra a composição aditiva.

Interfaces Fornecidas e Demandadas

  • Componente DataManager: Interface Fornecida: IConnection
  • Componente Util: Interface Fornecida: IConversion
  • Componente DataQuery: Interface Fornecida: IQuery
  • Componente DataBusiness: Interfaces Fornecidas: IBusiness; Interfaces Demandadas: IConnection, IConversion, IQuery

Componentes, Conectores

  • Componentes: DataManager, Util, DataQuery, DataBusiness
  • Conectores:
    • DataManager: IConnection
    • Util: IConversion
    • DataQuery: IQuery
    • DataBusiness: IBusiness, IConnection, IConversion, IQuery

REST e RESTful

Definições

REST: Abstração da arquitetura da Web, com princípios para a criação de projetos com interfaces bem definidas, permitindo a comunicação entre aplicações.

RESTful: Sistemas que aplicam os princípios REST.

Arquitetura Cliente-Servidor

A aplicação é modelada como um conjunto de serviços fornecidos por servidores e usados por clientes. Os clientes conhecem os servidores, mas o inverso não é verdadeiro.

Entradas relacionadas: