SlideShare una empresa de Scribd logo
1 de 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
Í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
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
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
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
Í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
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
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
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 (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
Í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
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
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
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
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.
Í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
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;
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
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. Ampliaciones
8. Demostración Práctica
Proyecto fin de carrera Mónica Quirós Alonso
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
Í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
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
Í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
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
Í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
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. Cristina Pelayo García-Bustelo
Codirector: Vicente García Díaz
Escuela de Ingeniería Informática Universidad de Oviedo

Más contenido relacionado

Destacado (13)

Пътят към спасението
Пътят към спасениетоПътят към спасението
Пътят към спасението
 
Patent Citations as an Indicator of M&A Feasibility
Patent Citations as an Indicator of M&A FeasibilityPatent Citations as an Indicator of M&A Feasibility
Patent Citations as an Indicator of M&A Feasibility
 
Rusia
RusiaRusia
Rusia
 
Resume
ResumeResume
Resume
 
Subcultures prokopchuk 9 a
Subcultures prokopchuk 9 aSubcultures prokopchuk 9 a
Subcultures prokopchuk 9 a
 
Mitt förkläde zack
Mitt förkläde zackMitt förkläde zack
Mitt förkläde zack
 
cv most preffered - Copy
cv most preffered - Copycv most preffered - Copy
cv most preffered - Copy
 
Суеверия сред днешните християни
Суеверия сред днешните християниСуеверия сред днешните християни
Суеверия сред днешните християни
 
Sistema Aduanero Mexicano
Sistema Aduanero MexicanoSistema Aduanero Mexicano
Sistema Aduanero Mexicano
 
Amiloidosis
AmiloidosisAmiloidosis
Amiloidosis
 
Slöjd Mac-laddarpåse
Slöjd  Mac-laddarpåseSlöjd  Mac-laddarpåse
Slöjd Mac-laddarpåse
 
Generalidades de los hongos
Generalidades de los hongosGeneralidades de los hongos
Generalidades de los hongos
 
Sistemas Aduaneros
Sistemas AduanerosSistemas Aduaneros
Sistemas Aduaneros
 

Similar a Generación automática sitios congresos

Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUPAngelDX
 
Herramientas y complementos al desarrollar con tecnologías Microsoft
Herramientas y complementos al desarrollar con tecnologías MicrosoftHerramientas y complementos al desarrollar con tecnologías Microsoft
Herramientas y complementos al desarrollar con tecnologías MicrosoftMiguel Teheran
 
Proyecto docente para habilitacion LSI
Proyecto docente para habilitacion LSIProyecto docente para habilitacion LSI
Proyecto docente para habilitacion LSIOscar Ardaiz
 
03 webinar content_deliveryplatform_v1.0-intix
03 webinar content_deliveryplatform_v1.0-intix03 webinar content_deliveryplatform_v1.0-intix
03 webinar content_deliveryplatform_v1.0-intixRoger CARHUATOCTO
 
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....Luis Fernando Aguas Bucheli
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos Luis Fernando Aguas Bucheli
 
Optativas presentacion gral año 2014 - arq redes y so - versión final
Optativas   presentacion gral año 2014 - arq redes y so - versión finalOptativas   presentacion gral año 2014 - arq redes y so - versión final
Optativas presentacion gral año 2014 - arq redes y so - versión finalinfounlp
 
Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...
Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...
Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...Jesus Lau
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NETYamil Lambert
 
NAVEGADORES.pdf
NAVEGADORES.pdfNAVEGADORES.pdf
NAVEGADORES.pdfAleTF
 
Biblioteca Virtual UV (BiV-UV): Universo de conocimientos
Biblioteca Virtual UV (BiV-UV): Universo de conocimientosBiblioteca Virtual UV (BiV-UV): Universo de conocimientos
Biblioteca Virtual UV (BiV-UV): Universo de conocimientosJesus Lau
 
Introdución a las Arquitecturas Dirigidas por Modelos
Introdución a las Arquitecturas Dirigidas por ModelosIntrodución a las Arquitecturas Dirigidas por Modelos
Introdución a las Arquitecturas Dirigidas por ModelosRicardo Tesoriero
 
Framework en Software Libre para la implantación de aplicaciones web en el do...
Framework en Software Libre para la implantación de aplicaciones web en el do...Framework en Software Libre para la implantación de aplicaciones web en el do...
Framework en Software Libre para la implantación de aplicaciones web en el do...Manuel Mujica
 
APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...
APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...
APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...Grial - University of Salamanca
 

Similar a Generación automática sitios congresos (20)

Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUP
 
Navegadores
NavegadoresNavegadores
Navegadores
 
Herramientas y complementos al desarrollar con tecnologías Microsoft
Herramientas y complementos al desarrollar con tecnologías MicrosoftHerramientas y complementos al desarrollar con tecnologías Microsoft
Herramientas y complementos al desarrollar con tecnologías Microsoft
 
Proyecto docente para habilitacion LSI
Proyecto docente para habilitacion LSIProyecto docente para habilitacion LSI
Proyecto docente para habilitacion LSI
 
3- Unidad 1: Introducción a la Plataforma .Net
3- Unidad 1: Introducción a la Plataforma .Net3- Unidad 1: Introducción a la Plataforma .Net
3- Unidad 1: Introducción a la Plataforma .Net
 
03 webinar content_deliveryplatform_v1.0-intix
03 webinar content_deliveryplatform_v1.0-intix03 webinar content_deliveryplatform_v1.0-intix
03 webinar content_deliveryplatform_v1.0-intix
 
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
 
Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
1-Unidad 1. Introducción a la Plataforma .NET
1-Unidad 1. Introducción a la Plataforma .NET1-Unidad 1. Introducción a la Plataforma .NET
1-Unidad 1. Introducción a la Plataforma .NET
 
Optativas presentacion gral año 2014 - arq redes y so - versión final
Optativas   presentacion gral año 2014 - arq redes y so - versión finalOptativas   presentacion gral año 2014 - arq redes y so - versión final
Optativas presentacion gral año 2014 - arq redes y so - versión final
 
Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...
Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...
Biblioteca Virtual UV (BiV-UV): Una plataforma tecnológica para procesos de a...
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NET
 
NAVEGADORES.pdf
NAVEGADORES.pdfNAVEGADORES.pdf
NAVEGADORES.pdf
 
Biblioteca Virtual UV (BiV-UV): Universo de conocimientos
Biblioteca Virtual UV (BiV-UV): Universo de conocimientosBiblioteca Virtual UV (BiV-UV): Universo de conocimientos
Biblioteca Virtual UV (BiV-UV): Universo de conocimientos
 
Introdución a las Arquitecturas Dirigidas por Modelos
Introdución a las Arquitecturas Dirigidas por ModelosIntrodución a las Arquitecturas Dirigidas por Modelos
Introdución a las Arquitecturas Dirigidas por Modelos
 
Atix27
Atix27Atix27
Atix27
 
Framework en Software Libre para la implantación de aplicaciones web en el do...
Framework en Software Libre para la implantación de aplicaciones web en el do...Framework en Software Libre para la implantación de aplicaciones web en el do...
Framework en Software Libre para la implantación de aplicaciones web en el do...
 
APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...
APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...
APLICACIÓN DE INGENIERÍA DE DOMINIO PARA LA GENERACIÓN DE DASHBOARDS PERSONAL...
 
Cruz uliseslarragaramirezcv
Cruz uliseslarragaramirezcvCruz uliseslarragaramirezcv
Cruz uliseslarragaramirezcv
 

Generación automática sitios congresos

  • 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. Í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. 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. 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. 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. Í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. 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. 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. Situación actual • Herramientas escogidas: Proyecto fin de carrera Mónica Quirós Alonso OCS (Open Conference Systems)Xtext
  • 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. Í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. 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. 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. 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. 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. Í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. 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. 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. IDE creado mediante Xtext • Editor textual. Resaltado de código, autocompletado
  • 20. IDE creado mediante Xtext • Mensajes de advertencia y error
  • 21. IDE creado mediante Xtext • Jerarquía de contenidos
  • 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. 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. Í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. 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. Í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. 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. Í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. Demostración Práctica Proyecto fin de carrera Mónica Quirós Alonso FIN DE LA PRESENTACIÓN Demostración Práctica
  • 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

Notas del editor

  1. 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
  2. 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
  3. 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
  4. 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.
  5. 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
  6. 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.
  7. 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.
  8. 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