IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA

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

Download "IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA"

Transcripción

1 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO TÉCNICO EN INFORMÁTICA DE GESTIÓN PROYECTO FIN DE CARRERA IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA AUTOR: Alejandro Coca Marqués MADRID, Junio de 2009

2 AGRADECIMIENTOS Me gustaría agradecer a VASS por darme la oportunidad de llevar a cabo este proyecto. Quiero agradecer a mis padres y a mi hermano Jorge por todo el apoyo que me ofrecen. Además, quiero dar las gracias a Lucia, por estar ahí siempre que la he necesitado y por todo el cariño que siempre me aporta. Por último, querría agradecer a la Universidad Pontificia de Comillas por su formación a lo largo de estos años. IMPLANTACIÓN DE PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA ii

3 RESUMEN En el mundo laboral, para conseguir los objetivos marcados es necesaria una correcta planificación y organización. Si nos organizamos adecuadamente las distintas tareas y eventos que tengamos, existe una alta probabilidad de conseguir realizar todo en su momento justo, sin olvidarnos tarea alguna, optimizando de la mejor forma posible el tiempo disponible. Con el paso de los años, cada uno de nosotros tiene más responsabilidades detrás de sí, y sería casi imposible realizarlas sin la ayuda de algún tipo de asistente, ya sea humano o bien informático, que nos ayude a recordar cada tarea que debemos realizar. Vivimos tiempos de crisis, donde el tiempo es lo que más rápido transcurre, y dependemos en gran parte de una correcta organización para sacarle el mayor partido. Partiendo de esta premisa, se entiende más fácilmente la necesidad de una agenda/calendario para gestionar nuestras distintas citas. Ya sea para una empresa o para un particular, hoy en día existen multitud de aplicaciones informáticas gracias a las cuales podemos planificarnos mejor cada día. Con estas ideas se ha buscado implantar y desarrollar una aplicación web, basándose en todas las tecnologías existentes, que sirvan de apoyo para organizar cada evento y tarea que se tenga pendiente. Se quería encontrar una forma de que toda la información se almacenase de forma precisa y concisa, y gracias a la cual no se olvidase nada en ningún momento. Disponiendo de diversas formas de aviso, ya sea vía mail o vía móvil, la aplicación avisará de los distintos eventos que tenemos programados. La aplicación implantada puede ser utilizada también para cualquier empresa, ya que estando basada en programas Open Source, está al alcance de cualquier usuario. Se podrá configurar para que existan distintos usuarios, ya sean administradores o bien invitados con acceso al calendario, pero sin permiso algún de modificarlo. El administrador puede tener un control total de la aplicación, manejando los distintos contenidos de forma que sean accesibles para unos u otros. IMPLANTACIÓN DE PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA iii

4 La aplicación está desarrollada en Java, ya que se trata de un portlet que cumple todas las especificaciones requeridas. Gracias a esto, la portabilidad de la aplicación es plena, teniendo la facilidad de exportarlo e importarlo en otro entorno, conservando toda su configuración y la información almacenada. En resumen, este Proyecto Fin de Carrera trata de responder a la necesidad de muchas empresas y de un problema real, como es la falta de organización. Empleando todos los conocimientos aprendidos a lo largo de la carrera y con la ayuda de profesionales de distintos sectores, se ha buscado lo que se cree que sería la mejor solución. IMPLANTACIÓN DE PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA iv

5 ABSTRACT In order to meet one s objectives in the workplace, appropriate organisation is essential. With an adequate planning of different tasks and events, it is highly likely that these will be attended in due course and time will be optimised most efficiently. As one develops professionally, responsibilities tend to increase in the workplace. It would seem difficult to attend the latter without an assistant, whether human or electronic, which would remind all tasks that come due. In today s current crisis, time elapses rapidly and it is imperative to optimise it appropriately. Given this premise, one will be able to fully understand the need of an agenda/calendar to manage one s diverse commitments and appointments. Whether at the corporate or individual level, there is a multitude of IT applications which can facilitate one s daily organisation. Given the above context, we have attempted to develop and implement a web application, with the help of all existing technologies, which would support one s time management. We have tried to devise an application which would accurately and concisely retain all our calendar details and send reminders via or mobile phone. The application has been developed in Java as a portlet which meets all the required specifications. The end-result is an application which is purely portable and facilitates transport and operability in different environments whilst maintaining its configuration and stored information. As a result of its Open Source programming base, the application could potentially be utilised in all corporate and individual environments. It could be configured for several users, whether administrators or guests with read-only access. Aside from determining user access, administrators would ultimately manage the application and use all of its specifications to ensure a seamless and user-friendly experience for all users. All in all, this Bachelor Thesis attempts to address the lack of organisation in corporate environments and devise a potential alternative to ultimately improve performance and efficiency. With the assistance of all the skills and knowledge acquired IMPLANTACIÓN DE PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA v

6 throughout our studies and the support of reputed professionals from different fields we have thus tried to present a best-in-class solution. IMPLANTACIÓN DE PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA vi

7 ÍNDICE 1. INTRODUCCIÓN Motivación del Proyecto Objetivos METODOLOGÍA DE TRABAJO Elección de la Metodología Principios de funcionamiento de la gestión ágil Estructura ágil de Scrum Concepto Especulación Exploración Revisión Cierre Requisitos para el desarrollo de una Aplicación Web El por qué de una Metodología de Desarrollo Web? Evolución de las metodologías de Desarrollo Web Fases del Desarrollo Web ESTADO DEL ARTE Aplicaciones web Portales y Portlets Definición de portal Portlet Funcionamiento de un portlet Trabajar con Servidores de Portales Opciones de calendario colaborativo ANÁLISIS DE REQUISITOS Lista de requisitos Modelo de Casos de Uso Diagrama de casos de uso Módulo administración Módulo empleado Documento de casos de uso Listado de casos de uso Descripción de casos de uso DISEÑO Inicio Página Principal Añadir/Modificar un evento Opciones Usuario IMPLANTACIÓN DE PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA vii

8 5.5 Menús de Confirmación ESTUDIO DE LA ARQUITECTURA Especificación Alternativas Alternativas de Servidores Web Alternativa Servidor Web 1: APACHE Alternativa Servidor Web 2: CHEROKEE Alternativa Servidor Web 3: IIS Servidor Web Seleccionado: APACHE Alternativas de Bases de Datos Alternativa de Base de Datos 1: MySQL Alternativa de Base de Datos 2: ORACLE Alternativa de Base de Datos Seleccionada: MySQL Alternativas de Servidores de Portales Alternativas de Servidor de Portales Seleccionada: Liferay Arquitectura Técnica Elegida Herramientas software y hardware necesarias IMPLANTACIÓN DEL SISTEMA VALORACIÓN ECONÓMICA Y PLANIFICACIÓN DEL PROYECTO CONCLUSIONES ANEXOS BIBLIOGRAFÍA IMPLANTACIÓN DE PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA viii

9 Capítulo 1. Introducción Capítulo 1 1. Introducción En este capítulo se realizará una introducción al proyecto, recogiendo las motivaciones y objetivos del mismo. 1.1 Motivación del Proyecto La organización y planificación de las tareas es uno de los pilares principales sobre los que se sostiene cualquier empresa. Esta organización es clave para la consecución de las distintas tareas, basando todos nuestros éxitos, en la forma en la que nos hemos planificado desde el primer instante. Partiendo de esta premisa, nace la motivación e ilusión, de implantar en la empresa una aplicación agenda/calendario, gracias a la cual tanto la empresa como el usuario final queden plenamente satisfechos del trabajo realizado por la misma. Este proyecto, combina una amplía carga teórica, basada en todo el análisis y estudio a realizar, para conocer el estado actual de las distintas tecnologías, y encontrar cual sería la mejor solución para la consecución de los objetivo marcados. Atendiendo a las motivaciones personales, los factores más relevantes a tener en cuenta son los siguientes: Desarrollar un proyecto de software que se vaya a aplicar en la vida real. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 2

10 Capítulo 1. Introducción Aprender nuevas tecnologías, gestores y métodos para programar de manera eficiente. Poner en práctica todos los conocimientos aprendidos durante la carrera. Perfeccionar conocimientos ya aprendidos como JAVA, HTML, etc. Trabajar en una empresa por primera vez, gracias a la oportunidad que una empresa como VASS me brinda. 1.2 Objetivos El objetivo fundamental de este proyecto es implantar una aplicación Portlet Calendario, que permita al usuario la organización y planificación de su agenda y calendario. Sin embargo, existen además, un conjunto de objetivos secundarios que se tienen que cumplir, para conseguir la eficiencia de este proyecto. Estos objetivos son los que se citan a continuación: Seleccionar y elegir los datos más curiosos para que la aplicación sea más completa y vistosa. Realizar un trabajo fácil de entender, acceder y utilizar por todas las personas de VASS que son ajenos al realizador del proyecto. Capacidad para abordar cada uno de los requisitos propuestos por VASS. Esto significa que cada cierto tiempo se pueden solicitar nuevas necesidades que deberán de ser incluidas de la manera más rápida y eficaz posible en el sistema desarrollo. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 3

11 Capítulo 2. Metodología de Trabajo Capítulo 2 2. Metodología de Trabajo En este apartado se muestra la metodología utilizada, con sus detalles y explicación de dicha elección, así como algunos conceptos generales referentes a distintos aspectos del entorno del proyecto Elección de la Metodología Los procesos de producción empleados por la gestión de proyectos tradicional tienen como finalidad la predictibilidad de los resultados: conseguir el trabajo planificado (y conocido de antemano) en el plazo planificado y por el coste previsto. En este proyecto se va a utilizar una metodología ágil y distinta a las tradicionales. La gestión ágil no tiene un carácter predictivo o de anticipación. No conoce de antemano el detalle del producto o servicio que va a desarrollar; por eso su objetivo no es la fiabilidad en el cumplimiento de los planes, sino en el valor del resultado. Los procesos de la gestión tradicional son buenos cuando consiguen desarrollar de forma repetible los productos especificados en el tiempo y con los costes previstos. La fiabilidad es un valor relativo al modelo de gestión de proyectos empleado. Un modelo de gestión predictiva es fiable si obtiene el producto definido, en las fechas y con los costes estimados. Un modelo de gestión ágil es fiable si entrega de forma temprana, y repetida valor innovador. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 4

12 Capítulo 2. Metodología de Trabajo 2.2. Principios de funcionamiento de la gestión ágil La forma de gestión puede y debe adaptarse a las circunstancias del proyecto. La forma debe ser un buen acomodo, apropiado a la organización y al proyecto, para que puedan trabajar los principios que hacen funcionar el desarrollo ágil: 1.- Operación preparada para responder al cambio, no para cumplir un plan. 2.- Reducción al mínimo indispensable de las especificaciones documentadas como textos. Preferencia por prototipos ligeros (dibujos o representaciones de interfaz, simulaciones) o pesados (prototipos operativos o partes del sistema ya terminadas). 3.- Implicación activa del cliente en el equipo de desarrollo. 4.- Valor del conocimiento tácito de las personas y de su interacción por encima del conocimiento de los procesos Estructura ágil de Scrum. El patrón de ciclo de vida de un modelo de desarrollo ágil está compuesto de cinco etapas: Figura 2.3: Estructura Ágil de Scrum IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 5

13 Capítulo 2. Metodología de Trabajo Concepto En la fase de concepto se crea la visión del producto o servicio que quiere obtener. Se decide y selecciona al equipo de personas que lo llevará a cabo. Partir sin una visión determinada produce esfuerzo baldío. Igual que para una empresa, la visión es un factor crítico para el éxito del proyecto. Se necesita tener la visión de lo que se quiere, y conocer el alcance del proyecto. Esta información la deben compartir todos los integrantes del equipo Especulación Una vez que se dispone de la visión de lo que se quiere conseguir, el equipo especula y construye hipótesis sobre la información de la visión, que es muy general e insuficiente para determinar las implicaciones de un desarrollo (requisitos, diseño, costes ). En esta etapa se determinan las limitaciones impuestas por el entorno de negocio (costes y agendas principalmente) y se determina la primera aproximación de lo que se puede producir. La gestión ágil investiga y desarrolla tomando como partida la visión del producto. Durante el desarrollo confronta la realidad de lo que va obteniendo. Su valor, posibilidades y la situación de negocio del entorno en cada momento. La etapa de especulación se repite en cada iteración del desarrollo, y teniendo como referencia la visión y el alcance del proyecto consiste en: Desarrollo / revisión de los requisitos generales del producto. Desarrollo de una lista con las funcionalidades esperadas. Construcción de un plan de entrega: Fechas en las que se necesitan las versiones, hitos e iteraciones del desarrollo. Este plan refleja ya el esfuerzo que consumirá el proyecto durante el tiempo. En función de las características del modelo de gestión y del proyecto puede incluir también estrategias o planes para la gestión de riesgos. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 6

14 Capítulo 2. Metodología de Trabajo Si las exigencias de cumplimiento de la organización lo requieren, también se generan información administrativa y financiera Exploración Desarrollo de las funcionalidades que para generar el siguiente incremento de producto, ha determinado el equipo en la etapa anterior Revisión El equipo y los usuarios revisan las funcionalidades construidas hasta ese momento. Trabajan y operan con el producto real para determinar su alineación y dirección con el objetivo Cierre Al llegar a la fecha de entrega de una versión de producto (fijada en la fase de concepto y revisada en las diferentes fases de especulación), se obtiene el producto esperado Requisitos para el desarrollo de una Aplicación Web. Los requisitos que vamos a destacar en una Aplicación Web, son los siguientes: Evolución orgánica. Es un aspecto fundamental en el ámbito de la web, donde tanto el contenido como los requisitos de las aplicaciones evolucionan a una velocidad vertiginosa. Esto es en parte debido a que los clientes de este tipo de aplicaciones suelen tener un conocimiento muy pobre de sus necesidades y de las posibilidades del sistema. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 7

15 Capítulo 2. Metodología de Trabajo Seguridad en la comunicación. Debido a que las aplicaciones web se encuentran disponibles a través de una red, es difícil limitar el grupo de usuarios finales que pueden acceder a ella. Es por ello que se hacen necesarios mecanismos para proteger información sensible y proporcionar modos seguros de transmisión de datos. Calidad (margen de error cero). La permisividad mostrada por los usuarios ante los errores en aplicaciones Web (robustez, facilidad de uso o rendimiento) es muy limitada: enlaces erróneos o información desactualizada provocan la pérdida de usuarios de la aplicación. Es por ello que en el desarrollo de este tipo de aplicaciones es primordial disponer de mecanismos exhaustivos de control de calidad que minimicen las posibilidades de fracaso de la aplicación. Velocidad. El uso intensivo de la red provoca que la elección de protocolos de comunicación y el mantenimiento de una velocidad de acceso adecuada sean una parte clave de diseño de dichas aplicaciones. Importancia de la interfaz. La necesidad de implementar interfaces de usuario más intuitivas, capaces de capturar la atención del usuario y facilitar el acceso a la información a aquéllos que poseen una habilidad limitada en el uso de aplicaciones informáticas. Necesidad de personalización. Debido, a la facilidad de migración del usuario a otras aplicaciones y la variedad de este tipo de aplicaciones, la personalización es un elemento significativo del diseño, y da valor añadido a un contenido que debe además ser accesible y estar actualizado. A estos requisitos debemos añadirles seguridad de la propia aplicación, escalabilidad, disponibilidad, interoperabilidad con sistemas propietarios, etc. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 8

16 Capítulo 2. Metodología de Trabajo El por qué de una Metodología de Desarrollo Web? Los principales problemas que nos encontramos es la falta de fiabilidad, seguridad, escalabilidad, mantenimiento, integración y la alta dependencia para su desarrollo e implantación junto con la falta de estándares. Lo que deseamos es controlar el caos que han provocado en el pasado procesos creativos de desarrollo con el fin de proporcionar un proceso sistemático orientado a la mejora de la calidad de la aplicación final. En esta nueva disciplina se parte de la base de que las necesidades de evolución, mantenimiento, la adaptación a nuevos dispositivos de acceso y la migración a nuevas plataformas y entornos de desarrollo deben dirigir el proceso del ciclo de vida. Para todo esto se han desarrollado metodologías que permiten estructurar comunicar, entender, simplificar y formalizar tanto el dominio como las decisiones de diseño, así como disponer de documentación detallada para posibles cambios del software. Figura 2.5: Desarrollo web 2.6 Evolución de las metodologías de Desarrollo Web. Las distintas metodologías se pueden dividir en tres generaciones en base a su sofisticación, estas son: IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 9

17 Capítulo 2. Metodología de Trabajo - Primera Generación:(Principios de los 90) Se sientan las bases de la ingeniería Web, en los que se incluyen conceptos como construcción de navegación, separación entre estructuras y el contenido durante el ciclo de desarrollo. - Segunda Generación: (Segunda mitad de los 90) Se refinan los primeros modelos y se añaden los soportes de funcionalidad básica y se llevan a cabo los primeros esbozos de proceso donde se delimitan los modelos conceptual, lógico y físico. - Tercera generación: (A partir del 2000): Se lleva a cabo la profundización en el soporte para la funcionalidad, enfatización de la figura del usuario en los métodos, y se avanza hacia la estandarización de notaciones, procesos y lenguajes de especificación. 2.7 Fases del Desarrollo Web. Figura 2.7: Fases del desarrollo web Para simplificar la captura de las necesidades de las aplicaciones web, UWE propone una extensión que se utiliza a lo largo del proceso de autoría. Este proceso de autoría está dividido en cuatro pasos o actividades: IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 10

18 Capítulo 2. Metodología de Trabajo Análisis de Requisitos: Fija los requisitos funcionales de la aplicación Web para reflejarlos en un modelo de casos de uso. Diseño Conceptual: Materializado en un modelo de dominio, considerando los requisitos reflejados en los casos de uso. Diseño Navegacional: Lo podemos subdividir en: - Modelo del Espacio de Navegacional. - Modelo de la Estructura de navegación: Muestra la forma de navegar ante el espacio de navegación. Diseño de Presentación: Representa las vistas del interfaz del usuario. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 11

19 Capítulo 3. Estado del Arte Capítulo 3 3. Estado del Arte En este apartado se realiza una introducción al mundo de las aplicaciones web. Explicaremos en qué consiste una aplicación web, los distintos elementos que la componen, y como re relacionan entre ellos. Se explicará el porqué del uso de diversas tecnologías frente a otras, mostrando de esta forma las diferencias entre ellas, y cuales a nuestro parecer, son las que mejor se acercan a los requisitos que nosotros buscamos. Debemos de comprender términos como aplicaciones web o herramientas colaborativas para posteriormente entender de la mejor forma posible lo que es un portlet, y el que es lo que se trata de implementar en este proyecto. La tecnología avanza de forma muy deprisa hoy en día y es imprescindible que tengamos un mínimo conocimiento de las tecnologías existentes Aplicaciones web Una aplicación web es un sistema de información donde una gran cantidad de datos volátiles, altamente estructurados, van a ser consultados, procesados y analizados mediante navegadores. Una de las principales características va a ser su alto grado de interacción con el usuario, y el diseño de su interfaz debe ser claro, simple y debe estar estructurado de tal manera que sea orientativo para cada tipo de usuarios. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 12

20 Capítulo 3. Estado del Arte Figura 3.1: Aplicaciones Web Las Aplicaciones Web tienen una serie de rasgos comunes que diferencia a unos tipos de aplicaciones software de otros, y que son: Desde el punto de vista del usuario, se ha universalizado su accesibilidad: Actualmente un usuario experto y un usuario con habilidad limitada en el uso de aplicaciones informáticas acceden al mismo tipo de aplicación. Aún más, el número y tipo de usuario de las Aplicaciones Web no siempre es predecible, lo que obliga a tener el concepto de facilidad de uso aún más presente que en otros tipos de aplicaciones. Desde el punto de vista de la plataforma se realiza un uso intensivo de la red y la conexión se establece desde distintos tipos de dispositivo de acceso. Desde el punto de vista de la información, asistimos en la actualidad a una disponibilidad global de fuentes heterogéneas de información, estructurada y no estructurada, pertenecientes a distintos dominios y que colaboran en el cumplimiento de los objetivos de la aplicación. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 13

21 Capítulo 3. Estado del Arte Figura 3.1.2: Alcance infinito de las aplicaciones web Portales y Portlets Un portlet (o colección de portlets) se asemeja a una aplicación web que está hospedada en un portal. Para que entendamos que es un portlet y cual es su uso, debemos entender que son los gestores de contenidos y el significado de un portal. En muchas organizaciones hace tiempo que se han dado cuenta de la necesidad de gestionar contenidos y servicios presentes en su intranet, lo que les ha llevado directamente a hacer inversiones en Gestores de Contenidos (CMS) y en sistemas de gestión documental. Los CMS, permiten la fácil recolección, gestión y publicación de los contenidos, (gestión del "Ciclo de Vida del Contenido") desde un punto único centralizado. Por otro lado, las empresas comienzan a desarrollar sus aplicaciones de negocio en formato Web y a migrar todas las existentes a este formato, poco adecuado como entorno de trabajo. Para dar este salto surgen los Enterprise Portals (Portales) soportados por una herramienta denominada Servidor de Portales o Portal Servers. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 14

22 Capítulo 3. Estado del Arte Definición de portal Un portal es una aplicación con las siguientes características: - Basado en web: servidor web y cliente navegador - Personalizable - Single sing-on: existe una integración de sistemas que permite un punto de identificación único para cada usuario. - Agregación de contenidos de diversas fuentes Figura : Portal Existen productos en el mercado denominados Servidores de Portales o Portal Servers cuya misión es permitir el desarrollo rápido de portales que integran el acceso a información, servicios y aplicaciones. Se generan a través de portlets o componentes de presentación. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 15

23 Capítulo 3. Estado del Arte Figura : Relación portales y portlets Portlet Son componentes web gestionados por un contenedor que tras la petición de un usuario generan y presentan contenidos dinámicos de forma identificable en el interfaz de usuario del portal como componentes de contenido. El portlet permite la personalización, la presentación, y la gestión de la seguridad. Los portlets se diferencian de los servlets por ser estos componentes de servidor con perspectiva funcional. El concepto de portlet es propio del mundo Java, y tiene su traducción en el entorno Microsoft como "web parts". (Sharepoint Portal Server) IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 16

24 Capítulo 3. Estado del Arte Según la Java Specification Request 168 y la WSRP (Web Services for Remote Portals), que tratan de definir los estándares para el desarrollo de portlets y su interoperabilidad, son componentes web basados en Java, y gestionados por un contenedor de portlets que procesa peticiones y genera contenido dinámico. Los portales usan portlets como componentes de interfaz de usuario que proveen de una capa de presentación a los sistemas de información. Figura : Descripción de un portlet Ejemplos típicos de portlets preconfigurados pueden ser noticias provenientes de un cms, , cotizaciones, meteorología, foros, encuestas, formularios, canales RSS, WebServices, integración de aplicaciones, herramientas de análisis, herramientas de trabajo en grupo. Otros son aquellos que a través de componentes Active X o applets permiten la integración dentro del navegador de otros programas, como clientes de correo o programas de ofimática. El contenido generado por los portlets se denomina "fragmento". Es código XHTML, HTML, WML, etc. Los fragmentos agregados resultantes de la operación de varios portlets constituyen un documento que se traduce en el interfaz del portal. Estos elementos se disponen a través de una "retícula" o rejilla. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 17

25 Capítulo 3. Estado del Arte Figura : Relación portales & portlets Funcionamiento de un portlet El portlet, al igual que los contenidos tiene su propio ciclo de vida. Los portales actúan como gestores de presentación de los portlets. Los usuarios realizan peticiones durante su sesión de navegación, y los portlets generarán contenidos dependiendo del perfil del usuario que realice las peticiones Trabajar con Servidores de Portales Ventajas - Rapidez de desarrollo: crear un portal con un servidor de portales se hace en plazos relativamente breves. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 18

26 Capítulo 3. Estado del Arte - Los portlets recogen funcionalidades de uso frecuente y las hacen disponibles para integrarlas en un Portal. Las ventajas derivadas es que ya están generados y debido a su uso frecuente se convierten en patrones que recogen las "mejores prácticas" del mercado. - Altas capacidades de Personalización: no se trata sólo de presentar determinados portlets a diferentes usuarios, sino también de las diversas posibilidades de presentación de información de cada portlet. - Consolidación e integración de sitios dispersos: mediante un servidor de portales se centraliza la gestión de sitios dispersos ahorrando en costes de mantenimiento. - Administración delegada: mediante un sistema de permisos se delega el mantenimiento de portales o secciones agilizando los procesos de publicación. Figura 3.2.4: Portlet links IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 19

27 Capítulo 3. Estado del Arte Desventajas Como sucede con los coches, la estandarización, la madurez y la aplicación de criterios ergonómicos de muchos productos hace que al final "todos sean iguales" y su única diferencia sea precio, extras y marca. Los servidores de portales pueden caer dentro de este ejemplo: ergonómicos pero mecánicos e impersonales. El concepto de Portlet llevado a su máxima expresión puede hacernos caer en la trampa de que un Portal no es más que una agregación de portlets, descuidando otros aspectos básicos menos evidentes: - Mecanización y despersonalización del diseño: la traslación más evidente del Portlet a un interfaz de usuario son las "cajitas", que le otorgan ese aspecto impersonal. El dejar que sea el portlet quien controle el aspecto final del portal puede repercutir en una despersonalización de la imagen de la compañía. - La rapidez en el desarrollo puede resultar una desventaja cuando no se tienen unos objetivos claramente definidos. Decidirse por una herramienta de este tipo, simplemente, porque es rápida de desarrollar e instalar puede ser perjudicial y favorecer desarrollos sin visión estratégica. - Pérdida de perspectiva de usuario: el sistema permite que una persona con conocimientos, a través de un checklist y una rejilla decida "cómo va a ser un portal". Algo que es una ventaja puede convertirse en un problema si los responsables de desarrollo de ese portal no adoptan el punto de vista del usuario y sus necesidades reales. 3.3 Opciones de calendario colaborativo Una vez introducida brevemente las tecnologías necesarias, el significado de cada una y su forma de trabajar, pasaremos a hablar de las posibilidades que nos ofrece el mercado a la hora de querer implantar un calendario/agenda colaborativo para nuestra IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 20

28 Capítulo 3. Estado del Arte empresa. Hoy en día existen multitud de aplicaciones, que nos permiten utilizar una gran cantidad de herramientas colaborativas, no solo un calendario. Debido a esto, analizaremos las distintas opciones que se nos presentan a la hora de implantar un calendario/agenda en la empresa. Las herramientas colaborativas, básicamente son los sistemas que permiten acceder a ciertos servicios que facilitan a los usuarios comunicarse y trabajar conjuntamente sin importar que estén reunidos un un mismo lugar físico. En general con ellos se puede compartir información en determinados formatos (audio, texto, video, etc.), y en algunos casos producir conjuntamente nuevos materiales productos de la colaboración. Muchos de ellos proveen de avanzadas funcionalidades que facilitan tareas como publicación de información, búsquedas, filtros, accesos, privilegios, etc. Por lo general las herramientas colaborativas tienen un funcionamiento similar, trabajan bajo el concepto de cliente servidor, donde los clientes son los usuarios que hacen uso de un servicio y el servidor se encarga de ofrecer este servicio. Generalmente se utilizan programas clientes para acceder a estos servicios, tal es el caso de un browser que hace las veces de cliente para acceder a un servicio que puede ser por ejemplo un servidor web que sirve una página web. Rol del Cliente, rol del servidor: Las herramientas colaborativas requieren dos tipos de programas o software para poder establecer una conversación entre los usuarios que hacen uso de un servicio. Servidor: Primero tenemos los programas servidores, está de más decir que son aquellos que permiten ofrecer un servicio, generalmente este se ejecutara en un servidor web, accesible desde Internet, una intranet o una red privada o algunas de sus variaciones. Su función es coordinar el flujo de información y alojar en muchos casos dicha información. Cliente: En segundo lugar tenemos los programas clientes, que es el software que posee cada usuario en su computador y que le permite acceder a los servicios, y que son entonces capaces de ver información publicadas por otros usuarios o publicar la propia. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 21

29 Capítulo 3. Estado del Arte El hecho de que existan diversas aplicaciones que engloben todas las necesidades de una empresa se debe a las siguientes desventajas que existían al tener todo diversificado: - Dificultades para enseñar a los nuevos empleados qué y dónde encontrar lo que buscan. - Cierta desorganización en la gestión del conocimiento ya que unas cosas están en un sitio y otras en otro. - Mantenimiento técnico complejo, ya que cada programa tiene su librillo. - Dificultad para integrar el acceso a todos estos programas. - Necesidad de que unos programas hablen con otros para actualizarse la información, cosa que deberíamos hacer urgentemente con el gestor de proyectos y el resto de programas. Para solucionar toso ellos se nos ofrecen multitud de herramientas colaborativas. A continuación analizaremos las principales opciones que existen y barajamos para implantar en nuestra empresa. En primer lugar hablaremos de tres alternativas independientes, las cuales funcionan sobre servidores en internet, y por último analizaremos el servidor de portales Liferay, el cual nos permite instalar un portlet calendario además de otros portlets. SunBird Sunbird es un programa de agenda basado en el Calendar de Mozilla. El objetivo de este proyecto es ofrecer mayor cantidad de funciones que el componente original, agregando una mejora en el rendimiento. No se integra con Firefox sino que está pensado como una aplicación independiente. En su configuración básica el usuario dispone de tres ventanas. La ventana principal muestra una vista general de los eventos por día, semana o mes. Dos ventanas más pequeñas permiten visualizar las tareas definidas y un calendario. Es posible cambiar el tamaño de estas ventanas y dar así a Sunbird una apariencia personalizada. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 22

30 Capítulo 3. Estado del Arte Figura 3.3.1: Sunbird Los eventos se definen mediante una interfaz muy simple. Como en cualquier agenda, es posible asignarle a cada evento un período de tiempo de validez (en días y horas), establecer si se repetirá en el futuro y definirlo dentro de una categoría. Se puede agregar una descripción breve del evento y una lista de direcciones de correo electrónico de las personas interesadas. Cada evento puede definirse como público o privado, con su prioridad y su estado (tentativo, confirmado o cancelado). Es posible configurar una alarma para recordarnos cada evento, en forma de un sonido o una ventana que aparecerá en nuestra pantalla. La definición de las tareas a realizar es idéntica a la mencionada para los eventos. La única diferencia es que se puede asignar a cada tarea un porcentaje de progreso, que indica cuanto nos falta para terminarla. El usuario puede definir diferentes tipos de eventos, cada uno con un color que lo identifica. Se pueden editar los tipos predefinidos, cambiándoles el nombre y el color con el cual aparecerán en la agenda. Se pueden manejar diferentes agendas dentro del mismo programa. Esto puede ser útil para mantener los eventos y tareas familiares separados de los del trabajo. Dado que es posible compartir la agenda personal con quienes se desee se puede evitar que nuestros compañeros de trabajo tengan acceso a nuestra agenda personal, mientras que pueden consultar los eventos y tareas laborales que tengamos en común. Los archivos de Sunbird utilizan el estándar abierto ical de Apple. Esto permite intercambiar agendas con cualquier programa que utilice el mismo sistema. En el caso de Outlook, no es posible leer las agendas en el formato que utiliza este programa. Sin embargo se puede grabar una agenda en formato ical y luego importarla a Sunbird. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 23

31 Capítulo 3. Estado del Arte Sunbird puede personalizarse, aunque la variedad de temas es algo escasa. Seguramente en el futuro los usuarios agregarán mayor cantidad de posibilidades para combinar colores y tipos de letra. Windows Live Calendar En las anteriores versiones de Windows sólo los usuarios de Outlook podían disfrutar de un buen calendario. El que venía por defecto en el sistema era el de las propiedades de hora y fecha y no permitía organizar eventos o citas. Con Windows Vista, la situación cambió. El sistema trae una aplicación de calendario sencillo, pero con los elementos necesarios para organizarnos. Figura 3.3.2: Windows Calendar Se trata de una aplicación muy intuitiva. La aplicación también permite publicar el calendario en la Red para que otros puedan verlo y sincronizarse con él o suscribirse a calendarios on line como Google Calendar o cualquier otro que utilice la extensión «ics». Además sirve como organizador de tareas y tiene un acceso directo a la agenda de contactos de Windows Vista, que también se incluye de forma gratuita en el nuevo sistema operativo de Microsoft. Al sincronizar una agenda electrónica o un teléfono se pueden transferir los datos del dispositivo móvil a estas aplicaciones y viceversa, ya no es necesario instalar el famoso complemento de Office. Google Calendar Con Google Calendar podemos crear varios calendarios y mantener información de varios asuntos para tener separados, por ejemplo, los asuntos personales y profesionales. Los calendarios pueden tener un código de color para identificar IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 24

32 Capítulo 3. Estado del Arte visualmente los eventos y saber si corresponden a uno u otro calendario. Una de las grandes cualidades es que la aplicación combina automáticamente todos los calendarios que queramos, para ver todas las citas en una sola clasificación diaria, semanal o mensual. Otra característica muy interesante es la de poder compartir calendarios. Es decir, nosotros podemos crear un calendario o agenda y hacerlo público a todos los usuarios o a algunas personas específicas, siempre que sean usuarios de Google Calendar también, claro está. La verdad es que esta funcionalidad puede ser extremadamente útil para los usuarios que comparten trabajo en empresas deslocalizadas, puesto que a través de una única herramienta, todos los interesados pueden planificar reuniones o eventos que quedarían visibles a todos los del mismo grupo de trabajo. Así se pueden prevenir problemas de comunicación y planificación. Figura 3.3.3: Google Calendar Como detalle curioso por parte de Google es la opción de realizar recordatorios por SMS gratuitos. Lo cierto es que lo bueno de un calendario es que te recuerden las citas o eventos antes que estos se produzcan, para no olvidarte de ninguno. Con Google Calendar te ofrecen tres métodos distintos de recordar una cita. Por medio de una ventana emergente, por correo electrónico y por SMS. Además, podemos definir varios recordatorios. Por ejemplo, que te recuerde el evento un día antes por y 10 minutos antes por SMS. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 25

33 Capítulo 3. Estado del Arte En definitiva, Google Calendar es una solución muy atractiva y con muchas posibilidades para sacarle partido. Una vez conocidas las distintas herramientas ya existentes en el mercado que cumplen con las funcionalidades que nosotros buscamos en nuestra aplicación, se ha tomado la decisión de analizar la posible implantación de Liferay, ya que este servidor de portales nos ofrece un enorme abanico de posibilidades, reuniendo además distintas herramientas colaborativas. De esta forma tendríamos todo lo que buscamos en un mismo componente, perfectamente configurable para que podamos adecuarlo a nuestros requerimientos. Tras los distintos estudios de los análisis de requisto, diseño y demás etapas, tomaremos la decisión final. Liferay Es la principal aplicación basada en software libre para la creación de entornos colaborativos on-line. Actualmente está respaldado por una extensa red de servicios profesionales que ofrece desarrollos a medida, formación y soporte en todo el mundo. Liferay ofrece una arquitectura de temas (denominados en inglés Themes), que permite llevar a cabo cambios en la apariencia del portal sin cambiar el código fuente de Liferay. Es posible desplegar nuevos temas en caliente sin necesidad de tener que detener la ejecución al portal. El uso de CSS y capas en las páginas de Liferay facilita diseñadores gráficos la creación de nuevos. Biblioteca de Documentos Galería de Imágenes Contenido estructurado Mecanismo flexible de plantillas (XSL/VM) IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 26

34 Capítulo 3. Estado del Arte Características de Liferay: SSO (Single Sign On): Liferay proporciona un conector CAS integrado. CAS es el motor de Single Sign On de la Universidad de Yale. Liferay permite desarrollar integraciones con otros motores de Single Sign On como SSO Modelo en hosting (ASP): Liferay ha sido diseñado desde su concepción para ser usado en formato ASP (Application Service Provider) o hosting. Esto permite que se puedan alojar múltiples instancias del portal (simplemente diferenciadas por URL s distintas) sobre un único servidor de aplicaciones y una base de datos. Independencia respecto de Servidores de Aplicaciones: Liferay puede ejecutarse sobre contenedores ligeros como Tomcat o Jetty, o sobre servidores compatibles con J2EE como Borland ES, JBoss+Jetty/Tomcat, JOnAS+Jetty/Tomcat, JRun, OracleAS, Orion, Pramati, RexIP, Sun JSAS, WebLogic, y WebSphere. Un valor adicional de ser un portal basado en Java es que Liferay se ejecuta sobre múltiples sistemas operativos: BSD (FreeBSD, NetBSD, OpenBSD), Linux (Fedora, Novell), Solaris, Mac OS X y Windows. Independencia respecto de Bases de Datos: Liferay emplea Hibernate ( como herramienta ORM para la capa de persistencia, lo que facilita que soporte cualquier base de datos como DB2, Firebird, Hypersonic, InterBase, JDataStore, MySQL, Oracle, PostgreSQL, SAP o SQL Server. Esto permite a las organizaciones mantener los recursos con los que cuenta y no tener que adquirir nuevo hardware y software de base de datos. Figura 3.3.4: Liferay IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 27

35 Capítulo 3. Estado del Arte Internacionalización: Liferay puede mostrar y recibir entradas en múltiples idiomas. Incluye recursos lingüísticos en Chino, Holandés, Inglés, Alemán, Griego, Italiano, Japonés, Coreano, Portugués, Español, Turco y Vietnamita. Altamente escalable: Liferay es escalable y usa OSCache para ofrecer a las personas encargadas de llevar a cabo el despliegue una caché en Cluster. De este modo es posible escalar añadiendo más nodos sin sacrificar la cache. Struts y Tiles: Liferay está basado en Struts para seguir el patrón Modelo-Vista- Controlador (MVC). La apariencia del portal puede ser fácilmente adaptada y rediseñada, ya que la lógica de presentación está basada en sencillas plantillas que son leídas mediante Tiles. Gran variedad de Portlets incluidos: Liferay ofrece más de cincuenta (50) portlets útiles: blogs, tienda, wiki, correo electrónico (webmail), tablón de anuncios, encuestas, canales RSS, etc. La mayor parte de los portlets pueden configurarse de forma que sean usados sólo por algunos usuarios del entorno colaborativo, gracias a la granularidad que permite la gestión de usuarios de Liferay Portal Administración: Liferay permite que los administradores del portal gestionen fácilmente usuarios, grupos, localizaciones y roles a través de herramientas visuales. Los grupos y localizaciones representan conjuntos de usuarios, y un rol es un conjunto de permisos que un grupo o un usuario poseen. El acceso a portlets está restringido a usuarios en función de su rol Tecnologías soportadas: - JSR-168JSR-220 (Hibernate) - JSR-127 (JSF)AJAXSpring, - EJB y programación orientada a aspectos (AOP) - Struts y Tiles - WSRP - Velocity IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 28

36 Capítulo 4. Análisis de Requisitos Capitulo 4 4. Análisis de Requisitos Este apartado tiene por objetivo identificar y analizar toda la casuística y necesidades para cubrir todos los objetivos, tanto principales como secundarios, de este proyecto. Con la realización de estos pretendemos que la aplicación cumpla con todas las pautas que nos hemos marcado, y que de esta forma completemos un desarrollo firme y sólido Lista de requisitos La lista de requisitos consiste en una relación de los requisitos especificados por el cliente para el sistema. Estos requisitos van a ser clasificados en cuatro tipos diferentes: - Funcionales: definen características de las funciones de negocio. - Operativos: definen el modo en que operará el sistema. - De prestaciones: definen características adicionales o funciones de menor prioridad. - De seguridad: definen el control de acceso al sistema y la privacidad de los datos. - De fiabilidad: definen la integridad y veracidad de la información. Utilizaremos la siguiente nomenclatura para identificar los distintos requisitos: RQXX.Y RQ: RQ hace referencia a que se trata de un requisito. XX: XX hace referencia a un valor numérico que asignaremos a cada requisito Y: Y será un valor numérico que se la dará a todo requisito que dependa de otro. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 29

37 Capítulo 4. Análisis de Requisitos Por ejemplo: El requisito RQ02.3 significa que es dependiente del requisito RQ02. REQUISITO RQ01 Fecha: 20/12/08 Título : Añadir un evento Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador RQ01 Funcional Se debe de poder añadir eventos al calendario. Se seleccionará una fecha donde podremos añadir eventos REQUISITO RQ02 Fecha: 20/12/08 Título : Visualizar los eventos Versión: 1.0 Actores: Administrador/Usuario Identificador: RQ02 Categoría: Funcional Descripción: - Se podrán visualizar todos los contenidos públicos del calendario. Si existiese algún tipo de contenido privado, no lo visualizaremos salvo que lo hayamos creado nosotros mismos. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 30

38 Capítulo 4. Análisis de Requisitos REQUISITO RQ02.1 Fecha: 20/12/08 Título : Visualizar detalles eventos Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ02.1 Funcional - Se debe poder visualizar los detalles de un evento que aparezca en el calendario. Ocurre igual que con el requisito anterior. Solo podremos ver los detalles de los eventos que sean públicos o hayamos creado nosotros. REQUISITO RQ03 Fecha: 20/12/08 Título : Cambiar formato de visualización del calendario Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ03 Funcional - Deben existir opciones distintas para visualizar el calendario, ya sea por días, meses o años. Se podrá intercambiar entre las distintas vistas mediante un sistema de pestañas. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 31

39 Capítulo 4. Análisis de Requisitos REQUISITO RQ03.1 Fecha: 20/12/08 Título : Visualización del calendario filtrado por día Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ03.1 Funcional Visualización del calendario filtrada por días. Veremos los eventos previstos para un día en concreto. Se mostrarán los eventos en una lista, uno detrás de otro cronológicamente. REQUISITO RQ03.2 Fecha: 20/12/08 Título : Visualización del calendario filtrado por semanas Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ03.2 Funcional Visualización del calendario filtrado por semanas. Veremos los eventos previstos en una semana concreta. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 32

40 Capítulo 4. Análisis de Requisitos REQUISITO RQ03.3 Fecha: 20/12/08 Título : Visualización del calendario filtrado por meses Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ03.3 Funcional Visualización del calendario filtrado por meses. Veremos los eventos previstos en un mes en concreto. REQUISITO RQ03.4 Fecha: 20/12/08 Título : Visualización del calendario filtrado por años Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ03.4 Funcional Visualización del calendario filtrado por años. Veremos los eventos previstos en el año seleccionado. Podremos seleccionar sobre el evento que queramos visualizar y la información se IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 33

41 Capítulo 4. Análisis de Requisitos ampliará. REQUISITO RQ04 Fecha: 20/12/08 Título : Personalización del calendario Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ04 Prestaciones - Se debe permitir la personalización del calendario, ya sea sobre sus colores, el fondo o el tipo de letra utilizada. Cada usuario podrá modificar la apariencia de su calendario, la cual se mantendrá cuando vuelva a iniciar su sesión en la aplicación. REQUISITO RQ05 Fecha: 20/12/08 Título : Navegación rápida e intuitiva. Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ05 Operativo La navegación entre las distintas opciones que nos ofrezca el calendario/agenda debe de ser lo más rápida e intuitiva posible. No deben de existir opciones dudosas para el usuario. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 34

42 Capítulo 4. Análisis de Requisitos REQUISITO RQ06 Fecha: 20/12/08 Título : Velocidad a la hora de realizar modificaciones Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ06 Operativo - Las operaciones de edición o borrado deben realizarse lo más rápido posible, para mostrar los cambios en los eventos lo antes posible. - Si ocurriese algún error, también se le debe comunicar al usuario con la mayor rapidez posible. REQUISITO RQ07 Fecha: 20/12/08 Título : Identificación de usuarios Versión: 1.0 Actores: Identificador: Categoría: Descripción: Administrador/Usuario RQ07 Seguridad - Los usuarios deberán identificarse para controlar de esta forma quien puede modificar eventos, o bien solo visualizarlos. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 35

43 Capítulo 4. Análisis de Requisitos REQUISITO RQ08 Fecha: 20/12/08 Título : Personalización de Usuarios Versión: 1.0 Actores: Identificador: Categoría: Usuario RQ08 Funcional Descripción: Cada usuario deber poder personalizar su interfaz gráfico. El usuario escogerá la forma de visualizar su calendario, sin que tenga que ser de una forma general para todos los usuarios ni impuesta por el administrador. 4.2 Modelo de Casos de Uso En esta sección se describirán los Casos de Uso que identifican los requisitos funcionales del sistema, es decir, las acciones que un actor (ente externo al sistema desarrollado que interactúa con él) puede realizar en el sistema. Los casos de uso no son parte del diseño (cómo) sino parte del análisis (qué). De forma que al ser parte del análisis nos ayudan a describir qué es lo que el sistema debe hacer. Los Casos de Uso son qué hace el sistema desde el punto de vista del usuario (teniendo en cuenta los distintos tipos de usuarios). Es decir, describen un uso del sistema y cómo este interactúa con el usuario. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 36

44 Capítulo 4. Análisis de Requisitos Diagrama de casos de uso En este apartado veremos de forma gráfica los casos de uso que puede realizar el usuario en el sistema. En nuestra aplicación nos encontraremos con dos tipos, el módulo de administración y el módulo de empleado. Ambas tendrán muchos casos comunes, aunque luego se observarán como hay posibilidades que solo se le permiten a un tipo u otro de usuarios Módulo administración Figura 4.2.2: Módulo Administrador IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 37

45 Capítulo 4. Análisis de Requisitos Módulo empleado Figura 4.2.3: Módulo Empleado IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 38

46 Capítulo 4. Análisis de Requisitos Documento de casos de uso A continuación vamos a explicar la forma de interactuar entre el sistema y el usuario. Los actores son aquellos que interactúan con el sistema. Las precondiciones son los hechos que se han de cumplir para que el flujo de evento se pueda llevar a cabo. Luego tenemos el flujo de eventos, que corresponde a la ejecución normal y exitosa del caso de uso. Los flujos alternativos son los que nos permiten indicar qué es lo que hace el sistema en los casos menos frecuentes e inesperados. Por último, las post-condiciones son los hechos que se ha de cumplir si el flujo de eventos normal se ha ejecutado correctamente Listado de casos de uso Código Caso de Uso CU-ADMI-AE Añadir un evento CU-ADMI-EE Eliminar un evento CU-ADMI-ME Modificar un evento CU-ADMI-CP Cambio de permisos CU-ADMI-VC Visualizar el calendario CU-ADMI-SE Seleccionar un evento CU-ADMI-SU Seleccionar usuarios CU-ADMI-MV Modificar la visualización del calendario CU-EMPL-DA Darse de alta CU-EMPL-ID Identificarse CU-EMPL-AE Añadir un evento CU-EMPL-EV Eliminar un evento CU-EMPL-ME Modificar un evento CU-EMPL-CP Cambio de permisos CU-EMPL-VC Visualizar el calendario CU-EMPL-SE Seleccionar un evento CU-EMPL-MV Modificar la visualización del calendario IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 39

47 Capítulo 4. Análisis de Requisitos Descripción de casos de uso Nombre: Código: Autor: Añadir un evento CU-ADMIN-AE/CU-EMPL-AE Alejandro Coca Fecha: 12/01/2009 Descripción: Permite añadir un evento al calendario. Actores: Administrador y empleado. Precondiciones: En el caso del empleado se tiene que haber dado de alta o bien haberse identificado. Flujo Normal: 1. El actor pulsa sobre el botón para añadir un nuevo evento. 2. El sistema muestra una serie de opciones y cajas de texto sobre el evento. 3. El actor introduce el título del evento, el cuerpo y demás campos que quiera rellenar. Marca las opciones que crea necesario. 4. El sistema comprueba la validez de los datos y los almacena. Flujo Alternativo: El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitiéndole que los corrija Post-condiciones: El evento ha sido almacenado correctamente. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 40

48 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Eliminar un evento CU-ADMI-EE/CU-EMPL-EE Alejandro Coca Fecha: 12/01/2009 Descripción: Permite eliminar un evento del calendario. Actores: Administrador y empleado. Precondiciones: En el caso del empleado se tiene que haber dado de alta o bien haberse identificado y tiene que tener permisos de configuración para que pueda eliminarlo. El actor debe de haber seleccionado el evento que quiere eliminar. Flujo Normal: 1. El actor pulsa sobre el botón para eliminar el evento. 2. El sistema lanzará un mensaje de confirmación para el borrado. 3. El sistema elimina el evento. Flujo Alternativo: Si existe algún problema el evento no será eliminado. Post-condiciones: El evento ha sido eliminado correctamente. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 41

49 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Modificar un evento CU-ADMIN-ME/CU-EMPL-ME Alejandro Coca Fecha: 12/01/2009 Descripción: Permite modificar un evento del calendario. Actores: Administrador y empleado. Precondiciones: En el caso del empleado se tiene que haber dado de alta o bien haberse identificado y tiene que tener permisos de configuración para que pueda eliminarlo. El actor debe de haber seleccionado el evento que quiere modificar. Flujo Normal: 1. El actor pulsa sobre el botón para editar el evento. 2. El actor modifica los campos y opciones que crea necesario. 3. El sistema comprueba la validez de los datos y los almacena. Flujo Alternativo: El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitiéndole que los corrija. Post-condiciones: El evento ha sido almacenado correctamente. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 42

50 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Cambio de permisos CU-ADMIN-CP Alejandro Coca Fecha: 12/01/2009 Descripción: Permite modificar un los permisos de un evento o usuario. Actores: Administrador. Precondiciones: Debe seleccionar un evento o un tipo de usuario. Flujo Normal: 1. El actor pulsa sobre el botón para editar los permisos. 2. El actor escoge los permisos que le quiere dar. 3. El sistema almacena la nueva configuración de los permisos. Flujo Alternativo: Si ocurre algún error en el guardado, los permisos continuarán como estaban anteriormente. Post-condiciones: Los nuevos permisos se han configurado correctamente. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 43

51 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Cambio de permisos CU-EMPL-CP Alejandro Coca Fecha: 12/01/2009 Descripción: Permite modificar los permisos de un evento. Actores: Empleado. Precondiciones: EL actor se debe de haber dado de alta en el sistema o bien haberse identificado. Debe de seleccionar un evento. Flujo Normal: 1. El actor pulsa sobre el botón para editar los permisos. 2. El actor escoge los permisos que le quiere dar. 3. El sistema almacena la nueva configuración de los permisos. Flujo Alternativo: Si ocurre algún error en el guardado, los permisos continuarán como estaban anteriormente. Post-condiciones: Los nuevos permisos se han configurado correctamente. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 44

52 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Visualizar el calendario CU-ADMIN-VC/CU-EMPL-VC Alejandro Coca Fecha: 12/01/2009 Descripción: Permite visualizar el calendario y sus eventos. Actores: Administrador y empleado. Precondiciones: En el caso del empleado, se debe haber dado de alta en el sistema o bien haberse identificado previamente. Flujo Normal: 1. El actor visualiza el calendario y sus eventos. Flujo Alternativo: Si no tuviese permisos de visualización no vería los eventos. Post-condiciones: IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 45

53 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Seleccionar un evento CU-ADMI-SE/CU-EMPL-SE Alejandro Coca Fecha: 12/01/2009 Descripción: Permite seleccionar un evento. Actores: Administrador y empleado. Precondiciones: En el caso del empleado se debe de haber dado de alta en el sistema o bien haberse identificado. Debe de seleccionar un evento. Flujo Normal: 1. El actor seleccionado el evento sobre el cual quiere realizar una acción o visualizar. 2. El evento se selecciona. Flujo Alternativo: Si ocurre algún error no podrá visualizar se evento. Post-condiciones: IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 46

54 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Selección usuarios CU-ADMI-SU Alejandro Coca Fecha: 12/01/2009 Descripción: Permite seleccionar un usuario. Actores: Administrador. Precondiciones: Ninguna. Flujo Normal: 1. El actor pulsa el grupo de usuarios o usuario que quiere seleccionar. 2. El usuario o grupo de usuarios queda seleccionado correctamente. Flujo Alternativo: Si ocurre algún error no se habrá seleccionado el usuario o grupo de usuarios. Post-condiciones: El usuario o grupo se queda seleccionado. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 47

55 Capítulo 4. Análisis de Requisitos Nombre: Código: Autor: Modificar la visualización del calendario CU-ADMI-MV/CU-EMPL-MV Alejandro Coca Fecha: 12/01/2009 Descripción: Permite modificar la visualización del calendario. Actores: Administrador y empleado. Precondiciones: En el caso del empleado se debe de haber dado de alta en el sistema o bien haberse identificado. Debe de seleccionar un evento. Flujo Normal: 1. El actor seleccionado el formato que quiera para visualizar el contenido del calendario. 2. El sistema modifica el calendario para adaptarlo a la forma que ha escogido el actor. Flujo Alternativo: Si no tuviese permisos para ello no le aparecerían las diversas opciones de visualización. Post-condiciones: El calendario se quedará con el formato de visualización escogido por el actor. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 48

56 Capítulo 5. Diseño Capítulo 5 5. Diseño En este capítulo plasmaremos el diseño que tendrá la aplicación, teniendo en cuenta los requisitos que hemos analizado con anterioridad. Se mostrará y explicará los distintos diseños que puede tener dependiendo del usuario de la misma. 5.1 Inicio Figura 5.1: Diseño Inicial En primer lugar nos aparecerá una pantalla donde observaremos la imagen de la compañía a la derecha, en la zona central. A su izquierda, en primer plano, se nos preguntará por un nombre y una contraseña. La empresa nos habrá dado de alta en el sistema, y con los datos que se le proporcione al empleado podrá entrar en la aplicación. En el caso de no habernos dado de alta dispondremos de la opción de Darse de alta en IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 49

57 Capítulo 5. Diseño ese instante. La base de datos reflejará que se ha añadido un nuevo usuario, de esta forma la empresa podrá mantener un control de los mismos. El usuario administrador tendrá que introducir su usuario y contraseña para poder acceder a la aplicación. La idea es que la fase de validación sea un proceso sencillo a la par que rápido y seguro. 5.2 Página Principal Una vez hemos accedido a la aplicación introduciendo correctamente nuestro nombre y contraseña tendremos la siguiente ventana. Figura 5.2: Diseño Empleado IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 50

58 Capítulo 5. Diseño En primer plano observaremos el calendario con sus distintos eventos, donde visualizaremos todo aquello a lo cual tengamos permisos. Justo debajo tendremos las distintas opciones, ya sea la de crear un nuevo evento, modificar uno existente, etc. También podremos escoger el formato de visualización del calendario. Esta página será completamente configurable, pudiendo colocar nuestra agenda en un lugar distinto. Tendremos la opción de poder desplegar algún portlet más, pudiendo importar alguno creado o bien los ya existentes en el sistema. A nivel informativo, la parte inferior derecha de la pantalla nos informará de que nos encontramos logados con nuestro nombre. En ese mismo espacio dispondremos de una opción donde podremos modificar datos de nuestra cuenta de empleado. La imagen de la compañía saldrá a la derecha de la pantalla principal, no pudiéndose cambiar de posición. Tanto como para el administrador como para los empleados, la apariencia será la misma. La diferencia principal radica en que el administrador tendrá un abanico mayor de opciones, a la hora de realizar operaciones de configuración y de permisos. 5.3 Añadir/Modificar un evento Tanto como si añadimos un evento, como si lo modificamos, la el diseño de la ventana será igual. En el caso de querer crear un evento nuevo, todos los campos saldrán vacios a rellenar por el usuario. En el caso de una modificación, los campos saldrán rellenos, pudiendo el usuario modificar cada uno de ellos y guardarlo posteriormente. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 51

59 Capítulo 5. Diseño Figura 5.3: Añadir/Modificar un Evento En la ventana principal aparecerán los distintos campos y opciones que podremos rellenar y marcar en el evento en cuestión. Existirán campos de texto que tendremos que rellenar, o bien distintas opciones donde tendremos que marcar la que creamos oportuna para la correcta configuración de ese evento. Una vez realizados los cambios, o insertando los nuevos valores del evento, procederemos a pulsar el botón de Guardar. Si todos los campos se han rellenado correctamente, el evento se guardará y volveremos la página principal del portal de la aplicación. En el caso de no querer guardar los cambios o rectificar, bastará con pulsar el botón de Cancelar. 5.4 Opciones Usuario A continuación se muestra la ventana de opciones del usuario. Aquí es donde el usuario en cuestión podrá modificar cualquier dato de su cuenta, o bien cambiar algún tipo de configuración. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 52

60 Capítulo 5. Diseño Figura 5.4: Opciones de Usuario A la izquierda tendremos un menú lateral, donde podremos escoger entre las distintas opciones de configuración. Tendremos como principal opción la de configuración de los datos de nuestra cuenta. Existirán muchas opciones de configuración, desde el idioma en que queremos visualizar el portal entero, hasta el control de colores, permisos, etc. Dependiendo la que seleccionemos, el contenido de la ventana principal a la derecha cambiará. Ahora se muestra un esquema del diseño que tendrá cuando queremos que muestre los datos del usuario. Tendremos distintos campos que podremos modificar, siempre con la opción de guardar los cambios, o bien cancelar para dejarlos como estaban. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 53

61 Capítulo 5. Diseño 5.5 Menús de Confirmación Por último tendremos los menús de confirmación, aquellos que aparecerán cuando queramos confirmar el borrado de un evento o acciones similares. Aparecerá una ventana sobre la pantalla, la cual al pulsar aceptar o cancelar desaparecerá. Figura 5.5: Menús de Confirmación Tendrán todo un formato estándar, formado por dos botones, uno de Aceptar y otro de Cancelar, acompañados por un texto explicando la opción que vayamos a confirmar. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 54

62 Capítulo 6. Estudio de la Arquitectura Capítulo 6 6. Estudio de la Arquitectura El objetivo de esta fase es definir las posibles soluciones de arquitectura que satisfagan tanto los requerimientos del usuario como las restricciones de diseño. Después de un estudio exhaustivo de las diferentes alternativas, la solución adoptada debe suministrar suficiente información para hacer estimaciones razonables sobre el coste del proyecto y dar una visión clara sobre cómo va a ser el nuevo sistema. Figura 6: Estudio de la Arquitectura IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 55

63 Capítulo 6. Estudio de la Arquitectura 6.1 Especificación Alternativas Entre las distintas opciones que se nos plantearon dentro del estado del arte, hemos descartado las 3 opciones de funcionamiento independiente como son Sunbird, GoogleCalendar y WindosCalendar. No se han planteado como soluciones a nuestro proyecto ya que todas trabajan sobre servidores externos, y aunque incluyen muchas funcionalidades, el hecho de no poder instalarla en la empresa es la principal razón para el rechazo de las mismas. Adicionalmente, en el caso de que tuviésemos algún problema técnico, tendríamos que llamar a la empresa en cuestión, sin poder solucionar nosotros mismos el problema. Por otro lado, hemos decidido utilizar el servidor de portales Liferay, ya que este si podríamos instalarlo sobre un servidor propio, y al tratarse de una tecnología basada en portlets, siempre podremos mejorar la aplicación modificando el código del portlet en concreto. Si utilizásemos algunas de las 3 primeras opciones como calendario colaborativo, siempre que quisiésemos una mejora, tendríamos que esperar a que la empresa responsable de la aplicación decida hacer cambios, no podríamos realizarlos nosotros mismos. Una vez decidida la utilización de Liferay para implantar la agenda colaborativa en la empresa, se nos plantean 3 alternativas distintas: 1- En primer lugar, sobre que servidor web va a trabajar Liferay. Existen muchas alternativas en el mercado y analizaremos las que mejor nos vengan. 2- En segundo lugar, se debe decidir que gestor de base de datos queremos utilizar. La ventaja de Liferay es que funciona sobre casi cualquier gestor, asique debemos de escoger cual se utilizará. 3- Por último, aunque en un principio tenemos claro que se utilizará Liferay, realizaremos un estudio de otras alternativas, por si nos presentasen algo mejor a nuestros requisitos. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 56

64 Capítulo 6. Estudio de la Arquitectura Alternativas de Servidores Web Básicamente, un servidor web sirve contenido estático a un navegador, carga un archivo y lo sirve a través de la red al navegador de un usuario. Este intercambio es mediado por el navegador y el servidor que hablan el uno con el otro mediante HTTP. Se pueden utilizar varias tecnologías en el servidor para aumentar su potencia más allá de su capacidad de entregar páginas HTML; éstas incluyen scripts CGI, seguridad SSL y páginas activas del servidor (ASP). Figura : Funcionamiento Servidores Web A continuación mostramos una tabla con la extensa lista de servidores web a nivel informativo, aunque nosotros solo vamos a realizar un estudio sobre los que más nos interesan por sus características y adaptación a nuestro proyecto, pero de esta forma el usuario se puede hacer una idea del extenso número de servidores web existentes. Es muy importante realizar un estudio de los principales para saber cual cubrirá de mejor forma nuestras necesidades. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 57

65 Capítulo 6. Estudio de la Arquitectura Nombre del Servidor AOLserver Apache Java Server Jigsaw Microsoft Internet Information Services Servertec Internet Server Sistema operativo Unix Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows Server 2003 Windows XP NetWare OS/2 Unix Windows 95/98 Windows NT 4.0 HP-UX IRIX Linux OS/2 Solaris Windows 95/98 Windows NT 4.0 Java_VM Solaris Windows 95/98 Windows NT 4.0 Windows Server 2003 AIX HP-UX Linux IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 58

66 Capítulo 6. Estudio de la Arquitectura Solaris Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows Server 2003 Windows XP Shadow Web Server SimpleServer:WWW Sun Java System Web Server MVS Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows XP Red Hat Linux Solaris Windows 2000 Windows XP WN AIX BSD Digital HP-UX IRIX Linux SCO Solaris UNIX OpenServer WebBase Windows 2000 Windows 95/98 Windows NT 4.0 Figura : Servidores Web IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 59

67 Capítulo 6. Estudio de la Arquitectura Alternativa Servidor Web 1: APACHE Apache empezó como una serie de parches al servidor de Web desarrollado en el National Center for Supercomputing Application (NCSA) y una vez abandonado el proyecto de NCSA, programadores de todo el mundo encontraron la necesidad de tener un repositorio central donde mantener el código y los parches del nuevo software. Así surgió la Apache Software Foundation. Fue diseñado desde el principio de forma modular, así los programadores originales asumen que el software puede ser ampliado por otros desarrolladores, los cuales pueden escribir pequeñas partes del código que se integrará en Apache de una manera fácil. Esto se lleva a cabo al haber creado un API modular y una serie de fases bien definidas por las que cada petición al servidor debe atravesar. Estas fases van desde la inicialización del servidor (cuando Apache lee los ficheros de configuración), hasta la traducción de una URL en un nombre de fichero del servidor, o registrar los resultados de la transacción. Por contra, esta modularidad de Apache puede hacer potencialmente difícil la configuración del servidor. Por defecto, Apache viene con un buen número de módulos habilitados por defecto. Si uno se encuentra en disposición de poder compilar el código fuente, puede adecuar el servidor a sus necesidades obteniendo unos resultados inmejorables. Las principales características de servidor Apache son las siguientes: Corre en una multitud de Sistemas Operativos, lo que lo hace prácticamente universal. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 60

68 Capítulo 6. Estudio de la Arquitectura Figura : Apache Apache es una tecnología gratuita de código fuente abierto. El hecho de ser gratuita es importante pero no tanto como que se trate de código fuente abierto. Esto le da una transparencia a este software de manera que si queremos ver que es lo que estamos instalando como servidor, lo podemos saber, sin ningún secreto, sin ninguna puerta trasera. Apache es un servidor altamente configurable de diseño modular. Es muy sencillo ampliar las capacidades del servidor Web Apache. Actualmente existen muchos módulos para Apache que son adaptables a este, y están ahí para que los instalemos cuando los necesitemos. Otra cosa importante es que cualquiera que posea una experiencia decente en la programación de C o Perl puede escribir un modulo para realizar una función determinada. Apache trabaja con gran cantidad de Perl, PHP y otros lenguajes de script. También trabaja con Java y páginas jsp. Teniendo todo el soporte que se necesita para tener páginas dinámicas. Apache te permite personalizar la respuesta ante los posibles errores que se puedan dar en el servidor. Es posible configurar Apache para que ejecute un determinado script cuando ocurra un error en concreto. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 61

69 Capítulo 6. Estudio de la Arquitectura Tiene una alta configurabilidad en la creación y gestión de logs. Apache permite la creación de ficheros de log a medida del administrador, de este modo puedes tener un mayor control sobre lo que sucede en tu servidor Alternativa Servidor Web 2: CHEROKEE Cherokee es un servidor web de licencia libre (GPL) con un desarrollo aún reciente. Ha sido creado desde el principio con el objetivo de ser eficiente, modular y sencillo de configurar. Es una alternativa rápida e innovadora a otros servidores web más establecidos como el omnipresente Apache, que lastran años de evolución en su código y de la sobreimplementación de características. Figura : Cherokee El diseño de Cherokee consta de un núcleo de la aplicación que no realiza absolutamente ninguna tarea más allá de abrir y cerrar conexiones. Por defecto Cherokee ni siquiera es capaz de leer del disco duro. Esto puede dar una idea del extremo al que han llegado en el diseño y el desarrollo de Cherokee en el afán de conseguir el más absoluto minimalismo y las mayores posibilidades de personalización de su configuración y funcionamiento. Sobre esa base rapidísima se ha construido una serie de módulos que van añadiendo por separado la funcionalidad necesaria para trabajar con diferentes tecnologías. Por defecto lo que hace el servidor web es únicamente servir archivos de IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 62

70 Capítulo 6. Estudio de la Arquitectura forma estática, al activarle el módulo de lectura del disco duro. Para añadir, por ejemplo, la posibilidad de realizar accesos a bases de datos o ejecutar aplicaciones PHP, Perl o Rails, es necesario instalar el módulo específico para cada tecnología requerida. Sus principales características son las siguientes: La facilidad de instalación y configuración La velocidad Su modularidad a prueba de balas. Cherokee ofrece todo lo que uno puede necesitar, debido a sus características y su amplio soporte de tecnologías web como por ejemplo SCDI, PHP, CGI, TLS o SSL, además de hosts virtuales, autentificación, y compatibilidad total con los ficheros de log de Apache. Su principal objetivo consiste en mejorar los puntos flacos de Apache, cubriendo las necesidades de todos. Por último cabe destacar que brinda un gran soporte para entornos con estrés circulatorio, es decir, con una gran cantidad de tráfico Alternativa Servidor Web 3: IIS Internet Information Services (IIS) es un componente software que integra una serie de herramientas para la creación, configuración y administración de sitios Web, además de incluir otros servicios de Internet para la plataforma Windows. Entre estos servicios se encuentra un servicio Web y, los siguientes: FTP, servicio para la transferencia de ficheros por red. SMTP, servicio para la transferencia de correo electrónico. NNTP, servicio para la transferencia de noticias. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 63

71 Capítulo 6. Estudio de la Arquitectura Comúnmente, llamamos al servidor Web de Microsoft como Internet Information Server, es decir, el servicio Web que ofrece IIS. De ahora en adelante, nos referiremos a este servidor como IIS. Internet Information Services se distribuye gratuitamente junto con las versiones de Windows basadas en NT, así como en las versiones 2000 y 2003 Server, para sus ediciones Standard, Enterprise y Web. IIS también ofrece una versión reducida para Windows XP en sus ediciones Professional y Media Center. En la instalación del servidor, se incluirán por defecto el servicio Web y el de administración del mismo. Características IIS es el segundo servidor Web más utilizado en Internet (por detrás de Apache), pero probablemente sea el primero en cuanto a utilización en entornos corporativos. Desde su creación y hasta la fecha, han aparecido 7 versiones diferentes. En su última versión Microsoft tiende a la modularización de sus componentes. En versiones anteriores a la 6.0, todas las características y funcionalidades de IIS eran ejecutadas por la cuenta de administrador del sistema, consecuencia principal de los diversos fallos de seguridad, que generó la aparición de numerosos exploits (forma de utilizar un fallo del sistema para ingresar en el mismo y obtener ciertos privilegios). A partir de la versión 6 todos los procesos de IIS se ejecutan bajo una cuenta específica que lógicamente, tiene muchos menos privilegios que una cuenta de root (cuenta del administrador del sistema) y, aporta una mayor seguridad al sistema. Un cambio significativo en comparación con versiones anteriores de IIS es que ahora toda la configuración del servidor Web se almacena en archivos XML. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 64

72 Capítulo 6. Estudio de la Arquitectura Figura : IIS Para todas las versiones anteriores a la 6, Internet Information Services se concebía como un gran servidor monolítico que ofrecía todos los servicios. A partir de la versión 6, los desarrolladores de Microsoft abandonaron esta idea previa de tal forma que el nuevo servicio Web tuviera su propio motor, es decir, definir una arquitectura modular para los servicios que componen Internet Information Services. Con esta nueva arquitectura aparecen funcionalidades muchas más específicas que se pueden agregar al núcleo, de forma parecida a como ya lo hacen Apache y Cherokee. La ventaja de utilizar esta arquitectura es que solamente las características requeridas son habilitadas y que las funcionalidades pueden ser ampliadas creando nuevos módulos, mejorando el rendimiento y la seguridad. Dentro de la última versión se incluye una API (Application Programming Interface) para poder programar nosotros mismos nuevos módulos y funcionalidades para el servidor, utilizando algún lenguaje de programación basado en.net (plataforma de desarrollo de software creada por Microsoft orientada a entornos Web, como competencia a Java) Servidor Web Seleccionado: APACHE Se ha realizado un estudio comparativo sobre estos 3 servidores web para ver cual se escoge finalmente. Se adjunta una tabla comparativa que se ha realizado de las IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 65

73 Capítulo 6. Estudio de la Arquitectura principales características que nos ofrecen los 3 servidores web sobre los cuales hemos realizado un estudio y alguno más existente en el mercado, pero como hemos dicho con anterioridad, sobre los cuales no hemos realizado ningún estudio detallado. La tabla nos da una idea aproximada de ellos sin llegar a ser sus números exactos puesto que los principales servidores evolucionan rápidamente, añadiendo nuevos módulos constantemente. Figura : Características Servidores Web Analizadas las 3 opciones hemos seleccionado Apache como el servidor web donde va a funcionar nuestra aplicación. Hoy en día, el servidor Web Apache es el servidor más usado de Internet, con una utilización del 65% aproximadamente. Las principales metas de su diseño son: velocidad, simplicidad, multiplataforma y facilidad del desarrollo distribuido. En todas estas características se encuentra por encima de sus IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 66

74 Capítulo 6. Estudio de la Arquitectura competidores y es por ello, que la hemos seleccionado. También influye que Apache lleva años de ventaja sobre otros ya que la primera aparición de Apache fue en Abril de Alternativas de Bases de Datos Un Sistema Gestor de base de datos (SGBD) es un conjunto de programas que permiten crear y mantener una Base de datos, asegurando su integridad, confidencialidad y seguridad. Por tanto debe permitir: Definir una base de datos: especificar tipos, estructuras y restricciones de datos. Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD Manipular la base de datos: realizar consultas, actualizarla, generar informes. Existe un gran número de (SGBD) y por lo tanto se ha decidido estudiar dos de las principales, ORACLE y MySQL, para posteriormente decidirnos por alguna de ellas Alternativa de Base de Datos 1: MySQL MySQL en los últimos años ha tenido un crecimiento vertiginoso. Es la base de datos de código abierto más popular del mundo. Código abierto significa que todo el mundo puede acceder al código fuente, es decir, al código de programación de MySQL, esto significa que también todos pueden contribuir con ideas, elementos, mejoras o sugerir optimizaciones. Y así es que MySQL ha pasado de ser una pequeña base de IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 67

75 Capítulo 6. Estudio de la Arquitectura datos a una completa herramienta. Su rápido desarrollo se debe en gran medida a la contribución de mucha gente al proyecto, así como la dedicación del equipo de MySQL. A diferencia de los proyectos propietarios, en los que el código fuente es desarrollado por un número reducido de personas y se protege atentamente, los proyectos de código abierto no excluyen a nadie interesado en aportar ideas, si disponen de los conocimientos necesarios. Lo que en un tiempo se consideró como un sencillo juguete para uso en sitios Web, se ha convertido en la actualidad en una solución viable y de misión crítica para la administración de datos. MySQL es un sistema de administración de bases de datos relacional (RDBMS). Se trata de un programa capaz de almacenar una enorme cantidad de datos de gran variedad y de distribuirlos para cubrir las necesidades de cualquier tipo de organización, desde pequeños establecimientos comerciales a grandes empresas y organismos administrativos. MySQL compite con sistemas RDBMS propietarios como Oracle, Sql Server y Db2. MySQL incluye todos los elementos necesarios para instalar el programa, preparar diferentes niveles de acceso de usuario, administrar el sistema y proteger los datos. Puede desarrollar sus propias aplicaciones de bases de datos en la mayor parte de lenguajes de programación utilizados en la actualidad y ejecutarlos en casi todos los sistemas operativos, incluyendo algunos de los que probablemente no ha oído hablar nunca. MySQL utiliza el lenguaje de consulta estructurado (SQL). Las principales características de MySQL son: Asistencia Velocidad Funcionalidad Portabilidad Facilidad de uso Coste Reducido IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 68

76 Capítulo 6. Estudio de la Arquitectura Alternativa de Base de Datos 2: ORACLE Oracle es un sistema de administración de base de datos (o RDBMS Relational Data Base Management System por las siglas en inglés), fabricado por Oracle corporation, básicamente una herramienta cliente/servidor para la gestión de Bases de Datos. Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que sólo se vea en empresas muy grandes y multinacionales, por norma general. En el desarrollo de páginas web pasa lo mismo: como es un sistema muy caro no está tan extendido como otras bases de datos, por ejemplo, Access, Mysql, Sql Server, etc. Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª generación, bastante potente para tratar y gestionar la base de datos, también por norma general se suele utilizar SQL. Oracle es sin duda una de las mejores bases de datos que tenemos en el mercado, es un sistema gestor de base de datos robusto, tiene muchas características que nos garantizan la seguridad e integridad de los datos; que las transacciones se ejecuten de forma correcta, sin causar inconsistencias; ayuda a administrar y almacenar grandes volúmenes de datos; estabilidad, escalabilidad y es multiplataforma. Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia de gestores de bases de datos comerciales y de la oferta de otros con licencia Software Libre como PostgreSql, Mysql o FireBird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo Linux Alternativa de Base de Datos Seleccionada: MySQL Una vez introducidas las dos alternativas existentes como bases de datos, se han realizado varios estudios comparativos gracias a los cuales seleccionaremos una de las alternativas como elección final. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 69

77 Capítulo 6. Estudio de la Arquitectura Comparativa de aplicaciones administrativas Se han analizado las aplicaciones administrativas que trae cada una de las bases de datos para compararlas mejor. Primero se muestran las de MySQL y posteriormente las de ORACLE. Figura : Aplicaciones Administrativas MySQL Figura : Aplicaciones Administrativas ORACLE IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 70

78 Capítulo 6. Estudio de la Arquitectura Comparativa de Soporte Oracle El servicio de soporte Oracle incluye: Asistencia técnica las 24 horas al día 7 días a la semana ( 24 x 7 ) Acceso a OracleMetaLink sistema de soporte al cliente basado en el internet. Habilidad para registrar requerimientos a través de OracleMetaLink. Actualizaciones de software, versiones de mantenimiento. MySQL MySQL Network provee soporte y servicios directos de los desarrolladores de MySQL asegurando una respuesta confiable, segura y rápida. En la página web las personas interesadas en la herramienta tienen acceso a listas de correo, foros, documentación en línea, información técnica de temas específicos. Calidad del software Para el proyecto se analizaron alrededor de 30 proyectos de software libre uno por uno frente a las aplicaciones propietarias, entre ellos la base de datos libre Mysql, la conclusión fue que el software libre tiene menos errores de programación que el software propietario. Software libre: errores por cada 1,000 líneas de código Propietario: de 20 a 30 errores por cada 1,000 líneas de código Incluso en el caso más desastroso, se ha comprobado que en muchas ocasiones las Comunidades de Software Libre tienen pocos problemas en hacer cambios mayores en el código, incluso partiendo desde cero, para solventar errores graves de diseño, cosa que es complicado ver en productos propietarios en producción (ORACLE), que arrastran errores hasta el final del ciclo de vida. Conclusión La inversión en una base de datos de código abierto es una alternativa válida que gerentes y desarrolladores deberían considerar el momento de escoger una solución informática. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 71

79 Capítulo 6. Estudio de la Arquitectura El desarrollo de MySQL y la forma en la que los miles de usuarios aportan con la solución pronta a problemas existentes en el motor de base de datos, la hacen ver como una seria competidora ante las bases de datos propietarias, poco a poco sus funcionalidades envidian casi nada a estas últimas. Hay que tomar en cuenta que la compra del motor de base de datos no es el único gasto que las empresas tendrán que realizar para implantar la aplicación web, existen otros costos como administración, mantenimiento, capacitación, el costo es entonces un punto muy importante para tomar en cuenta a la hora de seleccionar un sistema gestor de bases de datos. Las bases de datos de código abierto están ganando terreno en el mercado rápidamente, esto ha preocupado mucho a las firmas propietarias de software como Oracle a tal punto que esta empresa ya lanzó su versión libre de la base de datos, además Oracle compró la empresa Innodb que es la empresa que maneja la ingeniería de almacenamiento de MySQL, esto indica que las empresas saben que MySQL es un buen competidor. Según las pruebas realizadas, el motor de base de datos MySQL es mucho más rápido que Oracle en el procesamiento de transacciones, esta es otra característica válida que en ambientes críticos de producción toma gran importancia el tiempo de respuesta de la base de datos en lo que satisfacción del cliente se refiere y en ambientes grandes de información como datawarehouse para la toma de decisiones. Debido a estas conclusiones se ha decidido escoger MySQL como el gestor de bases de datos de nuestra aplicación. Entre todas las razones y conclusiones sacadas, hay que destacar que el hecho de que se trate de un software libre sin coste alguno es su principal característica para ser escogida Alternativas de Servidores de Portales Actualmente existen multitud de servidores de portales sobre el cual podríamos instalar nuestra aplicación y para ello vamos a realizar un análisis de los más IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 72

80 Capítulo 6. Estudio de la Arquitectura destacados, aunque Liferay cumple con los requisitos que necesitamos. De todas formas se ha decidido explorar el resto de posibilidades por si surgiese alguna alternativa nueva. Hemos seleccionado los principales servidores de portales Open Source, ya que son los que más nos interesan para nuestro proyecto. En primer lugar hemos analizado en la figura de forma general los distintos servidores de portales, comparando sus características principales. En segundo lugar, en la figura observamos la comparación en cuanto a contenido y a la integración con los distintos sistemas operativos y bases de datos. Por último, observamos en la figura una comparativa sobre la seguridad y el interfaz de usuario entre los distintos servidores de portales. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 73

81 Capítulo 6. Estudio de la Arquitectura Figura : Tabla Comparativa General Servidores de portales IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 74

82 Capítulo 6. Estudio de la Arquitectura Figura : Tabla Comparativa de contenido e integración sobre Servidores de portales IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 75

83 Capítulo 6. Estudio de la Arquitectura Figura : Tabla Comparativa sobre la seguridad y el interfaz de usuario entre Servidores de portales. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 76

84 Capítulo 6. Estudio de la Arquitectura Alternativas de Servidor de Portales Seleccionada: Liferay Una vez analizados el resto de servidores de portales existentes se ha decidido utilizar Liferay como servidor de portales. Es el portal de código abierto más popular y se trata de una herramienta muy útil para usar como CMS o plataforma de colaboración. Contiene una gran cantidad de portlets listos para usar que nos permiten componer sitios sofisticado sin demasiado esfuerzo. Sin embargo, hay tiene otra faceta muy interesante. Liferay puede ser una plataforma excelente para nuestras aplicaciones corporativas, porque provee gestión de usuarios, navegación, apariencia profesional, seguridad, etc. Por tanto, con Liferay tenemos muchos problemas críticos resueltos sin apenas esfuerzo. 6.4 Arquitectura Técnica Elegida Tras los diversos análisis, estudios y necesidades de nuestro proyecto, se ha decidido utilizar el portlet Calendario que nos ofrece Liferay, ya que cumple todos nuestros requisitos y necesidades. Una vez descritas y estudiadas todas las posibilidades a la hora de implantar un calendario/agenda, se ha decidido implantar la aplicación en un servidor donde se instalará el sistema bajo un servidor de aplicaciones y una base de datos que almacenará la información de los datos introducidos en el sistema. El servidor correrá en la red interna de las oficinas centrales de la empresa y permitirá el acceso mediante navegador Web a la aplicación desarrollada por parte de los usuarios. Se ha decidido utilizar como servidor de aplicaciones la versión de Tomcat y MySQL 5.0 como sistema gestor de bases de datos. Estas decisiones se han tomado tras el análisis exhaustivo de todas las alternativas. Las características del servidor, tanto hardware como software, son las siguientes: Procesador: Intel Core 2 Duo 2,00 GHz IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 77

85 Capítulo 6. Estudio de la Arquitectura Disco duro: 140 GB Memoria RAM: 2 GB Sistema Operativo: MS Windows 2003 Server * Servidor de aplicaciones: Tomcat Servidor web: Liferay Sistema Gestor de Base de Datos: MySQL 5.0 Máquina virtual java: 1.5.0_17 El servidor Web Apache tendrá configurada una directiva que solo permita el acceso a la aplicación por protocolo seguro https mediante un certificado con contraseña que solo tendrán los usuarios con permiso para acceder a la aplicación. La arquitectura es bastante sencilla, y en un único servidor se integra la base de datos y el servidor de aplicaciones Herramientas software y hardware necesarias En este apartado se describen las herramientas que han sido necesarias para el desarrollo e implantación de este proyecto: Procesador: Intel Core 2 Duo 2,00 GHz Disco duro: 140 GB Memoria RAM: 2 GB Sistema Operativo: Windows Vista Home Premium Servidor de aplicaciones: Tomcat Servidor web: Liferay Sistema Gestor de Base de Datos: MySQL 5.0 Máquina virtual java: 1.5.0_17 Todos los elementos software utilizados tanto para el desarrollo, como para la implantación del sistema son Software Libre salvo el Sistema Operativo. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 78

86 Capítulo 6. Estudio de la Arquitectura Capítulo 7 7. Implantación del Sistema Una vez probada la integridad del software del sistema y especificada su instalación y configuración (véase ANEXO A y ANEXO B), se puede proceder a la implantación final del sistema de cara a su explotación.en el caso concreto de esta aplicación el procedimiento seguido para la puesta en marcha de la plataforma es muy sencillo de manera que no son necesarias varias etapas para el desarrollo de este punto del proyecto. En primer lugar, se debe configurar la conexión con la base de datos con la cual queremos sincronizar la aplicación. Tras el éxito del funcionamiento de la aplicación en el equipo del desarrollador, se ha situado esta información en un servidor de manera que la información es accesible para los usuarios de la web de la misma manera que funcionaba en el equipo local. El único requerimiento que necesita el usuario registrado para poder visualizar correctamente el contenido de la aplicación, es que su equipo tenga los requerimientos mínimos para el funcionamiento de los diversos programas que la componen. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 79

87 Capítulo 6. Estudio de la Arquitectura Figura 7: Pantalla principal de la aplicación La interfaz grafica de la herramienta tal y como se comprueba en la imagen mostrada es amigable y de fácil manejo. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 80

88 Capítulo 8. Planificación Capítulo 8 8. Valoración Económica y Planificación del Proyecto 8.1 Valoración económica En esta sección se muestra de forma detallada el presupuesto final de este proyecto, consecuencia de una valoración económica real de los costes de desarrollo e implantación del sistema. Para la finalización completa de este proyecto se han tenido gastos en materia de adquisición tecnológica, desarrollo e implantación en la empresa. Dividiremos los costes de la siguiente forma: a) Costes tecnológicos. b) Costes de desarrollo. c) Costes de implantación Costes Tecnológicos Los costes tecnológicos engloban los procesos de adquisición del hardware necesario para poder desarrollar el sistema y adquisición de las licencias de software necesarias. Para el desarrollo de este proyecto se adquirió un equipo que tuviese los requisitos mínimos requeridos por los componentes software que lo componen. Siempre se podrán utilizar equipos con especificaciones superiores, y es probable que la aplicación pueda ir algo más rápida, pero con los que nosotros hemos utilizado, se IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 81

89 Capítulo 8. Planificación consigue cumplir los mínimos de velocidad y procesamiento de las acciones que buscamos en nuestra aplicación. Se ha utilizado un ordenador con un procesador Intel Core 2 Duo, 2 GB de RAM y 140GB de disco duro. En lo que al software se refiere, el equipo debe tener instalados los siguientes programas: - MS XP Professional - MS Office Tomcat Eclipse. - Liferay Además de estos requerimientos hardware y software, es necesario un acceso rápido a internet para poder probar continuamente la aplicación instalada en un servidor de portales como es Liferay, instalada en el servidor. ELEMENTO IMPORTE Elemento Coste ( ) MS XP Professional 140 MS Office Eclipse Tomcat Liferay MySQL Internet Gratuito Gratuito Gratuito Gratuito 40/mes (9 meses) TOTAL 630 Figura 8.1.1: Costes Tecnológicos IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 82

90 Capítulo 8. Planificación Costes de Desarrollo Como costes de desarrollo se imputa el coste de los recursos humanos necesarios para el desarrollo de este proyecto de 9 meses de duración. Se han necesitado 2 perfiles diferentes de personal involucrado que se especifican a continuación junto con el desglose de horas dedicadas al proyecto y el coste de trabajo/hora. Como observamos en la tabla que se muestra a continuación el trabajo más importante ha sido desarrollado por un analista, dedicando así la mayor parte del proyecto. Por último fue necesario el trabajo de un programador para el desarrollo de las distintas características de la aplicación y su implantación. Perfil Tarifa ( /h) Horas Coste Analista Junior Programador Junior PERFILH) HORAS C OSTE ( ) Costes de Implantación TOTAL 8625 Figura 8.1.2: Costes de Desarrollo Dado que el portal estará situado en un servidor de la empresa, el coste es nulo ya que ya existían en la empresa, y no se necesita uno dedicado plenamente a la aplicación. La aplicación no necesita un servidor en exclusiva para su funcionamiento, asique basta con implantarlo en uno existente. De no existir un servidor en la empresa, se debería estudiar la compra de uno. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 83

91 Capítulo 8. Planificación No se va a contratar a nadie para implantar la aplicación ni para configurar los usuarios ni permisos, ya que en los distintos anexos se explica ampliamente sin la necesidad de contratar a nadie. Cualquier empleado de la empresa que se trabaje en el departamento de sistemas será capaz de entender perfectamente los procesos de implantación, e instalar la aplicación correctamente Costes Totales del Proyecto El coste total del proyecto suma un total de TE Tipo Coste Tecnológico 630 Desarrollo 8625 Implantación 0 TOTAL 9255 Figura 8.1.4: Coste Total PFC 8.2 Planificación La planificación del proyecto se ha llevado a cabo según el siguiente diagrama GANT. En el podemos observar como hemos realizado cada una de las tareas, y al terminar hemos realizado la documentación. De esta forma se ha trabajado con la metodología que escogimos, SCRUM, con la cual una vez realizamos una tarea debemos terminarla por completo, documentación incluida, antes de pasar a la siguiente. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 84

92 Capítulo 8. Planificación Observaremos que cada tarea está dividida en subtareas, las cuales forman los principales puntos de cada una de ellas. Figura 8.2.1: Lista de Tareas IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 85

93 Capítulo 8. Planificación Figura 8.2.2: Diagrama Gant del PFC IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 86

94 ANEXOS Capítulo 9 9. Conclusiones El desarrollo completo de un Proyecto Fin de Carrera es un trabajo laborioso y complejo. En este caso, para el desarrollo e implantación de una aplicación web, se ha tenido que conseguir un perfecto conocimiento sobre el funcionamiento de las mismas. Se han aprendido multitud de conceptos y tecnologías antes desconocidas, y gracias a las cuales se ha permitido afrontar este desarrollo de una forma más sencilla. Principalmente se ha aprendido lo importante que es la correcta organización de las tareas para conseguir el objetivo final y lo útil que es el uso de una herramienta que nos ayude en este proceso. Asimismo, para poder controlar un proyecto de estas dimensiones y posibles modificaciones es básico poseer una documentación clara y completa. Se ha conseguido desarrollar una aplicación intuitiva, con un interfaz amigable y que permite su uso de una forma rápida y eficaz. De esta manera, se provee al personal de la empresa una herramienta que sea un apoyo a su trabajo en vez de convertirla en un esfuerzo añadido. De esta forma, la empresa y cada empleado, podrá organizarse mejor cada jornada y así el resultado final será de mayor calidad. Esto ha permitido a la empresa contar con una aplicación sencilla gracias a la cual tener todos los eventos organizados de la mejor forma posible. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 87

95 ANEXOS ANEXO A Guía de Instalación La implementación del portlet calendario/agenda implica seguir ciertos pasos a la hora de instalar el software necesario en el servidor. Para poder instalar Liferay necesitamos tener instalado en nuestro equipo una máquina virtual Java mayor o igual a la 1.5, con la variable JAVA_HOME convenientemente configurada, y una instancia de MySQL corriendo en la máquina, aunque esto último es opcional, ya que Liferay puede arrancar desde su base de datos embebida (no recomendable en entornos de producción). Lo siguiente es descomprimir el archivo en el lugar de disco que deseemos, al que nos referiremos como LIFERAY_HOME. Establecemos una variable de entorno llamada CATALINA_HOME al valor de la ruta donde esté instalado el tomcat que viene embebido en Liferay, %LIFERAY_HOME%\tomcatxx, donde tomcatxx dependerá de la versión de Tomcat que tengamos, a partir de aquí la llamaremos LIFERAY_TOMCAT_HOME. Si tenemos algún otro servidor de aplicaciones esta variable ya existirá y lo que tenemos que hacer es editarla para que apunte a LIFERAY_TOMCAT_HOME. Otro punto a tener en cuenta, es que por defecto el puerto de Liferay es el 8080, por tanto debemos asegurarnos de que este puerto esta libre o cambiarlo. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 88

96 ANEXOS Para cambiar el puerto por defecto donde se ejecuta Liferay tenemos que abrir en modo edición el archivo %LIFERAY_TOMCAT_HOME%\conf\server.xml, buscamos este fragmento de código y modificamos donde pone 8080 por el puerto que queramos, por ejemplo el 8282: Además si deseamos utilizar MySQL como motor de base de datos en lugar del que Liferay trae por defecto, tenemos que seguir estos pasos adicionales: Accedemos a MySQL por consola mysql -u root -p Cuando estemos correctamente logados, tecleamos create database lportal character set utf8; Copiamos el driver de MySQL en %LIFERAY_TOMCAT_HOME%\common\lib\ext si es que no existe ya. Creamos, si no existe ya, el fichero %LIFERAY_TOMCAT_HOME%\webapps\ROOT\WEB-INF\classes\portalext.properties, y añadimos las siguientes líneas: #Configuration of database to use MySQL jdbc.default.driverclassname=com.mysql.jdbc.driver IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 89

97 ANEXOS jdbc.default.username=root jdbc.default.password=admin jdbc.default.url=jdbc:mysql://localhost/lportal?useunicode=true&characterenc oding=utf-8&usefastdateparsing=false Una vez hemos tenido en cuenta los pasos anteriores, basta con ejecutar el archivo %LIFERAY_TOMCAT_HOME%\bin\startup.bat, lo que abrirá una pantalla semejante a esta: Si el proceso se realiza correctamente se abrirá una instancia del navegador que tengamos configurado por defecto en la máquina con la página principal de nuestro Liferay recién instalado. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 90

98 ANEXOS IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 91

99 ANEXOS ANEXO B Manual de Administrador La configuración del calendario/agenda es bastante sencilla, y por lo tanto se explicará muy brevemente los pasos que debemos realizar. La aplicación nos permite controlar el tipo de permisos que tiene cada usuario, y a continuación procederemos a explicar cómo los configuraremos. Una vez dentro del sistema, utilizando el usuario Administrador que nos viene por defecto, procederemos a otorgar distintos permisos al resto de usuarios, basándonos en la accesibilidad que les queramos dar. Dentro de la pantalla principal acudiremos al Panel de Control, para ahí seleccionando la pestaña de Roles, configurar el portal adecuadamente. Existen roles predefinidos los cuales se podrán utilizar libremente, y con una gran cantidad de posibilidades. También existe al posibilidad de modificar, o bien crear nosotros mismos los roles. De esta forma, controlaremos exactamente que se le permite a que roles. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 92

100 ANEXOS Figura Anexo B: Configuración Roles Escogiendo los tipos de permisos que queramos otorgar a un usuario, le añadiremos al rol que le permita realizar las acciones deseadas. Basta con pulsar en acciones y añadir usuario. De esta forma el usuario seleccionado pasará a formar parte de ese rol, con sus permisos correspondientes. IMPLANTACIÓN DE UN PORTLET AGENDA COMO HERRAMIENTA COLABORATIVA 93

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

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

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

Qué es Google Calendar? Qué se puede hacer en Google Calendar? Qué es Google Calendar? Google Calendar es una herramienta web 2.0 que permite tener una agenda virtual a la que se puede acceder desde cualquier lugar, en forma gratuita. La característica más interesante

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

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado Ministerio de Educación, Cultura y Deporte Joomla! La web en entornos educativos Guía del alumnado INTEF 2012 Joomla! La web en entornos educativos Guía Didáctica En este apartado describiremos las características

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

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

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

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

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

Introducción a Google Calendar Breve guía sobre algunas de sus funcionalidades destacables.

Introducción a Google Calendar Breve guía sobre algunas de sus funcionalidades destacables. Introducción a Google Calendar Breve guía sobre algunas de sus funcionalidades destacables. 28/03/2011 Centro de Servicios de Informática y Redes de Comunicaciones Nodo Cartuja Contenido 1. Introducción...

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

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir? Google Docs 1 Itinerario 1.1 Qué vamos a hacer? En este tutorial aprendemos a manejar la herramienta Google Docs, de esta forma nos introduciremos en el llamado cloud computing, que podemos traducir como,

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

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Guía de Apoyo Project Web Access. (Jefe de Proyectos) Guía de Apoyo Project Web Access (Jefe de Proyectos) 1 ÍNDICE Contenido INTRODUCCIÓN... 3 CAPITULO I: ELEMENTOS INICIALES DE PROJECT WEB ACCESS... 4 Configuración General... 4 Área de Trabajo del Proyecto...

Más detalles

Está creado como un organizador y gestor de tareas personalizables para generar equipos de alto desempeño en diferentes rubros de empresas.

Está creado como un organizador y gestor de tareas personalizables para generar equipos de alto desempeño en diferentes rubros de empresas. SACS proviene de las siglas Sistema Avanzado de Comunicación Social, es un modelo de gestión de toda la organización, basándose en la orientación del cliente. Es un software vía web que se encarga de la

Más detalles

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Servinet Sistemas y Comunicación S.L. www.softwaregestionsat.com Última Revisión: Octubre 2014 FUNCIONALIDADES SAT

Más detalles

Programa de gestión Normativa y Requisitos Legales

Programa de gestión Normativa y Requisitos Legales Manual de Uso Versión 3 Programa de gestión ÍNDICE 1. ACERCA DE @LineTerr... 3 1.1. Información general. Requerimientos de los equipos... 3 1.2. Acceso a @LineTerr... 3 1.3. Configuración. Permisos...

Más detalles

Metodología básica de gestión de proyectos. Octubre de 2003

Metodología básica de gestión de proyectos. Octubre de 2003 Metodología básica de gestión de proyectos Octubre de 2003 Dentro de la metodología utilizada en la gestión de proyectos el desarrollo de éstos se estructura en tres fases diferenciadas: Fase de Éjecució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

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

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

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

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

PRESENTACIÓN DEL PRODUCTO

PRESENTACIÓN DEL PRODUCTO PRESENTACIÓN DEL PRODUCTO esernet, s.l. Sebastián Elcano, 32 Planta 1 Oficina 22 28012 Madrid Teléfono: 91 433 84 38 -- Fax. 91 141 21 89 www.esernet.com -- esernet@esernet.com 1. Introducción 2. Descripción

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

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL La administración documental profesional es una completa herramienta documental dirigida preferiblemente a pequeñas y medianas organizaciones para ganar control sobre sus documentos, con énfasis en la

Más detalles

Las nuevas tecnologías contribuyen de forma esencial para que esta comunicación sea efectiva, fluida y útil.

Las nuevas tecnologías contribuyen de forma esencial para que esta comunicación sea efectiva, fluida y útil. Páginas Web Personales. wep Introducción En el mundo moderno las nuevas tecnologías se van incorporando a nuestra vida cotidiana en forma de elementos indispensables que contribuyen tanto a nuestro bienestar.

Más detalles

1) Qué es Avant Manager? 2) Funcionalidades de Avant Manager. 3) Ventajas de Avant Manager. 4) Por qué Avant Manager? 5) Información de Suscripción

1) Qué es Avant Manager? 2) Funcionalidades de Avant Manager. 3) Ventajas de Avant Manager. 4) Por qué Avant Manager? 5) Información de Suscripción Cuestiones clave 1) Qué es Avant Manager? 2) Funcionalidades de Avant Manager 3) Ventajas de Avant Manager 4) Por qué Avant Manager? 5) Información de Suscripción 6) Datos de contacto 2 Gestión eficiente

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

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

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

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

Sistemas de Gestión de Calidad. Control documental

Sistemas de Gestión de Calidad. Control documental 4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4

Más detalles

Introducción a los sitios de SharePoint en Office 365

Introducción a los sitios de SharePoint en Office 365 Introducción a los sitios de SharePoint en Office 365 Universidad Central del Este Contenido 1. QUÉ ES UN SITIO SHAREPOINT?... 3 2. CÓMO INGRESAR AL ÁREA DE SITIOS?... 3 3. DESCRIPCIÓN GENERAL DEL ÁREA

Más detalles

Introducción. Definición de los presupuestos

Introducción. Definición de los presupuestos P o r q u é e l p r e s u p u e s t o d e b e s e r e l c a m i n o a s e g u i r p a r a g a r a n t i z a r e l é x i t o d e s u e m p r e s a? Luis Muñiz Economista Introducción El aumento de la incertidumbre

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

Eficiencia en la Automatización y Gestión de Servicios

Eficiencia en la Automatización y Gestión de Servicios Eficiencia en la Automatización y Gestión de Servicios GESTIÓN EFECTIVA DE SERVICIOS CON SERVICETONIC Hoy en día las empresas están obligadas a hacer más con menos recursos y como consecuencia de ello

Más detalles

Nos encargamos del tuyo, tú disfruta

Nos encargamos del tuyo, tú disfruta EN ACTIVE SABEMOS QUE TIENES COSAS MÁS IMPORTANTES QUE EL TRABAJO, POR ESO Nos encargamos del tuyo, tú disfruta 2015 ACTIVE BUSINESS & TECHNOLOGY. TODOS LOS DERECHOS RESERVADOS. 1 Esta nueva versión ha

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

Sistema de SaaS (Software as a Service) para centros educativos

Sistema de SaaS (Software as a Service) para centros educativos Sistema de SaaS (Software as a Service) para centros educativos Definiciones preliminares: Qué es SaaS? SaaS (1) es un modelo de distribución del software que permite a los usuarios el acceso al mismo

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

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

Plataforma Comunicación Centros de Educación Formación

Plataforma Comunicación Centros de Educación Formación Plataforma Comunicación Centros de Educación Formación Mayo de 2010 Índice Introducción Organización Plataforma Plataforma Tecnológica Gestión Documental Gestión de Formularios y Solicitudes Gestión de

Más detalles

Prestaciones generales. Web corporativa del despacho

Prestaciones generales. Web corporativa del despacho La nueva y mejorada versión de Asesoriaweb, más intuitiva y eficiente, permite al asesor completar los servicios prestados a sus clientes junto con las demás aplicaciones de NCS Software. Su principal

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

El ejemplo de wiki más conocido es la enciclopedia universal colaborativa wikipedia.

El ejemplo de wiki más conocido es la enciclopedia universal colaborativa wikipedia. UNIDAD 4: WIKIS Qué es un wiki? El término con el que comenzó conociéndose esta herramienta es WikiWiki, de origen hawaiano que significa rápido. Un wiki es un sitio web con distinta páginas donde el contenido

Más detalles

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Proyecto de Fin de Carrera Universidad Politécnica de Valencia Escuela Técnica Superior de Informática Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Realizado por: Dirigido

Más detalles

Unidad III. Software para la administración de proyectos.

Unidad III. Software para la administración de proyectos. Unidad III Software para la administración de proyectos. 3.1 Herramientas de software para administrar proyectos. El software de administración de proyectos es un concepto que describe varios tipos de

Más detalles

Proyecto Fin de Carrera

Proyecto Fin de Carrera Proyecto Fin de Carrera Gestión del Proyecto para una Plataforma online de intercambio, compra o venta de ayudas técnicas. Consultora: Ana Cristina Domingo Troncho Autor: Álvaro Fanego Lobo Junio de 2013

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

SalesPlus.es SugarCRM - Manual del Usuario 1

SalesPlus.es SugarCRM - Manual del Usuario 1 SalesPlus.es SugarCRM - Manual del Usuario 1 Objetivo Conocer SugarCRM como herramienta que permita mejorar el proceso comercial dentro de la PYME. Aprender las variables clave a la hora de llevar a cabo

Más detalles

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT) MANUAL DE AYUDA MODULO SAT (Anexo Integración AGIL SAT) Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS 1 INTRODUCCION... 3 1.1 Objetivo... 3 1.2 Descripción de la aplicación Agil-SAT PDA... 3 1.3

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

Infraestructura Tecnológica. Sesión 1: Infraestructura de servidores

Infraestructura Tecnológica. Sesión 1: Infraestructura de servidores Infraestructura Tecnológica Sesión 1: Infraestructura de servidores Contextualización La infraestructura de cualquier servicio o mecanismo es importante, define el funcionamiento de los elementos en que

Más detalles

Cómo elegir tu SOFTWARE DE GESTIÓN?

Cómo elegir tu SOFTWARE DE GESTIÓN? Cómo elegir tu SOFTWARE DE GESTIÓN? 00 Introducción Tu empresa está en expansión y has decidido integrar todas las áreas de tu negocio para seguir creciendo. Has iniciado la búsqueda de un software de

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

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

Google Calendar. Google Calendar

Google Calendar. Google Calendar Google Calendar Tabla de contenido Tabla de contenido... 2 Introducción... 3 Qué es Google Calendar?... 3 Acceder y crear una cuenta de Google Calendar... 4 Creación de eventos... 11 Envío de invitaciones...

Más detalles

POSICIONAMIENTO EN LA WEB (SEM Y SEO)

POSICIONAMIENTO EN LA WEB (SEM Y SEO) POSICIONAMIENTO EN LA WEB (SEM Y SEO) POSICIONAMIENTO EN LA WEB (SEM Y SEO) 1 Sesión No. 6 Nombre: Podcast Contextualización Qué son los podcast? Los podcast son medios de comunicación que radican en la

Más detalles

Guía de inicio rápido a

Guía de inicio rápido a Guía de inicio rápido a Office 365 para pequeñas empresas La experiencia web La experiencia de aplicaciones de escritorio La experiencia móvil Ayuda y comunidad de Office 365 Microsoft Office 365 para

Más detalles

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE MANUAL DE USUARIO EGROUPWARE 1 INDICE Que es egroupware... 3 Inicio de sesión... 4 Aplicaciones de egroupware... 4 Correo electrónico... 5 Calendario... 7 ACL... 9 Administración de proyectos... 10 Libreta

Más detalles

Curso Online de Microsoft Project

Curso Online de Microsoft Project Curso Online de Microsoft Project Presentación El curso a distancia estudia conceptos generales sobre las tecnologías relacionadas con Internet. Conceptos que cualquier usuario de ordenadores debe conocer

Más detalles

#SoftwareLibre14. Páginas Web con Software Libre. WordPress

#SoftwareLibre14. Páginas Web con Software Libre. WordPress Páginas Web con Software Libre WordPress Qué es WordPress? WordPress es un popular sistema de gestión de contenidos (CMS), más orientado a lo que son los blogs, o bitácoras en línea, pero también usado

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

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS PROJECTS elastic PROJECTS INFORMACIÓN COMERCIAL Inscripción Registro Mercantil de Pontevedra, Tomo 3116, Libro 3116, Folio 30, Hoja PO-38276 C.I.F.: B-36.499.960 contact@imatia.com 1 INTRODUCCIÓN Mediante

Más detalles

Adicionalmente, en función de su objetivo, las Cookies puedes clasificarse de la siguiente forma:

Adicionalmente, en función de su objetivo, las Cookies puedes clasificarse de la siguiente forma: Cookies policy a) Utilización de Cookies y Web Bugs b) Tipología, finalidad y funcionamiento de las Cookies c) Cómo deshabilitar las Cookies y los Web Bugs en los principales navegadores d) Qué ocurre

Más detalles

Project 2013. Ing. Christian Ovalle

Project 2013. Ing. Christian Ovalle 2013 Ing. Christian Ovalle PROJECT Antes de comenzar un proyecto se necesitan definir los objetivos de un proyecto y luego determinado, cuales son las tareas que necesita realizar para alcanzar ese objetivo.

Más detalles

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una

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

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

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

PUCV - Pontificia Universidad Católica de Valparaíso

PUCV - Pontificia Universidad Católica de Valparaíso PUCV - Pontificia Universidad Católica de Valparaíso INICIO IBM QUICKR IBM Quickr es un software de colaboración en equipos, el cual permite compartir archivos e información de forma instantánea y directa

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

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina 25. 28108 Alcobendas, Madrid. www.ahorracom.com

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina 25. 28108 Alcobendas, Madrid. www.ahorracom.com PAGTE Plan de Ahorro y Gestión de Telecomunicaciones para Empresas En Ahorracom nos ponemos de su parte. Por eso nos interesa que usted, nuestro cliente, esté al tanto de todos los procesos que llevamos

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

Soporte y mantenimiento de base de datos y aplicativos

Soporte y mantenimiento de base de datos y aplicativos Soporte y mantenimiento de base de datos y aplicativos Las bases de datos constituyen la fuente de información primaria a todos los servicios que el centro de información virtual ofrece a sus usuarios,

Más detalles

Creación y administración de grupos locales

Creación y administración de grupos locales Creación y administración de grupos locales Contenido Descripción general 1 Introducción a los grupos de Windows 2000 2 Grupos locales 5 Grupos locales integrados 7 Estrategia para utilizar grupos locales

Más detalles

MANUAL CORREO ELECTRÓNICO UNIVERSIDAD ISRAEL

MANUAL CORREO ELECTRÓNICO UNIVERSIDAD ISRAEL MANUAL CORREO ELECTRÓNICO UNIVERSIDAD ISRAEL Correo APPS El personal Docente y administrativo trabajará con toda la tecnología y Servidores Google alineados a los dominios de la Universidad Israel de manera

Más detalles

Una plataforma de trabajo colaborativo

Una plataforma de trabajo colaborativo Una plataforma de trabajo colaborativo El problema Para la colaboración en proyectos con terceros los mínimos necesarios son: 1. Disponer de un repositorio de documentos accesible del modo más sencillo

Más detalles

CRM. Qué es CRM. Información para la Gestión

CRM. Qué es CRM. Información para la Gestión CRM Qué es CRM Es una estrategia de negocios orientada a la fidelización de clientes, enfocándose en que cada empleado de la empresa tenga información actualizada y confiable de los mismos, con el objetivo

Más detalles

Manual del Alumno de la plataforma de e-learning.

Manual del Alumno de la plataforma de e-learning. 2 Manual del Alumno de la Plataforma de E-learning 3 4 ÍNDICE 1. Página de Inicio...7 2. Opciones generales...8 2.1. Qué es el Campus...8 2.2. Nuestros Cursos...9 2.3. Cómo matricularme...9 2.4. Contactar...9

Más detalles

Presentación de Pyramid Data Warehouse

Presentación de Pyramid Data Warehouse Presentación de Pyramid Data Warehouse Pyramid Data Warehouse tiene hoy una larga historia, desde 1994 tiempo en el que su primera versión fue liberada, hasta la actual versión 8.00. El incontable tiempo

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

GMF Gestor de incidencias

GMF Gestor de incidencias GMF Gestor de incidencias Contenidos Contenidos... 1 Introducción... 2 El módulo de Gestión de Incidencias... 2 Vista del técnico... 2 Vista de usuario... 4 Workflow o flujo de trabajo... 5 Personalización

Más detalles

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas 1 INTRODUCCIÓN. Una visión global del proceso de creación de empresas Cuando se analiza desde una perspectiva integral el proceso de

Más detalles

Manual CMS Mobincube

Manual CMS Mobincube Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una

Más detalles

Introducción: Por qué SocialEdge?

Introducción: Por qué SocialEdge? social/edge Visión de la plataforma Enterprise Diciembre de 2014 1 Introducción: Por qué SocialEdge? Absolutamente todas las empresas tienen la necesidad de compartir determinados elementos en su flujo

Más detalles

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos Duración: 45 horas Objetivos: El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Contenidos:

Más detalles

Gestión de proyectos

Gestión de proyectos Gestión de proyectos Horas: 45 El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos El

Más detalles

Manual del Usuario. Sistema de Help Desk

Manual del Usuario. Sistema de Help Desk Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos

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

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de: Gemelo Backup Online DESKTOP Manual DISCO VIRTUAL Es un Disco que se encuentra en su PC junto a las unidades de discos locales. La información aquí existente es la misma que usted ha respaldado con su

Más detalles

www.artologik.com Programa de soporte y gestión de incidencias efectivo y fácil de usar

www.artologik.com Programa de soporte y gestión de incidencias efectivo y fácil de usar Programa de soporte y gestión de incidencias efectivo y fácil de usar Gestión de proyectos Gestión del tiempo Creación de encuestas HelpDesk Herramienta de publicación web Sistema de reservas www.artologik.com

Más detalles

Vicerrectorado de Planificación, Calidad, Responsabilidad Social y Comunicación

Vicerrectorado de Planificación, Calidad, Responsabilidad Social y Comunicación Vicerrectorado de Planificación, Calidad, Responsabilidad Social y Comunicación GUÍA PRÁCTICA DE LA APLICACIÓN PARA EL SEGUIMIENTO DE LOS TÍTULOS OFICIALES DE LA UNIVERSIDAD DE JAÉN (ISOTOOLS AUDIT) 1.

Más detalles

Manual Office 365 Small Business. Premium 365º. Small Business Premium. Premium

Manual Office 365 Small Business. Premium 365º. Small Business Premium. Premium Manual Office 365 Small Business Premium 365º Premium Small Business Premium Índice 1. Qué es Office Small Business Premium 2. Office 2013 Professional Plus 3. Correo electrónico 4. Portal de empresa y

Más detalles

Escritorio Virtual, plataforma para la Gestión del Conocimiento en la Universidad de Sevilla

Escritorio Virtual, plataforma para la Gestión del Conocimiento en la Universidad de Sevilla Escritorio Virtual, plataforma para la Gestión del Conocimiento en la Universidad de Sevilla Juan Camarillo Casado Director Técnico del Área de Universidad Digital Universidad de Sevilla Jornadas Técnicas

Más detalles