Utilização de três componentes básicos: cliente, internet e servidor
O cliente não se comunica com outros clientes
Servidor atende vários clientes simultaneamente
Par/Par
Cada participante de rede executa tanto funções de servidor como de cliente
Sistemas naturalmente escaláveis
Não existe hierarquia ou exclusividade no fornecimento das informações
Todos os computadores são iguais e chamados de pares
Arquitetura em Camadas
Visam separação de responsabilidades entre os componentes da aplicação
Atendem aos requisitos não funcionais esperados pela aplicação
Há um custo do seu aumento de complexidade
Seistemas tradicionais tem somente uma camada do lado do servidor; Dados
Arquiteturas em duas camadas tem separação das entidades em: Apresentação e Dados
Arquitetura em três camadas tem separação das entidades em: Apresentação, Negócio (aplicação) e Dados
Padrão MVC
É uma forma de quebrar uma aplicação ou até mesmo um pedaço de interface de uma aplicação em três partes
Camada de manipulação dos dados (model)
Tudo o que diz a escrita, validação e leitura dos dados
Camada de controle (controller)
Responsável por receber todas requisições do usuário
Camada de interação do usuário (view)
A camada de interação com o usuário
Arquitetura Orientada a Seviços
É uma abordagem arquitetural corporativa que permite a criação de serviços de negócios interoperáveis
Podem ser facilmente ser reutilizados e compatilhados entre aplicações e empresas
Elementos do SOA
Application Frontend
Inicia todos os processos de negócios e recebe seus resultados
Diversas aplicações que interagem com o usuário final: web, aplicações com interfaces gráficas o
usuário (GUI) etc
Não necessariamente interagem diretamente com o usuário final
Serviços
É um mecanismo que permite acessar conjunto de recursos (capabilities)
Repositório de serviços
São armazenadas e gerenciadas as informações sobre serviços (meta dados) em uma SOA
Barramento de serviços
É uma infraestrutura que permite a comunicação, baseada em padrões, entre diferentes aplicações
Arquitetura Rest
É um design de arquitetura construído para servir aplicações em rede
A aplicação mais comum de REST é a própria World Wide Web, que utilizou REST como base para o
desenvolvimento do HTTP 1.1.
Computação em Nuvens
Um modelo que possibilita acesso, de modo conveniente e sob demanda, a um conjunto de recursos
computacionais configuráveis que podem ser rapidamente adquiridos e liberados com mínimo esforço
gerencial ou interação com o provedor de serviços.