¿Por qué gsBase?

 

EL PROBLEMA

 

Si usted es desarrollador, sabrá, que crear soluciones de software profesional para cubrir las necesidades de empresas o administraciones públicas es una labor muy compleja ya que las peticiones y exigencias de los clientes son cada vez mayores, para resolver problemas ilimitados cada vez más complejos y totalmente especializados. A esto se suma que las herramientas de desarrollo tienen limitaciones que dificultan (si no impiden) muchas veces responder a dichos retos en plazos de tiempo y con costes asumibles. Realmente, crear o diseñar software de aplicación, es una labor de ingeniería y por tanto los jefes de desarrollo han de tener una amplia formación y conocer las herramientas que puedan resolver los problemas que se les plantean.

 

Lo que si debe tener claro, es que para disponer de un sistema que le permita realizar esto con competitividad y en el plazo de tiempo más corto, es imprescindible que como punto de partida opte por una solución parecida o al menos con prestaciones parecidas a la que aquí le estamos describiendo ya que de otra forma, necesitaría invertir decenas de miles de horas de trabajo y tener una formación en innumerables disciplinas para empezar desde un punto de partida parecido y ser competitivo en el mundo del software.

 

Entendemos que optar por un sistema de desarrollo óptimo es también sumamente complejo debido a la multitud de parámetros y factores que es necesario evaluar para decidirse. En ésta web intentamos por todos los medios darle a conocer todos los parámetros y características de nuestros sistemas para ayudarle a tomar sus decisiones.

 

MODELOS CLÁSICOS DE DISEÑO

 

A partir de las herramientas de desarrollo tradicionales (informática relacional utilizando tablas bidimensionales), es posible crear soluciones sencillas y proceder a su mantenimiento de forma más o menos racional. Pero cuando se afrontan problemas de complejidad media o alta, éste modelo falla y no cubre en absoluto las expectativas o deseos de los clientes finales a los que van dirigidas. En otras palabras, dichas herramientas no son lo suficientemente potentes para desarrollos con más exigencias  (que por otra parte son los que se producen en el mundo real). No quiere decir ésto que con dichas herramientas no sea posible resolver los retos planteados, lo que intentamos explicar es que con ellas el resolver dichos problemas requiere un nivel de complejidad en el desarrollo y en los recursos necesarios para llevarlo a cabo que son totalmente desorbitados y que hay otras posibilidades mucho más racionales, mucho menos costosas y más potentes para resolverlos.

 

¿Qué supone una modificación o reforma de una aplicación, cuando están en liza miles de tablas relacionadas del anterior tipo?

Lo normal, es que los técnicos de desarrollo se asusten y no tengan mas remedio que hacer cargar a sus clientes con costosos desarrollos en dinero y tiempo y muchas veces dicho cliente sufrirá las consecuencias de sus adecuaciones con grandes problemas y mal funcionamiento en sus sistemas debido a la complejidad de desarrollar dichas acciones con el modelo clásico establecido.

 

¿Qué repercusión tiene todo esto para la empresa de desarrollo?

Lo normal es que se cree una gran dependencia con los técnicos, hasta tal punto que el abandono de la empresa por alguno de ellos, implicados en dichos desarrollos, provoque una gran crisis (incluso de viabilidad) en dicha empresa.

 

Lo más grave, es que prácticamente todos los productos de software de aplicación más conocidos a nivel mundial han sido diseñados a partir de dichas herramientas e incluso los mas caros y aparentemente más profesionales del mercado tienen enormes deficiencias derivadas de que han sido construidos utilizando dicha filosofía como dogma de fé. Hay soluciones de tipo ERP con precios prohibitivos y con nucleo central con más de 20,000 tablas relacionadas parametrizables. Al margen de la cantidad de recursos que requiere para su implantación y parametrización (que usualmente son disparatados para las prestaciones ofertadas ya sean de hardware, consultoría o software), ¿Quien se atreve a realizar una personalización o adecuación a un cliente final con tal engendro?. Evidentemente dichos sistemas deben ser carísimos, ya que por mal filosofía de diseño no tienen más remedio.

 

NUEVAS ALTERNATIVAS PARA EL DESARROLLO

 

¿Existe algo más allá del modelo tradicional de tablas relacionadas bidimensionales?

 

Por supuesto que existe y gsBase es un ejemplo de ello.  gsBase incluye un modelo relacional mucho mas avanzado. En nuestra organización y en nuestro afán de investigación, siempre hemos sido inconformistas con las normas clásicas de diseño preestablecidas y cada día nuestros sistemas dan fé de que llevábamos plena razón. La prueba de ello son las reacciones de nuestros clientes: lo normal es que inicialmente se muestren incrédulos y de forma posterior eufóricos y totalmente fieles a gsBase. Aún valoran más nuestros productos, aquellos cuyos sistemas antiguos provenían de suministradores que utilizan métodos clásicos de diseño, los que a pesar de tener una publicidad como los productos más punteros de mercado, han constituido un severo fracaso para cubrir sus expectativas y exigencias.

 

Por favor, lea detenidamente todo lo explicado en características técnicas gsBase y evalúe nuestros productos, poco a poco comprenderá que llevamos plena razón: gsBase incluye una nueva filosofía de desarrollo y es mucho mas puntera, productiva y racional que los productos ofertados por nuestra competencia.

 

Estamos hablando de soluciones de hasta miles de usuarios concurrentes trabajando de forma simultánea y por tanto válidas para pequeña, mediana o gran empresa u organismos públicos.

 

 

 

VENTAJAS MODELO gsBase: Ejemplo Práctico

 

 

Este ejemplo muestra los recursos necesarios para diseñar y mantener un simple archivo de facturas con el modelo tradicional y el nuevo modelo gsBase, como se puede observar, los recursos necesarios para el modelo clásico son 8 veces más que los necesarios con el modelo gsBase, ya que en el clásico es necesario definir 8 tablas (equivalentes a 8 archivos de longitud fija) y en gsBase con un sólo archivo de longitud variable, es posible resolver el problema. Con una gran desventaja del modelo clásico: no hay más remedio que relacionar las tablas con el número de factura y en todas ellas, por cada una de sus líneas, repetirlo. ¿Qué implicaciones tiene esta forma de trabajo si el cliente final se empeña en tener almacenados en algún orden los artículos o albaranes de su factura o en cualquiera de sus tablas?. Por tanto, los recursos necesarios aproximados pueden ser en casos extremos hasta diez veces superiores a los que utiliza gsBase.

 

Ha de entenderse, que no solo se trata de recursos hardware y de diseño, esta mayor complejidad influye drásticamente en: tiempos de diseño y mantenimiento, complejidad y costes en futuras modificaciones o ampliaciones de la aplicación, rapidez y eficiencia de las bases de datos, tamaño de las copias de seguridad, tiempos necesarios para instalar a los clientes finales, tiempos para arrancar desde situaciones catastróficas de hardware, etc,.  Quedan justificadas por completo todas las afirmaciones categóricas que hacemos en el apartado ¿Sabia que ….?.

 

 

Modelo clásico:

Uso de tablas bidimensionales relacionadas

 

 

Modelo avanzado gsBase:

Uso de longitud variable

 

 

Conclusión:

 

El modelo gsBase es, en este caso, como mínimo 8 veces más efectivo que el modelo clásico

 

 

VENTANAS DINAMICAS gsBase:

Nuevas ideas para diseño de Software de aplicación

Modularidad

 

 

El sistema gsBase incluye novedosas ideas para diseñar aplicaciones o soluciones software de aplicación para Empresas o Administraciones Públicas.

 

Una de las ideas más originales y productivas consiste en la forma de concebir el diseño de aplicaciones, son 4 los elementos a definir por cada aplicación:

 

1.       Diccionarios de Archivos de Datos de Aplicación

2.       Ventanas Dinámicas de Aplicación

3.       Informes y Plantillas de Informes para presentar resultados.

4.       Documentación de Ayuda para la aplicación

 

Una vez diseñados los archivos de datos, construir una aplicación consiste simplemente en ir creando ventanas para que el usuario pueda interactuar con las bases de datos gsBase que se relacionan con dicha aplicación.

 

Las ventanas mediante las que los usuarios interactúan se denominan Ventanas Dinámicas. Una ventana dinámica a su vez se puede subdividir en tres secciones:

 

1.       Diseño y Geometría (estructura jerarquizada de contenedores y controles)

2.       Zona de Programación de Respuestas de Cliente

3.       Zona de Programación de Respuestas de Servidor

 

 

Gráficamente:

(a)   El usuario interactúa con los controles de la ventana y el sistema gsBase hace una petición local, dicha petición será procesada por la sección de Programación de Respuestas de Cliente (Acciones de Cliente). Las acciones de cliente pueden ser de tipo estándar (no es necesario programarlas, en cuyo caso se procesan de forma directa), o bien pueden ser particulares para esta ventana en cuyo caso se procesa el código o zona de programa definido en diseño para tal acción o evento en el cliente (Zona de Programación de Acciones de Cliente en respuesta a peticiones de usuario).

 

(b)   Puede ser que la programación de cliente sea autosuficiente para generar la respuesta y no es necesario realizar petición al servidor gsBase. En tal caso se procede a actualizar la ventana con la petición realizada y termina el proceso Petición -> Acción.

 

(c)   Usualmente las peticiones de cliente son redirigidas al servidor gsBase y procesadas por éste. Lo mismo que en cliente, dichas acciones pueden ser de tipo estándar o bien programadas de forma particular para la presente ventana en la Sección de Programación de Respuestas de Servidor.

 

(d)   Por último, el servidor envía los datos o resultado al software de cliente que a su vez enviará a los controles de usuario las modificaciones o mensajes pertinentes como ocurría en (b).

 

Esta estructura tan sencilla es sumamente eficaz y productiva.

 

 

Y lo más importante: garantiza la programación modular de aplicaciones. En consecuencia:

 

1.      Es posible que los desarrolladores trabajen de forma cooperativa en los proyectos sin problema alguno.

 

2.      El concepto de programación modular (o de reutilización de diseños ya hechos) está garantizado fácilmente.

 

3.      Es posible modificar aplicaciones en caliente y sin necesidad de parar el trabajo de los usuarios finales de la aplicación, lo cual es lógico, ya que dicha modificación consiste en interactuar sobre partes de la aplicación muy definidas. Lo mismo que ocurre al modificar un sitio Web, el cambio en una página HTML se puede hacer sin problema, lo único que ocurre es que los usuarios que la están utilizando verán los cambios realizados al entrar de nuevo en dicha página.

 

Esta forma de trabajo, confiere a gsBase una potencia excepcional en desarrollo de aplicaciones. Téngase presente, que la longitud variable, permite que todas las ventanas dinámicas de una aplicación estén incluidas en un simple archivo, lo mismo ocurre con diccionarios de datos e informes o plantillas.

 

¡ Las aplicaciones gsBase mas complejas, pensadas para dar servicio a miles de usuarios no ocupan nunca mas de 2,5 Mb !