nuevas tecnologías en java
DESCRIPTION
Una breve reseña de todo el mundo Java, incluyendo JavaFX, y los proyectos Darkstar, Wonderland, NetBeans y otrosTRANSCRIPT
![Page 1: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/1.jpg)
Nuevas tecnologías en Java
Ezequiel Singer
Gl obal Communi t y ManagerOSUM COMMUNI TY
![Page 2: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/2.jpg)
Netbeans
Plataforma Java
Agenda
JavaFX
Proyectos Darkstar y Wonderland
Ruby y JRuby
![Page 3: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/3.jpg)
Por qué esta charla...???
![Page 4: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/4.jpg)
L a V i s i ó n – “ L a e r a d e l a P a r t i c i p a c i ó n ”
T o d o s y T o d o P a r t i c i p a e n l a R e d
4 ’ A sA n y O n e
A n y W h e r eA n y T i m e
A n y D e v i c e
![Page 5: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/5.jpg)
Plataforma Java
![Page 6: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/6.jpg)
Tecnología Java
![Page 7: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/7.jpg)
L e n g u a j e J A V A
• O r i e n t a d o a O b j e c t o s• D i s t r i b u í d o• S i m p l e & S e g u r o• M u l t i t h r e a d e d • I n d e p e n d i e n t e d e
P l a t a f o r m a
![Page 8: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/8.jpg)
Java: Nuevas Fronteras Económicas
S o l u c i o n e s M ó v i l e s
R F I D D i s p o s i t i v o sR e m o t o s
P r ó x i m aG e n e r a c i ó n
d e D i s p o s i t i v o s
![Page 9: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/9.jpg)
J2EE
![Page 10: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/10.jpg)
Q U E E S J 2 E E ? ? ?P l a t a f o r m a d e p r o g r a m a c i ó n p a r a d e s a r r o l l a r y e j e c u t a r s o f t w a r e d e a p l i c a c i o n e s e n L e n g u a j e J a v a c o n a r q u i t e c t u r a d e n n i v e l e s d i s t r i b u i d a , b a s á n d o s e a m p l i a m e n t e e n c o m p o n e n t e s d e s o f t w a r e m o d u l a r e s e j e c u t á n d o s e s o b r e u n s e r v i d o r d e a p l i c a c i o n e s .
L a p l a t a f o r m a J a v a E E e s t á d e f i n i d a p o r u n a e s p e c i f i c a c i ó n d e J C P ( J a v a C o m m u n i t y P r o c e s s )
I n c l u y e e s p e c i f i c a c i o n e s d e A P I , t a l e s c o m o J D B C , R M I , e - m a i l , J M S , S e r v i c i o s W e b , X M L , e t c , y d e f i n e c o m o c o o r d i n a r l o s . C o n f i g u r a t a m b i é n a l g u n a s e s p e c i f i c a c i o n e s ú n i c a s p a r a J a v a E E p a r a c o m p o n e n t e s ( E n t e r p r i s e J a v a B e a n s , s e r v l e t s , p o r t l e t s , J a v a S e r v e r P a g e s y v a r i a s t e c n o l o g í a s d e s e r v i c i o s w e b ) .
P e r m i t e a p l i c a c i o n e s p o r t a b l e s e n t r e p l a t a f o r m a s y e s c a l a b l e s . E l s e r v i d o r d e a p l i c a c i o n e s m a n e j a l a s t r a n s a c c i o n e s , s e g u r i d a d , e s c a l a b i l i d a d , c o n c u r r e n c i a y g e s t i ó n d e l o s c o m p o n e n t e s . E l d e s a r r o l l a d o r s o l o s e c o n c e n t r a e n l a l ó g i c a d e n e g o c i o d e l o s c o m p o n e n t e s e n l u g a r d e l a s t a r e a s d e m a n t e n i m i e n t o d e b a j o n i v e l .
![Page 11: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/11.jpg)
A r q u i t e c t u r a M u l t i C a p a : e j . S e r v i c i o w e b
D a t a b a s eD a t a b a s e
S Q L r e q u e s t
S Q L r e s p o n s e
H T M L r e s p o n s e
W E B S e r v e rH T M L
r e q u e s t
• B r o w s e r • B r o w s e r t a l k s W e b s e r v e r v i a H T T P p r o t o c o l• B u s i n e s s l o g i c a n d d a t a m o d e l a r e h a n d l e d b y “ d y n a m i c
c o n t e n t s g e n e r a t i o n ” t e c h n o l o g i e s ( C G I , S e r v l e t / J S P , A S P )
![Page 12: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/12.jpg)
Servlets y JSPLos servlets son objetos que corren dentro del contexto de un contenedor de servlets (ej: Tomcat)
La palabra servlet deriva de otra anterior, applet, que se refería a pequeños programas escritos en Java que se ejecutan en el contexto de un navegador web. Por contraposición, un servlet es un programa que se ejecuta en un servidor.
El uso más común de los servlets es generar páginas web (paginas JSP) de forma dinámica a partir de los parámetros de la petición que envíe el navegador web.
![Page 13: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/13.jpg)
Servlets vs CGI
R e q u e s t C G I 2
R e q u e s t C G I 1
R e q u e s t S e r v l e t 1
R e q u e s t S e r v l e t 2
R e q u e s t S e r v l e t 1
C G IB a s e d
W e b s e r v e rC h i l d f o r C G I 2
C h i l d f o r C G I 1
S e r v l e t B a s e d W e b s e r v e r
J V MS e r v l e t 1
S e r v l e t 2
R e q u e s t C G I 1C h i l d f o r C G I 1
R e q u e s t C G I 2
R e q u e s t C G I 1
R e q u e s t S e r v l e t 1
R e q u e s t S e r v l e t 2
R e q u e s t S e r v l e t 1
C G IB a s e d
W e b s e r v e rC h i l d f o r C G I 2
C h i l d f o r C G I 1
S e r v l e t B a s e d W e b s e r v e r
J V MS e r v l e t 1
S e r v l e t 2
R e q u e s t C G I 1C h i l d f o r C G I 1
![Page 14: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/14.jpg)
EJB TechnologyLos EJBs proporcionan un modelo de componentes distribuido estándar para el lado del servidor. El objetivo de los Enterprise beans es dotar al programador de un modelo que le permita abstraerse de los problemas generales de una aplicación empresarial (concurrencia, transacciones, persistencia, seguridad, ...) para centrarse en el desarrollo de la lógica de negocio en sí. El hecho de estar basado en componentes nos permite que éstos sean flexibles y sobre todo reutilizables.
* comunicación remota utilizando CORBA
* transacciones
* control de la concurrencia
* eventos utilizando JMS (Java messaging service)
* servicios de nombres y de directorio
* seguridad
* ubicación de componentes en un servidor de aplicaciones.
Además, la especificación de Enterprise Java Bean define los papeles jugados por el contenedor de EJB y los EJBs
![Page 15: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/15.jpg)
Arquitectura EJB
![Page 16: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/16.jpg)
J2EE Component Containers
![Page 17: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/17.jpg)
J2EE, una solucion de punta a punta
C l i e n t
C l i e n t
C l i e n t
C l i e n t
C l i e n t
C l i e n tT i e r
E n t e r p r i s e I n f o r m a t i o n
T i e rM i d d l e
T i e r
E n t e r p r i s e I n f o r m a t i o n
S y s t e m s ( E I S ) :
R e l a t i o n a lD a t a b a s e ,
L e g a c y A p p l i c a t i o n s ,
E R P S y s t e m s
E n t e r p r i s e J a v a B e a n s ™
E n t e r p r i s e J a v a B e a n s
O t h e r S e r v i c e s :J N D I , J M S ,J a v a M a i l ™
J 2 E EA p p l i c a t i o n
S e r v e r
W e b S e r v e r
J S P , S e r v l e t s
F i r e w a l l
H T M L / X M L
C l i e n t
C l i e n t
C l i e n t
C l i e n t
C l i e n t
C l i e n tT i e r
E n t e r p r i s e I n f o r m a t i o n
T i e rM i d d l e
T i e r
E n t e r p r i s e I n f o r m a t i o n
S y s t e m s ( E I S ) :
R e l a t i o n a lD a t a b a s e ,
L e g a c y A p p l i c a t i o n s ,
E R P S y s t e m s
E n t e r p r i s e I n f o r m a t i o n
S y s t e m s ( E I S ) :
R e l a t i o n a lD a t a b a s e ,
L e g a c y A p p l i c a t i o n s ,
E R P S y s t e m s
E n t e r p r i s e J a v a B e a n s ™
E n t e r p r i s e J a v a B e a n s
O t h e r S e r v i c e s :J N D I , J M S ,J a v a M a i l ™
J 2 E EA p p l i c a t i o n
S e r v e r
W e b S e r v e r
J S P , S e r v l e t s
W e b S e r v e r
J S P , S e r v l e t s
F i r e w a l l
H T M L / X M L
![Page 18: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/18.jpg)
J2EE, arquitectura multicapa
W e b T i e r E J B T i e r
![Page 19: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/19.jpg)
• Web application development• Java EE 5 Support• Debugging, testing, profling• Struts and JavaServer Faces (JSF)• JBoss 4, WebLogic 9, WebSphere(*)• Web services development (client +
service)• AJAX app development (Blueprints)• EJB application development
J2EE Features: Destacados
![Page 20: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/20.jpg)
J2ME
![Page 21: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/21.jpg)
Arquitectura Java ME
Host Operating System
Confguration (JVM / Libraries)(e.g. CLDC, CDC)
Profle(s)(e.g. MIDP)
![Page 22: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/22.jpg)
CLDC
• Connected, Limited Device “Confguration”• Para dispositivos con conección a la red• Pero con poca memoria (~100's KB)• “... a highly-portable, minimum-footprint
Java application development platform for resource-constrained, connected devices”
• Ejemplo: Celulares, two-way pagers, PDAs, organizers, electrodomesticos de hogar, low-end TV set-top boxes, y terminales de puntos de venta.
![Page 23: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/23.jpg)
Mobile Information Device Profle (MIDP)
• Version 2.0 – JSR 118• Dispositivos de información movil• Una aplicacion MIDP: MIDlet• Trabaja por encima de CLDC• Focus areas:
> Application delivery & billing> Application lifecycle & signing> End-to-end security> Server push model> Networking & Persistent storage> Sound, Timers, User Interface
![Page 24: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/24.jpg)
MIDP 2.0 User Interface APIs
Displayable
Canvas Screen
Alert Form List TextBox SplashScreen WaitScreen
ChoiceGroup DateField Guage
ImageItem StringItem TextField
Form Items
![Page 25: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/25.jpg)
Sun Wireless Toolkit para Java
• Implementacion de CLDC y MIDP> incluye... WMA, MMAPI, JTWI, J2ME Web Services,
PDAP, Bluetooth and OBEX, Mobile 3D Graphics
• Emulator• OTA support• Cryptographic Support• Obfuscator• Pre-verifer
![Page 26: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/26.jpg)
Netbeans Mobility Pack
• Usa Sun Wireless Tooklit for Java• Drag-and-drop graphical user
interface• Soporte Device fragmentation
Ejemplo:http://www.microjava.com/articles/techtalk/midp2_games
![Page 27: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/27.jpg)
Java ME Game Demo• Tumbleweed by Carol Hamer from Micro
Developer Network Inc.> http://www.microjava.com/articles/techtalk/midp2_games
![Page 28: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/28.jpg)
MIDP 2.0 Gaming APIs
• High-level API> Implementación de código Nativo> Reduce el tamaño de la aplicación
• GameCanvas permite pintar y consultar el estado de los key
• Sprites y TiledLayers son elementos visuales> Sprites pueden ser animados, transformados,
movidos y tener detección de colisiones.> TiledLayers son grid de celdas conteniendo
imagenes> TiledLayers usados para layers virtuales largos (e.g.
Fondos de scrolling largos)> TiledLayers tienen fondos estaticos y animados.
![Page 29: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/29.jpg)
Java ME Game Demo• Main Jump class extends MIDlet
> Inicializa game UI> Escucha por “Commands” exit, pause, y
resume game> Comienza game thread
public class Jump extends MIDlet implements CommandListener {...
}
http://www.microjava.com/articles/techtalk/midp2_games
![Page 30: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/30.jpg)
Java ME Game Demo• JumpCanvas class extends MIDP GameCanvas
> Pinta game background y pide al LayerManager pintar las piezas del juego
> Queries para las key presses and updates state> Pide al LayerManager avanzar las piezas del
juego para el siguiente timestep
public class JumpCanvas extends javax.microedition.lcdui.game.GameCanvas {...
}
http://www.microjava.com/articles/techtalk/midp2_games
![Page 31: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/31.jpg)
Java ME Game Demo• JumpManager class extends MIDP LayerManager
> Pinta las piezas del juego (cowboy, grass, tumbleweeds)
> Setea el visible window viewport para el juego game
> Update de la animacion para la pieza del juego, avanza las piezas, chequea las colisiones
public class JumpManager extends javax.microedition.lcdui.game.LayerManager {...
}
http://www.microjava.com/articles/techtalk/midp2_games
![Page 32: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/32.jpg)
Java ME Game Demo• Cowboy y Tumbleweed son MIDP Sprites
> Se avanzan ellos mismos en el game board> Update de los frames de animación
• El pasto es un MIDP TiledLayer> Game UI es una secuencia de imagenes> El Tiled es animado
http://www.microjava.com/articles/techtalk/midp2_games
![Page 33: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/33.jpg)
Netbeans
![Page 34: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/34.jpg)
Netbeans, mas que un IDE...
w w w . n e t b e a n s . o r g
• IDE Java (multiplataforma)
• Open Source y gratuito
• Arquitectura Java completa
• SUITE con complementos> C/C++> Php> Ruby> SVN, profling, developer
collaboration
![Page 35: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/35.jpg)
Que es NetBeans?
• IDE modular, completo > Out-of-box soporta Java SE, Java EE, Java ME> Gran set de 3rd party modules (plug-in's)> Desarrollo drag-and-drop intuitivo> Debugger, Profler, Refactoring, etc...
• Gratis y open-source> Open source desde Junio, 2000> Una gran comunidad de usuarios y desarrolladores
• Una plataforma de construccion > Rich client Java applications> Rich framework of windows, menus, tool bars,
actions
![Page 36: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/36.jpg)
Plataforma NetBeansLenguajes sobre la JVM
C/C++ - JRuby
Otros lenguajes
Herramientas comunes
Servidores (App, Web, DB, ...), CVSs, Update Center, etc.Otras herramientas
● Editores: Java, C, HTML, ...● Explorador de proyecto● Inspector de clases● Diseñador de UML● Collaboration tool
Enterprise Visual Web Mobility Profiler
Add-ons
Java ME Java SE Java EE
![Page 37: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/37.jpg)
Que trae de Nuevo NetBeans 6.0???
• Mejoras en el editor de código• Soporte Ruby, JRuby, & Ruby on Rails • Soporte completo para PHP• Soporte para JavaFX• Instalación y Upgrading más fácil• Swing GUI data binding (+)• Profi ling integrado, profi ling “points” • visual web features integradas• Mobility graphical game builder • Mejoras de performance para SOA & UML • Mejoras en toda la plataforma Netbeans
![Page 38: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/38.jpg)
Developer Collaboration• Desarrollo de aplicaciones en forma
colaborativa
• Code-aware instant messaging
• Compartir el ambiente de desarrollo completo
• Multi-party fle editing
• Conduct codes review
• Debugging colaborativo
• share.java.net public collaboration server
![Page 39: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/39.jpg)
Developer Collaboration
http://www.netbeans.org/kb/articles/quickstart-collaboration.html
![Page 40: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/40.jpg)
Developer Collaboration
• Registro gratis de una cuenta (free)
• Agregar contactos a la lista
• Comenzar una conversacion
• Compartir codigo
• Arreglo de bugs, compilación y ejecución colaborativa.
http://www.netbeans.org/kb/articles/quickstart-collaboration.html
![Page 41: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/41.jpg)
Debugging & Profling
Debugging & Testing
• Visual debugging (breakpoints, watchpoints)
• debugging de procesos remotos
• On-the-fy code fxing
• Integracion con JUnit testing
• Debug JSP, Servlets del lado Server
• Monitor HTTP Trafc
• Ver, suspender, ejecutar threads
![Page 42: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/42.jpg)
Debugging & Profling
![Page 43: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/43.jpg)
Lo nuevo... JavaFX
![Page 44: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/44.jpg)
La visión de JavaFX
JavaFX es LA platforma paracrear y entregar
Rich Internet Applications (RIA) En todas las formas que se necesite
JavaFX is Powered by Java
![Page 45: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/45.jpg)
Introduccion: Que es Java FX?
• Java FX Player : el software de RunTime requerido para
correr aplicaciones JavaFX (presente en JRE 1.6.0)
• JavaFX Mobile : un sistema completo (SO y ambiente de
aplicacion) construido con Java, Linux y otras tecnologías
open source
![Page 46: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/46.jpg)
Arquitectura JavaFX mobile
![Page 47: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/47.jpg)
Arquitectura JavaFX Mobile
![Page 48: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/48.jpg)
JavaFX, la nueva tecnología en interfaces gráficas
![Page 49: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/49.jpg)
Una implementación GPLhttp://www.linuxdevices.com/news/NS7539760574.html
![Page 50: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/50.jpg)
Video Player
Se puede incorporar en una aplicación de forma simple, incluyendo algunas variables y el link de la fuente de video
![Page 51: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/51.jpg)
Efectos 3-D a través de trucos de perspectivas
PerspectiveTransform permite construir app JavaFX para crear efectos en 3D.
![Page 52: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/52.jpg)
Manejo de Media - Juegos
![Page 53: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/53.jpg)
Cientos de ejemplos
![Page 54: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/54.jpg)
Por que Java FX?
• Escribir GUIs es difi cil (y molesto)> si, Matisse ayuda un poco, pero...> Todavia hay demasiados “listeners”.
• GUIs por default son feas> Una herencia de cajas grises rectangulares (no solo en Java)> No tan “pirotecnicas” como los websites FLASH
• Java 2D provee mucho de lo que se necesita, pero...> Es complicado de usar para este propósito> No tiene un comportamiento “composicional”
La sintaxis declarativa de Java FX's, combina los widgets “Swing” tipicos con la funcionalidad composicional de Java 2D, logrando que escribir interfaces gráficas sea facil, y con mejores resultados
![Page 55: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/55.jpg)
La familia Java crece...JRuby
![Page 56: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/56.jpg)
Que es Ruby
En un lenguaje orientado a objetos, con tipeado dinámico de estlo
scripting (simil phyton, perl, etc)
Código abierto
Enfocado en la simplicidad
Sintáxis fácil de leer
Muy utilizado en WEB 2.0 (procesamiento de texto, xml, algunas
aplicaciones gráficas... On Rails
http://www.ruby-lang.org/es/
![Page 57: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/57.jpg)
Que es Ruby II
Liberación pública en 1995
Su creador, Yukihiro “matz” Matsumoto, mezcló partes de sus
lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp)
Su implementación oficial esta hecha en C
![Page 58: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/58.jpg)
JRuby
JRuby es una implementación Java del lenguaje RubyJRuby es software libre liberado con 3 tipos de licencias: CPL/GPL/LGPL JRuby está integrado con Java para permitir insertar código Ruby dentro de Java, y viceversa. (Implementación simil al proyecto Jython para el lenguaje Python)
![Page 59: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/59.jpg)
Ruby on Rails
Ruby on Rails es un framework para aplicaciones web gratuito Ruby busca incrementar la velocidad y facilicad de armar sitios web basados en base de datosAplicaciones que usan el framework Rails son desarrolladas con el patrón de diseño Model-View-Controller (simil a integración de Struts + Hibernate + Java)
![Page 60: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/60.jpg)
Para desarrolladores Ruby
JRuby ? Ya estoy bien con Ruby...Por que otra implementación?
![Page 61: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/61.jpg)
Por que JRuby???
• Clases y librerías Java en Ruby• Código Ruby dentro de Java• Soporte de código nativo• Escalabilidad con el manejo de threading nativo
(Ruby Thread <-> Java Thread)• Performance (??? ustedes definen!!!!)• Llevar Ruby a aplicaciones de tipo Enterprise
![Page 62: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/62.jpg)
Para desarrolladores Java
mmm..Ruby ? Que es esto ? Suena como otra palabra “molesta” para mi...
![Page 63: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/63.jpg)
Por qué JRuby (II)
• Divertido, “cool”, potente lenguaje!• Features faltantes en Java
> Closure (blocks, mixin)> Open classes, metaprogramming> Literals for array, hash, regex> Duck-typing
• Integracion (entre muchas librerías)• Lenguaje de dominio específico (DSL)
![Page 64: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/64.jpg)
Para desarrolladores Rails
Java ? Me estás cargando ?Eso no es cool !
![Page 65: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/65.jpg)
Por qué JRuby on Rails (III)
• Desarrollo ágil y dinámico• Capacidad de integrarse a server Java applications
& librerias varias• Amplio soporte para manejo de base de datos• Soporta Rails and muchos otros (todos..) gems
![Page 66: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/66.jpg)
Ruby Language Basics
• Clasico Hola mundo> puts "Hola mundo!"
• # Todo, incluido un literal, es un objeto, esto funciona:> -199.abs # 199> "ruby is cool".length # 12> "Rick".index("c") # 2> "Nice Day Isn't It?".downcase.split(//).uniq.sort.join # " '?acdeinsty"
![Page 67: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/67.jpg)
Ruby Language Basics
• Construyendo y usando un ARRAY> a = [1, 'hi', 3.14, 1, 2, [4, 5]]> > a[2] # 3.14> a.reverse # [[4, 5], 2, 1, 3.14, 'hi', 1]> a.flatten.uniq # [1, 'hi', 3.14, 2, 4, 5]
• Construyendo y usando un hash> hash = {:water => 'wet', :fire => 'hot'}> puts hash[:fire] # Prints: hot> > hash.each_pair do |key, value| # Or: hash.each do |key, value|> puts "#{key} is #{value}"> end
![Page 68: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/68.jpg)
Ruby Language Basics
• Blocks y iterators> { puts "Hello, World!" } # Note the { braces }> > do puts "Hello, World!" end
• Parameter-passing a block to be a closure> # In an object instance variable (denoted with '@'), remember a block.> def remember(&a_block)> @block = a_block> end> # Invoke the above method, giving it a block that takes a name.> remember {|name| puts "Hello, #{name}!"}> @block.call("Blah")
![Page 69: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/69.jpg)
Ruby Language Basics
• Llamando a Java desde JRuby> require 'java'> > include_class "javax.swing.JFrame"> include_class "javax.swing.JLabel"> > frame = JFrame.new()> frame.getContentPane().add(JLabel.new("This is an example."))> frame.pack()> frame.setVisible(true)
![Page 70: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/70.jpg)
NetBeans y Ruby
• JRuby is a Ruby interpreter> Written entirely in Java. > Object-oriented programming, duck-typing> Tightly integrated with Java, and can be called directly
from Java programs.
• Bean Scripting Framework > Enables the use of scripting languages within a Java
application
• IDEs are not Editors> Support for all coding related tasks> Debugging infrastructure: balloon eval, thread view…
![Page 71: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/71.jpg)
Netbeans Ruby Pack• Soporte comprensivo para la edición de código Ruby
> Colors> Syntax highlighting> Navigation display> Code Folding> Background error parsing> Semantic syntax highlighting,> Mark Occurrences> Go To Declaration> Instant Rename> Code Template
•
> Code Completion> Parameter Hints> Smart Indent> Smart Selection> Formatting> Pair Matching> Live Code Templates> RDoc Support and String Support> Spell Checking
![Page 72: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/72.jpg)
Netbeans Ruby Pack
• Refactoring>
> Find Usages> Rename> Other Refactorings
• Soporte de proyectos>
> Gem Support> File Type Recognition> Project Support> Unit Tests> IRB - Interactive Ruby Shell
![Page 73: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/73.jpg)
Netbeans Ruby Pack
• Soporte de Debugging> classic-debugger support - slow AND ruby-debug support - fast> RHTML debugging > Balloon Evaluation. > Views (variables, stacks etc.)> Breakpoints > Session (multiple debugging session, fi nishing, switching support) > Thread (state, thread switching support) > Breakpoints management > Stepping (over/into/out/resume) into project, core, loadpath classes, RHTML
![Page 74: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/74.jpg)
Netbeans Ruby Pack
• Soporte de Debugging> classic-debugger support - slow AND ruby-debug support - fast> RHTML debugging > Balloon Evaluation. > Views (variables, stacks etc.)> Breakpoints > Session (multiple debugging session, fi nishing, switching support) > Thread (state, thread switching support) > Breakpoints management > Stepping (over/into/out/resume) into project, core, loadpath classes, RHTML
![Page 75: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/75.jpg)
Mundos Virtuales...Darkstar y Wonderland
Están preparados?
![Page 76: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/76.jpg)
Que es el proyecto Darkstar???
• Una plataforma server para desarrolladores de juegos> Abstracts contention, persistence, failure, etc.> Provides networking abstraction through channels> Transactional> Simple programming model – single-threaded,
synchronous, call-back driven> Free of deadlocks> Server is pure Java
• Multi Plataforma, del lado del cliente y APIs> Java SE, Java ME, C++ (Win32, PSP) APIs
![Page 77: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/77.jpg)
Arquitectura Darkstar
![Page 78: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/78.jpg)
Wonderland... el futuro
![Page 79: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/79.jpg)
Motivación
+ 50% de los empleados de SUN trabaja desde su casa, algún día de la semana
Reuniones internacionales, o a nivel regional
Desafíos del trabajo remoto
Todo es remoto Problemas de Management Dificil los “brainstormings” Poca interacción social
![Page 80: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/80.jpg)
Por qué un mundo virtual?
Tecnología actual no consume suficiente ancho de banda en tecnología emocional.
Social networking, email, IM, text messaging, etc.Bajo ancho de banda emocional en estas aplicaciones
Se necesitan canales con mayor calidad emocional / social
Permite a los empleados establecer relaciones real
![Page 81: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/81.jpg)
La experiencia Second Life
Primer paso Encuentros programadosSe puede recibir ayuda de otrosSensación de presencia fuerte, perno completat complete
Primeras pruebas en almacenado del mundo Problemas con audio Falta de identificación clara de quien es quien Experiencia social posible, pero imposible de realizar un
trabajo real. Scripting permitido para extensiones limitadas
![Page 82: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/82.jpg)
1 0C o p y r i g h t 2 0 0 7 , S u n M i c r o s y s t e m s , I n c .
D e m o V i d e o : M P K 2 0h t t p : / / r e s e a r c h . s u n . c o m / p r o j e c t s / m c / v i d e o / M P K 2 0 -o c t 2 0 0 7 . m o v
![Page 83: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/83.jpg)
Stack mundos virtualesW o r l d
C l i e n t
S e r v e r
M P K 2 0 : S u n ' s V i r t u a l W o r k p l a c e● W o r l d c u s t o m i z e d t o s u p p o r t S u n ' s d i s t r i b u t e d w o r k f o r c e● I n c l u d e s a p p l i c a t i o n s f o r s h a r i n g a n d c o l l a b o r a t i o n
P r o j e c t W o n d e r l a n d● O p e n s o u r c e J a v a 3 D - b a s e d g r a p h i c s e n g i n e● M a n a g e s w o r l d , a n i m a t i o n , a n d a v a t a r s● S u p p o r t s a p p s h a r i n g ( i n i t i a l l y J a v a a n d X a p p s )● E x t e n s i b l e a n d c u s t o m i z a b l e w o r l d s
S o f t w a r e P h o n e
V o i c e B r i d g e
P r o j e c t D a r k s t a r● O p e n s o u r c e c o m m u n i c a t i o n a n d a p p f r a m e w o r k● T a r g e t e d a t g a m e s● H i g h l y s c a l a b l e● H a n d l e s p e r s i s t e n c e● A l l o w s e x t e n s i b l e s e t o f c o r e s e r v i c e s
![Page 84: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/84.jpg)
Diferenciales
Poder compartir en vivo aplicaciones (presentaciones,
browser, pizarras, etc)
Integración con información de negocio
Abierto y extensible
(“ya les dije que es GRATUITO??”)
Open Source
Audio como una feature del CORE
Integración con telefonía (IP)
![Page 85: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/85.jpg)
D e m o V i d e o : T e l e p h o n e C e l lh t t p : / / r e s e a r c h . s u n . c o m / p r o j e c t s / m c / v i d e o / W o n d er l a n d P h o n e . m o v
![Page 86: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/86.jpg)
Carrera Java
![Page 87: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/87.jpg)
Algunos Links
• http://Java.net• http://Java.sun.com• http://cordobajug.org• http://www.netbeans.org• http://www.microjava.com/articles/techtalk/midp2_games/• http://www.projectdarkstar.com/• https://games-darkstar.dev.java.net/• http://www.ruby-lang.org/es/• http://www.rubyonrails.org/
![Page 88: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/88.jpg)
Recursos Netbeans• NetBeans: http://www.netbeans.org
> Get your Beans here!> Latest news and development information> Netbeans Addons (additional favors)
• NetBeans Wiki: http://en.wikipedia.org/wiki/NetBeans> Good overview,
• NetBeans & Ruby: http://wiki.netbeans.org/wiki/view/Ruby> Ruby support, FAQ, tutorials
• NetBeans Community: http://www.netbeans.org/community/index.html> Forums, support, love, tenderness
![Page 89: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/89.jpg)
Recursos Java FX• Java FX Project Site: http://openjfx.dev.java.net
> Java.net: Download early versions of Java FX> IDE Plugins, Tutorials, Forums, FAQs> “Getting Started With the JavaFX Script Language”> “JavaFX Script 2D Graphics Tutorial”> “The JavaFX Script Programming Language Reference”
• Planet FX Wiki: http://jfx.wikia.com/wiki/Main_Page> Open-source documentation site for Java FX
• Chris Oliver's Blog: http://blogs.sun.com/chrisoliver/> Latest news, other informal information> Source code for lots of demos (Space Invaders, Calculator)
• Sun's Java FX Site: http://www.sun.com/software/javafx/> Sun Microsystems ofcial product page
![Page 90: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/90.jpg)
90
OSUM Community - osum.sun.com• La comunidad de
estudiantes mas importante del mundo
• Social-networking para estar conectado, aprender y colaborar con la comunidad> 100,000+ estudiantes IT > 2,000 + student clubs> Global: 20 + idiomas
• Recursos para mejorar tu carrera
![Page 91: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/91.jpg)
91
OSUM On-Campus• Comunidades vibrantes que apoyan el uso de software
libre• “Meetup”, estudiantes que se juntan y comparten un
bueno momento con clubes ya existentes y algunos nuevos
• Reuniones mensuales > Tech Demos> Proyectos estudiantiles> Speakers invitados> Eventos sociales> Recursos para estudiantes: SAI
• Compartir el liderazgo
![Page 92: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/92.jpg)
92
Sun Academic Initiative (SAI)• Increase employment & earnings potential• Get FREE training on Sun technologies
> Web-based training on JavaTM, SolarisTM & more> Obtain SAI Learning Connection info and promote to OSUM members> Free practice exams
• Certification exams for $40 – Save more than 90%> Sun Certified Java Associate (SCJA)> Sun Certified Java Programmer (SCJP)> Sun Certified Solaris Associate (SCSAS)> Sun Certified System Administrator (SCSA)> Sun Certified Network Administrator (SCNA)> Sun Certified Web Component Developer (SCWCD)
• Provide your OSUM Club members with the SAI Login Card at each of your meetings
![Page 93: Nuevas tecnologías en Java](https://reader036.vdocuments.site/reader036/viewer/2022062312/5564e449d8b42ad9498b56c1/html5/thumbnails/93.jpg)
Muchas GraciasEzequiel [email protected]://blogs.sun.com/argentina_ambassador
Nuevas tecnologías en Java