SecureGest. Un Sistema Web para la gestión de la seguridad privada. Documento de Diseño e Implementación del Sistema. Versión 1.

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

Download "SecureGest. Un Sistema Web para la gestión de la seguridad privada. Documento de Diseño e Implementación del Sistema. Versión 1."

Transcripción

1 Un Sistema Web para la gestión de la seguridad privada Documento de Diseño e Implementación del Sistema Versión 1.1 Fecha 06/07/2009 Preparado para: Departamento de Lenguajes y Sistemas Informáticos Preparado por: Antonio Romero Solís Dirigido por: Sergio Pozo Hidalgo Departamento: Departamento Lenguajes y Sistemas Informáticos Antonio Romero Solís Página 1

2 1 LISTA DE CAMBIOS Número Fecha Descripción Autores Antonio Romero Solís Página 2

3 2 ÍNDICE 1. Lista de cambios 2 2. Índice Introducción Objetivos 6 5. Alternativas de diseño Lenguajes de implementación Web Cold Fusion Java Servlet PHP Hypertext Pre-processor (PHP) Active Server Pages (ASP) JavaServer Pages (JSP) ASP.NET exetensible Server Pages (XSP) JavaServer Faces (JSF) Ruby on Rails Perl Valoración de alternativas al lenguaje de implementación Sistemas Gestores de Bases de Datos Oracle MySQL Postgre SQL SQL Server Valoración de alternativas al Sistema Gestor de Bases de Datos Patrones de Diseño Patrón Arquitectónico Orientado a Capas (Layers) Niveles de Arquitectura Capa de Presentación Capa de Aplicación Capa de Datos Patrón Singleton Patrón Dao Patrón Front Controller Introducción a los Servlet y JSP Introducción al protocolo HTTP Las JavaServer Pages (JSP s) La API Servlet Ciclo de vida y características especiales de los Servlet Número de Máquinas Virtuales Java Persistencia de instancias Recarga de Servlet Creación, vida y destrucción Antonio Romero Solís Página 3

4 7.4.5 Servlet monotarea Procesamiento en segundo plano Caché en el cliente Caché en el servidor Reparto de trabajo Proxy Implementación: Entorno y Herramientas de Desarrollo Implementación del código JAVA Implementación de las JavaServer Pages (JSP s) Servidor Web y/o de Aplicaciones Base de Datos Tecnologías RIA utilizadas en el proyecto JavaScript Editor de Textos (TinyMCE) Plugins de Eclipse utilizados Diseño Navegacional Navegación Administrador Navegación principal del Administrador Navegación del Subsistema Empleados Navegación del Subsistema Clientes Navegación del Subsistema Empresas Navegación del Subsistema Cuadrantes Navegación del Subsistema Servicios Navegación del Subsistema Delegaciones Navegación Empleado Detalles de implementación Base de Datos del Sistema Capa de Presentación Autenticación de Usuario Fichero descriptor de despliegue Estructura de interfaces Capa de Aplicación Capa de Datos Implementación de las clases de la capa de datos Bibliografía Antonio Romero Solís Página 4

5 3 INTRODUCCIÓN El Proyecto consiste en la implementación de una aplicación Web para la gestión y mantenimiento de una empresa de seguridad privada, así como para ofrecer una plataforma de comunicación entre administradores y empleados, y entre los propios empleados. Entre otras cosas la aplicación permite generar automáticamente los cuadrantes de empleados para los distintos servicios, liberando al administrador de una gran carga de trabajo, pudiendo contar así con más tiempo para dedicarlo a otras actividades de sus competencias, también se encarga de gestionar todo lo referente al modelo de negocio de las empresas de seguridad. Otra de los objetivos que pretende conseguir la aplicación es el aumento de bienestar y satisfacción de los empleados, al buscar una solución en la asignación de empleados en los cuadrantes de manera que satisfaga en la medida de lo posible a todos, además de disponer de una herramienta versátil de comunicación y de acceso a información. Para que la mejora con respecto a los empleados se reflejen en la realidad es necesario que fuera de fácil acceso para los mismos y que la aplicación fuera independiente de la plataforma de los empleados, por lo que la decisión de hacer una aplicación web se perfilaba como la mejor. El sistema se ha diseñado utilizando una arquitectura en tres capas (capa de presentación, capa de lógica de negocio y capa de datos), asegurando así la independencia entre presentación, la base de datos e implementación de operaciones y facilitando el posterior mantenimiento de las capas. Para la construcción de una aplicación con mejores prestaciones y solucionar problemas de rendimiento se han aplicado patrones para el diseño, como el patrón Front Controller que controla que sólo los usuarios de la aplicación puedan utilizar las herramientas de la aplicación mediante la implementación del módulo de autenticación en el mismo. La aplicación web se ha desarrollado utilizando la tecnología Java (JSP y Servlet) y el gestor de base de datos MySQL, ya que ambas permiten el dinamismo y la portabilidad requeridos por este tipo de aplicaciones. La presentación y estilo de la aplicación se ha realizado con CSS2. Estas últimas tecnologías aseguran la independencia del navegador. Antonio Romero Solís Página 5

6 4 OBJETIVOS La aplicación en cuestiones relativas al diseño, plantea varios objetivos de diferente índole, siendo algunos de carácter técnico y otros estratégicos. En todas las herramientas usadas en el proceso de diseño y desarrollo hemos buscado que sean de software libre. En los sucesivos apartados se plantearán las diferentes variantes y sus valoraciones, pero se puede adelantar que tanto el desarrollo con herramientas como Eclipse y MySQL Administrator, como la plataforma destinada a ejecutar la aplicación Web que es Tomcat y el sistema de gestión de base de datos MySQL cumplen con esta premisa. Así mismo, el servidor Web y de base de datos, puede ser instalado sobre varios tipos de sistemas operativos, como por ejemplo GNU Linux, que cumple sobradamente con el requisito comentado. Otro fin buscado con esta aplicación era la facilidad de uso de la misma, precisando para ello de un entorno intuitivo que facilitara el uso a personas con distinto nivel técnico en lo relativo al uso de ordenadores y aplicaciones informáticas.. Por tanto, en el diseño se ha tenido especial cuidado que este requisito fuera cubierto. Por ello, el diseño se ha realizado enfocado a que cualquier tipo de usuario pueda usar sin problemas, derivado de su nivel de conocimiento, esta aplicación. La gestión de toda la información referente al modelo de negocio de las empresas de seguridad es un objetivo primario facilitando en la medida de lo posible el mantenimiento y actualización del conjunto de clientes, servicios, empleados, cuadrantes... En definitiva, debía suponer una tarea sencilla para el administrador realizar cualquier operación sobre estos conjuntos. A lo largo del documento, se podrá apreciar cómo estos objetivos principales han sido la clave en la toma de decisiones de las diferentes fases por las que ha atravesado el Proyecto, así como otros muchos aspectos que han ido surgiendo en cada sección y que han motivado, tras un estudio de los mismos, las diferentes tomas de decisiones. 5 ALTERNATIVAS DE DISEÑO El proyecto es, básicamente, una aplicación Web. Alternativas para implementar este tipo de aplicaciones existen muchísimas, algunas de las cuales son de nueva creación, y otras son una evolución de otras alternativas que existieron en un tiempo pasado y dieron paso a otras que suponían una mejora en ese tipo de implementaciones. Seguidamente hacemos un repaso histórico en orden decreciente de antigüedad de implementaciones que hoy en día se utilizan con más o menos frecuencia, pero de las cuales podíamos haber elegido cualquiera para implementar el proyecto que nos incumbe. A su vez se hará una valoración de estas alternativas para llegar a la conclusión de Antonio Romero Solís Página 6

7 cual es la que más se adapta a nuestras necesidades como implementadores de este proyecto. 5.1 Lenguajes de implementación Web Cold Fusion Cold Fusion fue desarrollado inicialmente por J. J. Allaire, es una plataforma de desarrollo completa, en la que su primera versión apareció en julio de En 2001, estando en el mercado la versión 5, Allaire fue adquirido por Macromedia (actualmente Adobe) la cual pretendió seguir con la base de Cold Fusion, pero adaptándolo a los lenguajes estaban haciendo furor o en un futuro cercano iban a hacerlo entre el mundo de los desarrolladores. Consta de un lenguaje de programación, un servidor de aplicaciones, un entorno de desarrollo y un framework para desarrollar servicios empresariales. Funciona bajo Linux, Solaris y Windows. En esta alternativa, el servidor de aplicaciones de Cold Fusion procesa las peticiones HTTP. Si se pide una página cfm (Cold Fusion), el servidor de aplicaciones ejecuta el o los scripts que contenga esa página. Estos scripts son añadidos a las páginas HTML, y están basados en tags, de modo que es una de las alternativas más fáciles de programar. Entre los beneficios del uso de Cold Fusion encontramos que es el sistema de desarrollo en el que menos tiempo se tarda en completar una aplicación (ya que está todo integrado y relacionado dentro del mismo paquete), alta escalabilidad, se necesita menos programación y la depuración es más fácil y rápida (una vez más por la relación entre todos los componentes del paquete). Además, posee una API bastante rica (posee estructuras de datos avanzadas, control de excepciones, acceso de a bases de datos...). Una de las funciones más poderosas de Cold Fusion, es la posibilidad que ofrece para leer desde y escribir en discos duros del servidor. No es un lenguaje de bases de datos, pero interactúa de manera simple con bases de datos (Sybase, Oracle, MySQL, SQL Server, o Access). Usando SQL estándar, las páginas y aplicaciones Web pueden fácilmente recuperar, guardar, formatear y presentar información dinámicamente. El mayor inconveniente que se le puede achacar es que es una solución propietaria y por ello el coste de implementación y de implantación de la aplicación aumenta de forma considerable Java Servlets Los Servlets son objetos que corren dentro del contexto de un contenedor de Servlets y extienden su funcionalidad. También podrían correr dentro de un servidor de Antonio Romero Solís Página 7

8 aplicaciones que además de contenedor para Servlet tendrá contenedor para objetos más avanzados como son los Enterprise JavaBeans. Más concretamente, un Servlet es una extensión genérica del servidor desarrollada por Sun a partir del lenguaje Java. Es, en definitiva, una clase Java que se puede cargar dinámicamente para aumentar la funcionalidad de del servidor. La palabra Servlet deriva de otra anterior, applet, que se refería a pequeños programas escritos en Java que se ejecutan en el contexto de un navegador Web. Por contraposición, un Servlet es un programa que se ejecuta en un servidor. El uso más común de los Servlets es generar páginas Web de forma dinámica a partir de los parámetros de la petición que envíe el navegador Web siendo procesados por esta clase Java. Al ser una clase Java, tiene todas las ventajas e inconvenientes que posee este lenguaje de programación: es seguro, multiplataforma (tanto a la hora del desarrollo como de la ejecución), tiene un soporte muy amplio por parte de desarrolladores de aplicaciones y servidores de aplicaciones (muchos de ellos gratuitos), una API muy extensa (toda la de Java), una API específica para acceder a bases de datos (JDBC y ODBC), etcétera. Los Servlets funcionan en el dominio del servidor, y al contrario que los Applets, no necesitan que los navegadores cliente tengan soporte Java. Además, al contrario que con los CGI y sus derivados, los Servlets pueden ser manejados por hilo separados dentro del mismo proceso, o dentro de procesos múltiples (que pueden estar en distintos servidores y máquinas). Es decir, cuando se llama a un Servlet, éste se carga en memoria y se queda ahí hasta que el servidor de aplicaciones se cierra, de modo que para cada una de las llamadas a él, se crea un hilo independiente y por ello los Servlets son eficientes y escalables (figura 5.3). Además poseen la cualidad de poner mantener una comunicación bidireccional con el servidor, de modo que puedan interactuar con él y realizar tareas que son posibles con los CGI. Antonio Romero Solís Página 8

9 5.1.3 PHP Hypertext Pre-processor (PHP) Es un lenguaje de programación usado frecuentemente para la creación de contenido para sitios Web con los cuales se puede programar las páginas html y los códigos de fuente. Se trata de un lenguaje interpretado usado para la creación deaplicaciones para servidores, o creación de contenido dinámico para sitios Web. Últimamente también para la creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica usando las librerías GTK+. PHP es Open Source y, al ser multiplataforma, funciona en una gran variedad de servidores Web, incluyendo Apache y Microsoft Internet Information Server. Respecto a su forma de funcionar, decir que es muy similar a cualquier otro lenguaje de scripting, mezclando HTML y código PHP. Es una mezcla de influencias (incluyendo Perl, C, Java e incluso ASP). PHP es muy extensible, y debido a que es Open Source, existen diversidad de extensiones para realizar todo tipo de tareas (entre las que se encuentran la conexión a bases de datos, gestión de correo electrónico, parsing XML, LDAP...) Es precisamente esa gran variedad de APIs la desventaja de este lenguaje, ya que llega a producirse una gran inconsistencia entre módulos y los desarrolladores tienen que estar muy pendientes de los cambios que se produzcan en cada módulo externo al lenguaje que haya usado. Precisamente, unos de los problemas más grandes que se deriva de esta falta de estandarización en los módulos, es la falta de una API estándar para acceder a bases de datos, de modo que si por ejemplo, queremos conectarnos con una base de datos en PostgreSQL, tendremos que utilizar código específico de la API de Postgres, lo que deriva irremediablemente en una pérdida de portabilidad muy importante. Por otra parte, no existen demasiadas herramientas de apoyo para los desarrolladores, tanto para programar como para depurar. Los principales usos del PHP son los siguientes: * Programación de páginas Web dinámicas, habitualmente en combinación con el motor de base datos MySQL, aunque cuenta con soporte nativo para otros motores, incluyendo el estándar ODBC, lo que amplía en gran medida sus posibilidades de conexión. * Programación en consola, al estilo de Perl o Shell scripting. * Creación de aplicaciones gráficas independientes del navegador, por medio de la combinación de PHP y GTK (GIMP Tool Kit), lo que permite desarrollar aplicaciones de escritorio en los sistemas operativos en los que está soportado. Antonio Romero Solís Página 9

10 5.1.4 Active Server Pages (ASP) Es una tecnología del lado servidor de Microsoft para páginas Web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Server (IIS). Intenta ser solución para un modelo de programación rápida ya que programar en ASP es como programar en VisualBasic. Posee un gran soporte por parte de la industria (empezando porque el ASP de distribuye por defecto con Internet Information Server, el servidor de aplicaciones que se entrega por defecto con las versiones servidor de WindowsNT, Windows2000 y WindowsXP). Este es uno de los motivos por los que los desarrolladores ASP son relativamente fáciles de encontrar. El lenguaje de scripting es concretamente, VBScript o Jscript, de modo que el esfuerzo de aprendizaje para los desarrolladores de Visual Basic es mínimo. VBScript soporta variables no declaradas, proporciona acceso fácil a toda la API de Windows a través del soporte nativo de COM (Component Object Model) -lo que puede convertirse en un arma de doble filo al crecer en complejidad el código y a la vez el tiempo de desarrollo, ya que los componentes COM son muy complejos de realizar-, y finalmente, acceso fácil y unificado a bases de datos a través de ADO (Active Data Objects). Posee además control de errores a través de las palabras claves try/match típicas y tiene un amplio abanico de aplicaciones de apoyo a desarrolladores (entornos de desarrollo, depuradores...), así como se pueden incluir dentro de una aplicación objetos ya desarrollados Activex. Sin embargo, esta opción nos ata a una misma plataforma tanto para el desarrollo como para la puesta en servicio de la aplicación: Microsoft Windows. Además por supuesto, no existe forma alguna de hacer funcionar a una aplicación ASP en un servidor de aplicaciones que no sea Microsoft IIS o PWS bajo una plataforma Windows (a menos que no utilicemos componentes COM, lo que haría algunas tareas imposibles de realizar), con el incremento de coste que conlleva. Otra característica de las páginas ASP es que son recompiladas cada vez que un cliente hace una petición (aunque sea de la misma página e incluso con los mismos parámetros). ASP está optimizado para introducir pequeños fragmentos de código en el fichero HTML, de modo que se derive todo el trabajo a los componentes COM. Antonio Romero Solís Página 10

11 5.1.5 JavaServer Pages (JSP) Las páginas JSP son la alternativa de Sun a las ASP de Microsoft. La sintaxis de JSP es similar a la de ASP, con la diferencia de que JSP utiliza scriplets (trozos de código embebido dentro de los ficheros HTML) en lenguaje Java (con todas las propiedades de este lenguaje y acceso completo a su API). Sin embargo, JSP no se puede considerar un script al 100%, ya que, antes de ejecutarse, el servidor Web compila el script y genera un Servlet. La ventaja de ello es algo más de rapidez y disponer del API de Java en su totalidad. Al contrario que ASP, JSP es un estándar abierto implementado por muchísimas empresas y para muchas plataformas. De hecho, Sun donó el código fuente de un servidor de aplicaciones de referencia al proyecto Apache, el servidor Web más frecuente entre los sitios de Internet. Además, otras muchas empresas (como son Borland e IBM) han realizado servidores de aplicaciones, entornos de desarrollo y diversas herramientas de apoyo a los desarrolladores de todos los tipos y gamas posibles, y que son en su mayor parte, multiplataforma, ya que suelen estar programadas en Java. El sistema de funcionamiento de los JSP es una mezcla de las páginas ASP y los Servlets. Al igual que las páginas ASP, las JSP son una mezcla de código y HTML, pero en el caso de JSP, las páginas se compilan a un Servlet la primera vez que se accede a ellas, siendo todo el proceso interno al servidor. Este paso consigue eliminar casi del todo el problema de las páginas ASP, que tienen que interpretarse cada vez que se llaman (el casi es porque no debemos olvidar que las clases Java son interpretadas por una máquina virtual). Como no podía ser de otro modo, las páginas JSP proporcionan acceso fácil a componentes (JavaBeans) programados en Java y acceso cómodo y fácil a bases de Antonio Romero Solís Página 11

12 datos (JDBC). Además, JSP soporta custom tags, al estilo de Cold Fusion, con lo que la programación de este tipo de páginas puede reducirse al uso de tags, como si de un lenguaje de marcado al estilo de XML se tratase ASP.NET ASP.NET es un conjunto de tecnologías de desarrollo de aplicaciones Web comercializado por Microsoft. Es usado por programadores para construir sitios Web domésticos, aplicaciones Web y servicios XML. Forma parte de la plataforma.net de Microsoft y es la tecnología sucesora de la tecnología Active Server Pages (ASP). Microsoft ha desarrollado una nueva tecnología denominada ASP.NET, como parte de la estrategia.net para el desarrollo Web, con el objetivo de resolver las limitaciones de ASP y posibilitar la creación de software como servicio. ASP.NET es la plataforma unificada de desarrollo Web que proporciona a los desarrolladores los servicios necesarios para crear aplicaciones Web empresariales. Cualquier persona que esta familiarizada con el desarrollo de aplicaciones Web sabrá que el desarrollo Web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación Web es una mezcla de varios lenguajes de etiquetas, un gran uso de scripting y plataformas de servidor. Desafortunadamente para el programador de nivel intermedio, el conocimiento y habilidades que se necesitan para desarrollar aplicaciones WEB tienen muy poco en común con las que son necesarias en el desarrollo tradicional de aplicaciones. Antonio Romero Solís Página 12

13 Pero como casi siempre ocurre, todo lo que reluce no es oro, ni todas las actualizaciones de un lenguaje significan una mejora en todos los aspectos. En el modelo de desarrollo Web basado en páginas activas, la programación ASP.NET actual tiene diversas limitaciones: * Para que todo ocurra en una página Web, es habitual escribir una gran cantidad de código para resolver necesidades sencillas. Incorpora un modelo declarativo a la programación Web: los controles de servidor funcionan en una página Web simplemente declarándolos. Cuando se carga la página, se instancian los controles listados en la página y es responsabilidad del control emitir código HTML que el navegador pueda entender. * Es un tanto desorganizado. En una página podemos incluir casi todo: HTML plano, código de scripting, objetos COM y texto. No hay una distinción formal entre el contenido de una página y su comportamiento: simplemente, insertamos código en la página, y a ver qué pasa. ASP.NET impone un cierto orden sobre el modelo de programación estándar ASP. * La tercera limitación en el desarrollo con este tipo de lenguaje es que con el tradicional (ASP) utilizamos lenguajes de scripting no tipificados como VBScript o JScript. Podemos instalar otros motores de scripting que impongan verificación de tipos; sin embargo, no son universalmente conocidos o utilizados como los anteriores. ASP.NET claramente separa la porción basada en script de una página Web de su contenido extensible Server Pages (XSP) XSP es la última evolución de las páginas servidor. Su significado es Páginas de Servidor Extensibles (extensible Server Pages) y es una de las tecnologías que forman parte de Cocoon, que es una de las siete partes de las que consta el proyecto XML de Apache. El paradigma de Cocoon se basa en el hecho de que el contenido, el estilo y la lógica del documento se crean habitualmente por personas diferentes o grupos de trabajo distintos. Cocoon aboga por una separación completa de las tres capas, separándolas en ficheros XML distintos, de modo que se usen transformaciones XSL para unirlas. Esta tecnología tiene mucho en común con las páginas JSP de Sun, pero también posee algunas diferencias importantes que se describen a continuación. Tal como en Java se pretende que exista una clara separación del contenido y la lógica de la negocio, en XSP se pretende lo mismo pero con aplicaciones basadas en XML. Aunque muchos de los paquetes o frameworks para trabajo en XML permiten esta separación en capas junto con el código compilado, los cambios de formato en Antonio Romero Solís Página 13

14 documentos XML todavía requieren cambios en el código Java y la consecuente recompilación. Cocoon se basa en principalmente en transformaciones XSLT (extensible Stylesheet Language Transformation, Transformación extensible del lenguaje de hojas de estilo), que permite una completa separación entre contenido y estilo. Cocoon va todavía más lejos que XSLT, y pretende conseguir un camino para separar el contenido y el estilo de la lógica de programación que rige el comportamiento en el servidor. Por ello, XSP es una pieza más en el puzzle XML. XSP funciona traduciendo código de entrada (un árbol DOM) en código de salida (posiblemente otro árbol DOM), de modo que luego transformará en código fuente la primera vez que se llame a la página, se compilará y se ejecutará. Para las llamadas siguientes, se ejecutará el código precompilado. Al igual que ASP.NET, XSP es una tecnología en desarrollo, pero en una fase aún más precaria que ASP.NET. Igualmente, parece mucho más compleja (ya que utiliza tecnologías de más bajo nivel), a la vez que más avanzada por el mismo motivo JavaServer Faces (JSF) La tecnología JavaServer Faces es un marco de trabajo de interfaces de usuario del lado de servidor para aplicaciones Web basadas en tecnología Java. Los principales componentes de la tecnología JavaServer Faces son: * Un API y una implementación de referencia para: representar componentes UI y manejar su estado; manejo de eventos, validación del lado del servidor y conversión de datos; definir la navegación entre páginas; soportar internacionalización y accesibilidad; y proporcionar extensibilidad para todas estas características. * Una librería de etiquetas JavaServer Pages (JSP) personalizadas para dibujar componentes UI dentro de una página JSP. Antonio Romero Solís Página 14

15 En su mayoría, las aplicaciones JavaServer Faces son como cualquier otra aplicación Web Java. Se ejecutan en un contenedor Servlet Java, y típicamente contienen: Componentes JavaBeans (llamados objetos del modelo en tecnología JavaServer Faces) conteniendo datos y funcionalidades específicas de la aplicación; Oyentes de Eventos; Páginas, cómo páginas JSP; Y clases de utilidad del lado del servidor, como beans para acceder a las bases de datos. Una de las grandes ventajas de la tecnología JavaServer Faces es que ofrece una clara separación entre el comportamiento y la presentación. La separación de la lógica de la presentación también le permite a cada miembro del equipo de desarrollo de una aplicación Web enfocarse en su parte del proceso de desarrollo, y proporciona un sencillo modelo de programación para enlazar todas las piezas. Otro objetivo importante de la tecnología JavaServer Faces es mejorar los conceptos familiares de componente-ui y capa- Web sin limitarnos a una tecnología de script particular o un lenguaje de marcas. Pero lo más importante, la tecnología JavaServer Faces proporciona una rica arquitectura para manejar el estado de los componentes, procesar los datos, validar la entrada del usuario, y manejar eventos. Antonio Romero Solís Página 15

16 5.1.9 Ruby on Rails Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de librerías y aplicaciones Ruby. Los principios fundamentales de Ruby on Rails incluyen No te repitas (del inglés Don't repeat yourself, DRY) y Convención sobre configuración. No te repitas significa que las definiciones deberían hacerse una sola vez. Dado que Ruby on Rails es un framework de pila completa, los componentes están integrados de manera que no hace falta establecer puentes entre ellos. Por ejemplo, en ActiveRecord, las definiciones de las clases no necesitan especificar los nombres de las columnas; Ruby puede averiguarlos a partir de la propia base de datos, de forma que definirlos tanto en el código como en el programa sería redundante. Convención sobre configuración significa que el programador sólo necesita definir aquella configuración que no es convencional. Por ejemplo, si hay una clase Historia en el modelo, la tabla correspondiente de la base de datos es historias, pero si la tabla no sigue la convención (por ejemplo blogposts) debe ser especificada manualmente (set_table_name "blogposts"). Así, cuando se diseña una aplicación partiendo de cero sin una base de datos preexistente, el seguir las convenciones de Rails significa usar menos código (aunque el comportamiento puede ser configurado si el sistema debe ser compatible con un sistema heredado anterior) Arquitectura MVC de Rails En las aplicaciones web orientadas a objetos sobre bases de datos, el Modelo consiste en las clases que representan a las tablas de la base de datos. En Ruby on Rails, las clases del Modelo son gestionadas por ActiveRecord. Por lo general, lo único que tiene que hacer el programador es heredar de la clase ActiveRecord::Base, y el programa averiguará automáticamente qué tabla usar y qué columnas tiene. Las definiciones de las clases también detallan las relaciones entre clases con setencias de mapeo objeto relacional. Por ejemplo, si la clase Imagen tiene una definición has_many:comentarios, y existe una instancia de Imagen llamada a, entonces a.comentarios devolverá un array con todos los objetos Comentario cuya columna imagen_id (en la tabla comentarios) sea igual a a.id. Las rutinas de validación de datos (p.e. validates_uniqueness_of:checksum) y las rutinas relacionadas con la actualización (p.e. after_destroy:borrar_archivo, before_update:actualizar_detalles) también se especifican e implementan en la clase del modelo. En MVC, Vista es la lógica de visualización, o cómo se muestran los datos de las clases del Antonio Romero Solís Página 16

17 Controlador. Con frecuencia en las aplicaciones web la vista consiste en una cantidad mínima de código incluido en HTML. Existen en la actualidad muchas maneras de gestionar las vistas. El método que se emplea en Rails por defecto es usar Ruby Embebido (archivos.rhtml, desde la versión 2.x en adelante de RoR archivos.html.erb), que son básicamente fragmentos de código HTML con algo de código en Ruby, siguiendo una sintaxis similar a JSP. También pueden construirse vistas en HTML y XML con Builder o usando el sistema de plantillas Liquid. Es necesario escribir un pequeño fragmento de código en HTML para cada método del controlador que necesita mostrar información al usuario. El "maquetado" o distribución de los elementos de la página se describe separadamente de la acción del controlador y los fragmentos pueden invocarse unos a otros. En MVC, las clases del Controlador responden a la interacción del usuario e invocan a la lógica de la aplicación, que a su vez manipula los datos de las clases del Modelo y muestra los resultados usando las Vistas. En las aplicaciones web basadas en MVC, los métodos del controlador son invocados por el usuario usando el navegador web. La implementación del Controlador es manejada por el ActionPack de Rails, que contiene la clase ApplicationController. Una aplicación Rails simplemente hereda de esta clase y define las acciones necesarias como métodos, que pueden ser invocados desde la web, por lo general en la forma que invoca a EjemploController#metodo, y presenta los datos usando el archivo de plantilla /app/views/ejemplo/metodo.html.erb, a no ser que el método redirija a algún otro lugar. Rails también proporciona andamiaje, que puede construir rápidamente la mayor parte de la lógica y vistas necesarias para realizar las operaciones más frecuentes. Ejemplo de web hecha en Ruby on Rails: Antonio Romero Solís Página 17

18 Perl El lenguaje Perl toma su nombre de Practical Extraction and Report Language y fue ideado por Larry Wall. La primera versión sale en el año de Originalmente Larry Wall lo describe como un excelente lenguaje optimizado para leer archivos de texto, extraer información de esos archivos y crear reportes basados en esa información, combinando lo mejor de C, sed, awk y sh. Para los que conocen alguno de los lenguajes y herramientas antes mencionados, se podrán dar cuenta que la sintáxis del lenguaje es muy similar y no tendrán mucho problema en adoptarlo. Perl se considera un lenguaje interpretado, es decir, no es necesaria una previa compilación para poder ejecutarse, lo único que se necesita es darle al interprete, perl, el código que queremos que ejecute. Desde sus inicios Perl ha avanzado mucho y ahora se encuentra en la versión 5 con la versión 6 en pleno desarrollo. Cabe mencionar que Perl hoy en día es usado para una gran variedad de cosas, desde avanzados programas de seguridad hasta sencillos CGIs para administrar formularios. Uno de los fuertes de Perl es la existencia de CPAN, un directorio de módulos que podemos integrar a nuestros scripts para facilitarnos la vida. La estructura completa de Perl deriva ampliamente del lenguaje C. Perl es un lenguaje imperativo, con variables, expresiones, asignaciones, bloques de código delimitados por llaves, estructuras de control y subrutinas. Perl también toma características de la programación shell. Todas las variables son marcadas con un signo precedente (sigil). Los sigil identifican inequívocamente los nombres de las variables, permitiendo a Perl tener una rica sintaxis. Notablemente, los sigil permiten interpolar variables directamente dentro de las cadenas de caracteres (strings). Como en los shell, Perl tiene muchas funciones integradas para tareas comunes y para acceder a los recursos del sistema. Perl toma las listas del Lisp, hash (memoria asociativa) del AWK y expresiones regulares del sed. Todo esto simplifica y facilita todas las formas del análisis sintáctico, manejo de texto y tareas de gestión de datos. En Perl 5, se añadieron características para soportar estructuras de datos complejas, funciones de primer orden (p. e. clausuras como valores) y un modelo de programación orientada a objetos. Éstos incluyen referencias, paquetes y una ejecución de métodos basada en clases y la introducción de variables de ámbito léxico, que hizo más fácil escribir código robusto (junto con el pragma strict). Una característica principal introducida en Perl 5 fue la habilidad de empaquetar código reutilizable como módulos. Larry Wall indicó más adelante que "la intención del sistema de módulos de Perl 5 era apoyar el crecimiento de la cultura Perl en vez del núcleo de Perl". Todas las versiones de Perl hacen el tipificado automático de datos y la gestión de memoria. Antonio Romero Solís Página 18

19 El intérprete conoce el tipo y requerimientos de almacenamiento de cada objeto en el programa; reserva y libera espacio para ellos según sea necesario. Las conversiones legales de tipo se hacen de forma automática en tiempo de ejecución; las conversiones ilegales son consideradas errores fatales. 5.2 Valoración de alternativas al lenguaje de implementación. Después de observar las distintas tecnologías que tenemos disponibles actualmente, y teniendo en cuenta los objetivos planteados, realizaremos a continuación una valoración de todas ellas para concluir con que posibles candidatas de las descritas anteriormente como implementaciones alternativas, es la que más se ajusta a nuestras necesidades planteadas en este proyecto. Cold Fusion podría ser una alternativa totalmente válida, ya que posee una base de trabajo bastante sólida, escalable, multiplataforma, y además proporciona herramientas muy completas y muy bien diseñadas para los desarrolladores y todas sus partes (entorno de desarrollo, servidor de aplicaciones, etc.) están perfectamente integradas. Además, su lenguaje de scripting es relativamente sencillo de aprender, sobretodo si tenemos en cuenta que contamos con el apoyo de su entorno de desarrollo, que proporciona ayudas en lo referente al diseño visual. Sin embargo, al ser una solución propietaria, su coste de implantación (entre herramientas de desarrollo y servidor de aplicaciones) puede llegar a ser bastante alto (dependiendo de la versión de Cold Fusion que necesitemos comprar). Un efecto colateral de esto es el quedarnos ligados a una tecnología concreta de una empresa concreta (en este caso, Allaire), con lo que si alguna vez queremos cambiar de entorno de desarrollo y/o de servidor de aplicaciones, no podremos al ser Cold Fusion una solución propietaria. La única alternativa viable sería cambiar de alternativa y reimplementar todo el framework. Por lo tanto, no podemos aceptar Cold Fusion. Respecto a Servlets de Sun, es un estándar de referencia que puede implementar cualquier fabricante (Sun persigue conseguir beneficios económicos a través de la certificación de compatibilidad de los servidores de aplicaciones, y no de la tecnología en sí misma), y por ello, si la usáramos, nos ligaríamos a la tecnología y no al fabricante de ésta, que es lo ideal, ya que gracias a esto, existen multitud de servidores de aplicaciones y herramientas de desarrollo de multitud de fabricantes y para multitud de plataformas (incluso muchos de ellos son Open Source). Como consecuencia de esta gran variedad, la competencia es amplia y el rendimiento y la escalabilidad de los servidores de aplicaciones cae en un rango muy amplio, de modo que podamos gastarnos lo necesario (en función del número de clientes simultáneos que queramos tener) o incluso nada si decidimos elegir una alternativa Open Source o gratuita. Además, si en algún momento sentimos la necesidad de cambiar de servidor de aplicaciones o de plataformas por cualquier motivo, sería Antonio Romero Solís Página 19

20 totalmente viable, y con coste de implantación cero, ya que cualquier Servlet funcionará en cualquier plataforma y en cualquier servidor de aplicaciones (siempre que soporte Servlets, claro está) sin necesidad ni siquiera de recompilarlo, ya que están basados en Java (y por lo tanto, tenemos portabilidad total asegurada). Otra de las grandes ventajas de esta tecnología es el estar basada en Java, ya que además de proporcionarnos la portabilidad antes comentada, también nos proporciona acceso a casi cualquier base de datos, pero también de forma portable, ya que se utiliza para acceder a ellas una tecnología denominada JDBC, que posee propiedades parecidas a ODBC de Microsoft. Por todo lo expuesto, Servlets podría ser una alternativa válida para nuestro propósito. PHP cumple con los requisitos de ser multiplataforma (hasta Internet Information Server de Microsoft puede servir este tipo de páginas). Además también es un estándar abierto (en forma de Open Source), de modo que cualquier fabricante puede añadir soporte PHP en su servidor de aplicaciones. Además su rendimiento está a la altura de las demás plataformas (como Cold Fusion y Servlets). Sin embargo, PHP tiene algunos inconvenientes que hacen que sea una alternativa poco viable para nuestros propósitos. Quizás la más importante de ella es la poca cohesión entre módulos (de hecho, PHP no poseía por si mismo capacidad para mantener sesiones hasta hace poco tiempo). Existe una gran variedad de módulos externos que hacen que PHP pueda realizar casi de todo, pero precisamente al no existir relación alguna entre los desarrolladores de los distintos módulos, tenemos una falta de cohesión muy importante y debido a ello una gran falta de centralización: si queremos realizar alguna labor relativamente compleja, necesitaremos buscar distintos módulos para realizar las distintas partes de la misma (PHP carece de API potente). Además, PHP no es orientado a objetos, tiene pocas herramientas de desarrollo y finalmente, no posee una API genérica para acceder a bases de datos, lo que nos obligaría a utilizar código específico de la misma en nuestro desarrollo, contraponiéndose este aspecto a uno de nuestros objetivos fundamentales: la portabilidad. Por lo tanto, PHP, aunque casi aceptada, ha tenido que ser rechazada por la importancia tan vital que tiene para nosotros los accesos a bases de datos y por la falta de una API. Aunque por lo que verdaderamente se ha quedado fuera ha sido por la necesidad de un lenguaje de programación relativamente potente para realizar las tareas complejas que necesitaremos. En cuanto a las distintas tecnologías ASP de Microsoft (ASP y ASP.NET), decir, que al igual que Cold Fusion, serían una alternativa totalmente válida si no fuera porque son una tecnología propietaria de una empresa y por tanto nos ceñimos a ella. Pero este caso es aún peor que el Cold Fusion si cabe, ya que las páginas ASP sólo pueden ser servidas por los servidores de aplicaciones de Microsoft, que además sólo funcionan Antonio Romero Solís Página 20

21 bajo plataformas Microsoft. Esto quiere decir que además de tener que pagar por el servidor de aplicaciones y tener todos los inconvenientes que de ello se deriva (los mismos básicamente que para Cold Fusion), tendremos que pagar por un sistema operativo Microsoft y además adecuar el hardware de las plataformas (tanto de implantación como de desarrollo) a algo que pueda funcionar con un sistema operativo Microsoft en caso de que fuera necesario. Ahora bien, si por otro lado comparamos las páginas JSP, hemos podido apreciar al describir este tipo de lenguaje de implementación, que poseen una muy buena escalabilidad tanto en el tiempo de desarrollo (lo que significa que son mejores para proyectos grandes) como en tiempo de ejecución. Si teniendo en cuenta esto, y las comparamos con las páginas ASP, ya tenemos un punto en contraste de estas páginas, y un primer punto a favor de la tecnología JSP, ya que las ASP se tienen que recompilar cada vez que se las llama, perdiendo en este caso tiempo, rendimiento y calidad. Llegando a este punto y tras explicar como por el momento JSP le gana la partida a ASP y ASP.NET, podemos concluir que estas dos últimas quedan totalmente descartadas. Analizando un poco mejor la tecnología JSP y como acabamos de decir, son una mejor alternativa a las ASP de Microsoft. Estas páginas están basadas en Servlets, y también han sido desarrolladas por Sun. De hecho, poseen todas las ventajas de los Servlets en cuanto a portabilidad y escalabilidad, y además otras muchas, como por ejemplo la separación entre presentación y código. Debido a todo esto, concluimos que esta alternativa también sirve perfectamente para nuestros propósitos. Por otro lado tenemos la tecnología XSP. Esta tecnología no ha sido muy conseguida, y como consecuencia su utilización en el mundo de las Aplicaciones Web ha sido muy negativa. Unido esto a que todavía queda mucho por estudiar y desarrollar de ella si se quiere que compita con otras más extendidas, llegamos a la conclusión de que esta también queda totalmente descartada. En cuanto a la tecnología JSF: Este patrón nos permite/obliga a separar la lógica de control (sabe qué cosas hay que hacer pero no cómo), la lógica de negocio (sabe cómo se hacen las cosas) y la lógica de presentación (sabe como interactuar con el usuario). Utilizando este tipo de patrones conseguimos: más calidad, mejor mantenibilidad, perder el miedo al folio en blanco (tengo un patrón a seguir al empezar un proyecto),... pero una de las cosas más importantes es la normalización y estandarización del desarrollo de Software. Todo esto unido a que esta tecnología, si bien se puede decir que es una evolución de los famosos Struct, nos lleva a la primera impresión de que perfectamente es posible realizar nuestro proyecto con ella. Aunque como siempre se dice no es bueno quedarse con la primera impresión. Como toda evolución y actualización en cuanto a tecnologías, siempre las primeras suelen tener diversas lagunas, y es por ellos el que los desarrolladores no empiecen a tomárselas en serio hasta que llevan un tiempo al alcance de todos. Por tanto, JSF es una buena alternativa si no fuese porque es una evolución Antonio Romero Solís Página 21

22 realmente joven y que necesita todavía de numerosas revisiones hasta adecuarla a otras tecnologías. Como consecuencia hay que razonar que no sería en tal caso tan recomendable para nuestro proyecto, y en este caso la descartamos. Ahora hablaremos de Ruby on Rails. A pesar de ser una gran tecnología hemos encontrado desventajas a la hora de utilizarla. Por ejemplo, en cuanto al código, la forma de estructurarlo, será la que el propio Framework te dicte, ya que separa en carpetas cada capa de su modelo de desarrollo. Aunque esto pueda resultar incomodo para un desarrollador experto que desee hacer las cosas "a su manera", de cara al programador novato, es una grandísima ventaja, ya que sin quererlo, tendrá el código perfectamente ordenado. Otra desventaja y esta mucho mas "preocupante", es la cantidad de hosting o empresas de alojamiento web, que ofrecen servicio con soporte para este lenguaje. Pese a que Rubi on Rails nada más salir parecía netamente mejor que otras opciones como PHP o Java, se demuestra que realmente es débil donde PHP o Java son fuertes con lo que, si es mejor que PHP o Java, lo es sólo en parte. PHP y Java han ido absorbiendo o absorberán la mayoría de las ventajas de Rubi on Rails con lo que las razones para pasarse a esta tecnología desaparecerán casi completamente. Y finalmente, respecto a Perl, es una tecnología interesante que hemos podido estudiar poco, hemos encontrado alguna que otra desventaja, sobre todo para los usuarios de Windows. Los usuarios de Microsoft Windows normalmente instalan una distribución binaria de Perl. Compilar Perl desde el fuente bajo Windows es posible, pero la mayoría de las instalaciones no disponen del necesario compilador de C. La capa de emulación Cygwin proporciona otra forma de correr Perl bajo Windows. Cygwin proporciona en entorno parecido al Unix en Windows que incluye gcc, por lo que compilar Perl desde el código es una opción accesible para los usuarios que prefieren esta opción. Sin embargo, Perl está instalado por defecto en las distribuciones más populares de GNU/Linux incluyendo Gentoo, Mandriva, Debian, RedHat y SUSE. Por otro lado, las implementaciones Perl normalmente toman más memoria que las implementaciones en otros lenguajes, y esto varía los resultados de velocidad. Las prestaciones de Perl son similares a las de otros lenguajes como Java, Python, PHP o Ruby, pero más lento que la mayor parte de lenguajes compilados. Tras analizar todas las tecnologías de implementación que podíamos haber elegido para desarrollar nuestro proyecto, hemos llegado a la siguiente conclusión: Repasando las tecnologías, nos damos cuenta de que sólo aquellas basadas en Java han sido seleccionadas. Como se puede desprender de la evaluación anterior, los Antonio Romero Solís Página 22

23 motivos por los cuales se han seleccionado han sido básicamente, el hecho de ser multiplataforma, tecnologías abiertas, escalables y coherentes, de modo que tengan un rendimiento alto y proporcionen libertad tanto a la hora de hacer el desarrollo como a la hora de hacer la implantación (en lo referente a herramientas y plataformas). La elección entre Servlets o JSP es bastante dura, ya que, en principio, no hay nada que se pueda hacer con un Servlet y que no se pueda hacer con un JSP. Pero ambos proporcionan ventajas e inconvenientes. Los JSP son más aptos para realizar diseños cambiantes, es decir, aquellos que requieren tener a un diseñador constantemente modificando el código HTML y objetos multimedia de la página, ya que JSP se desarrolló para poder separar la implementación de la presentación, de manera que se pudieran tener dos equipos de desarrollo distintos sin que interfirieran unos con otros. Sin embargo, a la hora de realizar muchas tareas complejas en el lado del servidor (control de concurrencia, control de cambios, sensibilidad...) es mejor utilizar un Servlet. El motivo principal es que el JSP puede volverse demasiado complicado si necesitamos programar mucho, ya que tendríamos que utilizar JavaBeans para encapsular comportamientos y además tratar todos los eventos dentro del mismo JSP, con lo que perdemos buena parte de la versatilidad que proporcionan éstos para separar la presentación de la programación. Además, hay tareas complejas que no podemos realizar, como por ejemplo, extender la clase Servlet para crear superclases que, por ejemplo, realicen una caché automática de las peticiones; es decir, el programador de aplicaciones pierde el control total sobre el entorno de ejecución que tiene cuando utiliza Servlets puros. Debido a todo ellos, nuestra decisión ha sido la utilización de las dos tecnologías: JSP y Servlet. Hemos llegado a la conclusión de que las dos tecnologías se complementan perfectamente a las lagunas que poseen cada una de ellas. Por un lado, para el diseño de las pantallas que dan formato a lo que más tarde visualizará el usuario utilizaremos las páginas JSP; mientras que por otro lado, utilizaremos los Servlet para el control de la Aplicación, el cual es el verdadero punto duro que tiene todo proyecto de esta envergadura. A esta utilización de las dos tecnologías conjuntamente se le conoce como modelo 2 de los JSP o modelo MVC (Modelo Vista Controlador). Antonio Romero Solís Página 23

24 5.3 Sistemas Gestores de Bases de Datos Los Sistemas de gestión de base de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Actualmente existen muchos, algunos de ellos de pago, y otros libres, sin significar esto que éstos últimos ofrezcan menos posibilidades que los de pago. A continuación, describimos aquellos más utilizados en la actualidad por los diseñadores implementadores Web Oracle Es un Sistema de Gestión de Base de Datos relacional fabricado por la compañía Oracle Corporation. Oracle surge a finales de los 70 bajo el nombre de Relational Software a partir de un estudio sobre SGBD (Sistemas Gestores de Base de Datos) de George Koch. Computer World definió este estudio como uno de los más completos jamás escritos sobre bases de datos. Este artículo incluía una comparativa de productos que erigía a Relational Software como el más completo desde el punto de vista técnico. Esto se debía a que usaba la filosofía de las bases de datos relacionales, algo que por aquella época era todavía desconocido. Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: * Soporte de transacciones. * Estabilidad. * Escalabilidad * Es multiplataforma. Su mayor defecto es su enorme precio, que es de varios miles de euros (según Antonio Romero Solís Página 24

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

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

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

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages).

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages). 2.3. Lenguajes de programación del lado Servidor Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota más a fondo ciertas características que lo hacen más o menos útiles

Más detalles

Unidad V: Programación del lado del servidor

Unidad V: Programación del lado del servidor Unidad V: Programación del lado del servidor 5.1 Introducción al lenguaje La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante

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

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

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

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

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

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

Popularidad comparada de PHP vs ASP, y posibles causas

Popularidad comparada de PHP vs ASP, y posibles causas Popularidad comparada de PHP vs ASP, y posibles causas PHP y ASP Quienes son? PHP significa Hypertext Preprocessor. PHP se originó como una herramienta de scripting que se ha dado de forma rápida a través

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

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Departamento de Lenguajes y Sistemas Informáticos Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Curso 001-00 ASP, CFM, JSP y PHP (I) Diferente tecnologías con un mismo propósito: proporcionar

Más detalles

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá Gestor de Contenidos CMS Que es un CMS? CMS son las siglas de Content Management System, que se traduce directamente al español como Sistema Gestor de Contenidos. Como su propio nombre indica, es un sistema

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

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

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

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

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14 EVALUACIÓN A TRAVÉS DE LA WEB: EL SISTEMA TUTORMAP 1 R.Criado, D.Martín y S. Sánchez (GIEMATI, Dpto. de CC. Experimentales e Ingeniería de la URJC) Resumen En este trabajo se describen las características

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

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

SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web

SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web José-María Zamanillo, Daniel Franco, Isabel Zamanillo, Constantino Pérez-Vega Estructura

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

aplicaciones web: ASP, CFM, JSP y PHP

aplicaciones web: ASP, CFM, JSP y PHP Departamento de Lenguajes y Sistemas Informáticos Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP Curso 2001-2002 Sergio Luján Mora ASP, CFM, JSP y PHP (I) Diferente tecnologías con un

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

CMS JOOMLA. Características

CMS JOOMLA. Características CMS JOOMLA Joomla es un sistema gestor de contenidos dinámicos (CMS o Content Management System) que permite crear sitios web de alta interactividad, profesionalidad y eficiencia. La administración de

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

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 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

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

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

i@c Presentación de servicios

i@c Presentación de servicios i@c Presentación de servicios I n t e r n e t d e A l t a C a l i d a d, S. A. d e C. V. http://www.iac.com.mx/ Tel: +52 (55) 5575-0151 info@iac.com.mx Servicios de Internet Desarrollo de software Software

Más detalles

CATÁLOGO DE FORMACIÓN 2011-2012

CATÁLOGO DE FORMACIÓN 2011-2012 Soluciones FORMACION CATÁLOGO DE FORMACIÓN 2011-2012 SAGA FORMACIÓN C/ Salado 11 local 10 CP 41010 Sevilla 954 45 72 75 F. 954 45 75 72 formacion@sagasoluciones.com 00 Presentación La Formación, un factor

Más detalles

Descripción. Este Software cumple los siguientes hitos:

Descripción. Este Software cumple los siguientes hitos: WWWMONITORDBACOM Descripción Este Software cumple los siguientes hitos: a- Consola de Monitoreo b- Envío de Alertas (correo, SMS) c- Gestión de Eventos desatendidos (sea capaz ejecutar script de solución

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

- 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

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

Tema 3. 3.3 Tecnologías de Desarrollo

Tema 3. 3.3 Tecnologías de Desarrollo Tema 3 3.3 Tecnologías de Desarrollo HTML pronto pasa a ser insuficiente para todas las posibilidades de la Red No se puede interactuar con el servidor Aparecen los primeros scripts para propocionar dichar

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

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

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Entre los más conocidos editores con interfaz de desarrollo tenemos: Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje

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

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

SIEWEB. La intranet corporativa de SIE

SIEWEB. La intranet corporativa de SIE La intranet corporativa de SIE por ALBA Software Acceso a los servicios SIE desde páginas Web para los usuarios de sistema *. Administración del Sistema (cuentas de usuarios, permisos, servicios, etc...)

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

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

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

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: http://www.ucv.edu.pe/cis/ cisvirtual@ucv.edu.pe. 1.

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: http://www.ucv.edu.pe/cis/ cisvirtual@ucv.edu.pe. 1. INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD 1 Estructura de contenidos: 1. Programación Web 2. Sistema De Información 3. Sistema Web 4. Requisitos Para Sistemas Web Con Asp 5. Internet Information Server

Más detalles

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es Juantomás García GNOME Hispano juantomas@lared.es Qué es el proyecto MONO?. Estado actual del proyecto. Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto

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

La elección de Blogger como la plataforma o lugar donde

La elección de Blogger como la plataforma o lugar donde 1. INTRODUCCIÓN La elección de Blogger como la plataforma o lugar donde alojar nuestro blog es adecuada si no deseamos complicarnos con la instalación de un servidor propio, con todo lo que ello conlleva:

Más detalles

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu http://releases.ubuntu.com/.

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu http://releases.ubuntu.com/. Instalación GNU/Linux Ubuntu -10.04.3-server-i386 Con la ayuda de este sencillo manual podemos ver como instalar Un servidor GNU/Linux, en este caso utilizaremos la distribución Ubuntu -10.04.3-server-i386

Más detalles

La Digitalización del Ayuntamiento. Gestión Integral

La Digitalización del Ayuntamiento. Gestión Integral prosoft.es La Digitalización del Ayuntamiento. Gestión Integral Desarrollamos su proyecto para el Fondo de Inversión Local El Real Decreto-ley, que crea el Fondo de 5.000 millones de euros, fue aprobado

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

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

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

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

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

Archivo de correo con Microsoft Outlook contra Exchange Server

Archivo de correo con Microsoft Outlook contra Exchange Server Archivo de correo con Microsoft Outlook contra Exchange Server Resumen Con este proceso de archivado, lo que pretendemos es guardar nuestro correo en un archivo de datos, para así poder realizar una copia

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

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

Características y Beneficios

Características y Beneficios Características y Beneficios Caché Características y Beneficios Caché, la base de datos multidimensional de alto rendimiento de InterSystems, ofrece a los desarrolladores profesionales las prestaciones

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

OpenProdoc. ECM Open Source

OpenProdoc. ECM Open Source OpenProdoc ECM Open Source Índice Visión General Arquitectura Funciones Seguridad Administración Requerimientos Evolución Visión General OpenProdoc es un gestor documental de código abierto. Cuenta con

Más detalles

CONSTRUCCIÓN DE PORTALES

CONSTRUCCIÓN DE PORTALES Curso «Los portales de internet». Fac. Documentación. Universidad de Murcia. 29 CONSTRUCCIÓN DE PORTALES Juan Antonio Pastor Sánchez 1. Introducción La Gestión de los contenidos informativos de los portales

Más detalles

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web. Sesión 01: Introducción a los lenguajes web COMPUTACION E INFORMATICA WEB DEVELOPPER III Competencias a Conseguir: - Introducción general a la programación web. - Conocer y diferenciar el concepto de páginas

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

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

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

Windows Server 2003. Windows Server 2003

Windows Server 2003. Windows Server 2003 Windows Server 2003 Windows Server 2003 Es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión

Más detalles

Módulos: Módulo 1. El núcleo de Linux - 5 Horas

Módulos: Módulo 1. El núcleo de Linux - 5 Horas Módulos: Módulo 1 El núcleo de Linux - 5 Horas En este módulo se centrará en el estudio en profundidad del núcleo de Linux. Los estudiantes tendrán que ser capaces de conocer en profundidad los distintos

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

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

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2) 1. Qué es un sistema operativo?...2 2. Funciones de los sistemas operativos...2 3. Windows...2 3.1. La interfaz gráfica...2 3.2. La administración y los usuarios...3 3.3. El sistema de archivos...3 3.4.

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

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

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha

Más detalles

Utilidades de la base de datos

Utilidades de la base de datos Utilidades de la base de datos Desde esta opcion del menú de Access, podemos realizar las siguientes operaciones: Convertir Base de datos Compactar y reparar base de datos Administrador de tablas vinculadas

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

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS SISTEMA DE ESPECIICACION DE REQUERIMIENTOS Presentado por: Jefferson Peña Cristian Álvarez Cristian Alzate 10 CONTENIDO 1. INTRODUCCIÓN 1.1. PROPÓSITO 1.2. AMBITO DEL SISTEMA 1.3. DEFINICIONES, ACRÓNIMOS

Más detalles

SMSPymeX: SISTEMA AUTOMATIZADO DE RECEPCIÓN DE PEDIDOS MEDIANTE MENSAJES DE TEXTO SMS

SMSPymeX: SISTEMA AUTOMATIZADO DE RECEPCIÓN DE PEDIDOS MEDIANTE MENSAJES DE TEXTO SMS SMSPymeX: SISTEMA AUTOMATIZADO DE RECEPCIÓN DE PEDIDOS MEDIANTE MENSAJES DE TEXTO SMS D. Úbeda González, H. F. Migallón Gomis Dpto. Física y Arquitectura de Computadores, Universidad Miguel Hernández {ubeda,hmigallon}@umh.es

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Instalar y configurar W3 Total Cache

Instalar y configurar W3 Total Cache Instalar y configurar W3 Total Cache en WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La velocidad de carga de una web influye mucho a la hora de mejorar el

Más detalles

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO En la actualidad la mayoría de las grandes empresas cuentan con un sin número de servicios que ofrecen a sus trabajadores y clientes. Muchos de estos servicios

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES CAPITULO IV CONCLUSIONES Y RECOMENDACIONES VERIFICACIÓN DE OBJETIVOS El objetivo general del proyecto ha sido cumplido satisfactoriamente en la Unidad de Sistemas de PETROECUADOR, realizando el análisis

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

- MANUAL TÉCNICO - Implantación de software de Marketing Online

- MANUAL TÉCNICO - Implantación de software de Marketing Online - MANUAL TÉCNICO - Implantación de software de Marketing Online Rev. 01- MAYO 2013 Implantación de software de Marketing Online Teléfono Adeada: 945 253 388 Email Adeada: adeada@adeada.com REALIZADO POR:

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

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 3 Abril 2006 Índice 1. Generalidades... 3 1.1

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

INTRODUCCIÓN A PHP. Javier Enciso

INTRODUCCIÓN A PHP. Javier Enciso INTRODUCCIÓN A PHP Javier Enciso AGENDA Qué es PHP? Cómo funciona PHP? Instalación QUÉ ES PHP? QUÉ ES PHP? (1/7) PHP (acrónimo de "PHP: Hypertext Preprocessor"). Lenguaje interpretado de alto nivel embebido

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

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

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. WINDOWS Windows, Es un Sistema Operativo. Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. Dentro de los tipos de Software es un tipo de software de Sistemas. Windows

Más detalles

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles