Inovando na Plataforma Java

53
Inovando na Plataforma Java Eteg Tecnologia da Informa

description

INFORUSO / INOVATEC 2010

Transcript of Inovando na Plataforma Java

Page 1: Inovando na Plataforma Java

Inovando na Plataforma Java

Eteg Tecnologia da Informação

Page 2: Inovando na Plataforma Java

Palestrante

• Wanderson Santos (@wanswins)– Arquiteto Corporativo– Líder Técnico / Desenvolvedor– Instrutor Tecnológico

Page 3: Inovando na Plataforma Java

O que é inovação?

Page 4: Inovando na Plataforma Java

“Idéias novas ou melhoradas, de produtos, serviços ou processos

Page 5: Inovando na Plataforma Java

...aplicadas ao mercado...

Page 6: Inovando na Plataforma Java

...que aumentam a eficiência do processo produtivo...

Page 7: Inovando na Plataforma Java

...ou que geram novo ou aprimorado produto.

Page 8: Inovando na Plataforma Java

O que é plataforma?

Page 9: Inovando na Plataforma Java
Page 10: Inovando na Plataforma Java
Page 11: Inovando na Plataforma Java
Page 12: Inovando na Plataforma Java

Plataforma...

Elevação

SustentaçãoSegurança

EstruturaPadrão

Confiança

Page 13: Inovando na Plataforma Java

A plataforma tecnológica é o conjunto que sustenta um software

Page 14: Inovando na Plataforma Java

A plataforma tecnológica provê os elementos básicos para criação, execução e manutenção

de um software

Page 15: Inovando na Plataforma Java

Qual sua plataforma?VB?

Win32?.NET?

PowerBuilder?PHP?

Python?

Java?

ASP?

Ruby?

Delphi?

Database? ColdFusion?

Page 16: Inovando na Plataforma Java

A plataforma Java é o conjunto que sustenta um software Java

Page 17: Inovando na Plataforma Java

A plataforma Java é a máquina virtual + bibliotecas básicas

O que seria do Java sem o tipo inteiro?

Page 18: Inovando na Plataforma Java

A plataforma Java = JVM + JARs essenciais

Voltamos a sopa de letrinhas!

Page 19: Inovando na Plataforma Java

Porque inovar em Java?

Page 20: Inovando na Plataforma Java

Manter os ativos (bibliotecas, utilitários, etc.)

Vamos converter nossas bibliotecas para Java/.NET!

Page 21: Inovando na Plataforma Java

Manter o conhecimento

Vamos aprender como gerar um relatório em Ruby!

Page 22: Inovando na Plataforma Java

Menor esforço para treinamento do time

Vamos reaprender toda uma plataforma!

Page 23: Inovando na Plataforma Java

Bibliotecas e PadrõesQuartz?

Servlets? Session Beans?

JPA?

Hibernate?

Commons?Jasper?

Tomcat?

iText?

JMS?

JAX-WS?

Java Mail?

Spring Security?

Page 24: Inovando na Plataforma Java

Que tal manter todas elas?

Próximo slide por favor!

Page 25: Inovando na Plataforma Java

Linguagem

Pascal?

VB? Cobol?

C#?

Latim?

XML?UML?

Java?

Groovy?

Ruby?Python?

F#?

C++?

Scala?

#FAIL? rs

Page 26: Inovando na Plataforma Java

Linguagem faz parte da plataforma?

Tempooooooooooooo...

Page 27: Inovando na Plataforma Java

Sim, a linguagem Java faz parte da plataforma Java

(Você gosta da linguagem Java?)

Page 28: Inovando na Plataforma Java

Mas, a linguagem Java é somente uma das partes da plataforma Java!

Vivaaaaaaaaaaaaaa!!!

Page 29: Inovando na Plataforma Java

Linguagens na JVM

• Groovy (JSR-241)• Scala• JRuby• Fantom • ColdFusion• Jython (Python)• Rhino (JavaScript) – já integrada ao Java 6

Page 30: Inovando na Plataforma Java

Linguagens dinâmicas

• É a tendência atual do mercado• O resultado do código é instantâneo sem

necessidade do ciclo compilação/implantação• É possível carregar um novo código em tempo

de execução, sem necessidade de compilação, contrato de interface, etc.– Cenários: regras de negócio, camada de visão, etc.

Page 31: Inovando na Plataforma Java

Porque usar outra linguagem?

• Mais produtivas– Menos verbosas que Java– Injetam métodos de apoio nas bibliotecas

essenciais (Java Class Library)• [1,2,3].each { println “numero $it” }

• Mais poderosas– Métodos anônimos (você ainda vai usar um!)– Closures

Page 32: Inovando na Plataforma Java

Porque não usar...

• Podem ser mais lentas que linguagem Java– Para maioria dos casos não afeta– A produtividade é mais importante!– Atenda o cliente, depois otimize o código– Você pode voltar pro Java quanto precisar!

• Suporte a IDEs (algumas)– As mais consolidadas já possuem bom suporte,

inclusive para debug

Page 33: Inovando na Plataforma Java

Como começar?

• Sua equipe é menor e você pode treinar a equipe? – CHOOSE YOUR DESTINY – Não tenha medo, é simples!

• Sua equipe é grande e o tempo pra aprendizado é curto?– Vá de Groovy! (mesmo que o projeto já tenha

começado)

Page 34: Inovando na Plataforma Java

Porquê Groovy?

• Padrão da Plataforma Java (JSR-241)• Já possui um bom ecossistema• Aceita sintaxe Java em .groovy– Curva de aprendizado reduzida - você pode

aprender sob demanda!– Se não sabe em Groovy, faça em Java!

• Why Groovy? http://dzone.com/j9lQ

Page 35: Inovando na Plataforma Java

Entidade em Java

public class Usuario {private String nome;private Date dataNascimento;public String getNome() {

return nome; } /*..não cabe no slide! */}

Page 36: Inovando na Plataforma Java

Entidade em Groovy

class Usuario {String nomeDate dataNascimento

}

Mais em Produtividade em Java com Grails

Let’s Groovy!

Page 37: Inovando na Plataforma Java

FrameworksStruts 1?

Struts 2?WebWork?

Tapestry 5?Grails?

Wicket?

Hibernate?

EJB 3?

JSF 2?

Spring?

JSP? JSF 1?

Page 38: Inovando na Plataforma Java

Interface

Serviço da Aplicação

Acesso a Dados

Entidades (Domínio)

Uni-dune-tê!

Page 39: Inovando na Plataforma Java

Tendência: Full-stack Framework

Vamos juntar as melhores peças!

Page 40: Inovando na Plataforma Java

GSP

Spring

GORM (Hibernate)

GORM / JPA

Page 41: Inovando na Plataforma Java

grails create-app MinhaApp

4 horas em 1 minuto!

Page 42: Inovando na Plataforma Java

• Framework full-stack que une os frameworks Java mais utilizados (Hibernate, Spring, etc.)

• Utiliza linguagem Groovy ou Java– Todo feito em Java, mas você programa em

Groovy!• Utiliza “Programação por Convenção”– Elimina necessidade de configuração

Page 43: Inovando na Plataforma Java

Grails

• É mantida pela SpringSource, do grupo VMWare – Sim, a responsável pelo Spring Framework

• Extensível através de plugins– Tem plugin pra TUDO! Baseado em bibliotecas Java

que você conhece ou vai conhecer:• Autenticação e Autorização• Acesso a bancos NOSQL• Execução em Background• Relatórios e muito mais...

Page 44: Inovando na Plataforma Java

Como utilizar Grails?

• Baixar o pacote mais recente em www.grails.org• Descompactar em um pasta e adicionar $GRAILS_HOME no PATH

• Criar a aplicação: grails create-app minhaApp

• Adicionar entidades de Domain e Controller seguindo a convenção Eclipse, IDEA ou vi/notepad

• Rodar a aplicação localmentegrails run-app

Mas já?

Page 45: Inovando na Plataforma Java

Mais Grails? Acesse: Produtividade em Java com Grails

Page 46: Inovando na Plataforma Java

Desktop X Web

Implantação Ubíqua X Usabilidade

Page 47: Inovando na Plataforma Java

Tendência: Interfaces Ricas

Vamos juntar as melhores peças!

Page 48: Inovando na Plataforma Java

AJAX X RIA

Duas abordagens

Page 49: Inovando na Plataforma Java

Também é J, rs

Page 50: Inovando na Plataforma Java

Aprenda jQuery de forma guiada? www.visualjquery.com

Tutoriais são excelentes!

Page 51: Inovando na Plataforma Java

Tudo em casa!

Page 52: Inovando na Plataforma Java

Mais JavaFX? Acesse: Aplicações de Interface Rica na Plataforma Java

Page 53: Inovando na Plataforma Java

[email protected]

Obrigado!

Twitter: @wanswins