Java nas Nuvens:Uma abordagem de Cloud Computing com Java                              Thiago Gonzaga                     ...
Agenda   Quem?!   Java?! Que saci é esse?   Cloud Computing?! Que saci é esse, parte 2?   Google App Engine   Por quê...
Quem é esse LOKO?!   Estudante de computação   Trabalhou na Sun Microsystems (hoje, Oracle) por 2 anos.   Programador J...
JAVA?! QUE SACI É ESSE?!
O que é Java?Linguagem de programação + Plataforma
Linguagem   Alto nível   Híbrida   Compilada para bytecodes   Orientada a objetos   Sintáxe semelhante ao C++   Robu...
Plataforma   Java Virtual Machine   Responsável por tornar Java multiplataforma   Interpreta bytecodes e tranforma em l...
Processo do Código
Ou seja...
QUE DIFERENÇA ISSO FAZ?!
Essa...
CLOUD COMPUTING?! QUE SACI É ESSE?            PARTE 2
Cloud Computing   informações são processadas e armazenadas    em diversos servidores (centenas, muitas    vezes milhares...
Cloud Computing   Serviços na Cloud:       IaaS (Infrastructure as a Service, ou        Infraestrutura como Serviço)    ...
Google App Engine   PaaS   Conjunto de tecnologias para criar e hospedar    aplicativos da web   Java   Python   BigT...
Por Quê Java?   Plataforma   JVM   JIT   Sandbox   Escalabilidade   Scala, PHP, Ruby, Python, ...
Por onde começo?   Baixe o Eclipse   Baixe o SDK
Problema    Cadastro de participantes do evento
Vamos por partes...   Módulos:       Cadastro       Edição       Remoção de registros       Busca de um registro
JSP   Java Server Pages   Integração Cliente/Servidor   Utiliza 2 padrões de codificação: Java e JSP    tags   O conte...
Exemplo   Tags:    <%@ page contentType="text/html;charset=UTF-8"    language="java" %> (obrigatória no topo de toda pági...
Servlets   Miniservidores   Recursos disponiveis na parte do servidor   Acesso via GET ou POST   Acesso direto ao Banc...
NoSQL   Sistema simples   Geralmente arquivo de texto plano   Sem relacionamentos   Mais rápido   Problema de consist...
Mapeamento Objeto/Relacional   Define a tabela do banco em um POJO (Plan    Old Java Object)   Persistentes   JPA (Java...
Exemplo@Entitypublic class Participante {            @Id            @GeneratedValue(strategy = GenerationType.IDENTITY)   ...
Prática
Java Noroeste   Grupo de usuários Java   Lista de e-mails   Mais de 1000 usuários cadastrados   Um dos maiores grupos ...
?!DÚVIDAS
OBRIGADO!Java nas Nuvens:Uma abordagem de Cloud Computing com JavaThiago GonzagaTwitter: @thiago_javaboyFacebook: http://w...
Próximos SlideShares
Carregando em…5
×

Compweek

480 visualizações

Publicada em

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Compweek

  1. 1. Java nas Nuvens:Uma abordagem de Cloud Computing com Java Thiago Gonzaga Java Noroeste
  2. 2. Agenda Quem?! Java?! Que saci é esse? Cloud Computing?! Que saci é esse, parte 2? Google App Engine Por quê Java? Por onde começo? JSP Servlets Banco de Dados NoSQL (Big Table) Mapeamento Objeto-Relacional e Persistência Java Noroeste
  3. 3. Quem é esse LOKO?! Estudante de computação Trabalhou na Sun Microsystems (hoje, Oracle) por 2 anos. Programador Java há +5 anos. Palestrante em vários eventos: Campus Party, Just Java, etc Coordenador do Java Noroeste Membro fundador e organizador do projeto Java Day E Professor de Inglês!!!
  4. 4. JAVA?! QUE SACI É ESSE?!
  5. 5. O que é Java?Linguagem de programação + Plataforma
  6. 6. Linguagem Alto nível Híbrida Compilada para bytecodes Orientada a objetos Sintáxe semelhante ao C++ Robusta e altamente escalável Multiplataforma
  7. 7. Plataforma Java Virtual Machine Responsável por tornar Java multiplataforma Interpreta bytecodes e tranforma em linguagem de máquina JIT (Just-in-Time Compiler) Sandbox Garbage Collector
  8. 8. Processo do Código
  9. 9. Ou seja...
  10. 10. QUE DIFERENÇA ISSO FAZ?!
  11. 11. Essa...
  12. 12. CLOUD COMPUTING?! QUE SACI É ESSE? PARTE 2
  13. 13. Cloud Computing informações são processadas e armazenadas em diversos servidores (centenas, muitas vezes milhares deles) espalhados pela Internet. Transparência Internet = Nuvem (Cloud) Serviço Pague pelo que usar Melhor aproveitamento dos recursos
  14. 14. Cloud Computing Serviços na Cloud:  IaaS (Infrastructure as a Service, ou Infraestrutura como Serviço)  PaaS (Platform as a Service, ou Plataforma como Serviço)  SaaS (Software as a Service, ou Software como Serviço)
  15. 15. Google App Engine PaaS Conjunto de tecnologias para criar e hospedar aplicativos da web Java Python BigTable (NoSQL) Alta disponibilidade Gratuito até certo ponto
  16. 16. Por Quê Java? Plataforma JVM JIT Sandbox Escalabilidade Scala, PHP, Ruby, Python, ...
  17. 17. Por onde começo? Baixe o Eclipse Baixe o SDK
  18. 18. Problema Cadastro de participantes do evento
  19. 19. Vamos por partes... Módulos:  Cadastro  Edição  Remoção de registros  Busca de um registro
  20. 20. JSP Java Server Pages Integração Cliente/Servidor Utiliza 2 padrões de codificação: Java e JSP tags O conteúdo é gerado no servidor e transformado em HTML. Similar ao PHP e ASP.
  21. 21. Exemplo Tags: <%@ page contentType="text/html;charset=UTF-8" language="java" %> (obrigatória no topo de toda página JSP antes de qualquer html) <%@ page import="java.util.List" %> (imports da página) Java: <% out.println(”Hello World!”) %> - Todo código java vai entre ”<% %>”
  22. 22. Servlets Miniservidores Recursos disponiveis na parte do servidor Acesso via GET ou POST Acesso direto ao Banco de Dados
  23. 23. NoSQL Sistema simples Geralmente arquivo de texto plano Sem relacionamentos Mais rápido Problema de consistência de dados Pode ser resolvido via código
  24. 24. Mapeamento Objeto/Relacional Define a tabela do banco em um POJO (Plan Old Java Object) Persistentes JPA (Java Persistence API) Simples de usar Pode trabalhar em conjunto com outros frameworks, como Hibernate ou TopLink
  25. 25. Exemplo@Entitypublic class Participante { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String nome; private String email; public Long getId() { return id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}
  26. 26. Prática
  27. 27. Java Noroeste Grupo de usuários Java Lista de e-mails Mais de 1000 usuários cadastrados Um dos maiores grupos do Brasil Dúvidas Eventos Região de Rio Preto Site: www.javanoroeste.com.br
  28. 28. ?!DÚVIDAS
  29. 29. OBRIGADO!Java nas Nuvens:Uma abordagem de Cloud Computing com JavaThiago GonzagaTwitter: @thiago_javaboyFacebook: http://www.facebook.com/thiago.gonzaga

×