SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
NetBeans:
Desarrollando Web 2.0
con JAVA EE 5
Jaime Cid
Arquitecto de Soluciones WEB
Sun Microsystems
http://blogs.sun.com/jaimecid
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, 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
La era de la participación




        Todos contribuyendo en la Web
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
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
  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)
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)
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
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 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
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
    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
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”
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)
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
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/
AJAX con
   Java EE
(antes J2EE)
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/
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)
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/
JSR-299 WebBeans
•   Jboss (SEAM)
•   Oracle (ADF)
•   Apache (Struts Shale)
•   Sun (Java EE 5, NetBeans)
•   Google
•   Sybase
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
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
AutoComplete (ejemplo)
JAVA EE 5
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
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)
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
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
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
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...
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
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
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
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
NetBeans
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
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
BluePrints AJAX Componets in
Sun JAVA Studio Creator 2.1
Jaime Cid
Arquitecto de Soluciones WEB
Sun Microsystems
http://blogs.sun.com/jaimecid

Weitere ähnliche Inhalte

Was ist angesagt?

5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_webJuy JLopez
 
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Mysql Latinoamérica
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEFernando Montaño
 
Cjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-wsCjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-wsandres880106
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesAitor Acedo
 
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.CLEFormación
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)UTN
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 

Was ist angesagt? (16)

5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web
 
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Web20
Web20Web20
Web20
 
Ajax tsis
Ajax tsisAjax tsis
Ajax tsis
 
Cjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-wsCjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-ws
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server Faces
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
 
Documento Web2Py
Documento Web2PyDocumento Web2Py
Documento Web2Py
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
 
Liferay
LiferayLiferay
Liferay
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 

Ähnlich wie Jc Web2.0 Java Ee5 Net Beans

Web20
Web20Web20
Web20UJAP
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007guestd24c393
 
Google Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresarialesGoogle Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresarialesTecsisa
 
HTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo WebHTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo WebPlain Concepts
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptBYRONMIGUELSUBUYUCPA
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7Carlos Camacho
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7Eudris Cabrera
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
Jdeveloper 11g
Jdeveloper 11gJdeveloper 11g
Jdeveloper 11gJulio Pari
 

Ähnlich wie Jc Web2.0 Java Ee5 Net Beans (20)

Web20
Web20Web20
Web20
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 
Google Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresarialesGoogle Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresariales
 
HTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo WebHTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo Web
 
Ajax
AjaxAjax
Ajax
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
Asp.net 4
Asp.net 4Asp.net 4
Asp.net 4
 
Comenzando con GWT
Comenzando con GWTComenzando con GWT
Comenzando con GWT
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
JEE y Tomcat
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 
Jdeveloper 11g
Jdeveloper 11gJdeveloper 11g
Jdeveloper 11g
 
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 

Kürzlich hochgeladen

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Kürzlich hochgeladen (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Jc Web2.0 Java Ee5 Net Beans

  • 1. NetBeans: Desarrollando Web 2.0 con JAVA EE 5 Jaime Cid Arquitecto de Soluciones WEB Sun Microsystems http://blogs.sun.com/jaimecid
  • 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
  • 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. La era de la participación Todos contribuyendo en la Web
  • 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. Web 2.0 Meme Map http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
  • 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. 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. 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. AJAX
  • 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
  • 18. Anatomía de una interacción AJAX
  • 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. 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. 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. 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. 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. AJAX con Java EE (antes J2EE)
  • 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. 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. 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. JSR-299 WebBeans • Jboss (SEAM) • Oracle (ADF) • Apache (Struts Shale) • Sun (Java EE 5, NetBeans) • Google • Sybase
  • 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. BluePrints AJAX Componets in Sun JAVA Studio Creator 2.1
  • 47. Jaime Cid Arquitecto de Soluciones WEB Sun Microsystems http://blogs.sun.com/jaimecid