Informe java servlets

13
Informe de Proyecto Segundo Parcial Jefferson Curay, Rómulo Garcés, Cristhian Pachacama Departamento de Eléctrica - Electrónica Universidad de las Fuerzas Armadas – ESPE Sangolquí, Ecuador [email protected] [email protected] [email protected] I. OBJETIVOS A. Objetivo General Implementar y codificar una aplicación con protocolo UDP, que realice una comunicación serial Multiservidor y la ayuda de aplicaciones web en servidor (Servlets). B. Objetivos Específicos -Diseñar una página web por medio de lenguaje HTML, para acceso de los usuarios para la modificación de acciones en la comunicación multiservidor. - Realizar la conexión con el uso del UDP, con la utilización de comunicación por puertos. -Utilizar módulos Servlets como servidor web, para extender sus capacidades de respuesta a los clientes utilizando las potencialidades que JAVA le ofrece. -Establecer las diferencias entre el protocolo UDP y TCP, para el análisis del proyecto propuesto. II. MATERIALES Y EQUIPOS Microcontrolador ATMEGA8 Integrado MAX232 Capacitores (4 de 1 [ uF ] ) Leds

description

El siguiente es un programa desarrollado en java, comunicación multiservidor con el fin de prender leds.

Transcript of Informe java servlets

Informe de Proyecto Segundo ParcialJefferson Curay, Rmulo Garcs, Cristhian PachacamaDepartamento de Elctrica - ElectrnicaUniversidad de las Fuerzas Armadas ESPE Sangolqu, [email protected] [email protected]@espe.edu.ec

I. OBJETIVOSA. Objetivo GeneralImplementar y codificar una aplicacin con protocolo UDP, que realice una comunicacin serial Multiservidor y la ayuda de aplicaciones web en servidor (Servlets).

B. Objetivos Especficos-Disear una pgina web por medio de lenguaje HTML, para acceso de los usuarios para la modificacin de acciones en la comunicacin multiservidor.- Realizar la conexin con el uso del UDP, con la utilizacin de comunicacin por puertos.-Utilizar mdulos Servlets como servidor web, para extender sus capacidades de respuesta a los clientes utilizando las potencialidades que JAVA le ofrece. -Establecer las diferencias entre el protocolo UDP y TCP, para el anlisis del proyecto propuesto.

II. MATERIALES Y EQUIPOS Microcontrolador ATMEGA8 Integrado MAX232 Capacitores (4 de ) Leds Resistencias (4 de ) PC para la comunicacin serial, y cable USB - serial Multmetro Digital Pgina en internet desarrollada en lenguaje HTML Cables de protoboardIII. INTRODUCCINA. Protocolo UDPFunciona en el nivel de transporte, basndose en el protocolo de red IP, este protocolo es necesario ya que IP proporciona comunicaciones no fiables y sin basarse en la conexin adems de depender de la saturacin de la red. UDP proporciona una serie de posibilidades que IP no contempla, entre la ms obvia es la utilizacin de puertos, que permiten diferenciar servicios en una misma direccin de red (IP). Puesto que en la cabecera de un paquete IP se incluye el protocolo utilizado, los servicios asociados a cada protocolo se diferencian entre s, y por lo tanto pueden utilizar el mismo rango de puertos, es decir, el puerto 8200 de un servicio TCP no se confundir, por ejemplo, con el puerto 8200 de un servicio UDP.Cada mensaje UDP puede albergar hasta 508 bytes, por lo que este protocolo resulta especialmente adecuado para transmitir informacin que no ocupe mucho tamao; por otra parte, al no ser un protocolo fiable, las aplicaciones deben tolerar la perdida de datos, o bien hacerse cargo de las mismas. En JAVA, las comunicaciones UDP se realizan utilizando la abstraccin de socket. Los sockets nos permiten establecer y programar comunicaciones sin tener que conocer los niveles inferiores sobre los que se asientan. [1]Java proporciona dos clases de especial importancia en la implementacin de aplicaciones que hacen uso del protocolo UDP, una para realizar las comunicaciones y otra para albergar los datos y direccin de destino, ambas en el paquete java.net. Antes de entrar en los detalles de programacin, vamos a mostrar grficamente el esquema bsico de establecimiento de comunicaciones UDP. [2]

Ilustracin 1: Representacin grfica, protocolo UDP.

Utilizando programacin orientada a objetos resulta adecuado crear clases que nos proporcionen mtodos de utilidad general. En nuestro caso, vamos a crear dos mtodos que nos encapsulen una comunicacin UDP: establecimiento, envi o recepcin de Strings y cierre de la comunicacin.

Ilustracin 1: Representacion grafica de comunicacin en protocolo UDP.

Como dato interesante, usualmente puede resultar muy adecuado para soportar un servicio de chat, suponiendo una fiabilidad razonable en las lneas de comunicaciones. [3]

Ilustracin 1: Represerntacion grafica de un chat virtual en protocolo UDP.

B. Java ServletsLos Servlets de JAVA proporcionan un mecanismo para ejecutar programas en equipos servidores, en funcin de las peticiones que los clientes realicen haciendo uso de navegadores web.No permiten crear pginas web activas, en el sentido de que la respuesta que ofrecen puede variar en funcin de los datos que proporcione el cliente y la situacin de contexto existente.

Ilustracin 1: Representacin grfica, funcionalidad de Servlet.

No permiten crear pginas web activas, en el sentido de que la respuesta que ofrecen puede variar en funcin de los datos que proporcione el cliente y la situacin de contexto existente. Procedimiento de funcionamiento de los servlets:1. El cliente realiza una peticin http haciendo uso de un navegador. En esta peticin puede existir parmetros con sus valores.2. La peticin y sus datos asociados, que le llegan al equipo servidor a travs de la red, los recoge el programa servidor de web utilizado.3. El servidor web detecta que hay que ejecutar un servlet y delega esta accin en el programa contenedor de servlets, que se encargara de llevar a cabo. Puede darse la circunstancia de que el contenedor de servlets tambin haga la funcin de servidor web.4. Una vez ejecutado el servlet, se traspasan los resultados (en forma de pgina web) al servidor web.5. El servidor web enva la pgina web de resultados a travs del ordenador servidor.6. La pgina web de respuesta le llega al cliente, que la visualizara haciendo uso del navegador utilizado.

C. Lenguaje HTMLSon ficheros de texto plano (conocidos como ASCII) que pueden ser editados con cualquier editor de texto, que se basa en la sintaxis SGML (Standard Generalized Markup Language). Esto quiere decir que los diferentes elementos de un documento para la www se sealan intercalando etiquetas que indican al navegador como debe mostrarlo.Una etiqueta HTML consiste en un signo menor . Para cualquier etiqueta que indica el inicio de un elemento hay otra de cierre que indica que esa directiva ya no debe actuar sobre el texto que sigue.HTML no es sensible a maysculas y minsculas, con algunas excepciones. Aunque es recomendable escribir los nombres de las etiquetas en minsculas ya que las nuevas generaciones del HTML estn basadas en SGML que requiere de documentos bien formados. As que si nuestra intencin es continuar trabajando con este tipo de documentos en el futuro, nos puede venir bien seguir el modo de escribir de los documentos bien formados: Nombres de etiquetas y atributos en minsculas. Etiquetas de cierre para elementos no vacos. Los valores de los atributos deben estar incluidos entre comillas dobles.Como dato importante debemos tomar en cuenta la estructura general de un documento HTML, definido con la siguiente composicin: Titulo de la pgina web

Contenido del cuerpo de la pgina

En la primera lnea encontramos la etiqueta , esta le indica al cliente que comienza el documento. Posteriormente viene , la cabecera, donde se pone informacin sobre el documento, que no se ve en la pantalla del navegador. Aqu puede ir el titulo del documento, es lo que veremos cmo ttulo de la ventana en los navegadores que lo permitan y como se reconocer nuestra pgina en algunos buscadores y en la lista de favoritos de los usuarios.Tras cabecera viene , el cuerpo, que es donde se coloca la informacin que queremos mostrar en la pantalla del navegador.

D. Contenedor TomcatEs un contenedor web con soporte de servlets y JSPs (JavaServer Pages), el cual puede funcionar como servidor web por s mismo, pero no es un servidor de aplicaciones. Dado que Tomcat fue escrito en JAVA, funciona en cualquier sistema operativo que disponga de la mquina virtual JAVA.Sus directoritos estn formados por: bin: Contiene los scripts de arrancar/parar. conf: Fichero de configuracin principal de tomcat, y web.xml que configura los valores por defecto para las distintas aplicaciones desplegadas en Tomcat. doc: Convierte varia documentacin sobre Tomcat. lib: Contiene varios ficheros jar que son utilizados por Tomcat. Sobre UNIX, cualquier fichero de este directorio se aade al classpath de Tomcat. logs: Aqu es donde Tomcat sita los ficheros diarios. src: Estos son los interfaces vacos y las clases abstractas que debera implementar cualquier contenedor de servlets. webapps: Contiene aplicaciones Web de ejemplo. work: Generado automticamente por Tomcat, este es el sitio donde Tomcat sita los ficheros intermedios durante su trabajo. Si borramos este directorio mientras se est ejecutando Tomcat no podremos ejecutar paginas JSP. classes: Podemos crear este directorio para aadir clases adicionales al classpath. ANEXO FINAL: La informacin antes mostrada contienen los elementos necesarios y bsicos para la realizacin del proyecto propuesto, tomando en cuentas las especificaciones del mismo.

IV. IMPLEMENTACINUna vez realizada la parte de programacin, avanzaremos con la implementacin del circuito necesario, detallando los diferentes elementos y pines que se necesitan para la implementacin, se recomienda que a medida que se realiza el desarrollo del software, se realice la implementacin del circuito para comprobar el correcto funcionamiento. Recuerde que el uso de un microcontrolador como Atmega8 necesita ser grabado antes de uso, adems del MAX232 para la comunicacin serial del protoboard con el computador.

Ilustracin 1: Implementacin del circuito del proyecto.

Ilustracin 1: Simulacin en proteus del circuito de proyecto.

V. FUNCIONALIDAD Para la funcionabilidad del proyecto se deber realizar la conexin antes especificada, con la lista de materiales enunciada. Una vez realizada la conexin, para comprobar la funcionalidad del proyecto, el usuario tendr acceso a un diseo de pgina web, escrito en lenguaje HTML, donde, el usuario realizara cualquier cambio que desee con la funcionalidad de los leds, cabe sobresaltar que al ser realizado con protocolo UDP, solo se podr enviar informacin o datos al programa, es decir no se realizara comunicacin bidireccional. Como ltima observacin, el servidor debe brindar servicio a varios clientes, es decir, que varios usuarios puedan controlar el circuito electrnico de las secuencias de leds, la conexin se realizara mediante el cable conversor RS232.

VI. GUA DE USOEl usuario utilizara la pagina html disenada para el control de leds por protocolo UDP, el cual contara con los siguientes detalles.1.- Caratula: En esta seccion se podran observar: el Escudo de la Universidad, nombre de la materia, tarea realizada e integrantes del grupo, definiendo asi los datos personales e institucionales mas importantes para un membrete.

A continuacin se observa un apendice de anexos los cuales nos ayudaran a obtener informacion acerca del proyecto de ser requerido por el usuario, esto quiere decir que si el usuario no lo desea no requerie abrir esta informacion.

VIII. RECOMENDACIONES Se recomienda realizar la simulacin en proteus ya que este programa de simulacin, nos ayuda a crear un sistema virtual con el cual podemos comprobar el algoritmo realizado sin necesidad de la implementacin, ya que en ocasiones los fallos se producen por parte de los componentes del circuito difcil de ser detectado de forma fsica, ya sean estos fallos por parte del microcontrolador o por componentes como resistencias, leds, capacitores o pulsadores. Usar fuentes exactas de 5v debido a que el atmega8 trabaja con valores exactos, en nuestro caso usamos un regulador 7805 que nos entrega un voltaje de 5 v exactos. Tener una simulacin en Proteus para verificar el funcionamiento total del proyecto.IX. CONCLUSIONES El desarrollo del proyecto nos ayudara a comprender de mejor manera la comunicacin de un computador con elementos electrnicos externos, otorgando un punto de partida para cumplir futuros proyectos e implementaciones, logrando as proyectos de mayor funcionalidad e interfaz con el usuario. Los hilos son de mucha ayuda debido a que en secuencias infinitas si se las dejara tal y como estn se quedara bloqueado en cambio al usar hilos puedes detener ese bucle infinito en el tiempo que quieras Se comprob que se puede realizar una comunicacin serial entre componentes electrnicos y el computador por medio del ATMEGA 8. Se hizo referencia de los programas desarrollados en la aula de clase, necesarios para la comunicacin serie por JAVA. Realizar la conexin con el uso del UDP, con la utilizacin de comunicacin por puertos que la conexin IP no contempla. LosServletsson mdulos escritos en Java que se utilizan en un servidor, que puede ser o no ser servidor web, para extender sus capacidades de respuesta a los clientes al utilizar las potencialidades de Java.

X. BIBLIOGRAFA[1] https://attachment.fbsbx.com/file_download.php?id=678611088936282&eid=ASvNj_G6K5ESMNkHgsk3idWlidTpIzfpw1aETLfAbwOBgdZTK5AxrLTAPxG_hZxeKj8&inline=1&ext=1436504437&hash=ASt7oa9VsoOojkkg

[A] (2011) The Youtube website. [Online]. Avalible: https://www.youtube.com/watch?v=YhWh1k-P5nM

[B] (2012) The Upscodigojava website. [Online]. Available: https://upscodigojava.wordpress.com/category/programacion-2/puerto-serial/puerto-serial-libreria-rxtx/

[C] (2014) TheSities website. [Online]. Available: https://sites.google.com/site/articulosgiovynet/manejo-de-puertos-seriales-rs-232-con-java--para-windows

[D] (2013) The Upscodigojava website. [Online]. Available: https://upscodigojava.wordpress.com/category/programacion-2/puerto-serial/puerto-serial-libreria-rxtx/

[E] (2010) The Youtube website. [Online]. Available: https://www.youtube.com/watch?v=nYsWEQtSeKA

[2] http://es.ccm.net/contents/284-protocolo-udp[3] http://es.ccm.net/faq/1559-diferencias-entre-los-protocolos-tcp-y-udp[4] https://attachment.fbsbx.com/file_download.php?id=500766096737521&eid=ASvyzH2f7Mpxm-tXTILBr4_2w3P-ierFLBvUY_81kZu0_-M_y6_c1lm09DLkF8bczt8&inline=1&ext=1436504708&hash=ASvhDNDbQS2OLQRL