Download Descargar presentación

Document related concepts
no text concepts found
Transcript
Trabajo Fin de Carrera
INTEGRACIÓN DEL ENTORNO DE
DESARROLLO PARA UN PROYECTO
DE SOFTWARE LIBRE
Roberto Carlos Zapatera Pilo
Estructura presentación.
 La asociación Ciudades Kyosei.
 Creación del Sistema Kyosei-Polis .
 Software Libre VS Software Comercial.
 Estructura de la Memoria.
 Tecnologías Servidor.
 Tecnologiás Desarrollo.
 Librería utilidades.
 Arquetipo Maven.
 Aplicativo Alpha.
La asociación Ciudades Kyosei.
 La Asociación Ciudades Kyosei no es solamente una Entidad sin
Ánimo de Lucro. Es más bien una Entidad con Ansia de Desarrollo
Social, y están comprometidos con el fortalecimiento de la participación
ciudadana democrática en el ámbito municipal y regional.
 Promueven la creación y el uso de herramientas de participación
basadas en Internet que permitan que tanto los ciudadanos como las
administraciones públicas puedan beneficiarse con el uso continuado de
espacios alternativos para el diálogo y la movilización.
Sistema Kyosei-Polis.
 Diseño de un Entorno Virtual de Participación Ciudadana Municipal
a partir de un análisis interdisciplinar de la participación ciudadana.
 Un Entorno Virtual de Participación Ciudadana es un espacio en
Internet donde tanto los ayuntamientos como los ciudadanos y sus
asociaciones pueden poner a disposición de los ciudadanos, otros
colectivos, medios de comunicación, etc. todas las informaciones
referidas a las actividades participativas que realizan en la ciudad.
Sistema Kyosei-Polis.
 Envío de preguntas a los distintos departamentos del ayuntamiento u
organización;
 Encuestas y cuestionarios, para que el ciudadano transmita su opinión sobre
ciertos temas;
 Procesos de recogida de firmas para realizar una petición o iniciativa legislativa;
 Consulta de la "agenda participativa" del municipio o barrio, que es elaborada de
manera conjunta por todos los colectivos de la ciudad;
 Espacios para la realización virtual de procesos participativos complejos;
 Foros de debate con modelos avanzados de moderación que permitan realizar
discusiones estructuradas y de calidad, identificar los consensos existentes,
resolver posibles desacuerdos y elaborar documentos de conclusiones;
 Espacios privados de colaboración que faciliten el trabajo participativo interno del
ayuntamiento y las organizaciones ciudadanas;
 Publicación y revisión participativa de documentos;
 Herramientas que faciliten que ciudadanos interesados por un cierto tema se
pongan en contacto, etc.
Sistema Kyosei-Polis.
Nov.
2005
Junio
2005
Actualidad
SF libre VS SF comercial
VENTAJAS DEL SOFTWARE LIBRE
 Económico .
 Libertad de uso y redistribución.
 Independencia tecnológica.
 Fomento de la libre competencia al basarse en servicios y
no licencias
 Soporte y compatibilidad a largo plazo
 Formatos estándar
 Sistemas sin puertas traseras y más seguros
 Corrección mas rápida y eficiente de fallos
 Métodos simples y unificados de gestión de software
 Sistema en expansión
SF libre VS SF comercial
VENTAJAS DEL SOFTWARE COMERCIAL
 Propiedad y decisión de uso del software por parte de la
empresa.
 Soporte para todo tipo de hardware
 Mejor acabado de la mayoría de aplicaciones
 Las aplicaciones número uno son propietarias.
 Menor necesidad de técnicos especializados
 Mayor mercado laboral actual
 Mejor protección de las obras con copyright
 Unificación de productos
Estructura de la Memoria.
1. Configuración entorno tecnológico
 Configuración tecnologías servidor.
 Configuración tecnologías desarrollo.
 Frameworks
2. Aplicativo alpha.
 Creación librería de utilidades.
 Creación Arquetipo Maven.
 Creación aplicación alpha.
Configuración tecnologías
servidor.
MOD_JK
JDBC
3,5 cm
CA
OpenSSl
ActivePerl
Configuración tecnologías
Desarrollo.
TortoiseSVN
3,5 cm
Hibernate Tools
Omondo UML
Frameworks
Spring Framework
 Spring Framework es un framework
de Java que nos facilitará la creación
de aplicaciones.
 Diseñado por Rob Johnson. Mientras
escribía el libro Expert One-on-one
J2EE Design And Development
(Programmer to programmer)
 Adquirió su mayor notoriedad a partir
de 2005
Hibernate
 Hibernate es una herramienta de
Mapeo objeto-relacional para la
plataforma Java que facilita el mapeo
de atributos entre una base de datos
relacional tradicional y el modelo de
objetos de una aplicación, mediante
archivos declarativos (XML).
Spring Framework
Spring Framework
Capa de Presentación
Spring Framework
Capa de Presentación
Spring Security
 Spring Security es un subproyecto del framework Spring, que permite
gestionar completamente la seguridad de nuestras aplicaciones Java, y
cuyas ventajas principales son las siguientes:
 Es capaz de gestionar seguridad en varios niveles: URLs que se solicitan al
servidor, acceso a métodos y clases Java, y acceso a instancias concretas de las
clases.
 Permite separar la lógica de nuestras aplicaciones del control de la seguridad,
utilizando filtros para las peticiones al servidor de aplicaciones o aspectos para
la seguridad en clases y métodos.
 La configuración de la seguridad es portable de un servidor a otro, ya que se
encuentra dentro del WAR o el EAR de nuestras aplicaciones.
 Soporta muchos modelos de identificación de los usuarios (HTTP BASIC,
HTTP Digest, basada en formulario, LDAP, OpenID, JAAS y muchos más).
Además podemos ampliar estos mecanismos implementando nuestras propias
clases que extiendan el modelo de Spring Security.
CSS Framework
Modular CSS
Header
Footer
Main content
Sub content
Main nav
Local nav
breadcrumbs
CSS Framework
@import url("typo.CSS");
@import url("layout.CSS");
@import url("displaytag.CSS");
@import url("form.CSS");
@import url("message.CSS");
Sitemesh
Sitemesh es un framework de decoración y layout
para páginas web, que facilita la creación de grandes
sitios que contienen gran cantidad de páginas, las
cuales requieren un consistente “look and feel”,
navegación y complejo sistema de capas.
SiteMesh es un esquema para crear páginas web
consistentes, basado en los patrones decorator y
composite.
Sitemesh
Sitemesh
Modular CSS
+
Sitemesh
Header
Main nav
Breadcrumbs
Local nav
Footer
Main content
Sub content
Librería utilidades

La librería de utilidades va a contener un conjunto de clases que
servirán para agilizar los desarrollos de las aplicaciones creadas
del sistema. Esta librería va a aportar 3 tipos de clases
fundamentalmente:
1. Utilidades para Test unitarios Junit.
2. DAOS genéricos
3. Lógica negocio.

La documentación de uso la podremos encontrar en:
http://www.ckyosei.org/documentacion/alpha-util/1.0/
Maven

Maven es una herramienta de software para la gestión y construcción
de proyectos Java creada por Jason van Zyl, de Sonatype, en 2002..

Maven utiliza un Project Object Model (POM) para describir el
proyecto de software a construir, sus dependencias de otros módulos y
componentes externo, y el orden de construcción de los elementos.
Viene con objetivos predefinidos para realizar ciertas tareas
claramente definidas, como la compilación del código y su
empaquetado, etc.
Maven es una herramienta de gestión integral de proyectos

Maven
Ciclo de Vida de Maven
1. compile
2. Test
3. package
4. Install
5. deploy
Archetypes




Los Archetypes en maven , son plantillas de proyectos que nos
permiten mejorar la productividad de los desarrollos debido a que nos
centramos directamente en el desarrollo del proyecto.
Alguien ya se preocupo de la organización de las carpetas y de las
configuraciones basicas.
Con el uso de los Archetypes de maven podemos estandarizar el layout
de las carpetas para todos los proyectos , un tema no menor para el
proceso de desarrollo.
La documentación de uso la podremos encontrar en:
http://www.ckyosei.org/documentacion/CkyoseiArchetype/1.0/
Archetypes
 El arquetipo diseñado para generar las aplicaciones para el
sistema kyosei-Polis va a generar una aplicación Web con las
siguientes funcionalidades.
 Generación de menús dinámicos (TagLib):
1. Navegación global
2. Navegación Local
 Implantación de Spring security:
1. Creación de la BBDD Spring secuirty en hsqldb.
2. Autenticación de usuarios: (Spring Security)
3. Registro de usuarios




Configuración de Hibernate.
Configuración de Framework CSS.
Configuración de Sitemesh de decoración.
Internacionalización I18N
Archetypes
Aplicación Alpha
 Demostración.
Fin