Post on 13-Jan-2015
description
Mix de LinguagensO Poder do Java Misturado com Velocidade
Thursday, July 11, 13
Olá!
Thursday, July 11, 13
Olá!
• Hanneli (‘H’ mudo)
Thursday, July 11, 13
Olá!
• Hanneli (‘H’ mudo)
• @hannelita
Thursday, July 11, 13
Olá!
• Hanneli (‘H’ mudo)
• @hannelita
• Dev
Thursday, July 11, 13
Olá!
• Hanneli (‘H’ mudo)
• @hannelita
• Dev
• Viciada em café e Pokémon
Thursday, July 11, 13
O que vamos ver aqui
Thursday, July 11, 13
O que vamos ver aqui
• Skill set dos desenvolvedores
Thursday, July 11, 13
O que vamos ver aqui
• Skill set dos desenvolvedores
• Java - benefícios e malefícios
Thursday, July 11, 13
O que vamos ver aqui
• Skill set dos desenvolvedores
• Java - benefícios e malefícios
• Como tirar proveito da JVM para driblar os problemas do Java
Thursday, July 11, 13
O que vamos ver aqui
• Skill set dos desenvolvedores
• Java - benefícios e malefícios
• Como tirar proveito da JVM para driblar os problemas do Java
• Uma arquitetura com várias linguagens que tira proveito da JVM
Thursday, July 11, 13
O que vamos ver aqui
• Skill set dos desenvolvedores
• Java - benefícios e malefícios
• Como tirar proveito da JVM para driblar os problemas do Java
• Uma arquitetura com várias linguagens que tira proveito da JVM
• Fotos legais e gifs engraçados
Thursday, July 11, 13
O que vamos ver aqui
• Skill set dos desenvolvedores
• Java - benefícios e malefícios
• Como tirar proveito da JVM para driblar os problemas do Java
• Uma arquitetura com várias linguagens que tira proveito da JVM
• Fotos legais e gifs engraçados
Thursday, July 11, 13
O que vamos ver aqui
• Skill set dos desenvolvedores
• Java - benefícios e malefícios
• Como tirar proveito da JVM para driblar os problemas do Java
• Uma arquitetura com várias linguagens que tira proveito da JVM
• Fotos legais e gifs engraçados
(ou não muito engraçados)
Thursday, July 11, 13
Thursday, July 11, 13
Contem para mim...
Thursday, July 11, 13
Como foi sua primeira vez?
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
package br.com.jbug;
public class Test {public static void main(String[] args) {
System.out.println("Ola!!!"); }
}
Thursday, July 11, 13
Java na WebThursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
JDBC
Thursday, July 11, 13
JDBCHibernate 2
Thursday, July 11, 13
JDBCHibernate 2
XML
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
Servlet
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
Struts
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
Primefaces
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
Tomcat
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBoss
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
Weblogic
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJB
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJBWebservices
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJBWebservices
JMS
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJBWebservices
JMSJAX-RS
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJBWebservices
JMSJAX-RS
Eclipse
Thursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJBWebservices
JMSJAX-RS
Eclipse
IntelliJ IDEAThursday, July 11, 13
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJBWebservices
JMSJAX-RS
Eclipse
IntelliJ IDEANetbeans
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
O Java e eu
Thursday, July 11, 13
Thursday, July 11, 13
p “hello world”
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Ruby
Thursday, July 11, 13
Thursday, July 11, 13
Sintaxe do Ruby
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
O que preciso saber/ter?
Thursday, July 11, 13
O que preciso saber/ter?Ruby
Thursday, July 11, 13
O que preciso saber/ter?RubyRails
Thursday, July 11, 13
O que preciso saber/ter?RubyRails
Editor de texto
Thursday, July 11, 13
O que preciso saber/ter?RubyRails
Editor de textoTerminal
Thursday, July 11, 13
O que preciso saber/ter?RubyRails
Editor de texto
Cabe até um GIF aleatório aqui
Terminal
Thursday, July 11, 13
O que preciso saber/ter?RubyRails
Editor de texto
Cabe até um GIF aleatório aqui
Terminal
Thursday, July 11, 13
O que preciso saber/ter?RubyRails
Editor de texto
Cabe até um GIF aleatório aqui
Terminal
Thursday, July 11, 13
Gostou?
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Threads
Thursday, July 11, 13
Legado pronto em Java
Thursday, July 11, 13
Thursday, July 11, 13
Não tem Servidor Java EE
WildFly, Glassfish, Weblogic
Thursday, July 11, 13
Thursday, July 11, 13
Por que você me apresentou essa m*
então?
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
TorqueboxThursday, July 11, 13
Thursday, July 11, 13
Como você misturou Java com Ruby?
Thursday, July 11, 13
JVM
Thursday, July 11, 13
JRuby
Thursday, July 11, 13
Fazer uma aplicação escrita em Ruby
funcionar com JRuby
Thursday, July 11, 13
Invocar Java dentro de código Ruby
Thursday, July 11, 13
Invocar Java dentro de código Ruby
Resolve problema de código legado
Thursday, July 11, 13
Invocar Java dentro de código Ruby
Resolve problema de código legado
Agora podemos usar threads do Java!
Thursday, July 11, 13
Falando nisso, cadê o JBoss (WildFly)?
Thursday, July 11, 13
Está no próprio Torquebox! :)
Thursday, July 11, 13
1. Download do Torquebox
Thursday, July 11, 13
2. Instale o JRuby
Protip - RVM
Thursday, July 11, 13
Gostou?
Thursday, July 11, 13
Tem mais!
Thursday, July 11, 13
Programação funcional
Thursday, July 11, 13
a = a + 1
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Immutant
Thursday, July 11, 13
Coisas interessantes
Thursday, July 11, 13
Coisas interessantes
• É possível misturar linguagens
Thursday, July 11, 13
Coisas interessantes
• É possível misturar linguagens
• JVM
Thursday, July 11, 13
Coisas interessantes
• É possível misturar linguagens
• JVM
• WildFly
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
WildFlyJBoss AS 7
Thursday, July 11, 13
WildFlyJBoss AS 7
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Regra de negócio
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Regra de negócio
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Regra de negócio
EJB
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Regra de negócio
EJB
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Regra de negócio
EJB
Cálculos
Thursday, July 11, 13
WildFlyJBoss AS 7
JVM
Ruby on Rails
Torquebox
Regra de negócio
EJB
Cálculos
ImmutantThursday, July 11, 13
Thursday, July 11, 13
Thursday, July 11, 13
Extras
• Scalante - Scala + WildFly
Thursday, July 11, 13
Referências
• http://torquebox.org
• http://immutant.org/
• http://caelum.com.br/
• http://www.dmst.aueb.gr/dds/pubs/jrnl/2008-JFP-ExoticTrades/html/FSNB08.html
• http://quantum.abstractj.org/talks/2012/rockandrails/torquebox/#/
Thursday, July 11, 13
No Openshift
• https://github.com/openshift-quickstart/immutant-quickstart
• http://torquebox.org/news/2012/03/28/torquebox-openshift/
Thursday, July 11, 13
Obrigada!
hannelita@gmail.comTwitter: @hannelita
Perguntas?
Thursday, July 11, 13
Valeu!
Thursday, July 11, 13