FIREBASEC O M P U TA Ç Ã O E M N U V E M E I M P L E M E N TA Ç Ã O
D E A P P
JADERSON PEDROSSINI
URI – Frederico Westphalen
jadersonpedrossini@yahoo.com.br
Classificação da informação: Uso Interno
SUMÁRIO
• Introdução
• Computação em
Nuvem
• Backend as a Service
• Firebase Storage
• Implementação
• Bancos de Dados
• Apresentação do App
• Conclusões
Classificação da informação: Uso Interno
INTRODUÇÃO
• Implementação de app com uso de APIs Firebase.
• O que é a computação em nuvem, principalmente o BaaS?
• Serviços oferecidos pelo Google Firebase.
Classificação da informação: Uso Interno
COMPUTAÇÃO EM
NUVEM
O termo “nuvem” é utilizado para
representar a internet em uma
determinada situação, conectando um
servidor ou dispositivos, sendo uma
tecnologia que permite o acesso a
programas, arquivos e serviços por meio
da internet, tudo de forma remota, de
qualquer lugar do mundo e a qualquer
hora.
O termo “nuvem” é utilizado para
representar a internet em uma determinada
situação, conectando um servidor ou
dispositivos, sendo uma tecnologia que
permite o acesso a programas, arquivos e
serviços por meio da internet, tudo de forma
remota, de qualquer lugar do mundo e a
qualquer hora.
TIPOS
DE NUVENS
Classificação da informação: Uso Interno
COMPUTAÇÃO EM
NUVEM
O termo “nuvem” é utilizado para
representar a internet em uma
determinada situação, conectando um
servidor ou dispositivos, sendo uma
tecnologia que permite o acesso a
programas, arquivos e serviços por meio
da internet, tudo de forma remota, de
qualquer lugar do mundo e a qualquer
hora.
O termo “nuvem” é utilizado para
representar a internet em uma determinada
situação, conectando um servidor ou
dispositivos, sendo uma tecnologia que
permite o acesso a programas, arquivos e
serviços por meio da internet, tudo de forma
remota, de qualquer lugar do mundo e a
qualquer hora.
Classificação da informação: Uso Interno
COMPUTAÇÃO EM
NUVEM
• Usado para habilitar o acesso ubíquo
conveniente e sob demanda de recursos
computacionais compartilhados (redes,
servidores, armazenamento, aplicações e
serviços)
• Mínimo esforço gerencial ou interação do
provedor de serviço
• Menor custo ao usuário e redução das
chances de perdas de hardware ou
manutenção constante
Classificação da informação: Uso Interno
TIPOS DE COMPUTAÇÃO
EM NUVEM
• Nuvem Privada
+ Maior segurança e privacidade;
+ Customização conforme necessidades;
- Hospedagem interna;
- Maior custo e gerenciamento;
Classificação da informação: Uso Interno
TIPOS DE COMPUTAÇÃO
EM NUVEM
• Nuvem Pública
+ Gratuitas ou sob demanda;
+ Menor tempo com gerenciamento;
- Menor personalização;
Classificação da informação: Uso Interno
TIPOS DE COMPUTAÇÃO
EM NUVEM
• Nuvem Híbrida
+ Alto desempenho
+ Gerenciamento customizado
+ Personalização conforme necessidades
+ Recursos de privada e pública
Classificação da informação: Uso Interno
COMPUTAÇÃO EM
NUVEM
• SaaS (Software as a Service)
• PaaS (Platform as a Service)
• IaaS (Infrastructure as a
Service)
• XaaS (Anything as a Service)
Classificação da informação: Uso Interno
• SaaS (Software as a Service)
• PaaS (Platform as a Service)
• IaaS (Infrastructure as a Service)
• XaaS (Anything as a Service)
Esse é o modelo em que o software
está hospedado em um servidor e, em
vez de pagarmos licenças pelo software
completo, que muitas vezes possui
várias funcionalidades que nunca
vamos utilizar, pagamos pelo quanto
utilizamos dele.
Ex: Google Drive e Salesforce
MODELOS DE COMPUTAÇÃO EM NUVEM
Classificação da informação: Uso Interno
• SaaS (Software as a Service)
• PaaS (Platform as a Service)
• IaaS (Infrastructure as a Service)
• XaaS (Anything as a Service)
Esse é menos popular, mas garante
que tenhamos um serviço mais
personalizado e fácil de configurar,
sendo um serviço de plataforma, com a
liberdade para fazer algumas
personalizações no software e deixá-lo
com a cara que precisamos
Ex: Google App
MODELOS DE COMPUTAÇÃO EM NUVEM
Classificação da informação: Uso Interno
• SaaS (Software as a Service)
• PaaS (Platform as a Service)
• IaaS (Infrastructure as a Service)
• XaaS (Anything as a Service)
Esse modelo faz muito sucesso nas
empresas. Em vez de possuir um
servidor próprio em suas instalações, a
empresa contrata esse tipo de serviço
na nuvem, onde pode ter servidores de
dados ou processamento por preços
superacessíveis.
Ex: Amazon Web Services
MODELOS DE COMPUTAÇÃO EM NUVEM
Classificação da informação: Uso Interno
• SaaS (Software as a Service)
• PaaS (Platform as a Service)
• IaaS (Infrastructure as a Service)
• XaaS (Anything as a Service)
Reúne os demais tipos de modelos de
computação em nuvem, menos
populares porém com grande utilidade.
Dentro deste modelos temos o BaaS
(Backend as a Service), o qual
daremos foco neste projeto.
Ex: Google Firebase
MODELOS DE COMPUTAÇÃO EM NUVEM
Classificação da informação: Uso Interno
BACKEND AS A SERVICE
É um modelo de computação em nuvem que atua como um componente
de middleware (Fornece serviços para softwares aplicativos além daqueles
disponíveis pelo sistema operacional, facilitando a comunicação e entrada/saída),
permitindo que desenvolvedores conectem seus aplicativos a serviços em nuvem,
através de SDKs (Software Development Kit) e APIs (Application programing
Interface).
• SDK: é um conjunto de
ferramentas de desenvolvimento
de software que permite a
criação de apps para um certo
pacote (sistema, hardware,
plataforma), geralmente
acompanhados de um ambiente
de desenvolvimento integrado.
• API: Conjunto de rotinas e
padrões de programação para
acesso a um aplicativo de
software ou plataforma web. É
desenvolvida para que outros
criadores possam usar do
serviço associado em seus
apps.
Classificação da informação: Uso Interno
O QUE É
FIREBASE
?
Classificação da informação: Uso Interno
FIREBASE
Ele é um serviço BaaS adquirido pela Google em 2014, porém existente
desde 2004, oferecendo diversos serviços para desenvolvedores, utilizando a
infraestrutura da Google.
Classificação da informação: Uso Interno
FIREBASE
Ele é um serviço BaaS adquirido pela Google em 2014, porém existente
desde 2004, oferecendo diversos serviços para desenvolvedores, utilizando a
infraestrutura da Google.
Classificação da informação: Uso Interno
FIREBASE
Ele é um serviço BaaS adquirido pela Google em 2014, porém existente
desde 2004, oferecendo diversos serviços para desenvolvedores, utilizando a
infraestrutura da Google.
Classificação da informação: Uso Interno
FIREBASE STORAGE
• Operações confiáveis;
• Segurança potente;
• Alta escalabilidade.
Ele é um serviço de armazenamento de dados de mídia, como fotos,
vídeos e arquivos de áudio, desenvolvido pela Google. Ele permite que os
programadores desenvolvam aplicações em IOS, Android, HTML, C++ e Unity de
forma gratuita e limitada, ou com grande poder de dados em versões pagas.
Classificação da informação: Uso Interno
FIREBASE STORAGE (USO)
Em primeiro lugar o desenvolvedor precisa incluir o uso do Firebase ao seu projeto,
na seção build.gradle (Module: app):
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.firebase:firebase-database:16.0.4'
implementation 'com.google.firebase:firebase-storage:16.0.4'
Classificação da informação: Uso Interno
FIREBASE STORAGE (USO)
Depois disso ele deve criar uma instancia do FirebaseStorage, passar o arquivo a
ser enviado e as informações que foram criadas no banco de dados:
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.firebase:firebase-database:16.0.4'
implementation 'com.google.firebase:firebase-storage:16.0.4'
StorageReference fileReference = storageReference.child(System.currentTimeMillis() + "."
+ getFileExtension(arquivoPath));storageTask = fileReference.putFile(arquivoPath)
.addOnSuccessListener([..]Task<Uri> urlTask =
taskSnapshot.getStorage().getDownloadUrl();
while (!urlTask.isSuccessful());
Uri downloadUrl = urlTask.getResult();
Upload upload = new Upload(etnome.getText().toString().trim(),downloadUrl.toString());
String uploadId = databaseReference.push().getKey();
databaseReference.child(uploadId).setValue(upload);
Classificação da informação: Uso Interno
FIREBASE STORAGE (USO)
Já para obter a imagem enviada, utilizamos a biblioteca Picasso, responsável por
fazer envio e requisição de imagens dentro de uma ImageView através da internet.
Upload uploacurrent = muploads.get(position);
holder.txtviewnome.setText(uploacurrent.getNome());
Picasso.get()
.load(uploacurrent.getImage())
.placeholder(R.mipmap.ic_launcher)
.fit()
.centerCrop()
.into(holder.imgview);
Classificação da informação: Uso Interno
REALTIME DATABASE OU CLOUD FIRESTORE
O serviço Firebase oferece dois bancos de dados com características diferentes, a
seguir veremos suas diferenças.
Realtime Database
Armazena dados como uma grande
árvore JSON
Melhor para dados mais simples
Suporte offline para IOS e Android
Consultas podem classificar ou filtrar
uma propriedade
Não possui limitador de taxas de
gravação
Apenas largura de banda e
armazenamento são cobrados, porém a
uma taxa maior
Cloud Firestore
Armazena dados como coleções de
documentos
Dados complexos são fáceis de
organizar
Suporte offline para IOS, Android e
Consultas podem classificar e filtrar
propriedade
Possui limitador de taxas de gravação
Cobra principalmente por operações
realizadas (leitura, gravação, exclusão) e
uma taxa menor por largura de banda e
armazenamento
Classificação da informação: Uso Interno
REALTIME DATABASE OU CLOUD FIRESTORE
O serviço Firebase oferece dois bancos de dados com características diferentes, a
seguir veremos suas diferenças.
Realtime Database
Armazena dados como uma grande
árvore JSON
Melhor para dados mais simples
Suporte offline para IOS e Android
Consultas podem classificar ou filtrar
uma propriedade
Não possui limitador de taxas de
gravação
Apenas largura de banda e
armazenamento são cobrados, porém a
uma taxa maior
Cloud Firestore
Armazena dados como coleções de
documentos
Dados complexos são fáceis de
organizar
Suporte offline para IOS, Android e
Consultas podem classificar e filtrar
propriedade
Possui limitador de taxas de gravação
Cobra principalmente por operações
realizadas (leitura, gravação, exclusão) e
uma taxa menor por largura de banda e
armazenamento
Classificação da informação: Uso Interno
REALTIME DATABASE OU CLOUD FIRESTORE
O serviço Firebase oferece dois bancos de dados com características diferentes, a
seguir veremos suas diferenças.
Realtime Database
Armazena dados como uma grande
árvore JSON
Melhor para dados mais simples
Suporte offline para IOS e Android
Consultas podem classificar ou filtrar
uma propriedade
Não possui limitador de taxas de
gravação
Apenas largura de banda e
armazenamento são cobrados, porém a
uma taxa maior
Cloud Firestore
Armazena dados como coleções de
documentos
Dados complexos são fáceis de
organizar
Suporte offline para IOS, Android e
Consultas podem classificar e filtrar
propriedade
Possui limitador de taxas de gravação
Cobra principalmente por operações
realizadas (leitura, gravação, exclusão) e
uma taxa menor por largura de banda e
armazenamento
Classificação da informação: Uso Interno
APRESENTAÇÃO DO APP
Tela de cadastro
Tela de login
APRESENTAÇÃO DO APP
Tela de cadastro
Tela de login
Classificação da informação: Uso Interno
APRESENTAÇÃO DO APP
Tela de cadastro
Tela de login
APRESENTAÇÃO DO APP
Upload
Classificação da informação: Uso Interno
APRESENTAÇÃO DO APP
Tela de cadastro
Tela de login
APRESENTAÇÃO DO APP
Listagem de imagens enviadas
Classificação da informação: Uso Interno
APRESENTAÇÃO DO APP
Tela de cadastro
Tela de login
APRESENTAÇÃO DO APP
Classificação da informação: Uso Interno
APRESENTAÇÃO DO APP
Tela de cadastro
Tela de login
APRESENTAÇÃO DO APP
Classificação da informação: Uso Interno
APRESENTAÇÃO DO APP
Tela de cadastro
Tela de login
APRESENTAÇÃO DO APP
Classificação da informação: Uso Interno
CONCLUSÕES
A utilização de aplicações móveis vem crescendo em ritmo acelerado, e para manter
toda essa demanda é necessário que cada vez mais, existam serviços capazes de agilizar
o desenvolvimento dos mesmos, facilitando a criação, colocação no mercado e servindo
como forma de prevenir perdas possíveis nos casos de utilização de infraestruturas
próprias. Para isso, os serviços de Backend fornecidos em nuvem estão sendo muito
utilizados, além de serem ferramentas poderosas, também são disponibilizadas, muitas
vezes, de forma gratuita.
Este projeto apresentou uma ferramenta de BaaS e realizou a implementação da mesma
em um aplicativo Android para envios de imagens, servindo de teste para utilização da
mesma e expandindo o conhecimento sobre sua utilização para futuros trabalhos.
Classificação da informação: Uso Interno
REFERÊNCIAS
URI. Revista de Engenharia, Computação e Tecnologia. Disponível em
<http://revistas.fw.uri.br/index.php/recet/about/submissions#onlineSubmissions>. Acesso
em: 30 set. 2019.
Orlandi, C. Firebase: serviços, vantagens, quando utilizer e integrações. nov. 2018. Disponível
em <https://blog.rocketseat.com.br/firebase/>. Acesso em: 10 out. 2019.
Canalth. O que é API? Disponível em <https://canaltech.com.br/software/o-que-e-api/>.
Acesso em: 10 out. 2019.
Google. Firebase: guias e documentos. Disponível em
<https://firebase.google.com/docs/guides?hl=pt-br>. Acesso em: 10 out. 2019.
Ramos, C. O que é backend como serviço? nov. 2019. Disponível em
<https://blog.back4app.com/2019/11/05/o-que-e-o-backend-como-servico/>. Acesso em:
10 out. 2019.

Mais conteúdo relacionado

PDF
Padrões de Arquitetura na Nuvem da AWS
PPTX
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
PDF
Seu primeiro aplicativo de Big Data
PPTX
O que uma enterprise deveria fazer nos primeiros 90 dias
PPTX
Bancos de dados NoSQL na AWS
PDF
Webinar: Adotando serviços gerenciados Windows File Server, Patches e Compliance
PPTX
Tendências de Big Data
PPTX
Tendências de Big Data
Padrões de Arquitetura na Nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Seu primeiro aplicativo de Big Data
O que uma enterprise deveria fazer nos primeiros 90 dias
Bancos de dados NoSQL na AWS
Webinar: Adotando serviços gerenciados Windows File Server, Patches e Compliance
Tendências de Big Data
Tendências de Big Data

Mais procurados (20)

PDF
AWS Migration Day - SAP
PPTX
AWS Storage Day - Otimização do Amazon S3
PDF
Azure @ Rio Cloud Meetup
PPTX
Construindo um data lake na nuvem aws
PPTX
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
PDF
Path to the Future #1 - Tendências de Big Data
PDF
Falando sobre DevOps no azure
PPTX
Escalando sua aplicação Web com Beanstalk
PPTX
Escalando para os primeiros 10 milhões de usuários
PPTX
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
PPTX
Primeiros Passos na AWS
PDF
Desenvolvendo aplicações móveis na Nuvem
PDF
Webinar: Serviço de Distribuição de Conteúdo da AWS
PDF
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
PDF
Aumentando a produtividade e Automatizando Processos com Jira
PPTX
Escalando com segurança na AWS
PDF
Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
PPTX
Primeiros Passos na AWS
PDF
Apresentando o OpsWorks - Bemobi
PPTX
Iniciando com Amazon Cloudfront
AWS Migration Day - SAP
AWS Storage Day - Otimização do Amazon S3
Azure @ Rio Cloud Meetup
Construindo um data lake na nuvem aws
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Path to the Future #1 - Tendências de Big Data
Falando sobre DevOps no azure
Escalando sua aplicação Web com Beanstalk
Escalando para os primeiros 10 milhões de usuários
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
Primeiros Passos na AWS
Desenvolvendo aplicações móveis na Nuvem
Webinar: Serviço de Distribuição de Conteúdo da AWS
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Aumentando a produtividade e Automatizando Processos com Jira
Escalando com segurança na AWS
Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
Primeiros Passos na AWS
Apresentando o OpsWorks - Bemobi
Iniciando com Amazon Cloudfront
Anúncio

Semelhante a Backend as a Service - Firebase (Computação em Nuvem) (20)

PPTX
Aula sobre banco de dados com firebase db
PPTX
Paa s evento
PDF
Azure Fundamentals (Intensivão Azure)
PPTX
Ruby on Rails for beginners 2.0
PPSX
4° Cloud Girls SP - Levando meu desenvolvimento para nuvem com Microsoft Azure
PPSX
Levando meu desenvolvimento para nuvem com Microsoft Azure
PPTX
Migrando Aplicações Legadas para Nuvem
PPTX
Apprenda 12.2015
PPSX
[Workshop] Azure Fundamentals
PPTX
Firebase vs Parse Server - Português
PPTX
Parse Server x Firebase
PDF
PPTX
AULA COMPUTAÇAO EM NUVEM - CLOUD COMPUTING.pptx
PDF
Keynote nuvem estaleiro_ics
ODP
Construindo Aplicações PHP com Twelve-Factor App
PPTX
AZ-900T00 Roteiro de aprendizagem 01: Conceitos de nuvem
PDF
Construindo aplicações Cloud Native em Go
PPTX
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
DOCX
Provedor de nuvem - Cloud Providers
PPTX
Windows Azure: PaaS e IaaS
Aula sobre banco de dados com firebase db
Paa s evento
Azure Fundamentals (Intensivão Azure)
Ruby on Rails for beginners 2.0
4° Cloud Girls SP - Levando meu desenvolvimento para nuvem com Microsoft Azure
Levando meu desenvolvimento para nuvem com Microsoft Azure
Migrando Aplicações Legadas para Nuvem
Apprenda 12.2015
[Workshop] Azure Fundamentals
Firebase vs Parse Server - Português
Parse Server x Firebase
AULA COMPUTAÇAO EM NUVEM - CLOUD COMPUTING.pptx
Keynote nuvem estaleiro_ics
Construindo Aplicações PHP com Twelve-Factor App
AZ-900T00 Roteiro de aprendizagem 01: Conceitos de nuvem
Construindo aplicações Cloud Native em Go
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
Provedor de nuvem - Cloud Providers
Windows Azure: PaaS e IaaS
Anúncio

Backend as a Service - Firebase (Computação em Nuvem)

  • 1. FIREBASEC O M P U TA Ç Ã O E M N U V E M E I M P L E M E N TA Ç Ã O D E A P P JADERSON PEDROSSINI URI – Frederico Westphalen [email protected]
  • 2. Classificação da informação: Uso Interno SUMÁRIO • Introdução • Computação em Nuvem • Backend as a Service • Firebase Storage • Implementação • Bancos de Dados • Apresentação do App • Conclusões
  • 3. Classificação da informação: Uso Interno INTRODUÇÃO • Implementação de app com uso de APIs Firebase. • O que é a computação em nuvem, principalmente o BaaS? • Serviços oferecidos pelo Google Firebase.
  • 4. Classificação da informação: Uso Interno COMPUTAÇÃO EM NUVEM O termo “nuvem” é utilizado para representar a internet em uma determinada situação, conectando um servidor ou dispositivos, sendo uma tecnologia que permite o acesso a programas, arquivos e serviços por meio da internet, tudo de forma remota, de qualquer lugar do mundo e a qualquer hora. O termo “nuvem” é utilizado para representar a internet em uma determinada situação, conectando um servidor ou dispositivos, sendo uma tecnologia que permite o acesso a programas, arquivos e serviços por meio da internet, tudo de forma remota, de qualquer lugar do mundo e a qualquer hora. TIPOS DE NUVENS
  • 5. Classificação da informação: Uso Interno COMPUTAÇÃO EM NUVEM O termo “nuvem” é utilizado para representar a internet em uma determinada situação, conectando um servidor ou dispositivos, sendo uma tecnologia que permite o acesso a programas, arquivos e serviços por meio da internet, tudo de forma remota, de qualquer lugar do mundo e a qualquer hora. O termo “nuvem” é utilizado para representar a internet em uma determinada situação, conectando um servidor ou dispositivos, sendo uma tecnologia que permite o acesso a programas, arquivos e serviços por meio da internet, tudo de forma remota, de qualquer lugar do mundo e a qualquer hora.
  • 6. Classificação da informação: Uso Interno COMPUTAÇÃO EM NUVEM • Usado para habilitar o acesso ubíquo conveniente e sob demanda de recursos computacionais compartilhados (redes, servidores, armazenamento, aplicações e serviços) • Mínimo esforço gerencial ou interação do provedor de serviço • Menor custo ao usuário e redução das chances de perdas de hardware ou manutenção constante
  • 7. Classificação da informação: Uso Interno TIPOS DE COMPUTAÇÃO EM NUVEM • Nuvem Privada + Maior segurança e privacidade; + Customização conforme necessidades; - Hospedagem interna; - Maior custo e gerenciamento;
  • 8. Classificação da informação: Uso Interno TIPOS DE COMPUTAÇÃO EM NUVEM • Nuvem Pública + Gratuitas ou sob demanda; + Menor tempo com gerenciamento; - Menor personalização;
  • 9. Classificação da informação: Uso Interno TIPOS DE COMPUTAÇÃO EM NUVEM • Nuvem Híbrida + Alto desempenho + Gerenciamento customizado + Personalização conforme necessidades + Recursos de privada e pública
  • 10. Classificação da informação: Uso Interno COMPUTAÇÃO EM NUVEM • SaaS (Software as a Service) • PaaS (Platform as a Service) • IaaS (Infrastructure as a Service) • XaaS (Anything as a Service)
  • 11. Classificação da informação: Uso Interno • SaaS (Software as a Service) • PaaS (Platform as a Service) • IaaS (Infrastructure as a Service) • XaaS (Anything as a Service) Esse é o modelo em que o software está hospedado em um servidor e, em vez de pagarmos licenças pelo software completo, que muitas vezes possui várias funcionalidades que nunca vamos utilizar, pagamos pelo quanto utilizamos dele. Ex: Google Drive e Salesforce MODELOS DE COMPUTAÇÃO EM NUVEM
  • 12. Classificação da informação: Uso Interno • SaaS (Software as a Service) • PaaS (Platform as a Service) • IaaS (Infrastructure as a Service) • XaaS (Anything as a Service) Esse é menos popular, mas garante que tenhamos um serviço mais personalizado e fácil de configurar, sendo um serviço de plataforma, com a liberdade para fazer algumas personalizações no software e deixá-lo com a cara que precisamos Ex: Google App MODELOS DE COMPUTAÇÃO EM NUVEM
  • 13. Classificação da informação: Uso Interno • SaaS (Software as a Service) • PaaS (Platform as a Service) • IaaS (Infrastructure as a Service) • XaaS (Anything as a Service) Esse modelo faz muito sucesso nas empresas. Em vez de possuir um servidor próprio em suas instalações, a empresa contrata esse tipo de serviço na nuvem, onde pode ter servidores de dados ou processamento por preços superacessíveis. Ex: Amazon Web Services MODELOS DE COMPUTAÇÃO EM NUVEM
  • 14. Classificação da informação: Uso Interno • SaaS (Software as a Service) • PaaS (Platform as a Service) • IaaS (Infrastructure as a Service) • XaaS (Anything as a Service) Reúne os demais tipos de modelos de computação em nuvem, menos populares porém com grande utilidade. Dentro deste modelos temos o BaaS (Backend as a Service), o qual daremos foco neste projeto. Ex: Google Firebase MODELOS DE COMPUTAÇÃO EM NUVEM
  • 15. Classificação da informação: Uso Interno BACKEND AS A SERVICE É um modelo de computação em nuvem que atua como um componente de middleware (Fornece serviços para softwares aplicativos além daqueles disponíveis pelo sistema operacional, facilitando a comunicação e entrada/saída), permitindo que desenvolvedores conectem seus aplicativos a serviços em nuvem, através de SDKs (Software Development Kit) e APIs (Application programing Interface). • SDK: é um conjunto de ferramentas de desenvolvimento de software que permite a criação de apps para um certo pacote (sistema, hardware, plataforma), geralmente acompanhados de um ambiente de desenvolvimento integrado. • API: Conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma web. É desenvolvida para que outros criadores possam usar do serviço associado em seus apps.
  • 16. Classificação da informação: Uso Interno O QUE É FIREBASE ?
  • 17. Classificação da informação: Uso Interno FIREBASE Ele é um serviço BaaS adquirido pela Google em 2014, porém existente desde 2004, oferecendo diversos serviços para desenvolvedores, utilizando a infraestrutura da Google.
  • 18. Classificação da informação: Uso Interno FIREBASE Ele é um serviço BaaS adquirido pela Google em 2014, porém existente desde 2004, oferecendo diversos serviços para desenvolvedores, utilizando a infraestrutura da Google.
  • 19. Classificação da informação: Uso Interno FIREBASE Ele é um serviço BaaS adquirido pela Google em 2014, porém existente desde 2004, oferecendo diversos serviços para desenvolvedores, utilizando a infraestrutura da Google.
  • 20. Classificação da informação: Uso Interno FIREBASE STORAGE • Operações confiáveis; • Segurança potente; • Alta escalabilidade. Ele é um serviço de armazenamento de dados de mídia, como fotos, vídeos e arquivos de áudio, desenvolvido pela Google. Ele permite que os programadores desenvolvam aplicações em IOS, Android, HTML, C++ e Unity de forma gratuita e limitada, ou com grande poder de dados em versões pagas.
  • 21. Classificação da informação: Uso Interno FIREBASE STORAGE (USO) Em primeiro lugar o desenvolvedor precisa incluir o uso do Firebase ao seu projeto, na seção build.gradle (Module: app): implementation 'com.google.firebase:firebase-auth:16.0.5' implementation 'com.google.firebase:firebase-database:16.0.4' implementation 'com.google.firebase:firebase-storage:16.0.4'
  • 22. Classificação da informação: Uso Interno FIREBASE STORAGE (USO) Depois disso ele deve criar uma instancia do FirebaseStorage, passar o arquivo a ser enviado e as informações que foram criadas no banco de dados: implementation 'com.google.firebase:firebase-auth:16.0.5' implementation 'com.google.firebase:firebase-database:16.0.4' implementation 'com.google.firebase:firebase-storage:16.0.4' StorageReference fileReference = storageReference.child(System.currentTimeMillis() + "." + getFileExtension(arquivoPath));storageTask = fileReference.putFile(arquivoPath) .addOnSuccessListener([..]Task<Uri> urlTask = taskSnapshot.getStorage().getDownloadUrl(); while (!urlTask.isSuccessful()); Uri downloadUrl = urlTask.getResult(); Upload upload = new Upload(etnome.getText().toString().trim(),downloadUrl.toString()); String uploadId = databaseReference.push().getKey(); databaseReference.child(uploadId).setValue(upload);
  • 23. Classificação da informação: Uso Interno FIREBASE STORAGE (USO) Já para obter a imagem enviada, utilizamos a biblioteca Picasso, responsável por fazer envio e requisição de imagens dentro de uma ImageView através da internet. Upload uploacurrent = muploads.get(position); holder.txtviewnome.setText(uploacurrent.getNome()); Picasso.get() .load(uploacurrent.getImage()) .placeholder(R.mipmap.ic_launcher) .fit() .centerCrop() .into(holder.imgview);
  • 24. Classificação da informação: Uso Interno REALTIME DATABASE OU CLOUD FIRESTORE O serviço Firebase oferece dois bancos de dados com características diferentes, a seguir veremos suas diferenças. Realtime Database Armazena dados como uma grande árvore JSON Melhor para dados mais simples Suporte offline para IOS e Android Consultas podem classificar ou filtrar uma propriedade Não possui limitador de taxas de gravação Apenas largura de banda e armazenamento são cobrados, porém a uma taxa maior Cloud Firestore Armazena dados como coleções de documentos Dados complexos são fáceis de organizar Suporte offline para IOS, Android e Consultas podem classificar e filtrar propriedade Possui limitador de taxas de gravação Cobra principalmente por operações realizadas (leitura, gravação, exclusão) e uma taxa menor por largura de banda e armazenamento
  • 25. Classificação da informação: Uso Interno REALTIME DATABASE OU CLOUD FIRESTORE O serviço Firebase oferece dois bancos de dados com características diferentes, a seguir veremos suas diferenças. Realtime Database Armazena dados como uma grande árvore JSON Melhor para dados mais simples Suporte offline para IOS e Android Consultas podem classificar ou filtrar uma propriedade Não possui limitador de taxas de gravação Apenas largura de banda e armazenamento são cobrados, porém a uma taxa maior Cloud Firestore Armazena dados como coleções de documentos Dados complexos são fáceis de organizar Suporte offline para IOS, Android e Consultas podem classificar e filtrar propriedade Possui limitador de taxas de gravação Cobra principalmente por operações realizadas (leitura, gravação, exclusão) e uma taxa menor por largura de banda e armazenamento
  • 26. Classificação da informação: Uso Interno REALTIME DATABASE OU CLOUD FIRESTORE O serviço Firebase oferece dois bancos de dados com características diferentes, a seguir veremos suas diferenças. Realtime Database Armazena dados como uma grande árvore JSON Melhor para dados mais simples Suporte offline para IOS e Android Consultas podem classificar ou filtrar uma propriedade Não possui limitador de taxas de gravação Apenas largura de banda e armazenamento são cobrados, porém a uma taxa maior Cloud Firestore Armazena dados como coleções de documentos Dados complexos são fáceis de organizar Suporte offline para IOS, Android e Consultas podem classificar e filtrar propriedade Possui limitador de taxas de gravação Cobra principalmente por operações realizadas (leitura, gravação, exclusão) e uma taxa menor por largura de banda e armazenamento
  • 27. Classificação da informação: Uso Interno APRESENTAÇÃO DO APP Tela de cadastro Tela de login APRESENTAÇÃO DO APP Tela de cadastro Tela de login
  • 28. Classificação da informação: Uso Interno APRESENTAÇÃO DO APP Tela de cadastro Tela de login APRESENTAÇÃO DO APP Upload
  • 29. Classificação da informação: Uso Interno APRESENTAÇÃO DO APP Tela de cadastro Tela de login APRESENTAÇÃO DO APP Listagem de imagens enviadas
  • 30. Classificação da informação: Uso Interno APRESENTAÇÃO DO APP Tela de cadastro Tela de login APRESENTAÇÃO DO APP
  • 31. Classificação da informação: Uso Interno APRESENTAÇÃO DO APP Tela de cadastro Tela de login APRESENTAÇÃO DO APP
  • 32. Classificação da informação: Uso Interno APRESENTAÇÃO DO APP Tela de cadastro Tela de login APRESENTAÇÃO DO APP
  • 33. Classificação da informação: Uso Interno CONCLUSÕES A utilização de aplicações móveis vem crescendo em ritmo acelerado, e para manter toda essa demanda é necessário que cada vez mais, existam serviços capazes de agilizar o desenvolvimento dos mesmos, facilitando a criação, colocação no mercado e servindo como forma de prevenir perdas possíveis nos casos de utilização de infraestruturas próprias. Para isso, os serviços de Backend fornecidos em nuvem estão sendo muito utilizados, além de serem ferramentas poderosas, também são disponibilizadas, muitas vezes, de forma gratuita. Este projeto apresentou uma ferramenta de BaaS e realizou a implementação da mesma em um aplicativo Android para envios de imagens, servindo de teste para utilização da mesma e expandindo o conhecimento sobre sua utilização para futuros trabalhos.
  • 34. Classificação da informação: Uso Interno REFERÊNCIAS URI. Revista de Engenharia, Computação e Tecnologia. Disponível em <http://revistas.fw.uri.br/index.php/recet/about/submissions#onlineSubmissions>. Acesso em: 30 set. 2019. Orlandi, C. Firebase: serviços, vantagens, quando utilizer e integrações. nov. 2018. Disponível em <https://blog.rocketseat.com.br/firebase/>. Acesso em: 10 out. 2019. Canalth. O que é API? Disponível em <https://canaltech.com.br/software/o-que-e-api/>. Acesso em: 10 out. 2019. Google. Firebase: guias e documentos. Disponível em <https://firebase.google.com/docs/guides?hl=pt-br>. Acesso em: 10 out. 2019. Ramos, C. O que é backend como serviço? nov. 2019. Disponível em <https://blog.back4app.com/2019/11/05/o-que-e-o-backend-como-servico/>. Acesso em: 10 out. 2019.