Jc Web2.0 Java Ee5 Net Beans
-
Upload
vicosw -
Category
Technology
-
view
4.666 -
download
3
description
Transcript of Jc Web2.0 Java Ee5 Net Beans
![Page 1: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/1.jpg)
NetBeans: Desarrollando Web 2.0 con JAVA EE 5Jaime CidArquitecto de Soluciones WEBSun Microsystemshttp://blogs.sun.com/jaimecid
![Page 2: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/2.jpg)
AGENDA
1 – Web 2.02 – Tecnologías Web 2.03 – AJAX4 – AJAX con Java EE (J2EE)5 – Java EE 56 – NetBeans
![Page 3: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/3.jpg)
Web 2.0
![Page 4: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/4.jpg)
¿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
![Page 5: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/5.jpg)
La era de la participación
Todos contribuyendo en la Web
![Page 6: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/6.jpg)
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 ("folksonomy")
• stickiness --> syndication (RSS)
• work in progress --> Beta
• plain HTML --> AJAX
![Page 7: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/7.jpg)
Web 2.0 Meme Map
http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
![Page 8: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/8.jpg)
Mashups: Housingmaps.com
![Page 9: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/9.jpg)
TecnologíasWeb 2.0
![Page 10: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/10.jpg)
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)
![Page 11: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/11.jpg)
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)
![Page 12: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/12.jpg)
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
![Page 13: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/13.jpg)
AJAX
![Page 14: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/14.jpg)
Google Suggesthttp://www.google.com/webhp?complete=1
![Page 15: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/15.jpg)
¿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
![Page 16: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/16.jpg)
Modelo Clásico vs. AJAX
![Page 17: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/17.jpg)
Arquitectura Web basada en AJAX
![Page 18: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/18.jpg)
Anatomía de una interacción AJAX
![Page 19: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/19.jpg)
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
![Page 20: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/20.jpg)
• 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”
Casos de usos de AJAX
![Page 21: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/21.jpg)
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)
![Page 22: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/22.jpg)
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
![Page 23: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/23.jpg)
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/
![Page 24: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/24.jpg)
AJAX conJava EE
(antes J2EE)
![Page 25: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/25.jpg)
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/
![Page 26: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/26.jpg)
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)
![Page 27: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/27.jpg)
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/
![Page 28: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/28.jpg)
JSR-299 WebBeans• Jboss (SEAM)• Oracle (ADF)• Apache (Struts Shale)• Sun (Java EE 5, NetBeans)• Google• Sybase
![Page 29: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/29.jpg)
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
![Page 30: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/30.jpg)
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
![Page 31: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/31.jpg)
AutoComplete (ejemplo)
![Page 32: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/32.jpg)
JAVA EE 5
![Page 33: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/33.jpg)
May 1998 Dec 1999 Sept 2001 Nov 2003 May 20060
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5
Evolución de la plataformaJava EE
Proyecto
JPE
J2EE 1.2Servlet, JSP, EJB, JMS, JTA, JNDI, RMI/IIOP
J2EE 1.3EJB 2.0, Connector Architecture
J2EE 1.4Web Services, Management, Deployment, Async. Connector
Java EE 5AnotacionesEJB 3.0,JPA, API de PersistenciaJSF, JSTLAJAXWeb Services 2.0
Robustez
Web Services
Facilidad de desarrollo
& SOA
PlataformaJAVA
Empresarial
![Page 34: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/34.jpg)
GlassFish & JAVA EE 5 RIDetalles 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)
![Page 35: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/35.jpg)
Soporte de Lenguajes de ScriptLa 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
![Page 36: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/36.jpg)
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
![Page 37: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/37.jpg)
Web Tier: JSP/Servlet/Grizzly
HTTPRequests
Servlet/JSPContainer
Grizzly
APR
Coyote
Grizzly
• Grizzly> Java-based> NewIO> @GlassFish
• APR> C-based
• Coyote> Java-based> Traditional
connector
Connectors Container
![Page 38: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/38.jpg)
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...
![Page 39: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/39.jpg)
Top Link Essentials• Oracle Contribution• Very Active Community
> Oracle, Sun, TmaxSoft, independents> Mail: [email protected]
• Pluggable> In GlassFish> Tomcat, Geronimo, Jboss> Java SE
• Roadmap Forthcoming
![Page 40: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/40.jpg)
Comunidad JAVA EE 5
ProjectGlassFish
Sun Java System AS 9.x
Derby
Open ESB
Portal Server
MQ
Distributions
Maven Rep
Java EE RI & SDK
Communities
NetBeans™
IDE
NetBeans Enterprise Pack 5.5Tools
Eclipse Plugin
Users and Other Groups
TmaxSoft JEUS 6
Oracle Top Link
![Page 41: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/41.jpg)
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
![Page 42: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/42.jpg)
Aplicaciones y Frameworkscompatibles con JAVA EE 5
JSPwiki
MyFaces ADF
Integration ORB
Wicket
BIRT
AJAXShale
Apache Httpd
Dalma
Facelets
OSCache
SiteMesh
StringBeans Portal
Tapestry
Equinox
jBPM
WebDAV
Project Tango
Java WSDP
OSWorkFlow
CJUG-Classifieds
BlogTrader WebSphere MQ
MC4J
DOJOOpen ESB
OpenSSO
![Page 43: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/43.jpg)
NetBeans
![Page 44: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/44.jpg)
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
![Page 45: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/45.jpg)
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
![Page 46: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/46.jpg)
BluePrints AJAX Componets inSun JAVA Studio Creator 2.1
![Page 47: Jc Web2.0 Java Ee5 Net Beans](https://reader033.fdocumento.com/reader033/viewer/2022052321/5563a77ed8b42aae0d8b503b/html5/thumbnails/47.jpg)
Jaime CidArquitecto de Soluciones WEBSun Microsystemshttp://blogs.sun.com/jaimecid