miércoles, 9 de septiembre de 2009

¿Que es Cosmos?




              Cosmos es un innovador conjunto de herramientas de Programación desarrollado por la empresa Transtools, cuya programación es Visual Orientada a Objetos, es decir, nos permite desarrollar aplicaciones, utilizando una serie de objetos predefinidos que realizan una serie de funciones especificas y que además pueden interactuar con otros objetos desarrollados, dentro y fuera de este lenguaje.


             Imaginemos que tenemos una serie de botones diseñados como objetos que cumplen la función de "Añadir", "Modificar", "Borrar", etc.. estos objetos por si solos realizarían las funciones, de "Añadir" un registro Nuevo, "Modificar" el registro Actual o "Borrar" el registro existente, ya que son Objetos definidos con una función especifica y que podríamos utilizar en cualquier apartado de nuestra aplicación.

                 Cosmos es una buena herramienta de programación sobre todo para entornos de Gestión. Aunque su aprendizaje no es fácil ni intuitivo, una vez te adaptas a su entorno, te permite desarrollar aplicaciones muy rápidamente, por lo que se pueden reducir costes de programación y líneas de comando, centrándote sobre todo en el diseño de la aplicación haciéndola atractiva para el usuario.

                   El problema principal es que al inicio de la programación debes de funcionar a base de errores y aciertos, pues los manuales que incorpora la herramienta son muy limitados y carentes de ejemplos prácticos.

       En definitiva es una herramienta que para las medianas y Pequeñas Empresas, e incluso para alguna gran Empresa, es muy recomendable, por su muy buena base de Datos (MultiBase) y por la rapidez de desarrollo de aplicaciones una vez te familiarizas con el entorno.

¿Que ventajas ofrece Cosmos ante otros sistemas de Programación?

  Las ventajas principales de Cosmos, ante otros sistemas de Programación, es la rapidez de desarrollo, sobre todo en las aplicaciones de Gestión y Programas Financieros, así como la posibilidad de realizar modificaciones tanto de la Base de Datos como del Sistema, sin tener que realizar en algunos casos, una Exportación e Importación de Datos, ni tener que sacar a los usuarios del Sistema fuera de la red. (Aunque esta ultima opción siempre es recomendable).


También una vez aprendes a manejar en profundidad la herramienta, (aunque no es fácil al principio), puedes desarrollar aplicaciones en la mitad de tiempo que con otras herramientas existentes en el mercado.


 Además, si eres un programador organizado, y utilizas una buena metodología de trabajo, puedes incorporar módulos y herramientas desarrolladas de aplicaciones anteriores de Cosmos, en tu nueva aplicación. Esto significa que según vas desarrollando, vas creándote una librería de utilidades y herramientas propias para tu uso.


Hablando de la Base de Datos MULTIBASE, tengo que decir que es una base de datos muy buena.. (la verdad es que de las mejores con las que he trabajado), ya que funciona en múltiples plataformas como MSDOS, UNIX, LINUX y WINDOWS), sin nada más que generar la Base de datos, exportar la información , eso si.. hay que realizar los enlaces para que las aplicaciones puedan acceder.. (pero eso como todas..)


Lo mejor de esta herramienta es el WIZARD, que nos permite desarrollar aplicaciones básicas en un instante. Solo hay que tener en cuenta que la estructura de la Base de Datos "Repositorio", debe de estar muy bien definida, tanto las variables, como los Índices, como los Enlaces entre tablas, sino en la creación puede "petar". Pero si preparas bien la Base de Datos, te permite generar un programa sin necesidad de ni una sola línea de código.

¿Que Desventajas tiene ante otras herramientas de programación?

Ver imagen en tamaño completo  Principalmente tenemos por un lado, los Gráficos Estadísticos, o bien no existen o la utilidad de conexión a un DLL, no funciona correctamente. (A partir de la versión 3.6)



También algunas de las opciones y utilidades que proporciona la herramienta, no están pulidas lo suficiente, (Sobre todo en la opción de Impresión de Formularios Pantalla-Impresora).


Otra de las desventajas principales que tiene, son el manual de ayuda (bastante pobre), así como las consultas que realizas a la empresa que comercializa Cosmos, ya que una vez has comprado la herramienta, cualquier consulta debes de pasar por caja. (Otras herramientas de desarrollo, tienen manuales muy definidos con muchas explicaciones y ejemplos y no te cobran la consultoria).


Personalmente considero que siendo una herramienta capaz de destacar sobre otras existentes en el mercado, lo que deberían de hacer es promocionar su uso entre los profesionales, facilitando el acceso a información y mejorando los manuales y herramientas de apoyo.


Últimamente se ha puesto en su página Web un acceso a manuales on-line, que define la función, pero que en muchos casos (la mayoría), no es fácil de buscar una información específica.


        En su pagina Web existen unos 260 casos prácticos, pero no hay forma de buscar uno caso en concreto, siendo la mayoría de las respuestas demasiado ambiguas.


 (Por ejemplo la respuesta de la pregunta 120.- ¿Puede cosmos Trabajar con OBDC?.. Respuesta... SI. , o la pregunta 132.- ¿Como se puede definir una Array?... Respuesta: Definiendo una clase y después un objeto de dicha clase. etc... etc...
Por otro lado, otra desventaja que posee, es la dificultad que tiene a la hora de generar una auto-instalación de nuestras aplicaciones.


Aunque Cosmos tiene una herramienta para generar auto-instalaciones para nuestros clientes, no está muy bien desarrollada dando verdaderos quebraderos de cabeza.


También cabe destacar que todas las aplicaciones desarrolladas con Cosmos, precisan de una RumTime (o programa de ejecución), para que funcionen. (No es como el Visual Basic que una vez compilado, puedes hacer que tus clientes puedan bajárselo e instalarlo simplemente), por lo que los mantenimientos y actualizaciones pueden ser muy complicados, a parte de que debes de convencer a tus clientes que deben de realizar una inversión en un sistema para que los programas que les has desarrollado (y que ya han pagado), funcionen en su empresa.


(Esta es una de las debilidades principales de Cosmos, ya que comparado con otros productos del mercado, el cliente final, no tiene porque pagar más del desarrollo que el contratado para su empresa. En el fondo, al cliente le importa poco si está desarrollado con Cosmos, con Visual o con cualquier otro lenguaje, siempre y cuando cumpla sus expectativas y le sea funcional y agradable a la vista.)


También a nivel de programación existen algunos comandos que no funcionan, como por ejemplo a la hora de recorrer los registros de una tabla y realizar modificaciones. Debes de utilizar el comando Sql.Exec en vez del Update, ya que sino no realizar la modificación de las variables de los registros. (Por lo menos en la versión 3.2 de Cosmos y en la 3.6), aunque hay que reconocer que la utilización del Sql.Exec, aunque no muy elegante, si que ha resultado efectiva.


Uno de los problemas que he detectado ha sido a la hora de crear las Base de Datos con el Repository Manager, ya que si los nombres de las variables los pones demasiado largos, cuando vas a crear un modulo de la aplicación, revienta y no funciona correctamente. Por lo que a la hora de definir las variables y los nombres de los Índices y los Enlaces (Joing) entre tablas, o lo defines muy bien cada nombre y cada índice o puedes tener muchas complicaciones desarrollando la aplicación.

4. Cursos Multimedia COSMOS


Dentro de este Blog, os presentaremos una serie de cursos Multimedia de programación con la Herramienta de Transtools COSMOS, incluyendo un video formativo, así como los fuentes y ejecutable de la Aplicación que se explica en cada temario.

(Para ejecutar las aplicaciones, tendreis que solicitar o comprar la RUNTINE de ejecucion a Transtools, o bajaros la version DEMO en la siguiente dirección web: http://www.transtools.es/)

4.1. Curso Multi Media

En este apartado teneis un vídeos explicativos, donde podremos crear una Base de Datos Sencilla por medio del "Repository Manager", ademas de los fuentes de este apartado de formación. Curso Multimedia-- Version Demo

Datos personales

Jose C. Dominguis Forquet: Director de Proyectos de Negocio de la Firma Idi-Consulting, Analista de Sistemas Informáticos e Implantación de TIC en las Empresas.