PDF de programación - Fisterra : Compartiendo esfuerzos en el desarrollo de software de gestión

Imágen de pdf Fisterra : Compartiendo esfuerzos en el  desarrollo de software de gestión

Fisterra : Compartiendo esfuerzos en el desarrollo de software de gestióngráfica de visualizaciones

Publicado el 14 de Enero del 2017
608 visualizaciones desde el 14 de Enero del 2017
809,2 KB
55 paginas
Creado hace 17a (24/06/2006)
Fisterra : Compartiendo esfuerzos en el 

desarrollo de software de gestión

 

 

Contenidos

● Introducción
● ¿ Qué es Fisterra ?
– Arquitectura abierta
– Framework de desarrollo
– Módulos de negocio

● Conclusiones

 

 

Introducción

● Fisterra nació en mayo de 2003 como alternativa a las 
escasas soluciones libres para la gestión de negocio.

● Propuesta diferente, innovadora y totalmente libre 

utilizando tecnologías GNOME.

●  Fisterra tiene dos partes : 

– framework de desarrollo
– soluciones verticales

 

 

¿ Qué es Fisterra ?

● Arquitectura abierta

– Fisterra define una arquitectura para el desarrollo de 

aplicaciones cliente/servidor.

● Framework de desarrollo

– Se proporcionan herramientas y funcionalidades básicas, 

necesarias para la implementación de este tipo de sistemas.

● Módulos de negocio

– La estructura modular de Fisterra permite la creación de 

módulos de negocio, favoreciendo su ampliación y 
reutilización.  

 

 

¿ Qué es Fisterra ?

Arquitectura

 

 

Arquitectura

● Arquitectura multicapa
● Servidor funcionando como middleware
● Patrón MVC en el diseño de la interfaz
● Contenedor de EGBs

 

 

Arquitectura

 

 

Arquitectura

Tecnologías

 

 

Tecnologías

● La arquitectura Fisterra se centra en todas las capas de 

una aplicación cliente/servidor, por lo que implica mútiples 
tecnologías.

● Interfaz

– Desktop
– Web

● Integración de sistemas 

– CORBA
– SOAP

 

 

Tecnologías

● Gestión de información

– Migración
– Replicación
– Acceso y almacenamiento

 

 

Tecnologías

Interfaz del cliente

 

 

Interfaz del cliente

● Fisterra usa librerías GTK+ y LibGlade para el diseño de 

las ventanas de interfaz.

● GObject para la implementación de objetos en C
● LibXml para el parseo de la configuración de interfaces. 
● Cada ventana se crea a partir de un fichero GLADE.
● Un controlador se encarga de gestionar los eventos de la 

ventana.

 

 

Interfaz del cliente

● Cada ventana esta formada por uno o varios widgets de 

negocio. 

● La configuración de cada ventana se define en un fichero 

XML : f_client_fisterra.xml

 

 

Interfaz del cliente

● Esta configuración se carga al inicio : FMainController
● Cada ventana es construida por un builder.

 

 

Interfaz del cliente

Tecnologías web

 

 

Tecnologías web

● Fisterra proporciona también soporte para interfaces 

Web. 

● Existen múltiples posibilidades :

 

 

Tecnologías web

● Para la implementación del prototipo Web, se ha utilizado 

la implementación de Mono para ASP.Net 1.0

● En este punto, se está evaluando aprovechar el proyecto  

Mono para migración de la plataforma Fisterra a C#.
● Se han realizado los primeros casos de uso en Gtk#, 

usando GAPI para la migración de los servicios 
necesarios.

 

 

Tecnologías

Middleware

 

 

Middleware

● Aislar y localizar la lógica de negocio.
● Servicios de soporte : autenticación, acceso a datos, ... 
● Único punto de acceso a la información.
● Arquitectura orientada a servicios. 

 

 

Middleware

 

 

Middleware

● Gestión global de autorizaciones.
● Control de las operaciones : transacciones.
● Dos capas :

– Comunicaciones : CORBA / SOAP
– Servicios : Componentes EGBs

● Conjunto de componentes comunicados entre sí, que se 

encargan de gestionar la lógica de negocio, 
almacenamiento persistente y control de operaciones.

 

 

Middleware

● Algunos de los principales de servicios de soporte 

implementados en el servidor Fisterra son :
– Fisterra Barnacle
– Sistema de listados e informes
– Servicios de autenticación y autorización
– Gestión de sesiones
– Workflow
– Planificador de tareas

 

 

Middleware

– Sistema de migración
– Sistema de replicación
– Impresión de documentos

● La capa de comunicaciones ha sido diseñada para 

permitir independencia del protocolo de comunicaciones.

● En la actualidad, se han implementado delegates de 

comunicación sobre CORBA y SOAP.

 

 

Middleware

 

 

Middleware

● Además del control de operaciones y la implementación 

de lógica de negocio, el middleware Fisterra puede 
enfocarse hacia integración de sistemas.

 

 

¿ Qué es Fisterra ?

Framework de desarrollo

 

 

Framework de desarrollo

● EL corazón de Fisterra lo conforman una serie de 

tecnologías y herramientas sonre las que se implementan 
los módulos de negocio.

● Entre estos servicios, cabe destacar :

– Fisterra Barnacle
– Generador de código fuente
– Gestión de transacciones
– Mapeado Objeto­Realcional

 

 

Framework de desarrollo

– Gestión de errores 
– Shell principal y gestión de controladores
– Formularios genéricos
– Gestión de menús y barra de herramientas : Stock items
– Persistencia de objetos
● identificación de objetos
● DAOs
● esquema relacional

 

 

Framework de desarrollo

Generador de código

 

 

Generador de código

● A través de un fichero XML se definen las entidades del 

dominio de la aplicación a desarrollar.

● Mediante el preprocesado XSLT, se generan los 

siguientes sistemas :
– Objetos Fisterra Barnacle : Dataobjects
– Objetos de acceso a datos : DAOS
– Esquema relacional (restricciones de integridad)
– Mapping Objeto­Rlacional
– Mapping comunicaciones : CORBA / SOAP

 

 

Generador de código

 

 

Framework de desarrollo

Comunicaciones

 

 

Comunicaciones

● Definición de servicios remotos : especificación IDL.
● A partir de la definición de los servicios, se generan stubs 

y skeletons para para CORBA y SOAP.

● Las clases FCommunicationLayer se encargan de la 

inicialización de la capa de comunicación cliente y 
servidor.

● Las clases delegate permiten una gestión transparente 

de las operaciones remotas.

● Mapping automático de estructuras de comunicación.

 

 

Comunicaciones

 

 

Framework de desarrollo

Persistencia

 

 

Persistencia

● Sistema de persistencia basado en DAOs.
● Identificación única de objetos : código barnacle

– clave de 64 bits
– nombre de clase
– hostcode

● Gestión de conexiones 

– Independencia del proveedor de conexión
– múltiples conexiones a distintas bases de datos 

 

 

Persistencia

Experimental : sistema de persistencia objetual

Recuperación y de datos basado en la jerarquía de objetos

Políticas lazy/igger

Configuración de acceso a datos a nivel de servicio

Multiplicidad en la relación de objetos

 

 

Framework de desarrollo

Gestión de transacciones y errores

 

 

Gestión de transacciones y errores

● Fisterra­Base define el componente básico FEgb que se 

encarga del control de transacciones. 

● EL programador define la granularidad de cada una de 

las operaciones de negocio. 

● Los errores son transmitidos entre componentes, de 

forma que en caso de producirse, se aborta 
automáticamente la operación en curso.

 

 

Gestión de transacciones y errores

● Fisterra proporciona un conjunto de excepciones 

completo, aunque el programador puede definir sus 
propias excepciones.

● Estas excepciones son transferidas a través de la capa de 

comunicación para ser procesadas en el cliente.

● La clase Facade en el cliente gestiona las excepciones, 

mostrando una ventana de error al usuario.

● Las fachadas de negocio implementadas heredan todas 

de esta clase.

 

 

Framework de desarrollo

Shell principal y gestión de controladores

 

 

Shell principal y gestión de 
controladores

● Para la construcción de aplicaciones Desktop, se 

proporciona el shell principal sobre el que incrustar 
ventanas.

● Como todas las ventanas en la arquitectura Fisterra, 

dispone de su controlador : FShellController.

●  Cualquier controlador puede instanciar una nueva 

ventana llamando al constructor apropiado. 

● La clase FMainController contiene la configuración de 

todas las ventanas del sistema (f_client_fisterra.xml). 

 

 

Shell principal y gestión de 
controladores

● La barra de herramientas y el menú principal de la 

aplicación son gestionados por la clase FShellController.

● Para ello, se proporciona diversos Stock Items para 

configurar la barra de herramientas.

● La gestión de menús la realiza el UI Manager  mediante 

un sencillo fichero XML (f_main_window_app.xml), en el 
que se definen las acciones de cada elemento del menú.
● Este fichero está relacionado con la configuración general 
de ventanas (f_client_fisterra.xml) mediante el tag action.

 

 

Shell principal y gestión de 
controladores

 

 

Framework de desarrollo

Formularios genéricos

 

 

Formularios genéricos

● Implementación rápida de ventanas I/O
● Se parte de un fichero glade, con la definición de la 

interfaz.

● No es necesario implementar ni el constructor ni el 

controlador.

● La fachada de negocio correspondiente define los 

métodos necesarios para la inicialización, la carga de 
datos y la operación a realizar al aceptar los datos del 
formulario.

 

 

¿ Qué es Fisterra ?

Módulos de negocio

 

 

Módulos de negocio

● Fisterra se compone de 2 subproyectos :

– Fisterra­Base 
– Fisterra­BModules

● Los módulos de Fisterra pueden dividirse en 2 grupos :

– Módulos de servicio
– Módulos de negocio

● Los módulos de servicio implementan utilidades y 

herramientas para las operaciones básicas de negocio.

 

 

Módulos de negocio

● Entre los módulos de servicio implementados, cabe 

destacar los siguientes :
– Módulo de listados
– Módulo de autenticación
– Módulo de migración
– Módulo de replicación
– Módulo de planificación

● Lós módulos de negocio implementan la lógica de gestión 

del proceso de negocio propiamente dicho.

 

 

Módulos de negocio

● Los módulos de  negocio definen lógica general para 

cualquier tipo de sector :
– Módulo de documentos (workflow)
– Módulo de pagos
– Módulo de impuestos
– Módulo de calendario

● Esta estructura modular permite reutilizar el trabajo 
realizado en las implementaciones verticales para 
sectores de negocio específicos.

 

 

Módulos de negocio

Módulo de listados

 

 

Módulo de listados

● Generación de consultas SQL y visualización en
  • Links de descarga
http://lwp-l.com/pdf1653

Comentarios de: Fisterra : Compartiendo esfuerzos en el desarrollo de software de gestión (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad