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.