SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Sistema de Informação Gerencial – SIG
Sistema de Informação Gerencial – SIGSistema de Informação Gerencial – SIG
Sistema de Informação Gerencial – SIGMúsicaParaense.Org
 
Aula 3 - Dimensão 1 - Estrutura Organizacional
Aula 3 - Dimensão 1 - Estrutura OrganizacionalAula 3 - Dimensão 1 - Estrutura Organizacional
Aula 3 - Dimensão 1 - Estrutura OrganizacionalProf. Leonardo Rocha
 
SIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RHSIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RHAntonio Pinto Pereira
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosCláudio Amaral
 
PLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.doc
PLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.docPLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.doc
PLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.docGivaldoBatistaMoroBo
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Seminário Plano de Negócios
Seminário Plano de NegóciosSeminário Plano de Negócios
Seminário Plano de NegóciosRenato Bafi
 
CONCEITOS BÁSICOS DE GESTÃO
CONCEITOS BÁSICOS DE GESTÃOCONCEITOS BÁSICOS DE GESTÃO
CONCEITOS BÁSICOS DE GESTÃOFrancisco Pereira
 
Apresentação incubadoras
Apresentação incubadorasApresentação incubadoras
Apresentação incubadorasLetícia Paiva
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Método científico
Método científicoMétodo científico
Método científicoLuis Costa
 

Tendances (20)

Seguranca Digital
Seguranca DigitalSeguranca Digital
Seguranca Digital
 
Sistema de Informação Gerencial – SIG
Sistema de Informação Gerencial – SIGSistema de Informação Gerencial – SIG
Sistema de Informação Gerencial – SIG
 
Iso 12207
Iso 12207Iso 12207
Iso 12207
 
Aula 3 - Dimensão 1 - Estrutura Organizacional
Aula 3 - Dimensão 1 - Estrutura OrganizacionalAula 3 - Dimensão 1 - Estrutura Organizacional
Aula 3 - Dimensão 1 - Estrutura Organizacional
 
SIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RHSIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RH
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
Mpsbr
MpsbrMpsbr
Mpsbr
 
CSS
CSSCSS
CSS
 
PLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.doc
PLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.docPLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.doc
PLANO DE AULA 3 - SENAC - GESTÃO E NEGOCIOS - JAN 24.doc
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Seminário Plano de Negócios
Seminário Plano de NegóciosSeminário Plano de Negócios
Seminário Plano de Negócios
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
CONCEITOS BÁSICOS DE GESTÃO
CONCEITOS BÁSICOS DE GESTÃOCONCEITOS BÁSICOS DE GESTÃO
CONCEITOS BÁSICOS DE GESTÃO
 
Apresentação incubadoras
Apresentação incubadorasApresentação incubadoras
Apresentação incubadoras
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Era digital
Era digitalEra digital
Era digital
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Plano de Negócios - Slides facilitadores
Plano de Negócios - Slides facilitadoresPlano de Negócios - Slides facilitadores
Plano de Negócios - Slides facilitadores
 
Método científico
Método científicoMétodo científico
Método científico
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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