FACULTAD DE INFORMÁTICA DEPARTAMENTO DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES

Tamaño: px
Comenzar la demostración a partir de la página:

Download "FACULTAD DE INFORMÁTICA DEPARTAMENTO DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES"

Transcripción

1 FACULTAD DE INFORMÁTICA DEPARTAMENTO DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES PROYECTO DE FIN DE CARRERA DE INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Diseño e implementación de un sistema gestor de espeleosocorro para rescates en entornos subterráneos Autor: Dña. Sandra Vázquez Abrodos Tutor: D. Antonino Santos del Riego A Coruña, 15 de Septiembre de 2005

2 D. ANTONINO SANTOS DEL RIEGO, Profesor titular de la Universidade da Coruña. HACE CONSTAR QUE: La memoria titulada Diseño e implementación de un sistema gestor de espeleosocorro para rescates en entornos subterráneos ha sido realizada por Dña. SANDRA VÁZQUEZ ABRODOS, bajo mi dirección, en el Departamento de Tecnologías de la Información y las Comunicaciones de la Universidade da Coruña, constituyendo su proyecto clásico de ingeniería que presenta para optar al Grado de INGENIERO TÉCNICO en Informática de la UDC en la convocatoria de Septiembre del A Coruña, 15 de Septiembre de 2005 Fdo. Prof. D. Antonino Santos del Riego

3 Agradecimientos A mi familia, sin la que nada de esto habría sido posible. A Nino, por la atención y dedicación con la que ha dirigido el proyecto. A mi pareja, Javier, y a todos los seres humanos que hacen de su vida una entrega generosa al otro. A todos, gracias!

4 Resumen El presente proyecto se centra en el ámbito del espeleosocorro. Su objetivo es el diseño e implementación de un sistema gestor de espeleosocorro para rescates en entornos subterráneos. Dicho sistema gestor de rescates permitirá coordinar y documentar de un modo eficaz las distintas intervenciones que se puedan llevar a cabo en el campo del espeleosocorro. Para poder realizar todo esto, el sistema resultante permitirá gestionar una base de datos del dominio a través de una arquitectura cliente/servidor sobre los protocolos TCP/IP. Palabras Clave Java, Web, J2EE, Servlets, JSP, JavaBeans, HTML, XML, Tomcat, MVC, UML, MySQL, Hibernate - 4 -

5 Índice 1. Introducción Dominio de la aplicación Estado del Arte Tecnologías y herramientas seleccionadas La plataforma Java El lenguaje Java El entorno de desarrollo Java El compilador de Java La Java Virtual Machine Tecnología J2EE J2EE vs. NET Ventajas de J2EE Arquitectura J2EE multicapa Servlets Ventajas de los Servlets Arquitectura básica de los Servlets El ciclo de vida de un Servlet JavaServer Pages (JSP) JSPs vs. Servlets Arquitectura básica de las JSP JavaBeans Lenguaje de marcado de hipertexto (HTML) extensible Markup Language (XML) Apache/Tomcat Hibernate MySQL NetBeans IDE Modelo Vista Controlador (MVC) Modelos de diseño: Modelo 1, Modelo 2 y Modelo 2X Modelado UML - Lenguaje Unificado de Modelado Análisis de requisitos Actores del sistema Casos de uso Diseño del sistema Arquitectura general Diseño de la aplicación servidora Seguimiento de las sesiones Control de acceso a los recursos Lectura de datos del cliente Lógica funcional El Gestor de Flujo Procesamiento de peticiones en el servidor

6 Arquitectura de paquetes del sistema Diseño de la base de datos Interfaz gráfica Conclusiones y desarrollos futuros Bibliografía Enlaces electrónicos

7 Índice de ilustraciones Figura 1. Procesamiento de una petición Figura 2. Ciclo de vida de un servlet Figura 3. Páginas JSP Figura 4. Creación de una JSP Figura 5. Ciclo de vida de una JSP Figura 6. Fichero de mapeado para Hibernate Figura 7. Arquitectura del Modelo Figura 8. Arquitectura de Modelo Figura 9. Actores del sistema Figura 10. Casos de uso para todos los usuarios Figura 11. Casos de uso para el administrador Figura 12. Arquitectura del sistema Figura 13. Procesamiento de peticiones en el servidor Figura 14. Diagrama de paquetes Figura 15. Esquema E/R extendido Figura 16. Esquema relacional completo de la base de datos Figura 17. Pantalla de autenticación Figura 18. Pantalla de inicio del administrador Figura 19. Pantalla de inicio de los usuarios Figura 20. Creación de un usuario Figura 21. Listado del personal Figura 22. Creación de un nuevo material Figura 23. Listado de los materiales Figura 24. Creación de un equipo Figura 25. Listado de los equipos Figura 26. Listado de los roles Figura 27. Asociación de roles Figura 28. Listado de los nidos Figura 29. Listado de la bibliografía Figura 30. Creación de una intervención Figura 31. Listado de las intervenciones Figura 32. Asociación de bibliografía Figura 33. Asociación de personal Figura 34. Asociación de materiales Figura 35. Selección de una intervención para generar su informe Figura 36. Informe generado Figura 37. Cierre de una intervención

8 1. Introducción Los importantes avances tecnológicos que han tenido lugar en los últimos años y las mejoras en las comunicaciones globales han hecho de la sociedad de la información una realidad que nos brinda nuevas facilidades de comunicación y gestión. Dichas facilidades no deben ser ignoradas en aquellas actividades en las que una comunicación fluida y una coordinación precisa pueden salvar vidas humanas. Sin duda alguna el ámbito del espeleosocorro es uno de estos campos donde la coordinación y organización entre los equipos participantes es de vital importancia. Comunicaciones en tiempo real y una gestión distribuida de materiales reducirían los tiempos de actuación incrementando significativamente las posibilidades de rescatar con vida a los accidentados. En la actualidad los grupos de espeleosocorro se encuentran con importantes carencias a la hora de planificar un rescate. Destacando la inexistencia de un acceso a información actualizada y unos métodos de trabajo poco flexibles que retrasan considerablemente la organización de las operaciones. La utilización de un sistema gestor potente y flexible agilizaría los rescates y disminuiría la complejidad de planificar una operación, ya que haría innecesaria una recopilación de datos permitiendo llevar a cabo una correcta localización del personal y materiales disponibles. Además, la emisión automatizada e instantánea de informes es sin duda otra de las importantes ventajas del sistema. Para la realización de dicho sistema gestor se llevará a la práctica una solución basada en el Web que permita aprovechar las posibilidades ofertadas por una red global de bajo coste como es la red Internet. Dicha solución se desarrollará utilizando la arquitectura Java 2 Enterprise Edition (J2EE) y el denominado Modelo-Vista-Controlador (MVC)

9 Es por tanto objetivo de este proyecto realizar un sistema gestor con el cual se puedan coordinar y documentar las intervenciones de espeleosocorro de un modo eficiente, rápido y automatizado. El presente documento se encuentra organizado en nueve apartados. En el apartado actual, Introducción, se presenta brevemente la actividad del espeleosocorro explicando su situación social, limitaciones y carencias así como la necesidad de un sistema gestor que palie las necesidades existentes. El apartado dos, Dominio de la aplicación, describe el entorno de la aplicación. En el apartado tres, Estado del Arte, se exponen las soluciones que existen en la actualidad para el problema que tratamos de resolver. En el apartado cuatro, Tecnologías y Herramientas Seleccionadas, se describen las tecnologías y herramientas empleadas para el desarrollo del proyecto y se justifica su elección. El apartado cinco, Modelo Vista Controlador (MVC), se describe y justifica la arquitectura software MVC que se utilizará en la implementación del presente proyecto. En el apartado seis, Modelado, se proporciona un análisis de los requisitos en el cual se muestran los casos de uso que permiten apreciar la utilidad de la aplicación. Además, se detalla todo el diseño y la arquitectura del sistema describiendo los distintos componentes y la forma en que se interrelacionan. Al final del apartado se muestra el proyecto en funcionamiento mediante un paseo por la aplicación. El apartado siete, Conclusiones, expone las conclusiones alcanzadas tras la realización del proyecto y la evaluación del mismo

10 Finalmente, en los apartados ocho y nueve, Bibliografía y Enlaces electrónicos respectivamente, se muestra toda la bibliografía y los enlaces electrónicos utilizados durante la realización del presente proyecto

11 2. Dominio de la aplicación El fin de la espeleología es la exploración de las cuevas y el estudio de las mismas. Como actividad científica, atrae la atención de geólogos, biólogos, arqueólogos y muchos otros que ven en las cavidades subterráneas un entorno adecuado para la investigación pero, además, es una actividad considerada de alto riesgo que requiere de una cierta preparación técnica que permita maximizar los niveles de seguridad. Para garantizar los rescates en esta actividad existe una disciplina técnica que se conoce como espeleosocorro [FEDE98], la cual tiene como objetivo propiciar los métodos y medios necesarios para tal tipo de intervenciones. Una disciplina que puede reducir el número de rescates es el autosocorro, siendo de gran interés la formación del espeleólogo en dichas técnicas. El autosocorro comprende las acciones que realiza un espeleólogo o grupo de espeleólogos para resolver un problema que se presenta durante la exploración de una cueva. Es el nivel básico del espeleosocorro y debe ser dominado por todo el que practica la espeleología. Este nivel comprende conocimientos de primeros auxilios, soporte vital básico, maniobras de desbloqueo y desobstrucción, supervivencia en condiciones de campaña, etc. que preparan al espeleólogo para afrontar la situación y dar una respuesta inicial limitada. En cuanto al socorro espeleológico o espeleosocorro debemos decir que es una especialidad que requiere de una mayor preparación y de todo un sistema organizativo que va a garantizar una respuesta oportuna y eficiente en caso de producirse un accidente. Para la realización del espeleosocorro es necesaria la participación de un equipo de personas que se conocen como espeleosocorristas y que son los que se entrenan en técnicas especiales de tratamiento, traslado y evacuación de un accidentado, para lo cual se requiere de un gran equipamiento de salvamento y rescate propio de, y para la espeleología

12 Los espeleólogos españoles se agrupan en la Federación Española de Espeleología que engloba a 15 federaciones territoriales, entre ellas la gallega, que comprenden más de 250 grupos y unos federados. Estos grupos organizan cursos de varios niveles con la colaboración de las Escuelas de Espeleología que dependen de las Federaciones y mantienen equipos de rescate para casos de incidentes (retrasos, fatigas, pérdidas durante poco tiempo, lesiones leves, etc.) o accidentes (pérdida total, caídas con fracturas, pérdidas de conocimiento, etc.). Realizar rescates en un entorno subterráneo no es tarea fácil y el factor tiempo suele ser de vital importancia en muchos casos. De esto podemos concretar que es fundamental tener una buena base en cuanto a fundamentos de actuación, organización y planificación de un rescate

13 3. Estado del Arte Durante la fase de documentación del presente proyecto pudimos comprobar las líneas de desarrollo seguidas en los últimos años. En ellas se puede apreciar una intensa labor en la digitalización de los informes y de la documentación relativa a operaciones de rescate realizadas con anterioridad. Sin embargo, los métodos utilizados en la actualidad para dichas labores de digitalización carecen de un estándar, lo que a la hora de automatizar cualquier manipulación de la información supone dificultades que no pueden ser obviadas. Entre estas dificultades cabe destacar las siguientes: La inexistencia de una estructura, los datos habitualmente se encuentran almacenados sin usar ningún tipo de criterio formal. La escasa variedad de datos, sólo una pequeña parte de los datos de interés de un rescate llega a tratarse adecuadamente. Los sistemas de consulta son poco flexibles y proporcionan unas opciones de consulta muy limitadas. La realización de actualizaciones no es una tarea fácil, esto se debe principalmente a la ausencia de estructuras de datos. La disponibilidad de los datos es muy limitada, ya que la mayoría de los sistemas utilizados en la actualidad requieren disponer de una copia para su utilización. Creemos por tanto que el desarrollo de sistemas gestores y la innovación en los mismos no sólo cubren la necesidad de almacenar la información en un soporte digital flexible y

14 automatizado sino que también añaden nuevas posibilidades de distribución y gestión que facilitan y estandarizan la inclusión del nuevo material digitalizado

15 4. Tecnologías y herramientas seleccionadas A lo largo de esta sección se expondrán las tecnologías y herramientas más importantes que se han utilizado en el desarrollo de este proyecto. De cada una de ellas se expondrán sus características, ventajas y desventajas, explicando las razones que nos han llevado a elegir esas tecnologías, y no otras, para la realización del presente proyecto. 4.1 La plataforma Java Java es una plataforma, desarrollada al comienzo de los años 90 con el objetivo concreto de permitir ejecutar programas sin tener relativamente en cuenta el hardware final. Consiste en tres grandes bloques, el lenguaje Java, una máquina virtual y un programa de aplicación de interfaz o API (Application Programming Interfaz) El lenguaje Java A finales de 1995 se introdujo Java como lenguaje de programación para computadores. La clave fue la incorporación de un intérprete Java en la versión 2.0 del programa Netscape Navigator, produciendo una verdadera revolución en Internet. La compañía Sun describe el lenguaje Java [ALLE00] como simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinámico. Además de una serie de halagos por parte de Sun hacia su propia criatura, el hecho es que todo ello describe bastante bien el lenguaje Java. Para el desarrollo del presente proyecto se ha optado por el lenguaje de programación Java así como por diversas tecnologías asociadas al mismo. Esta decisión se ha tomado en base a las características anteriormente mencionadas del lenguaje Java y a que cuenta con una amplísima colección de APIs a nuestra disposición. Al programar en Java no se

16 parte de cero. Cualquier aplicación que se desarrolle cuelga (o se apoya, según como se quiera ver) de un gran número de clases preexistentes. Algunas de ellas las ha podido hacer el propio usuario y otras pueden ser comerciales, pero siempre hay un número muy importante de clases que forman parte del propio lenguaje. Otro de los motivos clave para declinarse por este lenguaje es la amplísima plataforma de desarrollo de aplicaciones que se encuentra detrás de Java. El equipo de desarrollo de Java agrupó las características de Java en tres ediciones [JAVA04], cada una de las cuales cuenta con un kit de desarrollo de software (Software Development Kit o SDK). J2SE (Java 2 Standard Edition): La Java2 edición estándar es la edición original de Java y consiste de las interfaces de programación de aplicaciones, APIs, necesarias para construir una aplicación o applet en Java. J2ME (Java 2 Mobile Edition): Es la edición móvil de Java 2. Contiene las API que se utilizan para crear aplicaciones Java inalámbricas o para dispositivos pequeños. J2EE (Java 2 Enterprise Edition): La Java 2 edición empresarial es una versión mejorada de la J2SE. Contiene las API necesarias para construir aplicaciones para arquitecturas multicapa El entorno de desarrollo Java Existen distintos programas comerciales que permiten desarrollar código Java. La compañía Sun, creadora de Java, distribuye gratuitamente el Java(tm) Development Kit (JDK). El JDK se trata de un conjunto de programas y librerías que permiten desarrollar, compilar y ejecutar programas en Java. Incorpora además la posibilidad de ejecutar

17 parcialmente el programa, deteniendo la ejecución en el punto deseado y estudiando en cada momento el valor de cada una de las variables (con el denominado Debugger) El compilador de Java Se trata de una de las herramientas incluidas en el JDK. Realiza un análisis de sintaxis del código escrito en los ficheros fuente de Java (con extensión *.java). Si no encuentra errores en el código genera los ficheros compilados (con extensión *.class). En otro caso muestra la línea o líneas erróneas. En el JDK de Sun dicho compilador se llama javac.exe La Java Virtual Machine La existencia de distintos tipos de procesadores y ordenadores llevó a los ingenieros de Sun a la conclusión de que era muy importante conseguir un software que no dependiera del tipo de procesador utilizado. Se planteó la necesidad de conseguir un código capaz de ejecutarse en cualquier tipo de máquina. Una vez compilado no debería ser necesaria ninguna modificación por el hecho de cambiar de procesador o de ejecutarlo en otra máquina. La clave consistió en desarrollar un código neutro el cual estuviera preparado para ser ejecutado sobre una máquina hipotética o virtual, denominada Java Virtual Machine o JVM. Es esta JVM quien interpreta este código neutro convirtiéndolo a código particular de la CPU utilizada. La JVM ejecuta los bytecodes (ficheros compilados con extensión *.class) creados por el compilador de Java (java.exe). De este modo se evita tener que realizar un programa diferente para cada CPU o plataforma

18 4.2 Tecnología J2EE A lo largo de los últimos años el desarrollo de aplicaciones Web ha sufrido un auge muy importante, la Web ha ido pasando de ser un mero contenedor de texto estático en forma de páginas HTML, a convertirse en un entorno dinámico, movido por diversas tecnologías que permiten y facilitan la creación de HTML en base a contenidos dinámicos provenientes de diversas fuentes como pueden ser las bases de datos. Las aplicaciones Web en Internet se están convirtiendo en un importante motor de la economía digital. Frente a esta nueva demanda surgen dos plataformas distintas para el desarrollo de este tipo de aplicaciones: J2EE de Sun y.net de Microsoft J2EE vs. NET J2EE y.net son los dos titanes que se enfrentan en el ring de los servidores para aplicaciones web. A lo largo de los últimos años se han vertido miles de líneas sobre la estrategia.net de Microsoft [MICR05] y su comparación con la plataforma J2EE [REJ05]. Para poder comparar y luego valorar cual de estas tecnologías es conveniente usar en el desarrollo del presente proyecto vamos a mostrar primero una panorámica general. J2EE: J2EE [KEOG02] se denomina plataforma porque proporciona especificaciones técnicas que describen el lenguaje pero, además, provee las herramientas para implementar aplicaciones. Veamos la definición que proporciona Sun de J2EE: J2EE define un estándar para el desarrollo de aplicaciones empresariales multicapa. J2EE simplifica las aplicaciones empresariales basándolos en componentes modulares y estandarizados, proveyendo un completo conjunto de

19 servicios a estos componentes, y manejando muchas de las funciones de la aplicación de forma automática, sin necesidad de una programación compleja. Esquemáticamente se resumiría en la siguiente ecuación J2EE = Java + componentes adicionales orientados a empresas (JavaBeans, JSPs, etc.). La plataforma J2EE ha sido creada con la participación de cientos de empresas de diversa índole y es sin lugar a dudas una plataforma conjunta, no exclusiva de Sun o de ninguna otra compañía..net: Nació a principios de este siglo, producto de una serie de herramientas de software que Microsoft ya ofrecía a sus clientes, especialmente en lo que a servidores se refiere. Más que una plataforma, es un concepto creado por Microsoft para generar servicios a través de Internet, gracias a servidores de bases de datos que contienen la información. Según Steven B. Levy, redactor de Microsoft TechNet, ".NET es una plataforma llena de servicios para construir aplicaciones basadas en web y desarrollar experiencias interactivas para los usuarios y sus sistemas". La parte más importante de la plataforma.net es NET framework, una suite de herramientas que incluye COM+ (Component Object Model), un entorno de ejecución común, un compilador JIT (just-in-time) y un conjunto de librerías de sistema. Desde el punto de vista del programador, el entorno.net ofrece un solo entorno de desarrollo para todos los lenguajes que soporta (Visual Basic, C++, C#, Visual J#, Fortran, Cobol, etc.). Aunque entre J2EE y.net existen diferencias, ventajas y desventajas también existen similitudes. A continuación se muestran algunas características comunes

20 El propósito tanto de J2EE como de la plataforma.net es facilitar y simplificar el desarrollo de aplicaciones empresariales o corporativas. Los servidores de aplicaciones J2EE y.net proporcionan un modelo de acceso de componentes a datos y de lógica del negocio, separados por una capa intermedia de presentación implementada mediante ASP.NET (.NET) ó Servlets (J2EE). Visual Basic.NET y C# son lenguajes orientados a objetos, al igual que Java, y en su diseño ha tenido mucha importancia la existencia de Internet. Desde la perspectiva de los desarrolladores, J2EE y.net proporcionan las herramientas necesarias para crear sitios web Ventajas de J2EE Para explicar los motivos que nos han llevado a utilizar J2EE en la realización de este proyecto vamos a ver algunas de las ventajas que ofrece esta plataforma frente a.net. Aunque Java fue creado originalmente por una compañía, Sun MicroSystems, lo cierto es que J2EE es ahora el producto de la colaboración de un gran número de empresas y organizaciones de todo tipo (públicas, privadas sin ánimo de lucro, privadas con ánimo de lucro, y de normalización en ámbitos nacionales e internacionales). Este hecho permite la existencia de una cierta competencia que acarrea como resultado mejores productos. Esta competencia no existe en el caso de Microsoft y su.net. La plataforma.net es, y será, el producto de una sola compañía

21 Debido al proceso evolutivo de los productos de Microsoft y, en muchos casos, a motivos de compatibilidad, la seguridad frente a virus informáticos de los productos de Microsoft es menor que los basados en Java, pues desde un comienzo Java se fundamentó siempre en un estricto modelo de seguridad. Hasta el momento, la plataforma J2EE es la única plataforma que corre en múltiples sistemas operativos y múltiples máquinas hardware y cuyos usuarios pueden seleccionar la implementación que más le convenga. Además, no solo corre en computadores domésticos o servidores o estaciones de trabajo, sino también en multitud de dispositivos como teléfonos móviles, agendas, componentes electrónicos industriales de automatización, etc. Java ya ha hecho realidad el sueño de "escriba el código una vez, ejecútelo en cualquier parte". Hasta la fecha,.net corre solamente sobre sistemas operativos de Microsoft. La tecnología Java es una tecnología abierta (en el sentido de que el código de la plataforma completa puede ser obtenido, revisado y estudiado por cualquiera que esté interesado) y se basa en gran parte en estándares de organizaciones de normalización y estándares empresariales "de facto". Esto posibilita que los desarrolladores puedan conocer y entender completamente cómo hace las cosas Java y aprovecharlo para sus aplicaciones y, por otro lado, al basarse en estándares empresariales, simplifica la integración con productos de múltiples compañías. En contraposición, sólo el código fuente del Nuevo lenguaje C# de la plataforma.net ha sido abierto al público general (aunque Microsoft permite a determinadas compañías el acceso al código fuente de ciertas partes de.net). La tecnología Java goza ya de una veteranía en el mercado y J2EE ha probado su eficacia en muchos entornos y situaciones empresariales distintas. De hecho, J2EE llegó al mercado tres años antes que.net

22 4.2.3 Arquitectura J2EE multicapa J2EE posee una estructura estándar basada en tres capas: Capa de usuario: Representa lo que el usuario ve. Por ejemplo, las páginas HTML. Capa Intermedia. Es la que se utiliza en el negocio de una empresa y contiene la gestión de la aplicación, como es el caso de objetos Java que acceden a datos. Capa de datos: Representa la base de datos. Este tipo de estructuras permiten que exista cierta independencia entre la visualización, la gestión y la base de datos. Además, permite acceder a la información que interesa vía http. Por lo tanto, se envía la información a través de una página HTML (capa cliente), la cual es interpretada por la capa intermedia, que a su vez accede a la base de datos. La capa intermedia resuelve las peticiones del cliente mediante el servidor de aplicaciones J2EE. Como se dijo anteriormente, el único lenguaje que soporta J2EE es Java y por lo tanto es el que se usará en el desarrollo de todos los componentes. Existen sólo dos formas oficiales para acceder a la plataforma J2EE con otros lenguajes: a través de JNI (Java Native Interface) o mediante la interoperabilidad que ofrece CORBA. Un elemento fundamental en las aplicaciones web soportadas bajo Java son los denominados "patrones J2EE", que describen los típicos problemas encontrados por desarrolladores de aplicaciones empresariales y proveen soluciones para éstos. En esencia, estos patrones contienen las mejores soluciones para ayudar a los desarrolladores a diseñar y construir aplicaciones para la plataforma J2EE

23 Las características y usos de estos patrones para su implementación se pueden encontrar en la web de Sun. El diseño de aplicaciones Web basadas en los Patrones J2EE se organiza alrededor de la utilización de varios elementos: un controlador frontal, dispatchers (despachadores), vistas compuestas, vistas JSP y los helpers (ayudantes) de las vistas (JavaBeans) Servlets Los servlets son programas o clases Java que se ejecutan en un servidor de aplicaciones web, por ejemplo Tomcat, y hacen de capa intermedia entre una petición proveniente de un navegador web u otro cliente HTTP, y las bases de datos o aplicaciones del servidor http. Es decir, los servlets contienen la lógica de negocio para procesar una petición. Por ejemplo, un servlet podría ser responsable de tomar los datos de un formulario en HTML y aplicarle la lógica de negocio utilizada para actualizar la base de datos. En la siguiente figura (véase Figura 1) se muestra el procesamiento de una petición

24 Figura 1. Procesamiento de una petición Ventajas de los Servlets En el caso del presente proyecto se utilizan servlets porque estos tienen numerosas ventajas [HUNT98] sobre otras tecnologías como puede ser la Interfaz Común de Pasarela (Common Gateway Interface o CGI). A continuación se muestran los principales beneficios de utilizar servlets. Eficiencia: Con el CGI cada vez que se realiza una petición HTTP se inicia un nuevo proceso. El coste de arrancar este nuevo proceso puede llegar a superar el tiempo de ejecución del propio programa CGI y esto es inaceptable. Con los servlets, la JVM permanece en ejecución y administra cada petición mediante un

25 ligero subproceso de Java. De forma similar, si hay n peticiones simultáneas al mismo programa CGI, el código del programa se carga la misma cantidad de veces en memoria. Sin embargo, con los servlets puede haber n procesos y sólo una copia del servlet en memoria. Finalmente, cuando un programa CGI termina de manejar la petición, el programa finaliza. Esto dificulta agilizar los procesos, mantener abiertas conexiones a la base de datos y realizar otras optimizaciones que se basan en datos persistentes. Por su parte, los servlets permanecen en memoria aún después de que han dado una respuesta, por lo que es fácil almacenar datos entre las peticiones. Adecuados: Los servlets cuentan con una extensa infraestructura para analizar y decodificar automáticamente los datos de los formularios HTML, leer y establecer encabezados HTTP, administrar cookies, rastrear sesiones y muchas otras utilidades. Poderosos: Los servlets pueden comunicarse directamente con el servidor web, mientras que los programas CGI no pueden hacerlo, para ello necesitan utilizar cierta API específica de los servidores. Además el hecho de que los servlets puedan mantener información de una petición a otra, simplifica el rastreo de sesiones. Transportables: Los servlets están escritos en el lenguaje de programación Java y siguen una API estándar. De este modo pueden utilizarse de manera directa en cualquier servidor web. Además ahora son parte de J2EE. Seguros: Una de las principales fuentes de vulnerabilidad en los programas CGI proviene del hecho de que por lo general son ejecutados por entornos de sistemas operativos de propósito general. Por ello, el programador de CGI debe tener cuidado de filtrar caracteres como las comillas y los puntos y coma porque tienen un tratamiento especial por el entorno. Una segunda fuente de problemas es el

26 hecho de que ciertos programas CGI son procesados por lenguajes que no verifican automáticamente los límites de las matrices o cadenas. Por ello, los programadores que olvidan realizar esta verificación, abren sus propios sistemas a posibles ataques de desbordamiento de buffer. Los servlets no tienen estos problemas. Aun si un servlet ejecuta una llamada a un sistema distante para ejecutar un programa en el sistema operativo local, no utiliza el entorno del sistema operativo para lograrlo. Y por supuesto la verificación de los límites de las matrices y otras características para la protección de la memoria son una parte central de Java Arquitectura básica de los Servlets Un servlet es una clase Java que recibe peticiones que envía un cliente y envía información de vuelta al cliente como respuesta. Para que esta clase Java se convierta en servlet es necesario que extienda a la clase HttpServlet y que sustituya a lo métodos doget o dopost de dicha clase, dependiendo de si los datos son enviados por GET o por POST. El método doget se utiliza para interactuar con aquellas peticiones que se envían utilizando METHOD=GET. Las peticiones GET son el tipo usual de peticiones del navegador para las páginas Web. Un navegador Web genera una petición cuando el usuario teclea un URL en la línea de Dirección, sigue un vínculo desde una página Web o envía un formulario HTML que no especifica un METHOD. Los servlets también pueden manejar con facilidad peticiones POST, que se generan cuando alguien envía un formulario HTML que establece METHOD=POST. Ambos métodos, doget y dopost, toman un par de argumentos: un HttpServletRequest y un HttpServletResponse

27 HttpServletRequest: contiene métodos por los cuales puede encontrar información entrante como los nombres de los parámetros pasados por el cliente, encabezados de petición HTTP, y el nombre del host cliente que ha realizado la petición. HttpServletResponse: le permite especificar la información de salida como los códigos de estado de HTTP (200, 404, etc.), encabezados de respuesta (Content-Type, Set-Cookie, etcétera) y, lo más importante, le permite obtener un PrintWriter utilizado para enviar el contenido del documento de regreso al cliente El ciclo de vida de un Servlet Los servlets se ejecutan en el servidor HTTP como parte integrante del propio proceso del servidor. Por este motivo el servidor HTTP es el responsable de la inicialización, llamada y destrucción de cada objeto de un servlet, tal y como puede observarse en la Figura 2. El servidor web se comunica con el servlet mediante los métodos de la interface javax.servlet.servlet también esta interface está constituida por al menos cuatro métodos que serán llamados durante el ciclo de vida del servlet. Estos cuatro métodos son: init(): Es llamado por el servidor HTTP cuando un servlet se carga por primera vez. Este método no será llamado nunca más mientras el servlet se esté ejecutando. El método init() es utilizado para leer parámetros de inicialización como pueden ser parámetros de la base de datos. Se puede sobrescribir y no recibe parámetros

28 service(): Es el núcleo fundamental del servlet. Cada petición por parte del cliente se traduce en una llamada al método service() del servlet. El método service() lee la petición y debe producir una respuesta en base a los dos argumentos que recibe: 1. Un objeto de la interface ServletRequest con datos enviados por el cliente. Estos incluyen parejas de parámetros clave valor. 2. Un objeto de la interface ServletResponse que encapsula la respuesta del servlet al cliente. doget(), dopost(): El método service() examina el tipo de petición HTTP y llama al método adecuado, por ejemplo doget() o dopost(). Estos métodos contienen la verdadera esencia del servlet. El noventa por ciento del tiempo, sólo se atenderá a peticiones GET y, en su caso, POST, por lo que sustituirá a doget y, en su caso, a dopost. destroy(): es el último método que se llama justo antes de destruir el servlet. Una buena implementación de este método debe permitir que el servlet concluya sus tareas de forma ordenada. De esta forma es posible liberar recursos (ficheros abiertos, conexiones con bases de datos, etc.) de una forma limpia y segura. Cuando esto no es necesario o importante, no hace falta redefinir el método destroy()

29 Figura 2. Ciclo de vida de un servlet JavaServer Pages (JSP) Las JavaServer Pages (JSP) son programas del servidor cuyo diseño y funcionalidad es muy similar al de los servlets. Una JSP procesa las peticiones mediante la lógica que incluye o mediante llamadas a otros componentes construidos con tecnología de servlets o con alguna otra tecnología. La diferencia entre una JSP y un servlet radica en la forma en que se escribe la JSP. El servlet se escribe en lenguaje Java mientras que la JSP se escribe en HTML, XML o en el formato del cliente, entremezclado con elementos de código, directivas y acciones escritas en lenguaje Java

30 JSPs vs. Servlets JSPs y servlets tienen muchas características en común [HALL01] y ambos pueden servir contenido dinámico. Sin embargo, los servlets se han de utilizar estrictamente como una extensión del servidor. Esto puede incluir la implementación de un controlador ofreciendo servicios de autenticación, validación de bases de datos, etc. Las JSP se usarán para desarrollar aplicaciones basadas en contenido dinámico. En el apartado cinco, en el cual se habla del MVC, se explica con más detalle el uso que haremos de los servlets y de las JSPs para la realización del presente proyecto. En la siguiente figura (véase Figura 3) se muestra el uso de las JSP. Figura 3. Páginas JSP Arquitectura básica de las JSP Crear una JSP es más sencillo que crear un servlet debido a que, como se dijo anteriormente, la JSP está escrita en HTML. Sin embargo, una JSP proporciona

31 fundamentalmente las mismas características que un servlet, ya que una JSP se convierte en un servlet la primera vez que el cliente la solicita. Es decir, las páginas JSP pasan por una fase de traducción que realiza el motor JSP por si mismo cuando recibe una petición de la página JSP por primera vez. El resultado de esta traducción es que el fichero.jsp se convierte en un fichero.class. Además, este fichero.class extiende a HttpJspBase el cual a su vez implementa la interfaz Servlet. En la siguiente figura (véase Figura 4) se muestra como una JSP se convierte en un servlet. Figura 4. Creación de una JSP Hay tres métodos que se llaman de forma automática al llamar a una JSP y cuando la JSP termina en forma normal: jspinit(): Es idéntico al método init() de un servlet. jspdestroy(): Es idéntico al método destroy() de un servlet. jspservice(): Una vez que el fichero.class es cargado en el contenedor servlet, se llama de forma automática al método service(), que es el responsable de responder a las peticiones de los clientes enviando el resultado de la JSP mediante HTTP

32 En la Figura 5 se muestra como son llamados los métodos init(), destroy() y service() a lo largo del ciclo de vida de las JSP. Figura 5. Ciclo de vida de una JSP JavaBeans El modelo de componentes de la tecnología JSP está basado en la arquitectura de componentes JavaBeans. Un componente JavaBean no es más que un objeto Java que ha sido realizado siguiendo un patrón de nombres y diseño realizado previamente. Un bean encapsula sus propiedades declarándolas como privadas y proporciona métodos de acceso públicos (gets y sets) para permitir leer y modificar sus valores. La principal función de los JavaBeans es la de proporcionar la lógica de negocio a la aplicación e interactuar con otros componentes del servidor

33 4.3 Lenguaje de marcado de hipertexto (HTML) Como indica su nombre, HTML es un lenguaje de marcado que se utiliza para definir la forma en que el texto se debe mostrar en un navegador u otro software capaz de interpretar HTML, como pueden ser algunos procesadores de texto. Para indicar la forma de mostrar el texto se utilizan etiquetas. Una etiqueta se puede considerar como una orden al navegador. Es importante conocer HTML antes de crear componentes J2EE con JSP, ya que, como se verá posteriormente, la mayor parte del contenido de las JSP se escribe con HTML. Un usuario interactúa con una aplicación J2EE a través de una interfaz de usuario que se crea utilizando HTML. La interfaz de usuario envía la petición del cliente a componentes construidos con servlets y/o JSP. Hay dos características que se encuentran frecuentemente al utilizar HTML en una JSP para construir una página web en forma dinámica. Estas características son los formularios y las tablas. Los formularios HTML se utilizan frecuentemente en las JSP para generar una página web que recolecta información de un usuario, la cual se envía entonces a una JSP o servlet para su procesamiento. Un ejemplo de formulario HTML puede ser un formulario que captura datos. Los datos que recibe la JSP o servlet del formulario por lo general se envían a un componente javabean, el cual conecta con un Sistema de Gestor de Bases de Datos (SGBD). Una tabla HTML es una matriz similar a una hoja de cálculo que una JSP o servlet genera en forma dinámica para mostrar datos recuperados del SGBD. El código HTML de la JSP o servlet crea cada componente de la tabla y coloca etiquetas y datos dentro de sus celdas antes de enviar la página HTML al navegador para su despliegue

34 4.4 extensible Markup Language (XML) La familia XML es un conjunto de especificaciones que conforman el estándar que define las características de un mecanismo independiente de plataformas desarrollado para compartir datos. Se puede considerar a XML como un formato de transferencia de datos multi-plataforma. Es un subconjunto de LMGS (Lenguaje de Marcado Generalizado Standard) y uno de sus objetivos es permitir que LMGS genérico pueda ser servido, recibido y procesado en la web de la misma manera que actualmente es posible con HTML. XML ha sido diseñado de tal manera que sea fácil de implementar. No ha nacido sólo para su aplicación en Internet, sino que se propone como lenguaje de bajo nivel (a nivel de aplicación, no de programación) para intercambio de información estructurada entre diferentes plataformas. XML [MCLA00] hace uso de etiquetas (únicamente para delimitar datos) y atributos, y deja la interpretación de los datos a la aplicación que los utiliza. Por esta razón se van formando lenguajes a partir del XML, y desde este punto de vista XML es un metalenguaje. El conjunto de reglas o convenciones que impone la especificación XML permite diseñar formatos de texto para los datos estructurados, haciendo que se almacenen de manera no ambigua, independiente de la plataforma y que en el momento de la recuperación se pueda verificar si la estructura es la correcta. Para comprobar que los documentos estén bien formados se utiliza un DTD (Definición de Tipo de Documento). Se trata de una definición de los elementos que pueden incluirse en el documento XML, la relación entre ellos, sus atributos, posibles valores, etc. Es una definición de la gramática del documento [ERDP05], es decir, cuando se procesa cualquier información formateada mediante XML, el primer paso es comprobar si está

35 bien formada, y luego, si incluye o referencia a un DTD, comprobar que sigue sus reglas gramaticales. En el caso del presente proyecto, XML se utiliza activamente en tareas de configuración, como pueden ser los ficheros de configuración del descriptor de implementación Servlet 2.4 y los ficheros de mapeo de Hibernate. 4.5 Apache/Tomcat En el desarrollo del presente proyecto necesitaremos un contenedor web. Los contenedores web son la puerta de las aplicaciones Java a la World Wide Web. Son servidores, escritos normalmente en Java, que son capaces de recibir peticiones HTTP y ejecutar las clases de Java (que a su vez utilizarán recursos tales como páginas HTML e imágenes) indicadas para darles respuesta, formando lo que se llama una aplicación web. Además, aunque casi todos incluyen un pequeño servidor web que les permite funcionar en solitario, normalmente pueden ser integrados con los servidores más conocidos como Apache. Las aplicaciones web realizadas en Java pueden tomar dos formas: servlets y páginas JSP. Las especificaciones de estas tecnologías forman parte de J2EE y como se dijo anteriormente, su principal cometido es el de crear páginas web dinámicas, es decir, páginas web que se generan en el servidor en base a nuestra lógica de negocio. Podemos elegir entre varios contenedores de servlet de código abierto y gratuitos. Los más conocidos y ampliamente usados en la industria, tanto de forma independiente, como en conjunto con servidores de aplicaciones, son Jetty [JETT05] y Apache Tomcat [APAC05]. Jetty lleva en marcha desde 1995 y es la mayor competencia de Tomcat. Aunque el menor tamaño de su comunidad y de la publicidad que recibe lo hacen pasar más

36 desapercibido, se trata de un contenedor web muy ligero y que está desarrollado para ser integrado fácilmente en otras aplicaciones y así proporcionar a estas una interfaz HTTP. Para la realización de este proyecto utilizaremos Apache Tomcat a pesar de que Jetty se trate también de una buena solución. Las principales razones de esta decisión son lo estandarizado que se encuentra Tomcat (es la implementación de referencia para las JSP y los Servlet), su rendimiento más que aceptable y su contrastada estabilidad. Apache Tomcat forma parte del proyecto Jakarta. Este proyecto, que se encuentra bajo la dirección de la Apache Software Foundation (ASF, ampliamente conocida por su servidor web Apache), desarrolla tecnología orientada a software de construcción de sitios web. Jakarta está compuesto por varios subproyectos que dan soluciones potentes basadas en el lenguaje Java a problemas en particular. Entre estos subproyectos se encuentra Tomcat, que es sin lugar a dudas el proyecto de software libre escrito en Java más famoso. Tomcat implementa las especificaciones de los servlets y de las JSP de Sun Microsystems [CHOP05] e incluye el compilador Jasper que compila las JSPs para convertirlas en servlets. Dado que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que disponga de la máquina virtual. La última versión de Tomcat, Tomcat 5.5, se trata de una implementación de las especificaciones Servlet 2.4 y JSP 2.0 API. 4.6 Hibernate Trabajar con software orientado a objetos y bases de datos relacionales puede hacernos invertir mucho tiempo en los entornos actuales. Hibernate [HIBE05] es una herramienta que realiza el mapping entre el mundo orientado a objetos de las aplicaciones y el mundo entidad-relación de las bases de datos en entornos Java. El término utilizado es ORM

37 (Object/Relational Mapping) y consiste en la técnica de realizar la transición de una representación de los datos de un modelo relacional a un modelo orientado a objetos y viceversa. Hibernate no solo realiza esta transformación sino que nos proporciona capacidades para la obtención y almacenamiento de datos de la base de datos que nos reducen el tiempo de desarrollo. Este tipo de herramientas son necesarias debido a que el modelo de objetos sobre el que hoy en día se desarrolla la mayor parte del software, no concuerda adecuadamente con el modelo relacional que se utiliza de forma mayoritaria para el almacenamiento de información. La potencia que nos ofrecen los mapeadores objetos/relacionales es realmente impresionante, y se aprecia en todo su esplendor cuando vemos que gracias a ellos no es necesario escribir ni una sola línea de código SQL, ni siquiera para llevar a cabo tareas complejas, como puede ser recuperar colecciones de objetos, o estructuras de herencia. Hemos elegido Hibernate debido a que en los últimos años se ha convertido en un estándar de facto en la industria, por encima de otras soluciones realmente estándares. Y es que Hibernate nos proporciona un método de trabajo muy eficiente y funcional, el cual se encuentra basado totalmente en torno a lo que se conoce como ficheros de mapeado [RESP05]. Estos ficheros son prácticamente lo único que un programador tiene que desarrollar para poder acceder a la base de datos, y consisten en unos ficheros con sintaxis XML en los que se especifica, mapea, la relación entre los diversos atributos de nuestras clases y las filas de las tablas SQL

38 Estas relaciones pueden ser muy sencillas, como sería el caso de atributos basados en tipos de datos simples, como pueden ser enteros, cadenas de caracteres, etc. Algo a lo que el modelo relacional se adapta muy bien, y resulta sencillo pasar a un modelo de objetos. Sin embargo, los verdaderos problemas entre el modelo relacional y el modelo de objetos aparecen cuando vemos que en un modelo de objetos resulta muy sencillo implementar relaciones entre atributos complejos. Por ejemplo, no supone ningún problema que una clase tenga un atributo que no es tipo de dato simple, sino otra clase, que a su vez puede tener también otros atributos complejos asociados. O incluso podemos tener atributos que son colecciones de objetos. Todo ello de una forma natural y sencilla, mientras que esto no es posible en el mundo relacional. Y en esta área es donde resultan realmente útiles los mapeadores objeto/relaciones. Como ejemplo, si tenemos que recuperar desde una base de datos relacional un objeto que pertenece a una clase que tiene como atributo una colección de objetos de otra clase diferente, primero tendremos que recuperar el objeto que deseamos, y posteriormente a partir de su clave primaria acceder a la tabla donde se almacenan los objetos de la colección, recuperarlos y asociarlos al objeto inicial. Esto da lugar a código bastante complejo y lioso, que hace muy difícil añadir nuevas relaciones o entidades (clases). Sin embargo, con Hibernate simplemente especificamos en los ficheros de mapeado que la clase tiene un atributo que es una colección, y que además forma parte de una relación uno a muchos con otra entidad, y cuando recuperemos un objeto de esa clase, el propio Hibernate, de forma totalmente transparente, recupera el resto de objetos asociados a el. Esto hace que añadir nuevas relaciones o clases sea muy sencillo, debido a que solo es necesario crear las nuevas clases y tablas SQL que necesitemos, y por último definir las asociaciones en los ficheros de mapeado

39 En la Figura 6 se puede ver un ejemplo de fichero de mapeado para Hibernate, que se utiliza en el proyecto, en el que se describe cual es la clave primaria de la entidad, y a continuación se describen las diversas propiedades de tipos de datos simples. Para finalmente definir la relación uno a muchos existente entre la tabla personal y la tabla equipos. Figura 6. Fichero de mapeado para Hibernate Como vemos, Hibernate nos facilita enormemente la tarea de la persistencia desde aplicaciones orientadas a objetos, y todo ello de una forma muy sencilla, teniendo en la especificación de los ficheros de mapeo la base de toda la herramienta

40 4.7 MySQL En el presente proyecto se ha hecho uso de la herramienta MySQL [MYSQ05] para todas las tareas de almacenamiento de la información. Para la elección del SGBD se ha partido de que tenía que ser un producto de código abierto y además gratuito. Otros de los motivos por los que se ha optado por utilizar MySQL es el ser un gestor de bases de datos sencillo de usar e increíblemente rápido. También es uno de los motores de bases de datos más usados en Internet y está avalado por empresas de renombre. La principal razón de esto es el ser gratis para aplicaciones no comerciales. Las características principales de MySQL [SUEH20] son: Es un gestor de base de datos. Una base de datos es un conjunto de datos y un gestor de base de datos es una aplicación capaz de manejar este conjunto de datos de manera eficiente y cómoda. Es una base de datos relacional. Una base de datos relacional es un conjunto de datos que están almacenados en tablas entre las cuales se establecen unas relaciones para manejar los datos de una forma eficiente y segura. Para usar y gestionar una base de datos relacional se usa el lenguaje estándar de programación SQL. Es Open Source. El código fuente de MySQL se puede descargar y está accesible a cualquiera, por otra parte, usa la licencia GPL (General Public License) para aplicaciones no comerciales. Es una base de datos muy rápida, segura y fácil de usar. Gracias a la colaboración de muchos usuarios, la base de datos se ha ido mejorando optimizándose en velocidad. Por eso es una de las bases de datos más usadas en Internet. Existe una gran cantidad de software que la usa

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas... .NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web Arquitectura 1.- Aplicaciones Web Definición Contenidos 1.- Aplicaciones Web 2.- Arquitectura de aplicaciones Web Lo que distingue una aplicación Web de una mero sitio Web reside en la posibilidad que

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: Propósito del prototipo: Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: 1º. Mostrar noticias y eventos propios del grupo de personas que administren la Web.

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Análisis y diseño del sistema CAPÍTULO 3

Análisis y diseño del sistema CAPÍTULO 3 Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

Capítulo 2. Marco Teórico

Capítulo 2. Marco Teórico Capítulo 2. Marco Teórico 2.1. Frameworks para Aplicaciones Web en Java Con el crecimiento exponencial de Internet en los últimos años, las aplicaciones Web se han convertido en una parte básica y común

Más detalles

Introducción CAPÍTULO 1

Introducción CAPÍTULO 1 Introducción CAPÍTULO 1 6 CAPÍTULO 1 - Introducción. En la actualidad hay una gran cantidad de repositorios en los que se puede alojar código fuente para poder compartirlo con los usuarios que visiten

Más detalles

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java C/Comandante Zorita 4 28020 Madrid/ info@ceticsa.es 902 425 524 / 91 700 01 17 Plataforma desarrollo Java Formación elearning tutorizada en castellano JAVA00d Ciclo de formación en plataforma Java Curso

Más detalles

INF 473 Desarrollo de Aplicaciones en

INF 473 Desarrollo de Aplicaciones en INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James

Más detalles

Capítulo II. Arquitectura del Software

Capítulo II. Arquitectura del Software Capítulo II. Arquitectura del Software Después de un cuidadoso análisis de los objetivos del proyecto, se determinó que la mejor manera de estructurar el sistema era haciendo uso del muy famoso patrón

Más detalles

APOLO GESTION INTEGRAL.

APOLO GESTION INTEGRAL. APOLO GESTION INTEGRAL. APOLO Gestión es una aplicación realizada en Visual Studio, y apoyada en una potente base de datos SQL, que le proporciona grandes ventajas a la hora de trabajar tanto sobre redes

Más detalles

PROGRAMACIÓN PÁGINAS WEB CON PHP

PROGRAMACIÓN PÁGINAS WEB CON PHP PROGRAMACIÓN PÁGINAS WEB CON PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

Más detalles

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para Empresas en Crecimiento Portfolio SAP BusinessObjects Soluciones SAP para Empresas en Crecimiento Resumen Ejecutivo Inteligencia

Más detalles

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA AREA DEL TEMA: INGENIERÍA DE SOFTWARE OBJETIVO GENERAL Desarrollar aplicaciones web utilizando

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Temario Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Abril 2007 1. Introducción Se describe a continuación de forma detallada el programa del curso Desarrollo de Aplicaciones Web con Java: J2EE

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho Desarrollo de Sistemas de Información la plataforma Business Intellingence Página 1 de 11 Control de versiones Ver. Fecha Descripción Autores 1 04/07/14 Versión inicial SDP Página 2 de 11 Índice del Documento

Más detalles

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación. Unidad II Metodología de Solución de Problemas 2.1 Descripción del problema (enunciado). Este aspecto nos indica describir de manera objetiva la realidad del problema que se esta investigando. En la descripción

Más detalles

Qué necesito saber para tener mi sitio web en Internet?

Qué necesito saber para tener mi sitio web en Internet? Qué necesito saber para tener mi sitio web en Internet? Introducción Antes es importante tener en cuenta que Es importante considerar lo siguiente: Definir claramente tu actividad en Internet Establecer

Más detalles

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV Página 1 de 6 1. OBJETIVO El presente documento tiene la finalidad de citar los beneficios de la migración de la herramienta de análisis de riesgo, mantenimiento e inspección que en lo sucesivo se denominará

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN INTRANET DE UNA EMPRESA Autor: Burgos González, Sergio. Director: Zaforas de Cabo, Juan. Entidad colaboradora: Colegio de Ingenieros del ICAI. RESUMEN DEL PROYECTO El proyecto consiste en el desarrollo

Más detalles

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 1 de 12 Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 3 Bienvenida. 4 Objetivos. 5 Interacciones de Negocios

Más detalles

Visual Studio 2008 es el conjunto de herramientas de

Visual Studio 2008 es el conjunto de herramientas de 1. VISUAL STUDIO 2008 Visual Studio 2008 es el conjunto de herramientas de desarrollo y programación creado por Microsoft tanto para aplicaciones Windows como aplicaciones web. La aparición de Visual Studio

Más detalles

MF0492_3 Programación Web en el Entorno Servidor

MF0492_3 Programación Web en el Entorno Servidor MF0492_3 Programación Web en el Entorno Servidor Titulación acredidatada por la Comisión Internacional de Formación de la UNESCO MF0492_3 Programación Web en el Entorno Servidor MF0492_3 Programación Web

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

e-commerce vs. e-business

e-commerce vs. e-business Formas de interactuar en los negocios e-commerce vs. e-business Día a día debemos sumar nuevas palabras a nuestro extenso vocabulario, y e-commerce y e-business no son la excepción. En esta nota explicamos

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

Más detalles

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar Clase:005 1 Unidad II Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar 2 Agenda Desarrollo de Apps para Android Aplicaciones en Android Componentes Básicos de las Aplicaciones

Más detalles

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman 11/06/2011 Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman Introducción Gestión de tareas Unificar la vía por la que se requieren las tareas Solución única y global Seguimiento de las tareas

Más detalles

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013 - MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD Rev. 01- FEBRERO 2013 Software de diagnóstico de la seguridad de la información y autoimplantación

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

BOLETÍN DE NOVEDADES Barcelona, enero de 2007

BOLETÍN DE NOVEDADES Barcelona, enero de 2007 BOLETÍN DE NOVEDADES Barcelona, enero de 2007 Introducción El objeto de este documento es presentar y describir brevemente las principales actuaciones en los últimos meses de Carver en algunos de sus clientes,

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Objetivos y Competencias

Objetivos y Competencias Objetivos y Competencias 2.1 Objetivos del ciclo formativo a) Ajustar la configuración lógica del sistema analizando las necesidades y criterios establecidos para configurar y explotar sistemas informáticos.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Índice de contenido 1. Introducción...3 2. El modelo de negocio...3 2.1 Antecedentes...3 2.2 Planteamiento del problema actual...3

Más detalles

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW): INFORMÁTICA IE MÓDULO INTERNET Términos a conocer y conceptos básicos World Wide Web (WWW): Digamos, simplemente, que es un sistema de información, el sistema de información propio de Internet. Sus características

Más detalles

Prezi: editor de presentaciones

Prezi: editor de presentaciones Prezi: editor de presentaciones Descripción Francisco Mora En momentos en que la Web 2.0 es un entorno de interacción, aparecen múltiples servicios que permiten compartir y editar recursos de forma conjunta.

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

Plataforma de expediente Electrónico @DOC

Plataforma de expediente Electrónico @DOC MINISTERIO DE LA PRESIDENCIA SUBSECRETARÍA SUBDIRECCIÓN GENERAL DE TECNOLOGÍAS Y SERVICIOS DE LA INFORMACIÓN Plataforma de expediente Electrónico @DOC Arquitectura de Sistemas Control de versiones Versión

Más detalles

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un INSTRODUCCION Toda organización puede mejorar su manera de trabajar, lo cual significa un incremento de sus clientes y gestionar el riesgo de la mejor manera posible, reduciendo costes y mejorando la calidad

Más detalles

Módulo 2. Inicio con Java

Módulo 2. Inicio con Java Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar

Más detalles

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE ORBERE Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE Bilbao, 12 de diciembre de 2006 INDICE 1. METODOLOGÍA DE TRABAJO 2 1.1 Pautas para el Desarrollo 2 1.2 Entorno Tecnológico,

Más detalles

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD 1 Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak. James Gosling Bill Joy 2 Oak nació para programar pequeños dispositivos electrodomésticos, como los asistentes personales

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. DEFINICIÓN...

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS Resultados de aprendizaje y criterios de evaluación 1. Identificar la estructura y organización

Más detalles

BASES DE DATOS OFIMÁTICAS

BASES DE DATOS OFIMÁTICAS BASES DE DATOS OFIMÁTICAS Qué es una Bases de Datos Ofimática?. En el entorno de trabajo de cualquier tipo de oficina ha sido habitual tener un archivo con gran parte de la información necesaria para el

Más detalles

Ventajas del software del SIGOB para las instituciones

Ventajas del software del SIGOB para las instituciones Ventajas del software del SIGOB para las instituciones Podemos afirmar que además de la metodología y los enfoques de trabajo que provee el proyecto, el software, eenn ssi i mi issmoo, resulta un gran

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB Objetivos Generales: Al término de esta acción formativa los participantes alcanzarán los siguientes objetivos: Preparar profesionales para el desarrollo

Más detalles

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado Capítulo VI Estudio de Caso de Aplicación del Integrador de Información Desarrollado 6.1 Organización elegida La Organización elegida para el caso de aplicación, es la empresa CTM Tours del grupo Costamar,

Más detalles

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CONCEPTOS DE PRUEBAS DE APLICACIÓN El departamento de Testing se encarga de diseñar, planear y aplicar el rol de pruebas a los sistemas que el PROVEEDOR

Más detalles

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) APRENDERAPROGRAMAR.COM QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) Sección: Divulgación Categoría: Herramientas Informáticas Fecha

Más detalles

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera Capítulo 4. Llamada Telefónica En este capítulo se explicará la manera en que se configuraron las herramientas web (PHP y APACHE), y el programa de comunicación Skype, para controlar de manera dinámica

Más detalles

Fuente: http://www.kzgunea.net

Fuente: http://www.kzgunea.net APRENDE A NAVEGAR SERVICIOS DE INTERNET Internet es como el mercado del pueblo en día de feria. En el mercado los puestos se organizan por secciones: por un lado la fruta, por otro las hortalizas, por

Más detalles

Introducción En este apartado se va a proporcionar una apreciación global del SRS.

Introducción En este apartado se va a proporcionar una apreciación global del SRS. INTRODUCCIÓN Se pretende desarrollar una aplicación web para la gestión de un restaurante que ofrece espectáculos en fechas determinadas con el fin de poner en práctica los principios de planificación

Más detalles

Contenido - 2. 2006 Derechos Reservados DIAN - Proyecto MUISCA

Contenido - 2. 2006 Derechos Reservados DIAN - Proyecto MUISCA Contenido 1. Introducción...3 2. Objetivos...4 3. El MUISCA Modelo Único de Ingresos, Servicio y Control Automatizado...4 4. Ingreso a los Servicios Informáticos Electrónicos...5 4.1. Inicio de Sesión

Más detalles

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk Prácticas ITIL para un mejor flujo de trabajo en el helpdesk Se diferencia tres partes de gestión para mejorar la resolución de las incidencias de soporte técnico según el marco ITIL: 1. Gestión de Incidencias

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total.

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total. INFO 2002 Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total. Autor: Ing. Alfredo Batista Rodríguez. Ing. Emilio Joel Macias. Correo electrónico: alfredo@biomundi.inf.cu

Más detalles

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico TeCS Sistema de ayuda a la gestión del desarrollo de producto cerámico En el origen de todo proyecto de éxito se halla la capacidad de encauzar y estructurar la creatividad TeCS ofrece un entorno de fácil

Más detalles

ADMINISTRACIÓN ELECTRÓNICA: TIENDAS VIRTUALES. Ana Belén Domínguez García Consultora Cronos Ibérica, S.A.

ADMINISTRACIÓN ELECTRÓNICA: TIENDAS VIRTUALES. Ana Belén Domínguez García Consultora Cronos Ibérica, S.A. ADMINISTRACIÓN ELECTRÓNICA: TIENDAS VIRTUALES Ana Belén Domínguez García Consultora Cronos Ibérica, S.A. 1 Blanca ADMINISTRACIÓN ELECTRÓNICA: TIENDAS VIRTUALES 1. INTRODUCCIÓN Cronos Ibérica es una empresa

Más detalles

COLEGIO COMPUESTUDIO

COLEGIO COMPUESTUDIO COLEGIO COMPUESTUDIO ÁREA: TECNOLOGIA E INFORMATICA DOCENTE: WILLY VIVAS LLOREDA ESTUDIANTE: CLEI: III GUIA N 5 N SESIONES: NUCLEO TEMÁTICO: UNIDAD: 2 Sistema operativo (Windows) OBJETIVO: Comprender el

Más detalles

PDF created with pdffactory Pro trial version www.pdffactory.com

PDF created with pdffactory Pro trial version www.pdffactory.com Este libro está diseñado y escrito para aquellas personas que, conociendo HTML y JavaScript, desean dar un salto cuantioso en la creación de sitios web, con la programación dinámica en el lado del servidor.

Más detalles

Bechtle Solutions Servicios Profesionales

Bechtle Solutions Servicios Profesionales Soluciones Tecnología Bechtle Solutions Servicios Profesionales Fin del servicio de soporte técnico de Windows Server 2003 No hacer nada puede ser un riesgo BECHTLE Su especialista en informática Ahora

Más detalles

Facultad de Ingeniería Escuela de Ciencias y Sistemas 2011-14674 Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Facultad de Ingeniería Escuela de Ciencias y Sistemas 2011-14674 Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces JSF + JSP + RichFaces Manual Introductorio al uso de JSF, JSP y RichFaces en Java El siguiente documento es un manual muy introductorio, ya que la primera vez que me encontré con estas 3 frases juntas

Más detalles

Programación páginas web con ASP.NET 3.5 (C#)

Programación páginas web con ASP.NET 3.5 (C#) Horas de teoría: 40 Horas de práctica: 40 Programación páginas web con ASP.NET 3.5 (C#) Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript

Más detalles