SlideShare ist ein Scribd-Unternehmen logo
1 von 134
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

Weitere ähnliche Inhalte

Was ist angesagt?

Seminario de DSLs con Groovy
Seminario de DSLs con GroovySeminario de DSLs con Groovy
Seminario de DSLs con GroovyParadigma Digital
 
Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2sergiovier
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjectsmamcx
 
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 NodeJSAlberto Gimeno
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linuxvilna2011
 
Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)PiXeL16
 
Introduccion a Nodejs
Introduccion a NodejsIntroduccion a Nodejs
Introduccion a NodejsJan 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 2009Nelson Rojas Núñez
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
Web services-con-php
Web services-con-phpWeb services-con-php
Web services-con-phpLinkser 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, SOAPElwin Huaman
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN StackPedro J. Molina
 
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 8Javier Gomez
 

Was ist angesagt? (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
 

Andere mochten auch

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 FirtmanPablo Ignacio de la Vega
 
Presentation3 091014170042 Phpapp01
Presentation3 091014170042 Phpapp01Presentation3 091014170042 Phpapp01
Presentation3 091014170042 Phpapp01tacvsp
 
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 1tacvsp
 
Patxi errementaria
Patxi errementariaPatxi errementaria
Patxi errementariaGarazi
 

Andere mochten auch (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
 

Ähnlich wie 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 JVMjavier 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 2011Jano González
 
Sesión 03: Ruby y SAP
Sesión 03: Ruby y SAPSesión 03: Ruby y SAP
Sesión 03: Ruby y SAPBiz 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 SAPAlvaro Tejada
 
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJano 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 JavaEudris Cabrera
 
Ruby on the Rails
Ruby on the RailsRuby on the Rails
Ruby on the Rails000ari2014
 
Webminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaWebminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaDomingo 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. PrimerViernesDani 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 PHPConferenceARPablo 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 perfectaIván López Martín
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel 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 RailsNorman Clarke
 

Ähnlich wie 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
 

Kürzlich hochgeladen

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Kürzlich hochgeladen (16)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

JRuby al Rescate de J2EE

Hinweis der Redaktion

  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