Download Evaluación de la arquitectura necesaria y diseño de un prototipo

Document related concepts
no text concepts found
Transcript
Sistemas de e-Participación:
evaluación de la arquitectura,
diseño e implementación de un
prototipo que incorpora gestión de
organizaciones y territorios
Rocío Martín Hernando
ÍNDICE
Introducción
e-Participación ciudadana y las TICs
Ventajas de la participación ciudadana
Objetivos del proyecto
Arquitectura y Tecnologías del sistema
Evaluación y Comparativa de la Arquitectura
Sistema en la Gestión de organizaciones y
territorios
 Demostración del sistema







Introducción

La misión de la Asociación Ciudades
Kyosei:
Impulsar la creación de un Sistema
Integral de Participación Ciudadana
Municipal basado en tecnologías y
conceptos Web2.0, que sea capaz de
acompañar, potenciar y dinamizar todas
las iniciativas de participación cívica de
la ciudad.

Entorno Virtual de Participación
Ciudadana es un espacio en Internet
donde tanto los ayuntamientos, como los
ciudadanos y sus asociaciones y
organizaciones pueden poner a
disposición del resto de ciudadanos, otros
colectivos, medios de comunicación, etc.
todas las informaciones referidas a las
actividades participativas que se realizan
en la ciudad.

Partimos del prototipo alpha del sistema
Kyosei-polis.
Participación ciudadana
y las TIC´s

La e-Participación es la participación a través de Internet.

Los espacios virtuales de participación promovidos por las
instituciones introducen una nueva dimensión en la relación entre
ciudadanía y poderes públicos fomentando la cultura democrática,
mejorando los servicios públicos a través de la participación ciudadana.

La participación ciudadana a través de Internet puede ayudar a generar
una política más cercana y próxima a las inquietudes de la ciudadanía.

Las políticas de participación a través de las nuevas tecnologías
posibilitan una mayor transparencia y dotan al ayuntamiento de mayor
legitimidad democrática.

Es a nivel local donde conviene hacer más efectiva la participación de los
ciudadanos debido a su proximidad con el ciudadano.
Ventajas participación
ciudadana
 Potencia la comunicación entre ciudadanos e instituciones
públicas.
 Favorece y adecua el funcionamiento de las instituciones locales.
 Rompe con la apatía, la indiferencia y la desconfianza de la
ciudadanía acercando la política a los ciudadanos.
 Promueve una mayor influencia y control de los ciudadanos
sobre las políticas públicas.
 Ofrece a los representantes de las instituciones herramientas para
evaluar su gestión y poder mejorar la misma gracias al apoyo
ciudadano.
 Permite a los individuos mejorar sus condiciones de vida.
Entorno virtual de
participación ciudadana

Flexible, Interfaz amigable y fácil de utilizar.

Software libre.

Permita que aquellos gobiernos municipales dotados de voluntad política para
integrar la participación en sus procesos de toma de decisiones, dispongan de su
“espacio virtual para la participación”.

Permita a las Organizaciones, ONGs y colectivos ciudadanos tener sus propios
espacios de intereses y distribución de información.

Facilite el surgimiento de nuevas redes ciudadanas.

Favorezca la generación y difusión de conocimiento entre los ciudadanos
fomentando la cultura colaborativa.

Pueda apoyar procesos participativos diversos.

Promueva una discusión transparente, confortable y de calidad.

Apoyo a las prácticas participativas presenciales ya existentes.
Objetivos específicos I
 Estudio y análisis de necesidades de la participación ciudadana
en el ámbito local, las Organizaciones municipales, las
asociaciones ciudadanas y sus Territorios de actuación.
 Estudio de la tecnología utilizada en el prototipo alpha del sistema
Kyosei-Polis y evaluación de las ventajas e inconvenientes del
uso de los frameworks de Java Spring e Hibernate así como del
resto de tecnologías utilizadas en el prototipo.
 Análisis y diseño de los módulos necesarios para la Gestión de
Organizaciones y Territorios para el sistema Kyosei-Polis.
Objetivos específicos II
 Implementación de un primer prototipo del sistema Kyosei-Polis
que incorpore la gestión de organizaciones y territorios que dé
soporte práctico al estudio de dicha arquitectura.
 Evaluar los resultados obtenidos y las dificultades encontradas en
la utilización de las tecnologías incluidas en el prototipo inicial del
sistema.
 Realización de un manual de desarrollador que dé soporte técnico
a futuros desarrolladores.
 Realización de un manual de usuario que ofrezca un soporte
sobre la utilización de la aplicación.
Tecnologías utilizadas en
el desarrollo

Java (jdk 1.6)

Eclipse Ganymede 3.4.2

Plugins Eclipse: Hibernate Tools,
Subclipse, Maven 2.0 integration

Maven 2.0.9

Tomcat 6.0

MySql 5.1

Hibernate 3.2.6

Subersion 1.5.4 y TortoiseSVN

Toad Data Modeler 3.4

StarUML 5
Arquitectura y Tecnología
empleada
Spring Security
Spring Web
MVC
Hibernate
MySQL
Spring MVC
 Permite al desarrollador centrarse en la lógica de
negocio empleando buenos principios de diseño
orientados a objetos.
 Hace uso de la inversión de control (código más
limpio).
 Ofrece un soporte completo a formularios.
 Integración con múltiples tecnologías en la vista (view).
 Tiene una librería de etiquetas propia para JSP (Tag
Library)
Implementación Spring
MVC
Spring MVC VS STRUTS
Objetivo a comparar
Spring MVC
Struts
Capas MVC
División clara entre
Controllers, Models
(JavaBeans) y Views.
División menos clara entre
capas. No tiene una interfaz
bien definida para la capa
de negocio.
Flexibilidad en la
implementación
Muy flexible. Implementa
toda su estructura mediante
interfaces. Todas las partes
del framework son
configurables vía plugin.
Más Testeable.
Obliga a heredar de clases
concretas tanto en sus
Actions como en sus Forms.
Menos Testeable.
Implementación vista
Integración con casi
cualquier tecnología, no
tiene porqué ser jsp.
Obliga a que la vista sean
jsp´s.
Tecnología más nueva,
menos documentación.
Muy madura y abundante
documentación y ejemplos.
Madurez y documentación
Hibernate
 Es un motor de persistencia
de código abierto.
 Permite establecer relaciones
entre clases Java y tablas de
una base de datos haciendo
uso de ficheros XML en los
que se describe dicha
relación y cómo persistir las
clases Java.
 Permite desarrollar clases
persistentes a partir de clases
comunes, incluyendo
asociación, herencia,
polimorfismo, composición y
colecciones de objetos.
Ejemplo Hibernate (mapeo
objeto-relacional tabla territory)
 hibernate.cfg.xml: fichero de
configuración de Hibernate.
Describe cómo Hibernate
debe conectarse a la base de
Territory
datos.
-territoryid: java.lang.Integer
 territory.hbm.xml:
describen
-territoryType: TerritoryType
los mapeos
entre las clases y
-name: String
-personalinfos: List <Personalinfo>
las tablas
de la base de
datos.<<create>>+Territory()
+getTerritoryid(): java.lang.Integer
+setTerritoryid(territoryid:
java.lang.Integer)
 Territory.java:
Objeto java
que
+getTerritoryType(): TerritoryType
hace +setTerritoryType(territoryType:
referencia (mapeo) TerritoryType)
a la
tabla +getName():
Territory.String
+setName(name: String)
+getPersonalinfos(): List
Territory
-territoryid: java.lang.Integer
-territoryType: TerritoryType
-name: String
-personalinfos: List <Personalinfo>
-usersInterests: List <UsersInterest>
<<create>>+Territory()
+getTerritoryid(): java.lang.Integer
+setTerritoryid(territoryid: java.lang.Integer)
+getTerritoryType(): TerritoryType
+setTerritoryType(territoryType: TerritoryType)
+getName(): String
+setName(name: String)
+getPersonalinfos(): List
+setPersonalinfos(personalinfos: List)
+getUsersInterests(): List
+setUsersInterests(usersInterests: List)
Hibernate VS EJB3
(capa persistecia)
Objetivo a comparar
Hibernate
EJB3
Curva de aprendizaje,
Simplicidad y Madurez
Muy corta, fácil de aprender.
Siempre ha sido sencillo de
utilizar.
Más maduro.
Similar a Hibernate.
Versiones anteriores a EJB 3
la comparación favorecía a
Hibernate.
Dependencia de otros
proyectos
Hibernate se encarga
únicamente de la capa de
persistencia.
Una implementación de la
especificación EJB3 cubre
todos los aspectos del
desarrollo de una aplicación
empresarial JEE.
Comparativas de
rendimiento
Frente a versiones
anteriores de EJB, era
indudablemente mejor usar
Hibernate.
EJB3 nace con JEE 5.0 el
mismo que viene optimizado
y es un 60% más rápido y
eficiente que JDK 1.4.
Soportadas mediante
extensiones de Hibernate y
mediante el uso de otros
frameworks como Spring
Soportadas nativamente
como parte de la
especificación.
Manejo de Transacciones
Spring soporte de
transacciones para Hibernate
 Ejemplo de soporte a
transacciones
declarados en el
fichero baseTransactionProxy
aplicationcontext.xml:
territoryManager
transactionManager
MAVEN

Herramienta software para la gestión
y construcción de proyectos Java.

Crea una estructura de directorios
para nuestro proyecto. Carpetas para
fuentes, imagenes, ficheros de
configuración y datos, etc

Utiliza un fichero de configuración
XML denominado Project Object
Model (POM).

Consta de tareas claramente
definidas, como la compilación del
código, su empaquetado,
documentación, métricas sobre el
código fuente y un innumerable
número de informes son todos
controlados por el POM.

Listo para usar en red y descargar
plugins de un repositorio.
Beneficios de la
arquitectura utilizada

MVC si se desean cambiar elementos de una capa tan sólo serían necesarios cambios en esa
capa reduciendo al mínimo posible las dependencias entre capas.

Hibernate hace el mapeo objeto-relacional y la conexión de una manera transparente
reduciéndose a unas pocas líneas de código.

No nos tenemos que preocupar de abrir y cerrar conexiones a Base de datos.

Maven esta herramienta mediante sus tareas nos ayudará a la compilación, gestión de
dependencias, generar ejecutables, etc.

Spring facilita la integración con otros frameworks con el fin de obtener los beneficios que el
desarrollador desea de cada una de ellas.

Spring esta diseñado con interfaces promoviendo así la reutilización de código y un estándar
del paradigma orientado a objetos.

Spring ofrece simplificación del desarrollo, consistencia y estructuración.

Spring Security garantiza y brinda todas las funcionalidades necesarias para no poner en
riesgo la seguridad del sistema.
Desventajas de la
arquitectura utilizada
 Fue que muchas veces es necesario
utilizar muchos archivos XML, lo cual a
veces es inevitable para configurar
ciertos aspectos del framework.
 Exceso de frameworks.
 Proceso de aprendizaje más costoso.
Implementación de la gestión
de organizaciones y territorios
en el sistema Kyosei-Polis

Representar geográficamente la ciudad, permitiendo crear un
modelo geográfico de “región, ciudad, distrito, barrio”.

Registrar organizaciones ciudadanas y gubernamentales que
trabajan en la ciudad, estableciendo para cada una las
temáticas que trabajan y los territorios sobre los que actúan.

Registrar usuarios, que además de establecer un perfil
personal, pueden señalar cuáles son sus intereses, tanto desde
un punto de vista temático (ecología, tránsito, derechos
humanos, etc.) como geográfico (en tal ciudad y tal barrio).

Esto permitirá que cuando las organizaciones publiquen
actividades los potenciales usuarios interesados en ellas (de
acuerdo a sus intereses geográficos, temáticos y de
organizaciones) se podrán apuntar a ellas.
Gestión de Territorios
Definir Tipos de Territorios
Modelo geográfico
Definir Territorios
Definir Relaciones entre Tipos de Territorios
Definir Relaciones entre Territorios
País
España
Comunidad Autónoma
Castilla León
Ávila
Provincia
Gestión organizaciones





Registrar Organizaciones ciudadanas y gubernamentales.
Establecer sus territorios de actuación.
Establecer sus temáticas de interés.
Registrar actividades.
Registrar documentos de la organización.
Participación Ciudadana
Asociación Ciudades Kyosei
Alcalá de Henares
Gestión de Usuarios
 Registrar usuario.
 Crear su perfil.
 Visualizar los territorios, organizaciones y
temáticas registradas en el sistema.
 Registrar sus Intereses: Territorios,
Organizaciones, Temáticas, Actividades,
etc.
 Visualizar espacio de las organizaciones
y apuntarse a sus actividades.
Modelo físico de datos
PERSONALINFO
ORGANIZATION
TERRITORY
Diagrama de casos de
uso
Usuario Administrador
Conclusiones
 Escasa madurez alcanzada en el campo de la
participación ciudadana.
 Contribuir a facilitar el trabajo de futuros
desarrolladores del sistema.
 Curva de aprendizaje del sistema alpha Kyosei-polis
costosa. Reducir la tecnología más sencilla o menos
frameworks.
 Contribuir al fomento de la participación ciudadana.
 Incorporar al sistema Kyosei-polis un prototipo para la
gestión de organizaciones y territorios.
Demostración
 Implementación de un prototipo que
incorpora la gestión de organizaciones y
territorios.
FIN
 Gracias por su atención.