Frameworks e REST: Conceitos Essenciais de Arquitetura

Classificado em Computação

Escrito em em português com um tamanho de 3,08 KB

O que são Frameworks?

Um framework é tipicamente formado por um conjunto de bibliotecas estruturadas para executar uma operação maior. Ele captura a funcionalidade comum a várias aplicações que pertencem a um mesmo domínio de problema, exigindo que essas aplicações compartilhem algo razoavelmente grande em comum.

Características Essenciais dos Frameworks

  • Reutilizável: Um framework deve ser reusável.
  • Extensível:
    • O framework contém funcionalidade abstrata (sem implementação) que deve ser completada pelo desenvolvedor.
  • Uso Seguro:
    • O desenvolvedor de aplicações não pode destruir a estrutura fundamental do framework.
  • Eficiente:
    • Devido ao seu uso em muitas situações, algumas das quais poderão necessitar de alta performance.
  • Completo:
    • Deve endereçar o domínio do problema pretendido de forma abrangente.

Vantagens e Desvantagens

Vantagens
  • Melhor consistência e compatibilidade entre aplicações.
  • Padronização.
  • Velocidade no desenvolvimento.
  • Redução de custos.
Desvantagens
  • Construir um framework é complexo.
  • O reuso não é automático: deve ser planejado.
  • Requer modificar o processo de desenvolvimento e criar novos incentivos.

Tipos de Frameworks

Framework de Aplicação (Horizontal)
  • Também chamado de framework horizontal.
  • Encapsula conhecimento (expertise) aplicável a uma vasta gama de aplicações.
  • Resolve apenas uma fatia do problema da aplicação.
  • Exemplo: Framework para construção de UI (User Interface).
Framework de Domínio (Vertical)
  • Também chamado de framework vertical.
  • Encapsula conhecimento (expertise) aplicável a aplicações pertencentes a um domínio particular de problema.
  • Resolve boa parte da aplicação.
  • Exemplo: Framework para construir aplicações de finanças.

REST (Representational State Transfer)

REST, sigla para Representational State Transfer, é um padrão arquitetural para a construção de Web Services que utilizam unicamente o protocolo HTTP para a comunicação.

  • Utiliza URLs (Uniform Resource Locators) como meio de comunicação.
  • A representação dos dados é feita tipicamente através de arquivos XML ou JSON, sendo o JSON o formato mais comum.
  • Não utiliza um descritor de serviços, como ocorre com o WSDL no SOAP.
  • Os serviços/recursos são representados por URLs.
  • O padrão REST utiliza os verbos do protocolo HTTP (GET, POST, PUT, DELETE, etc.) para representar operações de dados (CRUD).

Restify

Restify é um módulo Node.js construído especificamente para permitir a construção eficiente de serviços Web RESTful.

Entradas relacionadas: