0
Generación automática de sitios Web para
conferencias y congresos científicos
Autor: Mónica Quirós Alonso
Directora: B. Cr...
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Ampliaciones
8. De...
Proyecto fin de carrera Mónica Quirós Alonso
Introducción
Alto coste en tiempo y esfuerzo
Proceso de creación de un sitio ...
Justificación proyecto
• Evitar el proceso de análisis, diseño y desarrollo, lo que
implicaría un ahorro de tiempo, coste ...
Objetivos
• Desarrollo de un lenguaje de dominio específico
• Generación automática de código
• Uso de tecnologías de soft...
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Ampliaciones
8. De...
Herramientas para creación de sitios
Web de conferencias y congresos
• OCS (Open Conference System)
• Herramientas genéric...
Herramientas para creación de DSLs
Gran variedad de herramientas para la creación de DSLs:
• Metacase – Metaedit+
• DSL To...
Situación actual
• Herramientas escogidas:
Proyecto fin de carrera Mónica Quirós Alonso
OCS
(Open Conference Systems)Xtext
Justificación de las herramientas
escogidas
• XTEXT (2.0) :
– Más utilizado Estabilidad Mejor documentación
– Muy potente ...
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño del sistema
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Amplia...
Diseño del sistema
• Integración de ambas herramientas
– OCS: PHP, BD MySQL
– Xtext
• Gramática textual
• Procesado del mo...
Diseño del sistema – Jerarquía creada
• Tres paquetes
– Ocsdsl
– Tests (pruebas)
– UI (User Interface)
• Procesado del mod...
Visión general del sistema
• Paquete ocsdsl: Lógica de la aplicación
– Gramática .xtext
– Fichero mwe2 de generación
– Mét...
Patrón chainOfResponsability
Proyecto fin de carrera Mónica Quirós Alonso
• Permite establecer una cadena de objetos recep...
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño del sistema
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Amplia...
Funcionamiento de Xtext
• Gramática textual (libre
de contexto) Modelo
semántico (AST) en
memoria Analizador
sintáctico
• ...
IDE creado mediante Xtext
• Xtext proporciona un IDE interno, invocado
desde el entorno Eclipse
– Editor textual
– Resalta...
IDE creado mediante Xtext
• Editor textual. Resaltado de código, autocompletado
IDE creado mediante Xtext
• Mensajes de advertencia y error
IDE creado mediante Xtext
• Jerarquía de contenidos
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño del sistema
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Amplia...
Pruebas
• Pruebas unitarias: Unit Testing (Xtext Utilities)
• Pruebas de integración y del sistema
• Usabilidad: Heurístic...
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño del sistema
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Amplia...
Conclusiones
• Los objetivos marcados al principio del proyecto se
han cumplido
– Crear un DSL dentro del dominio de congr...
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño del sistema
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Amplia...
Ampliaciones
• Incluir la gestión de usuarios en el DSL creado
– Aumento de complejidad
– Sólo permitir la creación de usu...
Índice
1. Introducción
2. Herramientas escogidas
3. Diseño del sistema
4. Tecnologías
5. Pruebas
6. Conclusiones
7. Amplia...
Demostración Práctica
Proyecto fin de carrera Mónica Quirós Alonso
FIN DE LA PRESENTACIÓN
Demostración Práctica
Generación automática de sitios Web para
conferencias y congresos científicos
Autor: Mónica Quirós Alonso
Directora: B. Cr...
Upcoming SlideShare
Loading in...5
×

Web ocsdsl

268

Published on

Generación automática de sitios Web para congresos y conferencias científicos

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
268
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • El principal motivo por el que nace este proyecto es para agilizar el proceso de creación de páginas Web orientadas a la gestión de congresos y conferencias. El proceso de creación de un sitio Web implica una serie de fases que suponen un alto coste en tiempo y esfuerzo.

    -Análisis de requisitos
    -Diseño – Implementar una tecnología determinada.
    -Desarrollo
    -Carga
    -Puesta en explotación
    -Mantenimiento
  • Mediante la realización de este proyecto, se evitarían las fases del proceso anterior.
    La creación de los sitios sería asequible para usuarios que conozcan el dominio.
    Lenguaje adaptado al problema, con una sintaxis sencilla y una funcionalidad lo más amplia posible
    El proceso de generación de código sería automático y sencillo
    Se ahorraría tiempo, coste y esfuerzo.

    El enfoque utilizado sería el de una arquitectura dirigida por modelos
  • El objetivo principal es facilitar y agilizar el proceso de creación de los sitios Web mediante un editor simple de código, de manera que la creación se automatice y resulte sencilla e intuitiva para cualquier tipo de usuario.

    Otros objetivos:

    Crear un DSL dentro del dominio de conocimiento de congresos y conferencias para que los expertos en dicho dominio puedan crear, de forma autónoma, aplicaciones personalizadas.
     Definir una sintaxis abstracta basada en el sistema OCS que permita generar un script completo en SQL de manera automática para la generación de los sitios Web finales.
     Crear un AST a partir del metamodelo inicial que contenga toda la información referida a los congresos y conferencias.
     Proporcionar un editor amigable y fácil de usar para el usuario final.
     Utilizar la expresividad del lenguaje creado para utilizar al máximo las capacidades que proporciona el sistema OCS.
     Permitir la validación y verificación de datos en tiempo de ejecución.

    Creación de un entorno de desarrollo para facilitar al usuario la introducción de los datos de los congresos y conferencias
     Desarrollo de un lenguaje de dominio específico para congresos y conferencias
     Generación automática de sitios Web
     Uso de tecnologías de software libre

  • Muchas de las personas que necesitan sitios de conferencias acaban dirigiéndose a páginas del estilo de wordpress.org o la herramienta Open Site Builder Tools [ObsTools] como herramientas genéricas para crear los sitios Web, pero en ningún caso orientadas específicamente a la gestión de congresos y conferencias, y con una funcionalidad mínima.
  • Primordialmente, este proyecto utiliza dos herramientas, con lo cual el estudio de la situación actual se enfoca hacia:
     Sistemas que proporcionan una funcionalidad similar a OCS, o que cuando menos permitan la generación automática de sitios Web.
     Frameworks y herramientas dirigidas a la creación y desarrollo de DSLs.
    -Xtext 2.0
  • Patrón Data Access Object
    Se sigue el mismo esquema para cada entidad: entidadDataService (interfaz de fachada), EntidadDataSimpleService (implementación de la fachada), EntidadDAO (DAO de la entidad).
    Algunos DAOs pueden necesitar la colaboración de otros. Como es interno al módulo los usan directamente.
  • Google Guice es un Framework para la inyección de dependencias utilizado en aplicaciones en las que relaciones entre objetos de negocio han de mantenerse manualmente dentro del propio código de la aplicación. Soporta Java 5.0, por lo que se beneficia de las denominadas Annotations y Generics.

    Por otra parte su analizador sintáctico está basado en ANTLR a bajo nivel, lo cual significa que las gramáticas, y por tanto la creación de lenguajes, está limitada (utiliza un algoritmo LL para gramáticas libres de contexto en el que las entradas son de izquierda a derecha; así pues, no se permitirían gramáticas recursivas por la izquierda). Para nuestro proyecto, sin embargo, la idea primordial es generar un DSL y a partir del modelo generado (programa desarrollado con el lenguaje) gracias a Xtext, leer la información introducida por el usuario (en Xtext se edita la sintaxis y a partir de ahí se genera el modelo), con lo cual dicha limitación no es muy remarcable.
    mbiar, probar y reutilizar en otros contextos, y está enfocado a permitir que el desarrollo y depuración sea más fácil y rápido.
  • Crear un lenguaje de dominio específico para congresos y conferencias
    Definir una sintaxis abstracta que permita generar un script ejecutable para crear sitios Web automáticamente
    Proporcionar un editor amigable y fácil de usar
    Permitir la validación y verificación de datos en tiempo real
  • Transcript of "Web ocsdsl"

    1. 1. Generación automática de sitios Web para conferencias y congresos científicos Autor: Mónica Quirós Alonso Directora: B. Cristina Pelayo García-Bustelo Codirector: Vicente García Díaz Escuela de Ingeniería Informática Universidad de Oviedo
    2. 2. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    3. 3. Proyecto fin de carrera Mónica Quirós Alonso Introducción Alto coste en tiempo y esfuerzo Proceso de creación de un sitio Web
    4. 4. Justificación proyecto • Evitar el proceso de análisis, diseño y desarrollo, lo que implicaría un ahorro de tiempo, coste y esfuerzo • Automatizar el proceso • Lenguaje sencillo adaptado al problema - DSL DSL : Domain Specific Language Lenguaje de programación, dentro de un dominio específico, dotado de gran expresividad y orientado a resolver un problema particular. MDA (Arquitectura Dirigida por modelos) Proyecto fin de carrera Mónica Quirós Alonso
    5. 5. Objetivos • Desarrollo de un lenguaje de dominio específico • Generación automática de código • Uso de tecnologías de software libre • Creación de un entorno de desarrollo para facilitar al usuario la introducción de los datos de los congresos y conferencias • Proporcionar un editor amigable y fácil de usar, que además permita la validación y verificación de datos en tiempo real Proyecto fin de carrera Mónica Quirós Alonso
    6. 6. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    7. 7. Herramientas para creación de sitios Web de conferencias y congresos • OCS (Open Conference System) • Herramientas genéricas para crear sitios Web (no especializados) – wordpress – Herramienta Open Site Builder Tools • Aplicaciones comerciales • Aplicaciones internas dentro de algunos organismos oficiales (por ejemplo, Universidades) • Aplicaciones que toman como referencia OCS (módulos en Drupal, ISLSOFT …) Proyecto fin de carrera Mónica Quirós Alonso
    8. 8. Herramientas para creación de DSLs Gran variedad de herramientas para la creación de DSLs: • Metacase – Metaedit+ • DSL Tools • JetBrains – MPS • Oslo (Microsoft) • Xtext (Itemis) Proyecto fin de carrera Mónica Quirós Alonso
    9. 9. Situación actual • Herramientas escogidas: Proyecto fin de carrera Mónica Quirós Alonso OCS (Open Conference Systems)Xtext
    10. 10. Justificación de las herramientas escogidas • XTEXT (2.0) : – Más utilizado Estabilidad Mejor documentación – Muy potente (analizador léxico y sintáctico, integración con Java … ) – Editor textual: resaltado de código, autocompletado de texto, validación, elementos visuales de apoyo … • OCS – Mejor herramienta en su categoría – Amplia funcionalidad – Gestión de usuarios, buscador, gestión de material… Proyecto fin de carrera Mónica Quirós Alonso Herramientas de software libre
    11. 11. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño del sistema 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    12. 12. Diseño del sistema • Integración de ambas herramientas – OCS: PHP, BD MySQL – Xtext • Gramática textual • Procesado del model semántico generado a partir de la gramática • Enfoque utilizado: – Procesado del modelo utilizando Java – Generación de script de consultas SQL de inserción a partir de la información contenida en el árbol – Dichas consultas van contra la BD del sistema OCS Proyecto fin de carrera Mónica Quirós Alonso
    13. 13. Diseño del sistema – Jerarquía creada • Tres paquetes – Ocsdsl – Tests (pruebas) – UI (User Interface) • Procesado del modelo mediante Patrón chainOfResponsability Proyecto fin de carrera Mónica Quirós Alonso
    14. 14. Visión general del sistema • Paquete ocsdsl: Lógica de la aplicación – Gramática .xtext – Fichero mwe2 de generación – Método principal para lanzar la generación y ejecución de código – Reglas de validación (OcsDslJavaValidator.java) • Paquete tests: Pruebas – Utiliza plugin Unit Testing (Junit) • Paquete ui :Interfaz de usuario – Formato de la sintaxis, mensajes de información, quick fixes para errores, representación visual de la estructura … Proyecto fin de carrera Mónica Quirós Alonso
    15. 15. Patrón chainOfResponsability Proyecto fin de carrera Mónica Quirós Alonso • Permite establecer una cadena de objetos receptores a través de los cuales se pasa una petición formulada por un objeto emisor. • Dispondremos de un nodo raíz, el cual contendrá a las entidades del modelo que representarán las conferencias y congresos: – Contacto Principal, Configuración de una conferencia, Calendario, Proceso de envío de material… • La petición (procesado de la entidad) se pasará a través de los elementos de la cadena, y se realizará el procesado cuando se alcance el emisor que ha de procesarla.
    16. 16. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño del sistema 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    17. 17. Funcionamiento de Xtext • Gramática textual (libre de contexto) Modelo semántico (AST) en memoria Analizador sintáctico • Google Guice • Java 5.0 (Annotations, Generics) • Xtend, Xpand, Xbase Proyecto fin de carrera Mónica Quirós Alonso DomainModel: congresos+=SitioCongreso*; SitioCongreso: 'DATOS BASICOS DEL CONGRESO{' 'Ruta:' name=ID 'Título:' titulo=STRING ('Idioma secundario:' local=idiomas)? 'Descripcion:' descripcion=STRING 'Titulo de la cabecera:' tituloCabecera=STRING 'Texto introductorio del congreso:' textoIntroduccion=STRING '}' ConfiguracionCongreso+=Configuracion Congreso;
    18. 18. IDE creado mediante Xtext • Xtext proporciona un IDE interno, invocado desde el entorno Eclipse – Editor textual – Resaltado de sintaxis – Interacción con el código creado – Representación gráfica de la estructura creada (Ayuda visual) – Mensajes de error y advertencia Proyecto fin de carrera Mónica Quirós Alonso
    19. 19. IDE creado mediante Xtext • Editor textual. Resaltado de código, autocompletado
    20. 20. IDE creado mediante Xtext • Mensajes de advertencia y error
    21. 21. IDE creado mediante Xtext • Jerarquía de contenidos
    22. 22. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño del sistema 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    23. 23. Pruebas • Pruebas unitarias: Unit Testing (Xtext Utilities) • Pruebas de integración y del sistema • Usabilidad: Heurísticas + Usuarios en ambos sistemas • Accesibilidad: AA + Varias pautas AAA (sitios Web creados) • Pruebas de rendimiento en ambos sistemas Proyecto fin de carrera Mónica Quirós Alonso
    24. 24. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño del sistema 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    25. 25. Conclusiones • Los objetivos marcados al principio del proyecto se han cumplido – Crear un DSL dentro del dominio de congresos y conferencias. Lenguaje simple y cercano. – Proporcionar un IDE completo – Validación y verificación de datos en tiempo real • Uso de tecnologías de software libre y emergentes Proyecto fin de carrera Mónica Quirós Alonso Objetivo principal : Automatizar y simplificar el proceso de creación de sitios Web
    26. 26. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño del sistema 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    27. 27. Ampliaciones • Incluir la gestión de usuarios en el DSL creado – Aumento de complejidad – Sólo permitir la creación de usuarios – Nuevas validaciones contra la BD • Internacionalización del DSL • Nuevos temas para los sitios Web (CSS3) • Adaptación para dispositivos móviles • Redes sociales Proyecto fin de carrera Mónica Quirós Alonso
    28. 28. Índice 1. Introducción 2. Herramientas escogidas 3. Diseño del sistema 4. Tecnologías 5. Pruebas 6. Conclusiones 7. Ampliaciones 8. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso
    29. 29. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso FIN DE LA PRESENTACIÓN Demostración Práctica
    30. 30. Generación automática de sitios Web para conferencias y congresos científicos Autor: Mónica Quirós Alonso Directora: B. Cristina Pelayo García-Bustelo Codirector: Vicente García Díaz Escuela de Ingeniería Informática Universidad de Oviedo
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×