NetBeans:
Desarrollando Web 2.0
con JAVA EE 5
Jaime Cid
Arquitecto de Soluciones WEB
Sun Microsystems
http://blogs.sun.com...
AGENDA

1 – Web 2.0
2 – Tecnologías Web 2.0
3 – AJAX
4 – AJAX con Java EE (J2EE)
5 – Java EE 5
6 – NetBeans
Web 2.0
¿Qué es Web 2.0?
• La Web como plataforma
  > El navegador pasa a ser la única aplicación
  > Correo, Calendario, Contacto...
La era de la participación




        Todos contribuyendo en la Web
Web 1.0                        --> Web 2.0
• DoubleClick                    -->   Google AdSense
• Ofoto                  ...
Web 2.0 Meme Map




http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
Mashups: Housingmaps.com
Tecnologías
  Web 2.0
Tecnologías Web 2.0 en cliente
• CSS (Separación de Diseño y Contenido)
• RSS, RDF, ATOM (Sindicación y agregación de
  co...
Tecnologías Web 2.0 en servidor
• SOAP, REST, JCC (Servicios Web)
• SSO, Registro, Federación de Identidad
  (Autenticació...
Contexto y Ecosistema Web 2.0
• Soporte multinavegador (IE, Firefox, Opera, Safari,
  Netscape, otros)
• Soporte de Sistem...
AJAX
Google Suggest
http://www.google.com/webhp?complete=1
¿Qué es AJAX?
• AJAX es un acrónimo de Asynchronous Javascript
  And XML
  > AJAX utiliza JavaScript combinado con XML par...
Modelo Clásico vs. AJAX
Arquitectura Web basada en AJAX
Anatomía de una interacción AJAX
Casos de usos de AJAX
• Validación de formularios en tiempo real
  > Identificador de usuario, números de serie, códigos
 ...
Casos de usos de AJAX
 • Controles de interfaz de usuario (GUI) avanzados
   > Arboles, Menús, Barras de progreso, Zoom, M...
Estrategias de Diseño AJAX
• http://java.sun.com/developer/technicalArticles/J2EE/AJAX/DesignStrategies/index.html

• Hacé...
Razones para usar librerías cliente
en JavaScript
• Proporcionan APIs de mayor nivel de abstracción
  > Facilidad de desar...
Librerías Cliente en JavaScript

• DOJO Toolkit (used by Struts, Sun, ...)
  > http://dojotoolkit.com/
• Script.aculo.us
 ...
AJAX con
   Java EE
(antes J2EE)
jMaki: JavaScript AJAX Framework
• https://ajax.dev.java.net/screencast/jMakiDemo.html
• jMaki es una recopilación y selec...
Frameworks JAVA de Servidor
• Tres tipos
  > El servidor genera código JavaScript de manera
    automática (Google Web Too...
Frameworks JAVA de Servidor
• DWR (Dynamic Web Remoting)
  > http://dwr.dev.java.net/
• JSON-RPC
• Shale Remoting (Struts ...
JSR-299 WebBeans
•   Jboss (SEAM)
•   Oracle (ADF)
•   Apache (Struts Shale)
•   Sun (Java EE 5, NetBeans)
•   Google
•   ...
http://java.sun.com/blueprints/ajax.html

• Java BluePrints Solutions Catalog for Java EE 5
• AJAX FAQ for the Java Develo...
Blueprints AJAX Components Apr06
• En Abril de 2006 se han añadido los siguientes:
  > Rich Textarea Editor
  > Buy Now Bu...
AutoComplete (ejemplo)
JAVA EE 5
Evolución de la plataforma                              Facilidad de
                                                     ...
GlassFish & JAVA EE 5 RI
Detalles de implementación
 ●   Soporte de lenguajes de Script & AJAX
 ●   WS 2.0 /XML Stack: JAX...
Soporte de Lenguajes de Script
 La percepción de la plataforma
   JAVA es la siguiente:

 En JAVA EE 5 el soporte de
   le...
AJAX and Scripting Activities
• jMaki - http://ajax.dev.java.net
  > Encapsulates very easily AJAX widgets
• Phobos - http...
Web Tier: JSP/Servlet/Grizzly
                                    • Grizzly
                                      > Java-b...
GF V2: Grizzly and JSP Containers

 • JSP Container
   > Can use JSR-199 (Javac APIs in Mustang)
   > 10x performance impr...
Top Link Essentials
• Oracle Contribution
• Very Active Community
 > Oracle, Sun, TmaxSoft, independents
 > Mail: persiste...
Comunidad JAVA EE 5
                                         NetBeans Enterprise Pack 5.5
                               T...
GlassFish Wider Impact
• Encouraging Java EE 5 Adoption
 > Very Fast Adoption Ramp
• Enabling Java EE 5 Adoption
 > Many G...
Aplicaciones y Frameworks
compatibles con JAVA EE 5
                OSWorkFlow
                                 OSCache
  ...
NetBeans
NetBeans Enterprise Pack 5.5
• Includes NB 5.5
  > Supports Java EE 5 Applications
  > Java Persistence in Web, EJB and St...
NetBeans 5.5 Demos en Flash
• RECOPILACIÓN DE DEMOS en FLASH
• http://www.netbeans.org/kb/55/flash.html
• WEB SERVICES
• h...
BluePrints AJAX Componets in
Sun JAVA Studio Creator 2.1
Jaime Cid
Arquitecto de Soluciones WEB
Sun Microsystems
http://blogs.sun.com/jaimecid
Próxima SlideShare
Cargando en…5
×

Jc Web2.0 Java Ee5 Net Beans

4.931 visualizaciones

Publicado el

ruby

Publicado en: Tecnología, Educación
1 comentario
1 recomendación
Estadísticas
Notas
  • Quite interesting presentation, congratulations!
    http://www.medicaldebtsconsolidation.com
    http://www.medicaldebtsconsolidation.com/category/medical-debt-consolidation/
    http://www.medicaldebtsconsolidation.com/category/medical-debt-relief/
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
Sin descargas
Visualizaciones
Visualizaciones totales
4.931
En SlideShare
0
De insertados
0
Número de insertados
45
Acciones
Compartido
0
Descargas
157
Comentarios
1
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Jc Web2.0 Java Ee5 Net Beans

  1. 1. NetBeans: Desarrollando Web 2.0 con JAVA EE 5 Jaime Cid Arquitecto de Soluciones WEB Sun Microsystems http://blogs.sun.com/jaimecid
  2. 2. AGENDA 1 – Web 2.0 2 – Tecnologías Web 2.0 3 – AJAX 4 – AJAX con Java EE (J2EE) 5 – Java EE 5 6 – NetBeans
  3. 3. Web 2.0
  4. 4. ¿Qué es Web 2.0? • La Web como plataforma > El navegador pasa a ser la única aplicación > Correo, Calendario, Contactos, Fotos, Ofimática > El usuario sube y almacena contenido en la Web • Inteligencia Colectiva (Folksonomy) > Categorización colaborativa basada en etiquetas (tags) > La opinión de los usuarios cuenta y mucho. • La información se comparte y se combina > Agregación de datos de diferentes fuentes (Mashups) • Interfaz de usuario equivalente al escritorio > AJAX
  5. 5. La era de la participación Todos contribuyendo en la Web
  6. 6. Web 1.0 --> Web 2.0 • DoubleClick --> Google AdSense • Ofoto --> Flickr • Akamai --> BitTorrent • Britannica Online --> Wikipedia • personal websites --> blogging • domain name speculation --> search engine optimization • page views --> cost per click • screen scraping --> web services • publishing / content --> participation / applications • content management systems --> wikis • directories (taxonomy) --> tagging (quot;folksonomyquot;) • stickiness --> syndication (RSS) • work in progress --> Beta • plain HTML --> AJAX
  7. 7. Web 2.0 Meme Map http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
  8. 8. Mashups: Housingmaps.com
  9. 9. Tecnologías Web 2.0
  10. 10. Tecnologías Web 2.0 en cliente • CSS (Separación de Diseño y Contenido) • RSS, RDF, ATOM (Sindicación y agregación de contenidos) • AJAX (Aplicaciones Web basadas en HTML y XML con componentes asíncronos) • JAVA WEB START, FLEX, LASZLO, FLASH (Clientes Ricos Ligeros no HTML) • CAPTCHA (Palabra aleatoria y distorsionada sólo legible para ojos humanos que sirve para evitar el acceso de robots)
  11. 11. Tecnologías Web 2.0 en servidor • SOAP, REST, JCC (Servicios Web) • SSO, Registro, Federación de Identidad (Autenticación, Autorización y Seguridad en el acceso a las Aplicaciones WEB) • JAVASCRIPT, RUBY, PYTHON, PHP (Lenguajes de Script)
  12. 12. Contexto y Ecosistema Web 2.0 • Soporte multinavegador (IE, Firefox, Opera, Safari, Netscape, otros) • Soporte de Sistemas Operativos alternativos como Linux, Solaris o MacOSX • Existencia de librerías y aplicaciones en Software Libre desarrolladas en comunidad. • Uso abundante de Open Source en las versiones comerciales y enterprise
  13. 13. AJAX
  14. 14. Google Suggest http://www.google.com/webhp?complete=1
  15. 15. ¿Qué es AJAX? • AJAX es un acrónimo de Asynchronous Javascript And XML > AJAX utiliza JavaScript combinado con XML para recargar información del servidor sin refrescar la página > A nivel técnico se basa en el soporte por parte del navegador del objeto XMLHttpRequest > El término AJAX fue acuñado por Jesse James Garrett en Febrero de 2005 • Ventajas del uso de AJAX en aplicaciones WEB: > Mejora cualitativa en la experiencia del usuario WEB > Tecnología RIA (Rich Internet Application) evolutiva, y no rupturista como Flash, XUL y otras > El ancho de banda consumido disminuye
  16. 16. Modelo Clásico vs. AJAX
  17. 17. Arquitectura Web basada en AJAX
  18. 18. Anatomía de una interacción AJAX
  19. 19. Casos de usos de AJAX • Validación de formularios en tiempo real > Identificador de usuario, números de serie, códigos postales, cupones de promoción, y otros campos se pueden validar contra el servidor antes de que el usuario envíe el formulario completo. • Auto-Completar > Direcciones de correo electrónico, nombres de personas o ciudades se pueden autocompletar según el usuario va escribiendo • Operaciones Maestro - Detalle > Basado en eventos del cliente, la página HTML actualiza información detallada de productos según se van seleccionando
  20. 20. Casos de usos de AJAX • Controles de interfaz de usuario (GUI) avanzados > Arboles, Menús, Barras de progreso, Zoom, Mapas que se actualizan sin refrescar la página • Refresco automático sólo de datos > Lás páginas HTML consultan al servidor y actualizan resultados deportivos, cotizaciones de bolsa, temperaturas, o cualquier otro dato específico • Notificación desde el servidor (PUSH) > La página HTML recibe notificaciones del servidor, bien mediante “Polling” o “Comet Programming”
  21. 21. Estrategias de Diseño AJAX • http://java.sun.com/developer/technicalArticles/J2EE/AJAX/DesignStrategies/index.html • Hacérselo uno mismo desde cero • Usar liberías cliente JavaScript como Dojo • Usar un framework Cliente-Servidor (JSF, ADF, Dynamic Faces) • Usar un framework de frameworks (wrap) como jMaki • Usar un framework JAVA de Servidor como DWR o JSON-RPC • Usar un framework JAVA de Generación de Aplicaciones como GWT (Google Web Toolkit)
  22. 22. Razones para usar librerías cliente en JavaScript • Proporcionan APIs de mayor nivel de abstracción > Facilidad de desarrollo de aplicaciones AJAX • Gestión de las incompatibilidades entre navegadores > Sin necesidad conocer sus particularidades • Gestión de la compatibilidad entre versiones > Uso de IFrame si la versión de navegador no soporta XMLHttpRequest • Gestión de navegación > Botones atrás y adelante > Marcadores y enlaces
  23. 23. Librerías Cliente en JavaScript • DOJO Toolkit (used by Struts, Sun, ...) > http://dojotoolkit.com/ • Script.aculo.us ❏ http://script.aculo.us/ • Yahoo UI Widgets • Prototype > http://prototype.conio.net/
  24. 24. AJAX con Java EE (antes J2EE)
  25. 25. jMaki: JavaScript AJAX Framework • https://ajax.dev.java.net/screencast/jMakiDemo.html • jMaki es una recopilación y selección de frameworks JavaScript para generar aplicaciones AJAX utilizando JSP 2.0 tag libraries o componentes JSF 1.1 pudiendo funcionar por tanto en Servidores de Aplicaciones Java EE 5.0 o J2EE 1.4 • Incluye componentes de Dojo, Scriptaculous, y Yahoo UI Widgets. > http://ajax.dev.java.net/ > http://developers.sun.com/ajax/ > http://java.sun.com/javascript/
  26. 26. Frameworks JAVA de Servidor • Tres tipos > El servidor genera código JavaScript de manera automática (Google Web Toolkit) > Frameworks JAVA de servidor > Framework cliente/servidor basado en componentes JSF > Los componentes JSF encapsulan la complejidad de la programación AJAX > Estandarización en JSR-299 (WebBeans)
  27. 27. Frameworks JAVA de Servidor • DWR (Dynamic Web Remoting) > http://dwr.dev.java.net/ • JSON-RPC • Shale Remoting (Struts Component Framework) > http://struts.apache.org/struts-shale/shale-remoting/apidocs/
  28. 28. JSR-299 WebBeans • Jboss (SEAM) • Oracle (ADF) • Apache (Struts Shale) • Sun (Java EE 5, NetBeans) • Google • Sybase
  29. 29. http://java.sun.com/blueprints/ajax.html • Java BluePrints Solutions Catalog for Java EE 5 • AJAX FAQ for the Java Developer • Java BluePrints Solutions Catalog for J2EE 1.4 • Java BluePrints Solutions Catalog for J2EE 1.4 in NetBeans • Article on using AJAX on the J2EE Platform
  30. 30. Blueprints AJAX Components Apr06 • En Abril de 2006 se han añadido los siguientes: > Rich Textarea Editor > Buy Now Button > Rating Component • Los componentes AJAX de ejemplo que ya se incluían en los Java BluePrints de AJAX han sido actualizados: > Auto-Complete Text Field > Progress Bar > Map Viewer > Select Value Text Field
  31. 31. AutoComplete (ejemplo)
  32. 32. JAVA EE 5
  33. 33. Evolución de la plataforma Facilidad de desarrollo Java EE & SOA 5 Web Java EE 5 4,5 Anotaciones Services EJB 3.0, 4 J2EE 1.4 JPA, API de 3,5 Persistencia Robustez Web JSF, JSTL 3 Plataforma Services, J2EE 1.3 Management, AJAX 2,5 JAVA EJB 2.0, Deployment, Web Services Async. 2.0 Empresarial Connector Connector 2 Architecture J2EE 1.2 1,5 Servlet, JSP, EJB, 1 JMS, JTA, Proyect JNDI, 0,5 o RMI/IIOP 0 JPE May 1998 Dec 1999 Sept 2001 Nov 2003 May 2006
  34. 34. GlassFish & JAVA EE 5 RI Detalles de implementación ● Soporte de lenguajes de Script & AJAX ● WS 2.0 /XML Stack: JAXB 2.0, JAX-WS 2.0, StAX ● Rendimiento Web: HTTP (Grizzly), JSP (Jasper), Servlets (Catalina) ● Persistencia JPA & EJB 3.0: TopLink Essentials ● Clientes Ricos: AJAX y Java Web Start ● Calidad Empresarial: Gestión, LB, Clusters ● Herramientas & IDEs (Eclipse & NetBeans plugins)
  35. 35. Soporte de Lenguajes de Script La percepción de la plataforma JAVA es la siguiente: En JAVA EE 5 el soporte de lenguajes de script hace que se puedan usar múltiples lenguajes y seguier usando • JVM y Threads • APIs JAVA
  36. 36. AJAX and Scripting Activities • jMaki - http://ajax.dev.java.net > Encapsulates very easily AJAX widgets • Phobos - http://phobos.dev.java.net > Scripting on the Server • Comet and Grizzly > Long-term HTTP connections for push content • DynaFaces - http://jsf-extensions.dev.java.net > AJAX and JSF • Blueprints - http://bpcatalog.dev.java.net > Guidelines on many areas, including AJAX
  37. 37. Web Tier: JSP/Servlet/Grizzly • Grizzly > Java-based Grizzly Grizzly > NewIO HTTP Servlet/JSP > @GlassFish APR Requests Container • APR Coyote > C-based • Coyote > Java-based Connectors Container > Traditional connector
  38. 38. GF V2: Grizzly and JSP Containers • JSP Container > Can use JSR-199 (Javac APIs in Mustang) > 10x performance improvement • Grizzly > Very Flexible and Customizable > Performance and Very Scalable > Support Quality of Service constraints > Supports Comet (long-term HTTP connections) > Much interest elsewhere...
  39. 39. Top Link Essentials • Oracle Contribution • Very Active Community > Oracle, Sun, TmaxSoft, independents > Mail: persistence@glassfish.dev.java.net • Pluggable > In GlassFish > Tomcat, Geronimo, Jboss > Java SE • Roadmap Forthcoming
  40. 40. Comunidad JAVA EE 5 NetBeans Enterprise Pack 5.5 Tools Java EE RI & SDK NetBeans™ IDE Eclipse Plugin Distributions Communities Derby Sun Java System AS 9.x MQ Project GlassFish Portal Server TmaxSoft JEUS 6 Open ESB Oracle Top Link Maven Rep Users and Other Groups
  41. 41. GlassFish Wider Impact • Encouraging Java EE 5 Adoption > Very Fast Adoption Ramp • Enabling Java EE 5 Adoption > Many Groups Using GF Components • Raising the Bar for FOSS AS > No more “It is an Open Source” excuses! • Leading the way for more FOSS Middleware > Portal – WSRP, Portlets, Repository > OpenDS – Directory Server > OpenESB – JBI, BPEL > OpenSSO – AccessManager, Federation
  42. 42. Aplicaciones y Frameworks compatibles con JAVA EE 5 OSWorkFlow OSCache Integration ORB Project Tango Apache Httpd CJUG-Classifieds Open ESB DOJO BIRT jBPM Facelets MyFaces ADF OpenSSO Shale SiteMesh WebDAV JSPwiki AJAX Tapestry Dalma MC4J StringBeans Portal BlogTrader WebSphere MQ Wicket Equinox Java WSDP
  43. 43. NetBeans
  44. 44. NetBeans Enterprise Pack 5.5 • Includes NB 5.5 > Supports Java EE 5 Applications > Java Persistence in Web, EJB and Standalone > Includes many wizards • With SJS AS 9.0 (Sun's distro of GlassFish) • Plus > XML Schema Tools > Web Services Orchestration > UML Modelling http://www.netbeans.org
  45. 45. NetBeans 5.5 Demos en Flash • RECOPILACIÓN DE DEMOS en FLASH • http://www.netbeans.org/kb/55/flash.html • WEB SERVICES • http://www.netbeans.org/download/flash/platform_55/platform_ws/ • BPEL ORCHESTRATION • http://netbeans.org/download/flash/netbeans_55b/web-service-orchestration.html • TOPLINK & JAVA SERVER FACES • http://jroller.com/page/edgar?entry=netbeans_demo_using_toplink_with • CREATING A CRUD APPLICATION • http://testwww.netbeans.org/kb/55/persistence-demo.html • http://roumen.name/blog/persistence_demo/persistence.html
  46. 46. BluePrints AJAX Componets in Sun JAVA Studio Creator 2.1
  47. 47. Jaime Cid Arquitecto de Soluciones WEB Sun Microsystems http://blogs.sun.com/jaimecid

×