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 (http://www.hibernate.org/) 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

Contents. 1 ¾Que es un portal? 2. 2 ¾Que es un Portlet? 2 2.1 Denición... 2 2.2 Estandar JSR286... 2

Contents. 1 ¾Que es un portal? 2. 2 ¾Que es un Portlet? 2 2.1 Denición... 2 2.2 Estandar JSR286... 2 Contents 1 ¾Que es un portal? 2 2 ¾Que es un Portlet? 2 2.1 Denición............................... 2 2.2 Estandar JSR286........................... 2 3 Liferay 3 3.1 Denición...............................

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

Gestor de Comunidades Online (GCO)

Gestor de Comunidades Online (GCO) Universidad Carlos III de Madrid Escuela Politécnica Superior Ingeniería en Informática Proyecto Fin de Carrera Gestor de Comunidades Online (GCO) Autor: Enrique Toubes Tova Tutor: César de Pablo Sánchez

Más detalles

Características del cliente en Outlook Web Access

Características del cliente en Outlook Web Access Exchange 2007 Características del cliente en Outlook Web Access En este tema se explican las nuevas y mejoradas características del cliente en Outlook Web Access en Microsoft Exchange Server 2007. Estas

Más detalles

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio Otro camino para el BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 El BPM El BPM (Business Process Management) no es solo una tecnología, además a grandes rasgos es una disciplina

Más detalles

PLIEGO DE PRESCRIPCIONES TÉCNICAS DEL PROCEDIMIENTO SIMPLIFICADO PARA LA CONTRATACIÓN DE LOS SERVICIOS DE UNA EMPRESA PARA la INTEGRACIÓN DE

PLIEGO DE PRESCRIPCIONES TÉCNICAS DEL PROCEDIMIENTO SIMPLIFICADO PARA LA CONTRATACIÓN DE LOS SERVICIOS DE UNA EMPRESA PARA la INTEGRACIÓN DE PLIEGO DE PRESCRIPCIONES TÉCNICAS DEL PROCEDIMIENTO SIMPLIFICADO PARA LA CONTRATACIÓN DE LOS SERVICIOS DE UNA EMPRESA PARA la INTEGRACIÓN DE CONTENIDOS DE LA WEB DEL INSTITUTO DE CRÉDITO OFICIAL EN UN

Más detalles

1. Capítulo 1: Herramientas de Software para el sistema

1. Capítulo 1: Herramientas de Software para el sistema 1. Capítulo 1: Herramientas de Software para el sistema 1.1 Conceptos Generales 1.1.1 Joomla.- Es un sistema dinámico que gestiona y administra contenidos de código abierto, y permite desarrollar sitios

Más detalles

El ENTORNO COLABORATIVO WEBCED

El ENTORNO COLABORATIVO WEBCED El ENTORNO COLABORATIVO WEBCED AUTORÍA Mª TERESA GARZÓN PÉREZ TEMÁTICA NNTT, INTERNET ETAPA E.P., E.S.O., F.P. Resumen WebCED es un entorno colaborativo de diseño web destinado a las empleadas y empleados

Más detalles

www.microsoft.com/office/sharepointserver www.abd.es Contenido empresarial administrado en una interfaz de usuario basada en Web.

www.microsoft.com/office/sharepointserver www.abd.es Contenido empresarial administrado en una interfaz de usuario basada en Web. Microsoft Office SharePoint Server 2007 es un conjunto integrado de características de servidor que puede contribuir a mejorar la eficacia organizativa al ofrecer completas funciones de administración

Más detalles

SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB]

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] Visión Universidad Técnica del Norte Histórico de Revisiones

Más detalles

Con la interacción de tus empleados mejorará la productividad de tu negocio

Con la interacción de tus empleados mejorará la productividad de tu negocio 1. Introducción Con la interacción de tus empleados mejorará la productividad de tu negocio Los empleados de cualquier compañía precisan numerosos accesos en su trabajo diario, además de interaccionar

Más detalles

CMS, Repositorios y Gestores de Portales.

CMS, Repositorios y Gestores de Portales. CMS, Repositorios y Gestores de Portales. En el mundo de la programación estamos acostumbrados a que la mayoría de los avances que se realizan vayan orientados a simplificar el desarrollo de proyectos.

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

Especialista en Creación de Portales Web con Joomla 3.3

Especialista en Creación de Portales Web con Joomla 3.3 Especialista en Creación de Portales Web con Joomla 3.3 TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Especialista en Creación de Portales Web

Más detalles

Plataforma Tecnológica Qué es Marino Imagine? La integración de los requerimientos de sistemas informáticos en la determinados sectores. infraestructura de la empresa ha sucedido de forma Sus carencias

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

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA DESARROLLO DE UN SISTEMA DE CONSTRUCCIÓN DE WEBS 2.0 E INTEGRACIÓN CON UN SISTEMA DE VENTA DE DOMINIOS Tesis para optar por el

Más detalles

INICIANDO OFFICE 365 365 365 365 365 365? 365? CALENDARIO

INICIANDO OFFICE 365 365 365 365 365 365? 365? CALENDARIO INDICE OBJETIVO... 2 DIRIGIDO A... 2 OFFICE 365... 2 Servicios... 2 VENTAJAS... 3 Portal de empresa y presencia en internet con Office 365... 3 Office WebApps con Office 365... 3 Video conferencia y reuniones

Más detalles

Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management

Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management Web Business Creator Content Management Introducción Muchas empresas basan sus estrategias de comunicación

Más detalles

Construyendo una Intranet colaborativa para PyMES con SharePoint 2010

Construyendo una Intranet colaborativa para PyMES con SharePoint 2010 Construyendo una Intranet colaborativa para PyMES con SharePoint 2010 Descripción Microsoft SharePoint, también conocido como Microsoft SharePoint Products and Technologies, es una plataforma de colaboración

Más detalles

Introducción a Javato

Introducción a Javato Introducción a Javato Fº. Javier Pereñiguez Steria Iberica 20/02/2008 Índice Introducción Arquitectura Ejemplo arquitectura Plataforma Desarrollo Ejemplo de entorno de desarrollo Vías futuras Casos de

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

PLIEGO DE PRESCRIPCIONES TECNICAS PARTICULARES PARA EL REDISEÑO DE LA WEB MUNICIPAL USANDO DISEÑO ADAPTATIVO

PLIEGO DE PRESCRIPCIONES TECNICAS PARTICULARES PARA EL REDISEÑO DE LA WEB MUNICIPAL USANDO DISEÑO ADAPTATIVO ASUNTO: PLIEGO DE PRESCRIPCIONES TECNICAS PARTICULARES PARA EL REDISEÑO DE LA WEB MUNICIPAL USANDO DISEÑO ADAPTATIVO Informazioaren Teknologien Saila Departamento de Tecnologías de la Información Herritarrentzako

Más detalles

Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada.

Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada. Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada. Esquema Introducción... 2 Historia... 2 Suites... 2 Herramientas ofimáticas... 3 Tipos de programas ofimáticos:...

Más detalles

Algunos Administradores de Contenido se presentan a continuación:

Algunos Administradores de Contenido se presentan a continuación: El Administrador de Contenido es una herramienta que le permite administrar desde su casa o empresa la información y las fotografías de su página web de manera fácil, rápida e inmediata. Algunos Administradores

Más detalles

Características de OpenCms

Características de OpenCms Características de OpenCms Se basa en Java y Xml OpenCms está totalmente desarrollado en java bajo el estándar servlet. Por lo tanto, se puede integrar fácilmente en entornos hardware y software existentes,

Más detalles

04/04/2005 InnovaPortal e InnovaNet 26 de marzo 961 of. 404 709 36 57 Montevideo - Uruguay www.innovaportal.com

04/04/2005 InnovaPortal e InnovaNet 26 de marzo 961 of. 404 709 36 57 Montevideo - Uruguay www.innovaportal.com Página 1 de 1 Presentación del producto InnovaPortal es un software de gestión ideado para la creación, mantenimiento y administración de Portales Corporativos, tanto en Internet como en intranets y extranets.

Más detalles

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

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

Más detalles

Solicitud de Requerimiento No. Fecha de Solicitud: 01-08-2010

Solicitud de Requerimiento No. Fecha de Solicitud: 01-08-2010 Solicitud de Requerimiento No. Fecha de Solicitud: 01-08-2010 NOMBRE DEL IDENTIFICACIÓN DEL ÁREA SOLICITANTE: SOLICITANTE: Monica Serna Vasquez OPC OFICINA DE PRENSA Y COMUNICACIONES NOMBRE DEL REQUERIMIENTO:

Más detalles

Programación en Capas.

Programación en Capas. Programación en Capas. Ricardo J. Vargas Del Valle Universidad de Costa Rica, Ciencias de Computación e Informática, San José, Costa Rica, 506 ricvargas@gmail.com Juan P. Maltés Granados Universidad de

Más detalles

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web Gestión de Información Web Características deseables de CMS Arquitectura técnica: Tiene que ser fiable y permitir la escalabilidad del sistema para adecuarse a futuras necesidades con módulos o extensiones.

Más detalles

Introducción a Windows SharePoint Services

Introducción a Windows SharePoint Services Introducción a Windows SharePoint Services - Windows SharePoint Services - Microsoft...Page 1 of 12 http://office.microsoft.com/es-hn/sharepointtechnology/ha100242773082.aspx?mode=print Windows SharePoint

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

Implantación de Aplicaciones Web Fecha: 20-09-13

Implantación de Aplicaciones Web Fecha: 20-09-13 Página 1 de 24 RESUMEN DE LA PROGRAMACIÓN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED CURSO AC. 2012 / 2013 ÁREA / MATERIA / MÓDULO PROFESIONAL Implantación de Aplicaciones Web (84 horas 4 horas semanales)

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

Capítulo 6: Instrumentación: Diseño del Sistema de H2O

Capítulo 6: Instrumentación: Diseño del Sistema de H2O Capítulo 6: Instrumentación: Diseño del Sistema de H2O Digital Media Server El video en demanda a través del web aún está restringido a las grandes empresas que pueden pagar por contar por un servicio

Más detalles

HERRAMIENTA WEB PARA LA ELABORACIÓN DE TEST BAJO LA ESPECIFICACIÓN IMS-QTI

HERRAMIENTA WEB PARA LA ELABORACIÓN DE TEST BAJO LA ESPECIFICACIÓN IMS-QTI HERRAMIENTA WEB PARA LA ELABORACIÓN DE TEST BAJO LA ESPECIFICACIÓN IMS-QTI Muñoz-Bouchard J.P., y Álvarez-González L.A. jp.knap@gmail.com@gmail.com, lalvarez@inf.uach.cl Grupo de Investigación en Tecnologías

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

Portlet-based architecture for a LMS: CLAYNET 2.0

Portlet-based architecture for a LMS: CLAYNET 2.0 Portlet-based architecture for a LMS: CLAYNET 2.0 Miguel Ángel Conde 1, Jorge Carabias 1, Rosa María Martín 1, Inmaculada González 1 and Francisco José García 2 1. Departamento de I+D+i CLAY Formación

Más detalles

Interfaces de acceso a base de datos. Interfaces de acceso a base de datos. Interfaces de acceso a base de datos. Interfaces de acceso a base de datos

Interfaces de acceso a base de datos. Interfaces de acceso a base de datos. Interfaces de acceso a base de datos. Interfaces de acceso a base de datos Objetivos del curso Patrimonio Cultural Desarrollo de Herramientas de Administración y Acceso Adquirir visión generalizada de las tecnologías de desarrollo utilizadas en Sistemas de gestión del Patrimonio

Más detalles

Certool es la solución informática desarrollada por AENOR para la gestión eficaz de los sistemas.

Certool es la solución informática desarrollada por AENOR para la gestión eficaz de los sistemas. Índice de contenido 1. Qué es Certool... 2 2. Características... 3 3. Soluciones y funcionalidades... 4 3.1. Funcionalidades del módulo principal... 4 3.2. Funcionalidades de los módulos complementarios...

Más detalles

Por qué su mesa de servicios actual no es eficaz para su negocio y qué se puede hacer al respecto

Por qué su mesa de servicios actual no es eficaz para su negocio y qué se puede hacer al respecto INFORME OFICIAL Septiembre de 2012 Por qué su mesa de servicios actual no es eficaz para su negocio y qué se puede hacer al respecto agility agility made possible made possible Tabla de contenido Resumen

Más detalles

SAP BusinessObjects Edge BI, paquete estándar La opción de Business Intelligence favorita de las empresas en crecimiento

SAP BusinessObjects Edge BI, paquete estándar La opción de Business Intelligence favorita de las empresas en crecimiento Soluciones SAP para pequeñas y medianas empresas SAP BusinessObjects Edge BI, paquete estándar La opción de Business Intelligence favorita de las empresas en crecimiento SAP BusinessObjects Edge BI, paquete

Más detalles

BOLETÍN DE NOVEDADES Barcelona, julio de 2010

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

Más detalles

CMS Museo de la Evolución Humana. Análisis Técnico / modelo integrador. (Abril 2012)

CMS Museo de la Evolución Humana. Análisis Técnico / modelo integrador. (Abril 2012) CMS Museo de la Evolución Humana Análisis Técnico / modelo integrador. (Abril 2012) > Índice 1. Objetivo 2. Alcance 3. Características técnicas de la aplicación 3.1. Introducción 3.2. Funcionalidades generales

Más detalles

karat studio Las herramientas para gestionar el ciclo integral de vida del software sin fecha de caducidad y con el menor coste de propiedad

karat studio Las herramientas para gestionar el ciclo integral de vida del software sin fecha de caducidad y con el menor coste de propiedad karat studio Las herramientas para gestionar el ciclo integral de vida del software sin fecha de caducidad y con el menor coste de propiedad Qué es? UNIT4 le ofrece la mejor respuesta tecnológica a los

Más detalles

Projektron BCS 7.22 Más que un software de gestión de proyectos

Projektron BCS 7.22 Más que un software de gestión de proyectos Projektron BCS 7.22 Más que un software de gestión de proyectos Información legal Projektron GmbH Charlottenstraße 68 10117 Berlin +49 30 3 47 47 64-0 info@projektron.de www.projektron.es Versión del 30.03.2015-15:24

Más detalles

Presentación: Plataforma Comunicacional Unificada

Presentación: Plataforma Comunicacional Unificada Presentación: Plataforma Comunicacional Unificada Queremos darle la bienvenida a la Nueva Plataforma de Correo Institucional GMAIL, herramienta que tendrá la función de proveer a nuestra Comunidad de los

Más detalles

Capítulo 2. Google Calendar

Capítulo 2. Google Calendar Capítulo 2. Google Calendar Google Calendar es un espacio personal gratuito que ofrece Google a todos aquellos que disponen de una cuenta de GMail para que puedan crear, gestionar y compartir eventos dentro

Más detalles

Novell ZENworks Configuration Management para entornos de Microsoft * Windows *

Novell ZENworks Configuration Management para entornos de Microsoft * Windows * Guía GESTIÓN DE SISTEMAS Novell ZENworks Configuration Management para entornos de Microsoft * Windows * Novell ZENworks Configuration Management para entornos de Microsoft Windows Índice: 2..... Bienvenido

Más detalles

INTRODUCCIÓN AL WEB. Pag. 1 de 10

INTRODUCCIÓN AL WEB. Pag. 1 de 10 INTRODUCCIÓN AL WEB La World Wide Web o simplemente WWW o Web es uno de los métodos más importantes de comunicación que existe en Internet. Consiste en un sistema de información basado en Hipertexto (texto

Más detalles

Proyecto Final de Carrera

Proyecto Final de Carrera Aplicación de gestión de proyectos informáticos Memoria del Proyecto Consultor: Jairo Sarrias Guzmán Ingeniería Técnica Informática de Gestión P á g i n a 2 CONTENIDO 1. Introducción... 6 1.1. Resumen...

Más detalles

Herramientas de Software que posibilitan el BPM

Herramientas de Software que posibilitan el BPM Qué es BPM? BPM (Business Process Management) no es solamente una tecnología, sino en términos generales, una disciplina gerencial que trata a los procesos como bienes tangibles que contribuyen al desempeño

Más detalles

Herramientas empresariales

Herramientas empresariales Herramientas empresariales Comunicación:, y Hangouts. Almacenamiento:. Colaboración: Documentos, Hojas de Cálculo, Formularios y Presentaciones Pagar o no? Las herramientas de Google están disponibles

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

Solución Online para la Administración de las Múltiples Facetas en Packaging

Solución Online para la Administración de las Múltiples Facetas en Packaging Solución Online para la Administración de las Múltiples Facetas en Packaging WebCenter WebCenter es una potente plataforma para Administración de Packaging, basada en la Web, que les permite gestionar

Más detalles

emuseum PUBLIQUE SUS COLECCIONES EN LA WEB Por qué elegir emuseum? Se integra fácilmente con TMS Búsqueda eficaz Completamente personalizable

emuseum PUBLIQUE SUS COLECCIONES EN LA WEB Por qué elegir emuseum? Se integra fácilmente con TMS Búsqueda eficaz Completamente personalizable emuseum emuseum PUBLIQUE SUS COLECCIONES EN LA WEB emuseum es un sistema de publicación web que se integra perfectamente con TMS para publicar información en la web y dispositivos móviles. Mediante emuseum

Más detalles

Ficha de Producto. Características generales. Descripción de Producto. Disponible en formato licencia o Cloud (software as a service).

Ficha de Producto. Características generales. Descripción de Producto. Disponible en formato licencia o Cloud (software as a service). Descripción de Producto ServiceTonic es el software 100% web para la gestión de servicios que bajo las premisas de facilidad de uso y flexibilidad convierte su amplia funcionalidad en la plataforma ideal

Más detalles

Por Jennifer Islas. Manual de uso para Intranet

Por Jennifer Islas. Manual de uso para Intranet Por Jennifer Islas Manual de uso para Intranet Presentación El siguiente manual se ha hecho con la finalidad de que los miembros del laboratorio de átomos fríos se sirvan de una ayuda para poder gestionar

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

Software libre complementario

Software libre complementario Software libre complementario Ministerio de Educación. ITE. Software libre complementario. 1 Módulo 4. Software libre complementario En este apartado vamos a contemplar algunos programas de acceso libre

Más detalles

Manual Office 365 365º

Manual Office 365 365º Manual Office 365 365º Índice Qué es Office365 Correo electrónico Portales de Empresa y Presencia en Internet Office WebApps Videoconferencia y Reuniones online Exchange Online Lync Online Requisitos técnicos

Más detalles

CAPÍTULO V. Propuesta

CAPÍTULO V. Propuesta CAPÍTULO V Propuesta 5.1 Propuesta Implantación de una aplicación WEB para optimizar el Enlace Laboral de la Cámara de Comercio e Industria de El Salvador, Filial San Miguel 5.2 Requerimientos de la Aplicación

Más detalles

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

El nuevo Office ya está aquí.

El nuevo Office ya está aquí. El nuevo Office ya está aquí. Contenido Descubre el nuevo Office... 4 Ayuda a los clientes a escoger el Office adecuado...10 Office de un vistazo...18 Cómo vender Office...20 Preguntas más frecuentes...28

Más detalles

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

SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL SIMAD CLOUD. La Gestión Documental ahora en la nube, es más eficiente aurea SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL La Gestión Documental ahora en la nube, es más eficiente aurea SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL El más potente programa para el manejo integral

Más detalles

plataforma gest.org Multi Gestión de Organizaciones Fundaciones y Asociaciones

plataforma gest.org Multi Gestión de Organizaciones Fundaciones y Asociaciones plataforma gest.org Multi Gestión de Organizaciones Fundaciones y Asociaciones ÍNDICE 1. INTRODUCCIÓN. PRESENTACIÓN DEL PRODUCTO Software como Servicio Características técnicas 2. ALCANCE FUNCIONAL DE

Más detalles

Denominación: MICROSOFT SHAREPOINT 2010 Modalidad: PRESENCIAL Duración: 30 horas

Denominación: MICROSOFT SHAREPOINT 2010 Modalidad: PRESENCIAL Duración: 30 horas Denominación: MICROSOFT SHAREPOINT 2010 Modalidad: PRESENCIAL Duración: 30 horas Objetivos generales Después de completar este curso los alumnos serán capaces de preparar e instalar un SharePoint, configurar,

Más detalles

Gestión de información web

Gestión de información web 1. Realice una matriz comparativa de los Cms que se incluyen en el documento, teniendo en cuenta los siguientes parámetros: Características Posicionamiento (teniendo en cuenta su antigüedad y madurez en

Más detalles

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

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

Ángel L. Rodríguez Alcalde Centro Técnico de Informática. Consejo Superior de Investigaciones Científicas

Ángel L. Rodríguez Alcalde Centro Técnico de Informática. Consejo Superior de Investigaciones Científicas INTRANET DEL CSIC. UN PORTAL WEB2.0 Ángel L. Rodríguez Alcalde Centro Técnico de Informática. Consejo Superior de Investigaciones Científicas Clara Cala Rivero Centro Técnico de Informática. Consejo Superior

Más detalles

GlobalViewer Enterprise 2.1

GlobalViewer Enterprise 2.1 SOFTWARE DE SISTEMAS DE CONTROL GlobalViewer Enterprise 2.1 SOFTWARE DE GESTIÓN DE RECURSOS BASADO EN SERVIDOR Gestiona cualquier tamaño de instalación desde 5 hasta más de 15.000 salas en todo el mundo

Más detalles

Manual de uso avanzado de la aplicación

Manual de uso avanzado de la aplicación Manual de uso avanzado de la aplicación Autor del documento Centro de Apoyo Tecnológico a Emprendedores, Fundación Parque Científico y Tecnológico de Albacete Datos de contacto E-Mail: bilib@bilib.es Página

Más detalles

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

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

Más detalles

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect Elección de tecnología para la capa de presentación de SOA Huibert Aalbers Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast

Más detalles

La Suite Google. Fácil instalación y uso. Pocos requisitos de la máquina. Gratuitas.

La Suite Google. Fácil instalación y uso. Pocos requisitos de la máquina. Gratuitas. Ventajas: Inconvenientes: Ejemplos de uso: Fácil instalación y uso. Pocos requisitos de la máquina. Gratuitas. La Suite Google Orientadas a la colaboración y a trabajar en grupo. Es el alumno quien marca

Más detalles

Gestionando Agile/Scrum con Sciforma

Gestionando Agile/Scrum con Sciforma agile Gestionando Agile/Scrum con Sciforma El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones

Más detalles

Projektron BCS 7.24 Más que un software de gestión de proyectos

Projektron BCS 7.24 Más que un software de gestión de proyectos Projektron BCS 7.24 Más que un software de gestión de proyectos Información legal Projektron GmbH Charlottenstraße 68 10117 Berlin +49 30 3 47 47 64-0 info@projektron.de www.projektron.es Versión del 21.07.2015-14:49

Más detalles

TFC. Ingeniería de Software MEMORIA. Consultor: Juan José Cuadrado Gallego

TFC. Ingeniería de Software MEMORIA. Consultor: Juan José Cuadrado Gallego TFC Ingeniería de Software Alumno: Halyna Klachko Consultor: Juan José Cuadrado Gallego Índice 1. Identificación del proyecto..5 1.1 Introducción...5 1.2 Objetivos del proyecto..5 1.3 Descripción general..5

Más detalles

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto.

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICES En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICE 1. Herramientas Las herramientas que se usaron en el análisis, desarrollo

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Novedades en la versión 3.1

Novedades en la versión 3.1 Novedades en la versión 3.1 1 Introducción... 3 Novedades en la versión 3.1... 3 Planificador de lecciones...3 it s learning mobile...5 Inicio de sesión...5 Interfaz de usuario...6 eportfolio...6 Blog...8

Más detalles

DESARROLLO DE CONTENIDOS A MEDIDA E-DUCATIVA

DESARROLLO DE CONTENIDOS A MEDIDA E-DUCATIVA DESARROLLO DE CONTENIDOS A MEDIDA E-DUCATIVA 1 Adaptación y conversión Muchas empresas disponen de contenidos muy completos en formato papel, utilizados en educación presencial o bien en formación a distancia

Más detalles

Herramienta para la gestión de la relación con el Cliente en CLOUD. Presentación

Herramienta para la gestión de la relación con el Cliente en CLOUD. Presentación Herramienta para la gestión de la relación con el Cliente en CLOUD Presentación VISIÓN 360º DE SUS CUENTAS Repositorio único de información de la relación con sus clientes potenciales o en cartera, pero

Más detalles

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012 TFC J2EE Aplicación Web para la gestión de facturación de una empresa de cerrajería Sara Gutiérrez Melero ITIG Junio de 2012 Consultor: Jose Juan Rodriguez Índice 1. Introducción Objetivos Planificación

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

Metodologías para el Desarrollo de Aplicaciones Web: UWE

Metodologías para el Desarrollo de Aplicaciones Web: UWE Metodologías para el Desarrollo de Aplicaciones Web: UWE Trabajo realizado por: Daniel Mínguez Sanz. Emilio José García Morales. ÍNDICE 1. Qué es una Aplicación Web? 1.1 Tipos de Aplicación Web. 1.2 Características

Más detalles

Talento Digital. Relación de programas oficiales de certificación en plataformas de desarrollo Web y Móviles mundialmente reconocidas

Talento Digital. Relación de programas oficiales de certificación en plataformas de desarrollo Web y Móviles mundialmente reconocidas CRÉDITOS CONDONABLES PARA EDUCACIÓN TÉCNICA, TECNOLÓGICA Y UNIVERSITARIA EN COLOMBIA FONDO DE DESARROLLO DEL TALENTO DIGITAL EN TI Convenio Interadministrativo Fon TIC 534 ICETEX 535 de 2011 Talento Digital

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Qué es un ERP? Qué es un CRM? Entonces, qué es Dolibarr?

Qué es un ERP? Qué es un CRM? Entonces, qué es Dolibarr? Qué es un ERP? Los sistemas de planificación de recursos de la empresa (en inglés ERP, enterprise resource planning) son sistemas de gestión de información que integran y automatizan muchas de las prácticas

Más detalles

Especialista en Creación de Portales Web con Joomla 3.3

Especialista en Creación de Portales Web con Joomla 3.3 Especialista en Creación de Portales Web con Joomla 3.3 Titulación certificada por EUROINNOVA BUSINESS SCHOOL Especialista en Creación de Portales Web con Joomla 3.3 Especialista en Creación de Portales

Más detalles

Trabaja desde cualquier ubicación con conexión a Internet. Los puestos clientes sólo precisan de un navegador web.

Trabaja desde cualquier ubicación con conexión a Internet. Los puestos clientes sólo precisan de un navegador web. Introducción Características Versiones y módulos Consultas Descripción Ficha catalográfica OPAC Edición de productos impresos en el módulo Instalación y puesta en marcha Soporte técnico y mantenimiento

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Una nueva visión en la gestión de. los turnos de trabajo

Una nueva visión en la gestión de. los turnos de trabajo Una nueva visión en la gestión de los turnos de trabajo Eficiencia y Productividad en la gestión Una empresa sin papeles Problema Quién trabaja el miércoles? Dime el teléfono de Está la supervisora por

Más detalles

Manual de Firefox Instalación y uso

Manual de Firefox Instalación y uso Manual de Firefox Instalación y uso Servicio de Información Mesoamericano de Agricultura Sostenible ÍNDICE Qué es Firefox?... Cómo lo descargo a mi computadora?... Instalación... Comenzar a utilizar Mozilla

Más detalles

Productividad de Negocio

Productividad de Negocio Productividad de Negocio Integración entre las diferentes versiones de Office y SharePoint Productividad de Negocio Integración entre las diferentes versiones de Office y SharePoint Tabla de contenido

Más detalles

Principales beneficios para una pyme del uso de la plataforma Microsoft Office 365

Principales beneficios para una pyme del uso de la plataforma Microsoft Office 365 Portal de la competitividad - Office 365. Escenario Necesito movilidad y colaboración: estar fuera de la oficina y tener acceso a la información Hoja de Producto Técnica (para Pymes). Todas las empresas

Más detalles

Novedades en Crystal Reports XI

Novedades en Crystal Reports XI Novedades en Crystal Reports XI Introducción Introducción Esta sección proporciona información de alto nivel sobre los componentes, las funciones y las ventajas que ofrece la última versión de Crystal

Más detalles