Download Creación de aplicaciones Web utilizando Java Server Faces y
Document related concepts
no text concepts found
Transcript
Creación de Aplicaciones Web utilizando Java Server Faces y Netbeans con Visual Web Pack Alejandro Pieschacón Rueda Resumen Abstract En el diseño y construcción de aplicaciones Web, es cada día más común el desarrollo de nuevas tecnologías que permitan una manera fácil y versátil para los diseñadores de este tipo de aplicaciones. In the design and construction of web applications it has become more frequent the development of new technologies that enable faster and more versatile design of web applications. Este artículo ofrece una breve descripción de la tecnología implementada en Java Server Faces, además de la implementación de una sencilla aplicación Web utilizando esta tecnología. This article offers a brief description of the technology applied in Java Server faces, plus the overview of the implementation of the web application using the Java technology. Palabras Clave: Java Server Faces, Netbeans, Visual Web Pack, Aplicaciones Web. Keywords: Java Server Faces, Netbeans, Visual Web Pack, Web Applications. 42 Universidad El Bosque - Facultad de Ingeniería de Sistemas accesses page INTRODUCCIÓN El desarrollo de aplicaciones Web es cada día más común en nuestra sociedad, por lo que la utilización de tecnologías que permitan el desarrollo de este tipo de aplicaciones en un menor tiempo posible, de mejor calidad y eficiencia es cada día más necesario. Este artículo pretende ofrecer un breve vistazo a la tecnología Java Server Faces, implementada mediante la herramienta de desarrollo de aplicaciones Netbeans con el paquete Visual Web Pack, mediante la descripción detallada de la implementación de una aplicación sencilla que integre alguno de los componentes mas comunes de Java Server Faces y adicionalmente el paquete para manejo de correos electrónicos JavaMail. Java Server Faces El API de Java Server Faces, ofrece un marco de trabajo estándar, para la construcción de aplicaciones Web. Esta tecnología provee al usuario con una serie de interfaces de usuario (UI) prediseñadas y un modelo de eventos para la comunicación entre las interfaces de usuario y los objetos que van debajo de la aplicación. [1] Java Server Faces fue diseñado para ser una herramienta amigable, para que las herramientas de desarrollo de software soporten el método de generación de interfaces de usuario a través de arrastre y pegado (Drag and Drop), además de permitirle a grupos de terceros, desarrollar inter faces de usuario adicionales que cualquier desarrollador de Java Server Faces pueda utilizar. Los principales componentes del API de Java Server Faces son: • Un API y una implementación de referencia para: representar componentes UI, manejo de eventos, validación del lado del servidor y conversión de datos; definir la navegación ent re páginas, sopor t ar internacionalización y accesibilidad. • Una librería de etiquetas Java Server Pages (JSP) personalizadas para dibujar componentes UI dentro de una pagina JSP. [2] Estructura de una aplicación Java Server Faces Las aplicaciones con Java Server Faces, son aplicaciones Web construidas sobre el marco de trabajo de Java Servlet, por lo que siguen el mismo esquema empaquetado general de cualquier otra paliación J2EE. Como se aprecia en la siguiente figura la interfase de usuario creado con tecnología Java Server Faces (representado por myUI) se ejecuta en el servidor y se renderiza en el lado del cliente. Browser HTTP Request JavaServer myform.jsp renders HTML myUI HTTP Response Figura. Esquema Java Server Faces Tomado de: http://www.programacion.com/java/tutorial/jsf_intro/1/ Managed Beans Es un objeto JavaBean que es instanciado por la aplicación Web con Java Server Faces y almacena ya sea un session scope, application scope o request scope, lo cuales cumplen con las siguientes características [3]: • SessionBean: Este session scope inicia cuando el usuario accede por primera vez a una página de la aplicación Web y termina cuando la sesión del usuario termina por tiempo de inactividad o cuando la aplicación invalida dicha sesión. • ApplicationBean: Este application scope inicia cuando se inicializa la paliación y dura hasta que el servidor la detiene. Toda la información almacenada en este bean, esta disponible para toda sesión y solicitud que utilice el mismo mapa de paliación. • RequestBean: Este request scope inicia cuando el usuario envía una solicitud a través de una página y termina cuando la respuesta esta completamente entregada, cualquiera que sea la página. En Java Server Faces, los manager beans contienen métodos de hacino, los cuales son invocados por el marco de trabajo del Java Server Faces, en respuesta a la acción de un usuario o un evento que contenga el código que realmente manipula el comportamiento del modelo de información detrás de la aplicación. JavaMail Es un conjunto abstracto de APIs que modelan un sistema de correo, que permite leer, componer y enviar mensajes electrónicos. Está diseñado para proporcionar acceso independiente del protocolo para enviar y recibir mensajes dividiéndose en dos partes: • Cómo enviar y recibir mensajes independientemente del proveedor y/o protocolo. Revista de Tecnología - Journal of Technology • Volumen 6, No. 2, Julio - Diciembre 2007 • La segunda parte habla de lenguajes específicos del protocolo como SMTP, POP, IMAP, y NNTP [4]. Netbeans con Visual Web Pack Netbeans es un ambiente integrado de desarrollo para Java y J2EE, permite crear aplicaciones de consola y Applets a través de programación icónica basada en formularios, tiene soporte en tiempo real para depurar errores, permite integrar los contenedores Web y Motores de Bases de Datos para el desarrollo de aplicaciones Web. Es una herramienta versátil que ayuda a mejorar el desarrollo y se puede tener una orientación de usabilidad desde el punto de vista del cliente al permitirle visualizar formularios y demás interfaces del proyecto que se este desarrollando. [5] Visual Web Pack, es un paquete adicional de Netbeans, que permite la integración de componentes Java Server Faces, para el desarrollo de aplicaciones Web. Es una herramienta amigable, que utiliza la tecnología Drag and Drop que facilita y reduce el tiempo de programación en un tiempo considerable, ofreciendo opciones confiables en cuando a diseño e implementación de aplicaciones. Incluye una librería comprensible de componentes Java Server Faces como Tablas, Calendarios, Árboles, Tab Set, Carga de Archivos y muchos otros. [6] Diseño de la aplicación La aplicación Web que se desarrollara en este artículo pretende generar un mayor entendimiento a las tecnologías mencionadas al inicio del ar tículo y corresponde a la implementación de una minina parte de lo que la tecnología Java Server Faces tiene para ofrecer. Manejo y configuración del Software Por ser una aplicación Web realizada con Java Server Faces, para su diseño, desarrollo e implementación, se requieren de las siguientes herramientas y tecnologías de Software: • JDK 1.6 o superior, el cual permite la implementación de cualquier tipo de aplicación en lenguaje Java, este recurso se encuentra disponible en http://java.sun.com/javase/downloads/index.jsp, así como las instrucciones para correspondiente instalación, las cuales no hacen parte de este artículo. • Java Sever Faces Components / Java EE Platform, las cuales se encuentran incluidas en los paquetes 1.2 con Java EE 5 y 1.1 con J2EE 1.4, estos paquetes así como las instrucciones de instalación se encuentran disponibles en: http://java.sun.com/javaee/javaserverfaces/download.ht ml. • Apache Tomcat1 5.5 o superior, el cual brinda las funcionalidades de un servidor de aplicaciones Web. Este servidor se encuentra disponible en: http://tomcat.apache.org/, así mismo se encuentra la documentación necesaria para su instalación e implementación. • JavaMail Api 1.4 o superior, este paquete se encuentra disponible en: http://java.sun.com/products/javamail/downloads/index. html. • Netbeans 5.5 o superior, con el paquete adicional Visual Web Pack, el cual se encuentra disponible así como las instrucciones para su instalación en: Http://www.netbeans.org/products/. La aplicación como tal es una simple encuesta, en la que se implementaran algunos de los componentes mas comunes en el desarrollo de aplicaciones Web y que están presentes en el paquete de Visual Web Pack de Netbeans como son: RadioButtons, CheckBox, DropDown List, TextField, L abels y But tons, adicionalmente se implementara el uso de JavaMail y los Managed Beans mencionados con anterioridad en este articulo. Construcción de la aplicación La librería JavaMail se utilizara para el envío de las respuestas seleccionadas en la encuesta, al correo electrónico digitado por el usuario. En cuanto a los Scopes, la aplicación creada utilizara un objeto en el application scope para contar los personas que han realizado la encuesta, un objeto en el session scope, para asegurarse que la persona realice la encuesta una vez por sesión y un objeto en el request scope para almacenar el correo electrónico al que se enviara el mail con las respuestas seleccionadas. Creación del proyecto nuevo: Una vez se tienen instaladas todas las herramientas de software necesarias para la implementación de una aplicación Web, utilizando Java Server Faces y Netbeans con Visual Web Pack, es posible iniciar la construcción de una aplicación Web sin problemas, para esto se deben seguir los siguientes pasos: 1. Inicie el IDE 2 de Netbeans usando la opción adecuada desde la siguiente lista: 1 Para la implementación de la aplicación descrita en este articulo, se utilizara el Bundled Tomcat 5.5.17, que viene incluido en el paquete Enterprise de Netbeans, disponible en: http://www.netbeans.org/products/enterprise/. 2 IDE, siglas en inglés de Integrated Development Environment o Entornos Integrados de Desarrollo. 43 44 Universidad El Bosque - Facultad de Ingeniería de Sistemas - Windows. Doble-click al icono de NetBeans ubicado en el escritorio. nodo de la página y selecciones Set as Start Page desde el menú emergente. - Mac. Doble-click al icono de NetBeans ubicado dentro de la carpeta de instalación. Creación de las páginas Web. - Sistema Operativo Solaris (SPARC y x86 Platform Editions) y Linux. Navega a el directorio bin de tu instalación de NetBeans, digite ./netbeans y presione Enter. 2. Cree un proyecto nuevo escogiendo File > New Project desde el menú principal. En el panel de categorías, selecciona Web, y en el panel de proyectos, selecciona Visual Web Application. 3. Click en Next. 4. Escoja un servidor y una versión de Java EE. 5. Nombre el proyecto como desee y haga click en finalizar. El IDE crea el directorio del proyecto dentro de tu directorio personal por defecto. 6. En la ventana Projects aparecerá el nombre de la aplicación que acaba de crear, para examinar el proyecto simplemente basta con desplegar los nodos que aparecen dentro de cada proyecto, como se muestra en la siguiente figura. Las aplicaciones Web utilizan paginas JSP y pages beans, en lugar de paginas HTML, ya que las paginas JSP, permiten que el servidor genere respuestas HTML para que sean desplegadas en el navegador del cliente. La page bean, contiene la lógica que el servidor ejecuta cuando genera una respuesta HTML, asi mismo contiene la lógica que el servidor ejecuta cuando el cliente ha enviado una página. Para la aplicación de este articulo se utilizaran dos paginas Web, la primera se llama Encuesta.jsp y será la pagina de inicio que contenga las preguntas de la encuesta de la aplicación y la segunda se llama, Confirmacion.jsp, la cual se encargara de desplegar el mensaje de confirmación de que las respuestas de la encuesta ha sido enviada con éxito al correo seleccionado. Como aparece en la sección anterior, en el momento en que se crea el nuevo proyecto, Page1.jsp aparece como la pagina de inicio por defecto, para la aplicación de este articulo, se renombrara esta pagina por Encuesta.jsp y adicionalmente se creara una segunda pagina Confirmacion.jsp así: 1. Haga click derecho en el nodo Page1.jsp y seleccione la opción Rename del menú desplegable. Digite el nuevo nombre del archivo y haga click en Continuar. 2. Para crear la segunda pagina haga click derecho sobre el nodo Web Pages, seleccione New > New Page del menú desplegable. Digite el nombre de la pagina y haga click en finalizar. Ahora hay que insertar los siguientes componentes que compondrán la encuesta: Figura 1. Ventana Projects 7. Bajo el nodo Web Pages esta el nodo Page1.jsp. El IDE crea esta página por defecto y la hace la página de inicio. La marca de flecha cerca a el nodo identifica a la página como la página de inicio. Si desea utilizar una página diferente como página de inicio, haga click derecho en el • Label: los cuales contendrán las etiquetas con el titulo de la encuesta y las preguntas que hay en ella. • Static Text: desplegara el correo al que se enviaron las respuestas de la encuesta en la página de confirmación. • RadioButton Group, CheckBox Group, DropDown List y TextField: corresponden a las respuestas de las preguntas de la encuesta. • Button: se encargara de enviar las respuestas al usuario que realiza la encuesta al correo electrónico seleccionado y volver a la página de inicio desde la página de confirmación. El resultado que se espera obtener es el que se aprecia en la siguiente figura Revista de Tecnología - Journal of Technology • Volumen 6, No. 2, Julio - Diciembre 2007 Figura 2. Diseño de la Encuesta :Para agregar los componentes mencionados como aparecen en la figura anterior, siga los siguientes pasos: 1. Haga doble clik sobre el nodo Encuesta.jsp, para abrir la página en el editor visual el cual esta en el área de edición, como aparece en la siguiente figura: Figura 4. Paleta de Componentes 4. Repita el paso 3, ahora colocando los labels uno debajo del otro dejando un espacio entre cada uno de ellos para colocar los componentes correspondientes a las respuestas para completar las preguntas de la encuesta con las siguientes frases en el siguiente orden: • ¿Le pareció interesante el Articulo? • Seleccione sobre los cuales le gustaría recibir mas información. • Seleccione en la escala de 1 a 10 de la siguiente lista, la opinión que tiene sobre el artículo, siendo diez la más alta y uno la más baja. Figura 3. Diseñador Visual 2. Para inser tar los componentes mencionados, seleccione cada uno de ellos de la paleta de componentes (figura 3) y arrástrelo sobre la página ubicada en el área de edición. 3. Seleccione el componente de tipo Label y arrástrelo al centro de la página de diseño. Digite la frase “Encuesta Articulo”, haga click sobre otra sección de la página para confirmar la frase que acaba de digitar. Si desea modificar el contenido, haga doble click sobre el Label Label. • Digite la cuenta de correo electrónico donde desea recibir sus respuestas a la encuesta. 5. Seleccione el componente RadioButton Group de la paleta y arrástrelo debajo de la primera pregunta de la encuesta. Haga click derecho sobre el componente y seleccione la opción Configure Default Options del menú emergente. Modifique los campos Display y Value de la tabla, coloque los valores “Si” y “No” para ambos campos en una fila distinta cada uno, haciendo doble click sobre cada uno de los campos que desea modificar. Para eliminar o adicionar una fila en la tabla, haga click sobre los botones Delete y New respectivamente. 45 46 Universidad El Bosque - Facultad de Ingeniería de Sistemas 6. Seleccione el componente CheckBox Group de la paleta y arrástrelo debajo de la segunda pregunta. Siga los pasos de la opción Configure Default Options, pero ahora con los va lore s sig uient e s: “Java Ser ver Fac e s”, “Scopes”,“Netbeans conVisual Web Pack”y “Servlets y JSP”. 7. Seleccione el componente DropDown List de la paleta y arrástrelo debajo de la tercera pregunta. Siga los pasos de la opción Configure Default Options del paso 5 con los siguientes valores: “1”, ”2”, ”3”, ”4”, ”5”, ”6”, ”7”, ”8”, ”9” y”10”. 8. Seleccione el componente TextField de la paleta y arrástrelo debajo de la cuarta pregunta. 9. Seleccione el componente Button de la paleta y arrástrelo debajo del TextFiel que acaba de colocar. Modifique su texto a “Enviar”. 10. Presione las teclas ctrl.+ s para salvar los cambios realizados en la página. Para la página de confirmación: 1. Haga doble click sobre el nodo Confirmacion.jsp 2. Seleccione el componente Label de la paleta y modifique el texto a “Gracias por realizar la encuesta. Sus respuestas han sido enviadas a su cuenta de correo:”. 3. Seleccione el componente Static Text de la paleta y arrástrelo enfrente del componente Label que acaba de colocar. 4. seleccione el componente Button de la paleta y arrástrelo debajo del Static Text que acaba de colocar. Modifique el texto a “Volver”. 5. Presione las teclas ctrl.+ s para salvar los cambios realizados en la página. Configuración de los objetos en los scopes. Para complementar el funcionamiento de la aplicación, se deben agregar una serie de objetos que almacenaran los valores que componen la encuesta y que hacen parte de la aplicación. Cada uno de estos objetos serán agregados en los scopes según las siguientes características: 1. contador: almacenará el número de personas que han participado en la encuesta. Será adicionado en el application scope, por lo que se requiere que persista durante las sesiones de la aplicación. 2. aParticipado: un objeto de tipo Booleano, el cual verifica si el usuario ha participado o no en la encuesta durante su sesión, por eso será adicionado en el session scope. 3. correo: almacena el correo al que serán enviadas las respuestas de la encuesta. Por ser un valor que únicamente se requiere cada vez que el usuario participa en la encuesta, será adicionado en el request scope. Para adicionar los objetos anteriores a sus respectivos scopes, se deben seguir los siguientes pasos: 1. En la ventada Outline ubicada debajo de la ventana P roje c t s, haga click dere cho s obre el no do ApplicationBean1, seleccione la opcion Add > Property. Digite el nombre contador, seleccione el tipo y haga click en el botón Ok. Haga doble click en el nodo ApplicationBean1 para abrir el código fuente, busque el objeto contador que acaba de crear y asígnele el valor igual a cero (0). Presione ctrl.+s, para guardar los cambios y ctrl.+f4 para cerrar la ventana. 2. Repita el paso anterior para el nodo SessionBean1, adicione la propiedad aParticipado, seleccione el tipo boolean. Haga doble click en el nodo SessionBean1 para abrir el código fuente, busque el objeto aParticipado que acaba de crear y asígnele el valor igual a false false. Presione ctrl.+s, para guardar los cambios y ctrl.+f4 para cerrar la ventana. 3. Al igual que en el paso anterior, en el RequestBean1, adicione la propiedad correo, de tipo String. Configuración de la acción del botón Enviar. Una vez se tienen hechas las páginas y configurados los objetos en los scopes, se puede configurar las acciones que se realizaran cuando se realice un click sobre el botón Enviar que se coloco en la página de la encuesta. Para esto siga los siguientes pasos: 1. Haga doble click sobre el nodo Encuesta.jsp. 2. Seleccione el botón Enviar y haga doble click sobre el mismo. Una ventana con el código fuente de la página aparecerá en el área de edición. Dentro de esta se creará automáticamente el método button1_action(). 3. Dentro del método anterior copie y pegue el siguiente código. //Método para aumentar el objeto contador getApplicationBean1().setContador(getApplicationBean 1().getContador()+1); //Método para cambiar el estado del objeto aParticipado getSessionBean1().setAParticipado(true); //Metodo para asignarle el valor al objeto correo getRequestBean1().setCorreo(textField1.getText().toStrin g()); Revista de Tecnología - Journal of Technology • Volumen 6, No. 2, Julio - Diciembre 2007 //Metodo para obtener las respuestas seleccionadas de la pregunta 2 de la encuesta String[] seleccion = new String[checkboxGroup1.getSelected().toString().length() ]; seleccion = (String[])checkboxGroup1.getSelected(); String respuesta = new String(""); for(int i=0; i<seleccion.length;i++){ respuesta = respuesta+seleccion[i]+"\n"; } // Dirección de correo a la que se envían las respuestas de la encuesta. String to = (String)textField1.getText(); String subject = "Respuestas Encuesta"; // Asunto del correo. //Mensaje del correo. String message = new String("Las respuestas de su encuesta son:\n\n"+label2.getText().toString()+"\n\n"+ radioButtonGroup1.getSelected().toString()+"\n\n"+labe l3.getText().toString()+"\n\n"+ respuesta+"\n\n"+label5.getText().toString()+"\n\n"+dro pDown1.getSelected().toString )+"\N\n"+ "El numero de personas que han participado en la encuesta son: "+"\n\n"+getApplicationBean1().getContador()); //Direccion del servidor de correo SMTP. String mailhost = "smtp.correo"; // this code may not work //Nombre de usuario de la cuenta de correo de donde se envia el correo. String user = "encuestaarticulo@mail.com"; //Contraseña del usuario de la cuenta de correo. String password = "prueba"; boolean auth = true; boolean ssl = true; Properties props = System.getProperties(); if (mailhost != null){ props.put("mail.smtp.host", mailhost); props.put("mail.smtps.host", mailhost); } if (auth){ props.put("mail.smtp.auth", "true"); props.put("mail.smtps.auth", "true"); } // Get a Session object Javax.mail.Session session = Javax.mail.Session.getInstance(props); // construct the message javax.mail.Message msg = new MimeMessage(session); try { // Set message details Msg.setRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(to)); msg.setSubject(subject); msg.setSentDate(new Date()); msg.setText(message); // send the thing off SMTPTransport t = (SMTPTransport)session.getTransport(ssl ? "smtps" : "smtp"); try { if (auth) t.connect(mailhost, user, password); else t.connect(); t.sendMessage(msg, msg.getAllRecipients()); }finally { t.close(); } log("Mail was sent successfully."); }catch (Exception e) { if (e instanceof SendFailedException) { MessagingException sfe = (MessagingException)e; if (sfe instanceof SMTPSendFailedException) { SMTPSendFailedException ssfe = (SMTPSendFailedException)sfe; log("SMTP SEND FAILED:"); } Exception ne; while ((ne = sfe.getNextException()) != null && ne instanceof MessagingException) { sfe = (MessagingException)ne; if (sfe instanceof SMTPAddressFailedException) { SMTPAddressFailedException ssfe = (SMTPAddressFailedException)sfe; log("ADDRESS FAILED:"); log(ssfe.toString()); log(" Address: " + ssfe.getAddress()); log(" Command: " + ssfe.getCommand()); log(" RetCode: " + ssfe.getReturnCode()); log(" Response: " + ssfe.getMessage()); }else if (sfe instanceof SMTPAddressSucceededException) { log("ADDRESS SUCCEEDED:"); SMTPAddressSucceededException ssfe = (SMTPAddressSucceededException)sfe; } } }else { log("Got Exception: " + e); } } 47 48 Universidad El Bosque - Facultad de Ingeniería de Sistemas Nota: El servidor de correo, corresponde a la dirección electrónica del protocolo SMTP que permite el envió de correos electrónicos desde un servidor de correo determinado. Además el servidor de correo debe tener habilitado el puerto 465 para el protocolo SMTPS que permite la autenticación de un usuario y contraseña en una cuenta de correo. 4. Para que la aplicación pueda enviar los correos electrónicos, es necesar io adicionar la librer ía correspondiente al paquete de JavaMail, para esto siga las siguientes instrucciones: • En la ventana Proyects, haga click derecho sobre el nodo Libraries > Add JAR / Folder. • Busque el archivo mail.jar, seleccionelo y haga click abrir. 5. Adicione los siguientes imports al principio del código fuente de la página Encuesta.jsp import java.util.Date; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.ValidatorException; import javax.mail.*; import java.util.Properties; import javax.mail.internet.MimeMessage; import javax.mail.internet.InternetAddress; import javax.mail.internet.*; import javax.mail.Address; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.SendFailedException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.URLName; import javax.mail.event.TransportEvent; import com.sun.mail.smtp.SMTPTransport; import com.sun.mail.smtp.*; import com.sun.rave.web.ui.component.Message; import javax.faces.FacesException; 6. En el código fuente, busque el metodo prerender() y adicione el siguiente código: if(getSessionBean1().isAParticipado()) Button1.setDisabled(true); 7. Presione las teclas ctrl+s para salvar los cambios. Configuración de la pagina Confirmacion.jsp La página de confirmación despliega un mensaje de agradecimiento y confirmación del correo al que será enviado el correo electrónico con las respuestas de la encuesta, para completar este procedimiento siga los siguientes pasos: 1. Haga doble clik sobre el nodo Confirmacion.jsp, en la ventana Projects. 2. En el área de edición, haga click sobre el botón Java para abrir el código fuente de la página. 3. Busque el método prerender() y adicione el siguiente código: StaticText1.setText(getRequestBean1().getCorre o().toString()); 4. Presione las teclas ctrl+s para salvar los cambios. Configuración de la navegación de la aplicación. Para configurar la navegación de la aplicación de los botones siga los siguientes pasos (Figura 5): Figura 5. Página de Navegación 1. En la ventana Projects, haga doble click sobre el nodo Page Navigation. 2. Haga click sobre Encuesta.jsp para agrandar el icono. 3. Seleccione el puerto de conexión junto al button1 y arrástrelo hasta el icono de Confirmacion.jsp. 4. Haga doble click sobre el label del conector que acaba de crear para seleccionar el modo de edición. Escriba enviar y presione enter. 5. Haga click sobre Confirmacion.jsp para agrandar el icono. 6. Seleccione el puerto de conexión junto al button1 y arrástrelo hasta el icono de Encuesta.jsp. 7. Haga doble click sobre el label del conector que acaba de crear para seleccionar el modo de edición. Escriba volver y presione enter 8. Presione las teclas ctrl. + s para guardar los cambios. Ejecutar la aplicación. Una vez se ha completado todos los pasos anteriores, solo resta poner en marcha la aplicación, para esto simplemente haga click sobre el botón Run Main Project en la barra principal de tareas. CONCLUSIONES La utilización de Java Server Faces a la hora de desarrollar una aplicación Web, puede ser la mejor opción, debido a que permite desarrollar aplicaciones en un menor tiempo Revista de Tecnología - Journal of Technology • Volumen 6, No. 2, Julio - Diciembre 2007 que cualquier otra tecnología similar, además de disminuir la escritura de código y facilitar el diseño a los programadores. Sin embargo Java Server Faces, oculta mucha de la arquitectura de una aplicación Web lo que podría dificultar eventuales modificaciones a la misma, consecuencia de un requerimiento nuevo que la tecnología no maneje. Netbeans junto con el paquete Visual Web Pack, se convierte en una herramienta versátil y amigable que permite la fácil construcción de nuevas aplicaciones Web o de cualquier otro tipo que implemente tecnología Java, J2EE, Java Server Faces, y muchas otras. REFERENCIAS [1] Bergsten Hans, Java Server Faces, O'Reilly, 2004. [2] Java, “Introduction to Java Server Faces part 1”, disponible en ht t p://w w w.devshed.com/c/a/Java/Int roduc tion-toJavaServer-Faces-1/ (11/05/2007) [3] Netbeans, “Understanding Scopes and Managed Beans”, disponible en ht t p://w w w.netb eans.org/k b/55/v w p-scop es.ht ml (11/05/2007) [4] Java en Castellano. “API de JavaMail”, disponible en http://w w w.programacion.com/java/tutorial/javamail/ (11/05/2007) [5] Netbeans, IDE para Java y J2EE, disponible en http://www.netbeans.org (11/05/2007) [6] Netbeans, Introduction to the Netbeans Visual Web Pack, disponible en h t t p : / / w w w. n e t b e a n s.o r g / p r o d u c t s / v i s u a l w e b / (11/05/2007) Artículo de informe de resultado de proyecto de Informática. El Autor Alejandro Pieschacón Rueda Ingeniero de Sistemas de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. adroit3@yahoo.com 49