SlideShare a Scribd company logo
1 of 47
Download to read offline
Escalabilidade em Aplicações Web Utilizando
Banco de Dados Não-Relacional e
Programação Orientada a Eventos na Camada
Server-Side com Node.JS
Trabalho de Conclusão de Curso!
Vagner José Santana
Prof. Dr. Ronaldo Celso Messias Correia

Disponível em vagnersantana.com/tcc
Agenda

•

Formulação do Problema e Motivação

•

Objetivos

•

Escalabilidade

•

Modelo Cliente-Servidor

•

Programação Orientada a Eventos e Node.js

•

Bancos de Dados Não-Relacionais e MongoDB

•

Modelo Proposto

•

Estudo de Caso

•

Implementação

•

Testes e Resultados

•

Conclusões

2
Formulação do Problema e Motivação
•

Aumento de usuários e dispositivos conectados à
Internet

•

Estrutura escaláveis: vertical e horizontal

•

Modelo atual possui limitações

•

Repensar o desenvolvimento de aplicações web

3
Objetivos
•

Desenvolvimento de uma aplicação utilizando
orientação a eventos em Node.js

•

Utilização do banco de dados não-relacional
MongoDB.

•

Desenvolvimento de uma aplicação com propósito
de comparação

•

Realização de testes

•

Análise dos resultados obtidos

4
Escalabilidade
“Escalabilidade é uma característica desejável em
todo o sistema, em uma rede ou em um processo, que
indica sua habilidade de manipular uma porção
crescente de trabalho de forma uniforme, ou estar
preparado para crescer.”
André B. Bondi, 'Characteristics of scalability and their impact on performance', Proceedings of the 2nd
international workshop on Software and performance, Ottawa, Ontário, Canadá, 2000, ISBN 1-58113-195X, pagina 195 - 203

5
!6
Modelo Cliente-Servidor
•

Dividir em camadas as partes que interagem com
um aplicação

•

Protocolo TCP/IP

•

Software web server

•

Requisições HTTP

•

Apache HTTP Server

•

I/O

7
Modelo Cliente-Servidor

Modelo Cliente-Servidor de três camadas

8
Operações I/O
•

I/O Bloqueante

•

I/O Não-Bloqueante

•

Polling / Async

9
C10K Problem
•

Dan Kegel, 1999

•

Servidores suportam no máximo 10
mil conexões simultâneas

•

Hardware não é o único problema

•

Concorrência utilizando threads

10
Programação Orientada a Eventos
•

Paradigma: maneira como uma linguagem
estrutura seu fluxo

•

Fluxo de controle guiado por sinais externos

•

Normalmente utilizada no desenvolvimento de
interfaces de usuário

•

Aguarda pelo disparo de um evento

11
Programação Orientada a Eventos
• Evento:

maneira de indicar que algo
aconteceu

• Permite

criar fluxos assíncronos

• Request
• Event

/ Response

Producer / Event Consumer

• Callbacks

12
Programação Orientada a Eventos

Exemplo do fluxo de execução de uma aplicação assíncrona

13
Node.js
•

JavaScript Server Side

•

Async

•

Event-Driven I/O

•

Non-blocking

•

V8 Engine (Google
Chrome)

•

C libev / libeio

Arquitetura do Node.js

14
Node.js
•

Módulos

•

Não existe garantia da ordem de execução
de chamadas

•

Single Thread

•

Constante atualização

15
Bancos de Dados Não-Relacionais
•

Suprir as limitações presentes no modelo relacional

•

Grande volumes de dados

•

Foco em escalabilidade e performance

•

Multiplas vertentes e bancos de dados
desenvolvidos

•

Modelagem Flexível

•

Acesso via APIs simples

16
Bancos de Dados Não-Relacionais
•

Eventual Consistency

•

Ausência de ACID

•

BASE: Disponibilidade, Estado Leve e
Consistência em Momento Indeterminado

•

Prioriza escalabilidade e disponibilidade

•

Menor tempo de resposta em consultas

•

Maior grau de concorrência

17
MongoDB
•

Desenvolvido em linguagem C++

•

Alta Performance

•

Integração com a linguagem JavaScript

•

Schema baseado em coleções

•

Coleções armazenam Documentos

18
MongoDB
•

Documentos são baseado no conjunto de
chaves e valores

•

Formato JSON (JavaScript Object Notation)

•

Ausência de tabelas adicionais para
armazenar relações

•

Documentos podem ter diferentes
estruturas

19
MongoDB
•

ObjectID

•

Sharding

•

GridFS

20
Collection 1

Collection 2

Collection 3

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON

JSON
Modelo Proposto
Estrutura do modelo proposto

23
Estudo de Caso
•

Validar a proposta

•

Módulo de um sistema acadêmico

•

Foco em disponibilização de materiais

•

Professores, Alunos, Turmas, Disciplinas,
Cursos, Materiais

24
Implementação
Aplicação 1
•

Modelo proposto

•

Banco de Dados Não-Relacional
(MongoDB)

•

Linguagem JavaScript

•

Node.js

26
Aplicação 2
•

Modelo básico

•

Banco de Dados Relacional (MySQL)

•

Linguagem PHP

•

Apache HTTP Server

27
Modelagem Relacional

Modelo Entidade-Relacionamento

28
Modelagem Não-Relacional
•

Análise do estudo de caso

•

Ausência de normalização

•

Elementos chaves serão Coleções

•

Documentos armazenam Documentos

29
Modelagem Não-Relacional

Estrutura de um documento da coleção "cursos"

30
Modelagem Não-Relacional

Estrutura de um documento da coleção "alunos"

31
Modelagem Não-Relacional

Estrutura de um documento da coleção "materiais"

32
Implementação em JavaScript
•

Rotas

•

Modelos

•

Restify

•

Mongoose

33
Implementação em JavaScript

Arquivo “app.js”

34
Implementação em JavaScript
Definição de rota em “routes/aluno.js"

Definição da estrutura de um documento em um modelo

35
Implementação em JavaScript

Definição de um método em um modelo

36
Testes
Realizados
Testes
•

Métrica 1: Requisições Sequenciais

•

Métrica 2: Requisições Concorrentes

38
Resultados
Resultados - Métrica 1

Inserção de Dados - 10.000 requisições

40
Resultados - Métrica 1

Consulta de Dados - 10.000 requisições

41
Resultados - Métrica 1

Atualização de Dados - 10.000 requisições

42
Resultados - Métrica 2

Consulta de Dados - 10.000 requisições / 100 concorrentes

43
Resultados - Métrica 2

Atualização de Dados - 10.000 requisições / 100 concorrentes

44
Conclusões
Conclusões
•

Desenvolvimento em Node.js pode ser feito de
maneira simples, modular e projetável

•

Operações não-bloqueantes obtiveram desempenho
superior (de seis a oito vezes) ao modelo bloqueante

•

Node.js pode ser usado em produção (ex. PayPal)

•

Flexibilidade do modelo não-relacional

•

Busca em MongoDB tempo de resposta alto

•

Trabalhos futuros: utilização de Sharding e
clusterização do Node.js

46
Obrigado!
Escalabilidade em Aplicações Web Utilizando
Banco de Dados Não-Relacional e
Programação Orientada a Eventos na Camada
Server-Side com Node.JS
Trabalho de Conclusão de Curso!
Vagner José Santana • vagnervjs@gmail.com
Prof. Dr. Ronaldo Celso Messias Correia • ronaldo@fct.unesp.br

More Related Content

What's hot

Etapas de pesquisa aula 3
Etapas de pesquisa   aula 3Etapas de pesquisa   aula 3
Etapas de pesquisa aula 3danilo oliveira
 
Trabalhos científicos (conceitos inicais e dicas) by cleverson tabajara vianna
Trabalhos científicos (conceitos inicais e dicas) by cleverson tabajara viannaTrabalhos científicos (conceitos inicais e dicas) by cleverson tabajara vianna
Trabalhos científicos (conceitos inicais e dicas) by cleverson tabajara viannaIFSC
 
Traba metodologia ASSEDIO MORAL
Traba  metodologia ASSEDIO MORALTraba  metodologia ASSEDIO MORAL
Traba metodologia ASSEDIO MORALAlessandra Julião
 
01 técnica qualitativa - estudo de caso
01   técnica qualitativa - estudo de caso01   técnica qualitativa - estudo de caso
01 técnica qualitativa - estudo de casoFabio Lima
 
Conservação de acervos bibliográficos
Conservação de acervos bibliográficosConservação de acervos bibliográficos
Conservação de acervos bibliográficosIuri Franco Rizzi
 
Introdução à metodologia da pesquisa científica
Introdução à metodologia da pesquisa científicaIntrodução à metodologia da pesquisa científica
Introdução à metodologia da pesquisa científicaCassio Meira Jr.
 
Relatório descritivo do curso de Educação a Distância: Construindo um Pro...
Relatório descritivo do curso de Educação a Distância: Construindo um Pro...Relatório descritivo do curso de Educação a Distância: Construindo um Pro...
Relatório descritivo do curso de Educação a Distância: Construindo um Pro...Caio Moreno
 
Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012
Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012
Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012Susana Lemos
 
Introdução ao direito constitucional módulo III
Introdução ao direito constitucional   módulo IIIIntrodução ao direito constitucional   módulo III
Introdução ao direito constitucional módulo IIIRosane Domingues
 
COUNTER Code of Practice Release 5
COUNTER Code of Practice Release 5COUNTER Code of Practice Release 5
COUNTER Code of Practice Release 5Lorraine Estelle
 
Problema revisão hipotese
Problema revisão hipoteseProblema revisão hipotese
Problema revisão hipoteseThaís Bomfim
 
Análise de Artigos de Revisão e Elaboração de Artigos Científicos
Análise de Artigos de Revisão e Elaboração de Artigos CientíficosAnálise de Artigos de Revisão e Elaboração de Artigos Científicos
Análise de Artigos de Revisão e Elaboração de Artigos CientíficosCarlos Fernando Jung
 
Catalogação na Fonte
Catalogação na FonteCatalogação na Fonte
Catalogação na FonteCarla Ferreira
 
Tipos de pesquisa
Tipos de pesquisaTipos de pesquisa
Tipos de pesquisaMarcioveras
 
Du signalement bibliographique à la recherche documentaire
Du signalement bibliographique à la recherche documentaireDu signalement bibliographique à la recherche documentaire
Du signalement bibliographique à la recherche documentaireABES
 
Elaboração do projeto de pesquisa
Elaboração do projeto de pesquisaElaboração do projeto de pesquisa
Elaboração do projeto de pesquisaSandra Pereira
 

What's hot (20)

Aula 2 estudo qualitativo
Aula 2   estudo qualitativoAula 2   estudo qualitativo
Aula 2 estudo qualitativo
 
Etapas de pesquisa aula 3
Etapas de pesquisa   aula 3Etapas de pesquisa   aula 3
Etapas de pesquisa aula 3
 
Trabalhos científicos (conceitos inicais e dicas) by cleverson tabajara vianna
Trabalhos científicos (conceitos inicais e dicas) by cleverson tabajara viannaTrabalhos científicos (conceitos inicais e dicas) by cleverson tabajara vianna
Trabalhos científicos (conceitos inicais e dicas) by cleverson tabajara vianna
 
Slides para a qualificação
Slides para a qualificaçãoSlides para a qualificação
Slides para a qualificação
 
Traba metodologia ASSEDIO MORAL
Traba  metodologia ASSEDIO MORALTraba  metodologia ASSEDIO MORAL
Traba metodologia ASSEDIO MORAL
 
01 técnica qualitativa - estudo de caso
01   técnica qualitativa - estudo de caso01   técnica qualitativa - estudo de caso
01 técnica qualitativa - estudo de caso
 
Conservação de acervos bibliográficos
Conservação de acervos bibliográficosConservação de acervos bibliográficos
Conservação de acervos bibliográficos
 
Análise de Dados
Análise de DadosAnálise de Dados
Análise de Dados
 
Introdução à metodologia da pesquisa científica
Introdução à metodologia da pesquisa científicaIntrodução à metodologia da pesquisa científica
Introdução à metodologia da pesquisa científica
 
Relatório descritivo do curso de Educação a Distância: Construindo um Pro...
Relatório descritivo do curso de Educação a Distância: Construindo um Pro...Relatório descritivo do curso de Educação a Distância: Construindo um Pro...
Relatório descritivo do curso de Educação a Distância: Construindo um Pro...
 
Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012
Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012
Apresentação do Projeto de Doutoramento (em seminário) - junho de 2012
 
Introdução ao direito constitucional módulo III
Introdução ao direito constitucional   módulo IIIIntrodução ao direito constitucional   módulo III
Introdução ao direito constitucional módulo III
 
Coleta de dados
Coleta de dadosColeta de dados
Coleta de dados
 
COUNTER Code of Practice Release 5
COUNTER Code of Practice Release 5COUNTER Code of Practice Release 5
COUNTER Code of Practice Release 5
 
Problema revisão hipotese
Problema revisão hipoteseProblema revisão hipotese
Problema revisão hipotese
 
Análise de Artigos de Revisão e Elaboração de Artigos Científicos
Análise de Artigos de Revisão e Elaboração de Artigos CientíficosAnálise de Artigos de Revisão e Elaboração de Artigos Científicos
Análise de Artigos de Revisão e Elaboração de Artigos Científicos
 
Catalogação na Fonte
Catalogação na FonteCatalogação na Fonte
Catalogação na Fonte
 
Tipos de pesquisa
Tipos de pesquisaTipos de pesquisa
Tipos de pesquisa
 
Du signalement bibliographique à la recherche documentaire
Du signalement bibliographique à la recherche documentaireDu signalement bibliographique à la recherche documentaire
Du signalement bibliographique à la recherche documentaire
 
Elaboração do projeto de pesquisa
Elaboração do projeto de pesquisaElaboração do projeto de pesquisa
Elaboração do projeto de pesquisa
 

Viewers also liked

Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...Vagner Santana
 
Escalabilidade de Aplicações Web
Escalabilidade de Aplicações WebEscalabilidade de Aplicações Web
Escalabilidade de Aplicações WebRenato Lucindo
 
TCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetTCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetClaudeir Novais
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações WebAnderson Aguiar
 
Padrões para Criação e Interpretação de Conteúdos Web com HTML5
Padrões para Criação e Interpretação de Conteúdos Web com HTML5Padrões para Criação e Interpretação de Conteúdos Web com HTML5
Padrões para Criação e Interpretação de Conteúdos Web com HTML5Vagner Santana
 
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEAVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEDavid Lojudice Sobrinho
 
Banco de dados model-er
Banco de dados model-erBanco de dados model-er
Banco de dados model-erCarlos Melo
 
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...Adriel Viana
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web ApplicationsDavid Mitzenmacher
 
Portfolio unopar administração 7º periodo conceito excelente!
Portfolio unopar administração 7º periodo   conceito excelente!Portfolio unopar administração 7º periodo   conceito excelente!
Portfolio unopar administração 7º periodo conceito excelente!Rogerio Sena
 
Apresentação unopar modelo 1
Apresentação unopar modelo 1Apresentação unopar modelo 1
Apresentação unopar modelo 1Rogerio Sena
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 

Viewers also liked (13)

Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...
Alto desempenho e escalabilidade em aplicações web utilizando banco de dados ...
 
Escalabilidade de Aplicações Web
Escalabilidade de Aplicações WebEscalabilidade de Aplicações Web
Escalabilidade de Aplicações Web
 
TCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetTCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para Internet
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações Web
 
Padrões para Criação e Interpretação de Conteúdos Web com HTML5
Padrões para Criação e Interpretação de Conteúdos Web com HTML5Padrões para Criação e Interpretação de Conteúdos Web com HTML5
Padrões para Criação e Interpretação de Conteúdos Web com HTML5
 
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEAVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
 
Banco de dados model-er
Banco de dados model-erBanco de dados model-er
Banco de dados model-er
 
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
 
Portfolio unopar administração 7º periodo conceito excelente!
Portfolio unopar administração 7º periodo   conceito excelente!Portfolio unopar administração 7º periodo   conceito excelente!
Portfolio unopar administração 7º periodo conceito excelente!
 
Apresentação unopar modelo 1
Apresentação unopar modelo 1Apresentação unopar modelo 1
Apresentação unopar modelo 1
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 

Similar to Node MongoDB escalabilidade aplicações web

Desenvolvimento de Projetos Interativos: Especificação e Implementação
Desenvolvimento de Projetos Interativos: Especificação e ImplementaçãoDesenvolvimento de Projetos Interativos: Especificação e Implementação
Desenvolvimento de Projetos Interativos: Especificação e ImplementaçãoEdyd B. Junges
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...anybalrocha
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftFabrício Lopes Sanchez
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...Cleber Dantas
 
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Rodrigo Peleias
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Felipe Nascimento
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 

Similar to Node MongoDB escalabilidade aplicações web (20)

Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Desenvolvimento de Projetos Interativos: Especificação e Implementação
Desenvolvimento de Projetos Interativos: Especificação e ImplementaçãoDesenvolvimento de Projetos Interativos: Especificação e Implementação
Desenvolvimento de Projetos Interativos: Especificação e Implementação
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
 
AJAX
AJAXAJAX
AJAX
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
 
Mini curso rails 3
Mini curso rails 3Mini curso rails 3
Mini curso rails 3
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 

Node MongoDB escalabilidade aplicações web