Compweek

Post on 09-Jul-2015

288 views 0 download

Transcript of Compweek

Java nas Nuvens:Uma abordagem de Cloud Computing com Java

Thiago GonzagaJava Noroeste

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

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!!!

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++ Robusta e altamente escalável Multiplataforma

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

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 deles) espalhados pela Internet.

Transparência Internet = Nuvem (Cloud) Serviço Pague pelo que usar Melhor aproveitamento dos recursos

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)

Google App Engine

PaaS Conjunto de tecnologias para criar e hospedar

aplicativos da web Java Python BigTable (NoSQL) Alta disponibilidade Gratuito até certo ponto

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údo é gerado no servidor e

transformado em HTML. Similar ao PHP e ASP.

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 ”<% %>”

Servlets

Miniservidores Recursos disponiveis na parte do servidor Acesso via GET ou POST Acesso direto ao Banco de Dados

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

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

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;}

}

Prática

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

DÚVIDAS

?!

OBRIGADO!Java nas Nuvens:Uma abordagem de Cloud Computing com Java

Thiago GonzagaTwitter: @thiago_javaboyFacebook: http://www.facebook.com/thiago.gonzaga