SlideShare una empresa de Scribd logo
JRuby on Rails
al rescate de J2EE
  jorge.rodriguez@continuum.cl
 Fundador & CEO de Continuum
  Jornadas regionales de software libre 2009
Java
(Java)
18 años de evolución
Soporte de gigantes
Vendida a muchos clientes
plataforma estable y robusta...
performance
Manejo de la memoria
escalable...
comunidad apasionada
Herramientas, librerías, extensiones
J2EE 5
Do more with less
    work...
Motivación


           Capa dinámica (código de aplicación)
                   (Java / J2EE)


                       Capa Estable
               (servidores de aplicaciones),
                     Alto desempeño

                         (Java)



http://olabini.com/blog/2008/01/language-explorations/
En serio...?
Es un poco más...
J2EE 5, 6,...




 Es un poco más...
de hecho mucho más...
2.8 Megas de
Especificación
JAX-WS 2.0                  EJB 3.0
JDBC                      JMX
             SAAJ
                                JAF 1.1
JAXB 2.0            JNDI
          JSF 2.1                JAAS
JSP 2.1             JTA
           JMS              JSTL
Para construir una
   aplicación...
ambientes de desarrollo pesados
           200 MB
ciclos de desarrollo lentos...
diversos frameworks para resolver los
         mismos problemas...
Escribiendo código de más...
Clientes: resistencia al cambio...
Podemos hacer algo?
Yes, we can !
 but How?
Motivación


                        NO J2EE !
                 Entonces que ?


                       Capa Estable
               (servidores de aplicaciones),
                     Alto desempeño

                         (Java)



http://olabini.com/blog/2008/01/language-explorations/
los protagonistas...
¿ Ruby ?
•   lenguaje abierto
•lenguaje abierto

• dinámico, flexible y muy expresivo
•lenguaje abierto

• dinámico, flexible y muy expresivo

• enfocado en la simplicidad y
 productividad
•   lenguaje abierto

• dinámico, flexible y muy expresivo

• enfocado en la simplicidad y
    productividad

•   versión 1.9.1
• lenguaje abierto

• dinámico, flexible y muy expresivo

• enfocado en la simplicidad y
  productividad

• versión 1.9.1

• bla bla bla...
(comparar con Java)
“Necesito copiar el
  contenido de un
 archivo hacia otro
      archivo”
(java)
(después de google)
FileInputStream input = null;
FileOutputStream output = null;
try {
	 try {
	 	 input = new FileInputStream("/tmp/src.txt");
	 } catch (IOException io1) {
	 	 throw new RuntimeException("couldn't open input file", io1);
	 }
	 try {
	 	 output = new FileOutputStream("/tmp/dest.txt");
	 } catch (IOException io2) {
	 	 throw new RuntimeException("couldn't open output file", io2);
	 }
	 byte[] buf = new byte[8192];
	 int numBytesRead = 0;
	 while ((numBytesRead = input.read(buf)) != -1) {
	 	 output.write(buf, 0, numBytesRead);
	 }
} catch (IOException io) {
	 throw new RuntimeException("couldn't read/write or something",
io);
} finally {
try {
	   	 if (input != null) {
	   	 	 input.close();
	   	 }
	   } catch (IOException ignored1) { }
	   try {
	   	 if (output != null) {
	   	 	 output.close();
	   	 }
	   } catch (IOException ignored2) { }
}
(ruby)
File.open("/tmp/src.txt") do |input|
  File.open("/tmp/dest.txt", "w") do |output|
    output << input.read
  end
end
“Quiero buscar todos los
 usuarios twitters en la
        oración”
(java)
(después de google)
String x = "@j4rs esta en la @jrsl09 mostrando jruby";

Pattern p = Pattern.compile("@w+");
Matcher m = p.matcher(x);

while (m.find()) {
	 System.out.println(m.group());
}
(ruby)
"@j4rs esta en la @jrsl09 mostrando jruby".scan(/@w+/).each do |t|
  puts t
end
“Quiero repetir ‘Hola
  jrsl09’ n veces...”
(java)
int n = 5;
for (int i = 0; i < n; i++) {
	 System.out.println("Hola");
}
(ruby)
n = 5
n.times {puts "Hola jrsl09"}
“Crear la clase
Rectangulo y definir su
        área”
(java)
public class Rectangulo {

	 private double a;
	 private double b;

	   public Rectangulo(int a, int b) {
	   	 this.a = a;
	   	 this.b = b;
	   }

	   /**
	     * @return the a
	     */
	   public double getA() {
	   	 return a;
	   }
	   /**
	     * @param a the a to set
	     */
	   public void setA(double a) {
	   	 this.a = a;
	   }
/**
	     * @return the b
	     */
	   public double getB() {
	   	 return b;
	   }
	   /**
	     * @param b the b to set
	     */
	   public void setB(double b) {
	   	 this.b = b;
	   }

	   /**
	     * @return
	     */
	   public double area() {
	   	 return a*b;
	   }

}
(ruby)
class Rectangulo
	 attr_accessor :a, :b

  def initialize(a, b)
    @a = a;
    @b = b;
  end

  def area()
    a*b
  end

end
“...ruby focus on humans...”


       “...we are masters,
 machines are the slaves...”
¿ JRuby ?
•   Implementación de Ruby 100 % en Java
•Implementación de Ruby 100 % en Java

• Ruby <=> Java
•Implementación de Ruby 100 % en Java

• Ruby <=> Java

• 5 veces más rapida que C-Ruby
•Implementación de Ruby 100 % en Java

• Ruby <=> Java

• 5 veces más rapida que C-Ruby

• Versión estable 1.3 (Comp. Ruby 1.8.7)
•Implementación de Ruby 100 % en Java

• Ruby <=> Java

• 5 veces más rapida que C-Ruby

• Versión estable 1.3 (Comp. Ruby 1.8.7)

• JRuby 1.4 en Octubre (Comp. Ruby 1.9)
(demo: jirb : Swing)
(demo: commons-lang)
¿ Rails ?
• framework web open source
• framework web open source
• construido sobre y para Ruby
• framework web open source
• construido sobre y para Ruby
• orientado al desarrollo ágil
• framework web open source
• construido sobre y para Ruby
• orientado al desarrollo ágil
• una filosofía diferente de crear
  aplicaciones web
• framework web open source
• construido sobre y para Ruby
• orientado al desarrollo ágil
• una filosofía diferente de crear
  aplicaciones web

• “convención sobre configuración...”
• framework web open source
• construido sobre y para Ruby
• orientado al desarrollo ágil
• una filosofía diferente de crear
  aplicaciones web

• “convención sobre configuración...”
• mucho más...
cultura alternativa...
Libertad...
Libertad...




No precisamente este tipo de libertad...
diversión...
(demo: al final)
protagonista final...
+


¿ JRuby on Rails ?
En la unión está la fuerza...
Motivación


           Capa dinámica (código de aplicación)
                      JRuby (Rails)




                       Capa Estable
               (servidores de aplicaciones),
                     Alto desempeño

                         (Java)



http://olabini.com/blog/2008/01/language-explorations/
(Historia real)
El proyecto...
1.Parsear XML
1.Parsear XML

2.Crear prototipo WS-*
1.Parsear XML

2.Crear prototipo WS-*

3.Invocar WS-*
1.Parsear XML

2.Crear prototipo WS-*

3.Invocar WS-*

4.Generar PDFs
1.Parsear XML

2.Crear prototipo WS-*

3.Invocar WS-*

4.Generar PDFs

5.Mensajería asincrona
1.Parsear XML

2.Crear prototipo WS-*

3.Invocar WS-*

4.Generar PDFs

5.Mensajería asincrona

6.HTML + CSS + JS
tiempo = 3 días
Negociamos con el
     cliente
Única restricción:
Debe correr en nuestra
   Infraestructura:
         JAVA
+


JRuby on Rails
24 horas y 150 lineas de
código más tarde estaba
          lista
Un secreto:
Necesitamos migramos la
  aplicación a Java en:

 Una Noche calurosa de
        Miami
demo final:
(JRuby on Rails)
“Social Todo List”
Aplicación Web J2EE
> rails stdl
> rails stdl

> ./script/server
> rails stdl

> ./script/server

> ./script/generate model...
> rails stdl

> ./script/server

> ./script/generate model...

> ./script/generate controller...
> rails stdl

> ./script/server

> ./script/generate model...

> ./script/generate controller...

> jugar un poco con todo_controller e index.html.erb
> rails stdl

> ./script/server

> ./script/generate model...

> ./script/generate controller...

> jugar un poco con todo_controller e index.html.erb

> rake db:migrate
> rails stdl

> ./script/server

> ./script/generate model...

> ./script/generate controller...

> jugar un poco con todo_controller e index.html.erb

> rake db:migrate

> ./script/server
> rails stdl

> ./script/server

> ./script/generate model...

> ./script/generate controller...

> jugar un poco con todo_controller e index.html.erb

> rake db:migrate

> ./script/server

> include LOGGING
> rails stdl

> ./script/server

> ./script/generate model...

> ./script/generate controller...

> jugar un poco con todo_controller e index.html.erb

> rake db:migrate

> ./script/server

> include LOGGING

> jruby -S warble
> rails stdl

> ./script/server

> ./script/generate model...

> ./script/generate controller...

> jugar un poco con todo_controller e index.html.erb

> rake db:migrate

> ./script/server

> include LOGGING

> jruby -S warble

> cp stdl.war $TOMCAT/webapps
Conclusiones
Motivación


           Capa dinámica (código de aplicación)
                   JRuby, Jython, otro...




                       Capa Estable
               (servidores de aplicaciones),
                     Alto desempeño

                         (Java)



http://olabini.com/blog/2008/01/language-explorations/
Poliglotas
¿ Preguntas ?
http://continuum.cl

   twitter: j4rs

Más contenido relacionado

La actualidad más candente

Seminario de DSLs con Groovy
Seminario de DSLs con GroovySeminario de DSLs con Groovy
Seminario de DSLs con Groovy
Paradigma Digital
 
Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2
sergiovier
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
mamcx
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
Alessandro Mascherpa
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
Redradix
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
Alberto Gimeno
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
vilna2011
 
Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)
PiXeL16
 
Introduccion a Node.js
Introduccion a Node.jsIntroduccion a Node.js
Introduccion a Node.js
Oscar Gensollen
 
Introduccion a Nodejs
Introduccion a NodejsIntroduccion a Nodejs
Introduccion a Nodejs
Jan Sanchez
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
Nelson Rojas Núñez
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
Domingo Suarez Torres
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
Ricard Clau
 
Web services-con-php
Web services-con-phpWeb services-con-php
Web services-con-php
Linkser SA.
 
Tutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAPTutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAP
Elwin Huaman
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
Pedro J. Molina
 
9.laravel
9.laravel9.laravel
Migración de datos en drupal 8
Migración de datos en drupal 8Migración de datos en drupal 8
Migración de datos en drupal 8
Javier Gomez
 
Introduccion A Groovy
Introduccion A GroovyIntroduccion A Groovy
Introduccion A Groovy
Andres Almiray
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
José Ignacio Fernández
 

La actualidad más candente (20)

Seminario de DSLs con Groovy
Seminario de DSLs con GroovySeminario de DSLs con Groovy
Seminario de DSLs con Groovy
 
Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
 
Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)
 
Introduccion a Node.js
Introduccion a Node.jsIntroduccion a Node.js
Introduccion a Node.js
 
Introduccion a Nodejs
Introduccion a NodejsIntroduccion a Nodejs
Introduccion a Nodejs
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
Web services-con-php
Web services-con-phpWeb services-con-php
Web services-con-php
 
Tutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAPTutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAP
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
 
9.laravel
9.laravel9.laravel
9.laravel
 
Migración de datos en drupal 8
Migración de datos en drupal 8Migración de datos en drupal 8
Migración de datos en drupal 8
 
Introduccion A Groovy
Introduccion A GroovyIntroduccion A Groovy
Introduccion A Groovy
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
 

Destacado

Steves Photos
Steves PhotosSteves Photos
Steves Photostacvsp
 
Szkoła podstawowa nr 25 im 2013
Szkoła podstawowa nr 25 im 2013Szkoła podstawowa nr 25 im 2013
Szkoła podstawowa nr 25 im 2013Marta
 
HTML5 - Introducción - Maximiliano Firtman
HTML5 - Introducción - Maximiliano FirtmanHTML5 - Introducción - Maximiliano Firtman
HTML5 - Introducción - Maximiliano Firtman
Pablo Ignacio de la Vega
 
Presentation3 091014170042 Phpapp01
Presentation3 091014170042 Phpapp01Presentation3 091014170042 Phpapp01
Presentation3 091014170042 Phpapp01
tacvsp
 
Symmetry
SymmetrySymmetry
SymmetryMarta
 
A new adventure together[1]
A new adventure together[1]A new adventure together[1]
A new adventure together[1]
Marta
 
Hdi R & R External 1
Hdi R & R External 1Hdi R & R External 1
Hdi R & R External 1
tacvsp
 
Patxi errementaria
Patxi errementariaPatxi errementaria
Patxi errementariaGarazi
 

Destacado (8)

Steves Photos
Steves PhotosSteves Photos
Steves Photos
 
Szkoła podstawowa nr 25 im 2013
Szkoła podstawowa nr 25 im 2013Szkoła podstawowa nr 25 im 2013
Szkoła podstawowa nr 25 im 2013
 
HTML5 - Introducción - Maximiliano Firtman
HTML5 - Introducción - Maximiliano FirtmanHTML5 - Introducción - Maximiliano Firtman
HTML5 - Introducción - Maximiliano Firtman
 
Presentation3 091014170042 Phpapp01
Presentation3 091014170042 Phpapp01Presentation3 091014170042 Phpapp01
Presentation3 091014170042 Phpapp01
 
Symmetry
SymmetrySymmetry
Symmetry
 
A new adventure together[1]
A new adventure together[1]A new adventure together[1]
A new adventure together[1]
 
Hdi R & R External 1
Hdi R & R External 1Hdi R & R External 1
Hdi R & R External 1
 
Patxi errementaria
Patxi errementariaPatxi errementaria
Patxi errementaria
 

Similar a JRuby al Rescate de J2EE

Jruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVMJruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVM
javier ramirez
 
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
Jano González
 
Sesión 03: Ruby y SAP
Sesión 03: Ruby y SAPSesión 03: Ruby y SAP
Sesión 03: Ruby y SAP
Biz Partner
 
SAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAPSAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAP
Alvaro Tejada
 
sesion_01-JAVA.pdf
sesion_01-JAVA.pdfsesion_01-JAVA.pdf
sesion_01-JAVA.pdf
RocioCarmenCoronadoR
 
Jano Gonzalez - jruby
Jano Gonzalez - jrubyJano Gonzalez - jruby
Jano Gonzalez - jruby
StarTech Conference
 
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterprise
Jano González
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
Eudris Cabrera
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
Giuseppe Maxia
 
1.introduccion java
1.introduccion java1.introduccion java
1.introduccion java
Marisol Henao
 
Ruby on the Rails
Ruby on the RailsRuby on the Rails
Ruby on the Rails
000ari2014
 
Java poliglota
Java poliglotaJava poliglota
Java poliglota
Domingo Suarez Torres
 
Webminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaWebminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma Poliglota
Domingo Suarez Torres
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
Óscar Andrés López
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernes
Dani Latorre
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Pablo Godel
 
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
Iván López Martín
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
campus party
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
Manuel Carrasco Moñino
 
Tendencias en programación con Ruby on Rails
Tendencias en programación con Ruby on RailsTendencias en programación con Ruby on Rails
Tendencias en programación con Ruby on Rails
Norman Clarke
 

Similar a JRuby al Rescate de J2EE (20)

Jruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVMJruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVM
 
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
 
Sesión 03: Ruby y SAP
Sesión 03: Ruby y SAPSesión 03: Ruby y SAP
Sesión 03: Ruby y SAP
 
SAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAPSAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAP
 
sesion_01-JAVA.pdf
sesion_01-JAVA.pdfsesion_01-JAVA.pdf
sesion_01-JAVA.pdf
 
Jano Gonzalez - jruby
Jano Gonzalez - jrubyJano Gonzalez - jruby
Jano Gonzalez - jruby
 
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterprise
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
1.introduccion java
1.introduccion java1.introduccion java
1.introduccion java
 
Ruby on the Rails
Ruby on the RailsRuby on the Rails
Ruby on the Rails
 
Java poliglota
Java poliglotaJava poliglota
Java poliglota
 
Webminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaWebminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma Poliglota
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernes
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Tendencias en programación con Ruby on Rails
Tendencias en programación con Ruby on RailsTendencias en programación con Ruby on Rails
Tendencias en programación con Ruby on Rails
 

Último

Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
alejandromanuelve
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 

Último (20)

Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 

JRuby al Rescate de J2EE

Notas del editor

  1. Ok, partamos por el mostro !, preguntar cuantos son desarrolladores J2EE.
  2. Esto es lo que tenemos con J2EE, una plataforma muy estable, muy escalable encima de la cual construimos aplicaciones usando tambien una plataforma muy estable y muy escalable.
  3. Ok, partamos por el mostro !, preguntar cuantos son desarrolladores J2EE.
  4. En include LOGGING hablar de commons-logging.jar
  5. En include LOGGING hablar de commons-logging.jar
  6. En include LOGGING hablar de commons-logging.jar
  7. En include LOGGING hablar de commons-logging.jar
  8. En include LOGGING hablar de commons-logging.jar
  9. En include LOGGING hablar de commons-logging.jar
  10. En include LOGGING hablar de commons-logging.jar
  11. En include LOGGING hablar de commons-logging.jar
  12. En include LOGGING hablar de commons-logging.jar
  13. En include LOGGING hablar de commons-logging.jar