flozano.com: Haz commit, maldito!
Desarrollo de software y otras pérdidas de tiempo
Desarrollo de software y otras pérdidas de tiempo
Puede que este post resulte algo hiriente para cierto colectivo de gente, usuarios de la plataforma que voy a rajar viva. Me da igual, estoy harto de ella y es mi blog, así que posteo lo que me da la gana. Además, no entiendo el sectarismo seguidista que hay hacia esta plataforma.
Empiezo. La mayoría de los que leáis esto no conoceréis un conjunto de “entorno de desarrollo + base de datos + servidor de aplicaciones” llamado Velazquez Visual, recientemente rebautizado como “Velneo” (De “neo” nada, sigue siendo igual de castaña que en el 96).
Velazquez/Velneo es un entorno de desarrollo visual, que integra dentro una base de datos bastante rapidilla (tan rápida consultando como lenta en recuperarse cuando casca). La idea es muy interesante, y hay que reconocer que la base de datos incorpora abstracciones de alto nivel que para modelos de aplicación orientados a registros, tablas y filas (sí, eso tan de los 90) resultan interesantes (Singular del plural, hermano contiguo, historicos y alguna cosilla mas). Además, al estar todo integrado, en teoría debería dar pocos problemas, y para cosas sencillas sería una buena solución, no? NO. ERROR. No hay que caer en el error de querer hacer más fáciles de lo necesario ciertas cosas, y en el mundo velazquez es todo tan mágicamente fácil y tonto que te hace sospechar.. con razón.
Primero te acercas a Velneo con curiosidad. Además, es software español, y hay que dar una oportunidad a la industria del software patria, que tan mal está…
A primera vista es pontentillo pero limitado: Permite hacer cosas sencillas muy rápido, pero hay que dar *MUCHAS* vueltas para hacer otro tipo de cosas, muy sencillas de resolver en un entorno de desarrollo tradicional. Y como quieras integrar algo externo, olvidate de COM, ActiveX, DCOM, .NET y cualquier otro modelo de componentes o middleware moderno: Solo tienes DLLs “stdcall” puras, “a la antigua”… ahí, ahí, como los hombres de verdad.
Profundizas un poco y empieza lo incomprensible, empiezas a ver que algo no encaja y que el entorno solo sirve para hacer aplicaciones poco integradas con el mundo exterior… con un modelo de datos irremediablemente pegado a una aplicación (Cuando está demostrado que el modelo de datos casi siempre sobrevive a la aplicación)… con unas herramientas para hacer tu trabajo útiles pero imposibles de extender… no se, un entorno que para cierto tipo de aplicaciones lo podrías hasta considerar, pero que ni de lejos va a desplazar lo más mínimo a los “stacks” típicos Java, .NET, Windows DNA, LAMP o entornos Host. No tiene capacidad para ello, sencillamente.
Al final te hartas. Te hartas de:
- Programar Webs de la forma más friqui, estúpida e improductiva que has visto nunca. Te parecerá que el ASP de antes era avanzado comparado con esto.
- No poder acceder a la base de datos más que a través de tus “mapas” Velneo (un “mapa” es una aplicación + una definición de modelo de datos + alguna cosa más).
- No poder extender por donde quieras tu programa, ni usar un modelo de componentes , ni aplicar patrones y buenas prácticas estándares para el desarrollo de aplicaciones.
- Funcionar con nomenclatura estúpida, metodologías y patrones imbéciles y conceptos artificialmente diferenciados de los estándares.
Pero sobre todo sobre todo, te hartas de la CASTAÑA que resulta ser el servidor de aplicaciones. El servidor de aplicaciones es lo que sirve tu base de datos, tu Web y tu aplicación. Es algo así como un SQLServer+IIS+entorno de WinForms, si lo comparas con .NET. Todo ello por un protocolo propietario y maravilloso llamado VATP que los de velazquez se vanaglorian de haber hecho lo suficientemente distinto del resto de protocolos que la IANA les ha asignado un número de puerto.
Eso si, tanto avance tecnológico (según ellos) y no son capaces de separar servidor de administración, por lo que el servidor no puede correr como servicio de Windows y tienes que tener el escritorio “logueado” para que funcione, con el velazquez ahi minimizadito. Muy avanzado, sí señor, de la época de windows 95 ![]()
Lo peor de todo, dentro de lo malo que es casi todo lo referido a este entorno, es que el servidor de aplicaciones tiene la mala costumbre de caerse. No se cae por una aplicación mal programada, no. Se cae porque está Mal Parido. Además, una aplicación no puede tirar a su contenedor (como mucho por falta de recursos… y me parecería mal), lo digan los de Velneo o quien sea, me da igual.
Imagina que tienes una aplicación Web corriendo sobre un servidor de aplicaciones JBoss y una base de datos Oracle. Imagina que tu aplicación está tan tan mal programada que consigues tirar al JBoss (complicado de conseguir, pero bueno, pongamos que tienes poca memoria y lo consigues).
Bien, se ha caido tu JBoss y tu aplicación no funciona. Pero… afecta eso a tus datos? Yo diría que no. Tu Oracle sigue viva? A ver q mire… Si, no? Y levantar el JBoss es cuestión de un par de comandos y pocos segundos… menos de un minuto y la gente sigue trabajando (eso si no lo tenías en cluster, cosa que Velneo ni conoce ni conocerá).
Pues con Velazquez/Velneo NO. Con velazquez se cae tu servidor de aplicaciones y en un porcentaje muy elevado de las ocasiones, si había alguna transacción en marcha (y suele haberla porque suelen quedarse pilladas), tu base de datos empezará a reconstruirse. Si tienes muchos datos puede tirarse horas y horas reconstruyendo índices y áreas de datos. Porque él lo vale, si señor (para qué aplicar un WAL? Claro que así igual la base de datos no sería tan rápida… anda!)
El caso es que ese día puedes dar vacaciones a tu gente, porque no van a poder trabajar con la aplicación. Ni consultar un solo dato. Ni siquiera manualmente, dado que no puedes lanzar consultas a la base de datos.
No se, en ciertos entornos elegir un sistema que te deja tan indefenso y que falla tan estrepitosamente y tan fácilmente, sería un buen motivo de despido.
17 de Octubre de 2006 - 19:29
En mi opinión, creo que conviene aclarar que Velneo es una plataforma para desarrollo de aplicación empresarial, es una plataforma rápida si se usa para lo que está diseñada.
Comento también algunos de los puntos:
1- La conectividad con COM, ActiveX, DCOM, .NET no es buena ya que su rendimiento está basado en utilizar su tecnología y sus objetos, si intentas conectarte con este tipo de objetos no estarás sacándole el partido para el que fue diseñado el producto.
2- No está pensada para desplazar stacks como Java, .NET en la versión actual V6, la nueva plataforma V7 dará que hablar y desplazará con toda seguridad a los stacks del mercado,.
3- No es un entorno para programar WEB, es un entorno para programar aplicaciones de gestión, su entorno Web limita su funcionalidad a publicar con facilidad aplicaciones diseñadas en Velneo.
4- No se puede acceder a las bases de datos más que por mapas, es un gran problema pero es a su vez la gran ventaja de este producto, la integración de entorno de desarrollo con la base de datos, que hace que desarrolles aplicaciones de gestión en menos tiempo que con otra plataforma, es esto una debilidad o una virtud? Depende lo que pretendamos.
5- Al ser una nueva tecnología que crea muchas funcionalidades nuevas , pues crea nueva nomenclatura, metodología y patrones, y por lo tanto se aleja del estándar pero aporta nueva funcionalidad.
6- Sobre los problemas con el motor de base de datos , tenemos más de 100.000 puestos de cliente instalados sin ningún problema de ese estilo y por lo tanto nos encantaría que nos aportase a soporte@velneo.com el caso que se comenta porque estaremos encantados de poder solucionarlo.
Creo que cada plataforma se diseña con un fin, debes hacerla o utilizarla para lo que fue concebida, por eso esta tecnología tiene tantos seguidores , porque soluciona sus problemas, entendemos perfectamente la problemática expuesta pero si utilizas Velneo para el desarrollo de aplicaciones empresariales en entornos de desarrollo cerrados, es, probablemente la mejor herramienta del mercado, por lo menos hasta que salga la V7…y para todo tipo de entorno.
Quedo a tu/vuestra disposición
Un saludo
Nicolás
17 de Octubre de 2006 - 22:34
Hola,
Gracias por dar vuestro punto de vista. Como ya comenté a vuestro Director General por teléfono, el tono del post estaba probablemente demasiado elevado, en parte debido a un largo día sufriendo caídas de un servidor de aplicaciones de Velazquez cachondón.
1- La conectividad con COM, ActiveX, DCOM, .NET no es que no sea buena, sino que no existe, ni con cualquier otra tecnología a parte de DLLs puras STDCALL.
2- No voy a hablar – ni bien ni mal – de algo que no conozco todavía, pero es un poco aventurada y cuanto menos temeraria la afirmación de que con el V7 váis a desplazar a Java y a .NET
En cualquier caso, estaré encantado de probarla y ver si el salto es tan bestial como comentáis, y nos empieza a ser útil este software a otro tipo de desarrolladores.
3- Supongo que la Web resuelve la papeleta para algunos de vuestros clientes, pero la solución es bastante mala. Podríais haber cogido una aproximación para desarrollo Web más orientada a componentes, o incluso renderizar vuestros formularios “de windows” en Web ( en Java, esa tecnología tan inferior, se hace a menudo, hay multitud de librerías que renderizan Swing a Web). Podríais también generar scaffold’ing en plan RoR de vistas básicas del modelo de datos, en muchos casos con esto y un poco de maquetación sería suficiente.
4- Se ponga vd. como se ponga, no es una ventaja tener los datos cautivos en una única aplicación, es mas bien un inconveniente. No niego que la integración de la base de datos con la aplicación tenga algunas ventajas (también tiene inconvenientes… un acoplamiento bestial, el hecho de atar el ciclo de vida de las bases de datos a los de la aplicación, el hecho de que la estabilidad/inestabilidad de un componente afecte al otro, el hecho de que no exista la arquitectura en capas…), pero eso no quita que el acceso a datos desde elementos externos a Velazquez debiera ser mucho mas fácil, y es algo que vosotros mismos reconocéis dado que – creo – pretendéis resolverlo con un driver ODBC o algo así …
5- Recuerdo cuando decían que velazquez no era relacional sino que era “real” o algo así… ahora es “relacional avanzada”… no se, se han moderado un poco, pero basta ver el editor de velazquez para darse cuenta de que la nomenclatura es muy extraña y en algunos casos artificialmente diferenciada del resto del mundo.
6- Sobre los problemas con el motor de base de datos , realmente me extraña esta afirmación de que nadie tiene problemas similares, cuando en la (muy agradable) conversación telefónica que mantuve ayer con el director general de vuestra compañía él mismo me indicó cómo podría resolver parcialmente el problema para que el sistema se recuperara más rápidamente tras una caída… pero bueno, en cualquier caso agradezco enormemente vuestro ofrecimiento y trasladaré la invitación al proveedor de la aplicación para que encontremos entre todos la(s) fuente(s) de problema(s).
Saludos, y de nuevo gracias por participar en este humilde blog
18 de Octubre de 2006 - 15:22
Hola Francisco:
Es un placer participar es este y en cualquier blog donde haga mención
a nuestra herramienta, la verdad para eso estamos para explicar, y comentar los
diferentes puntos de vista desde lo cuales se puede ver nuestra tecnología
.
Internet es nuestro medio, y los blog nuestros micrófonos, no solo debemos participar
en donde se habla bien de la herramienta, es enriquecedor ver otros puntos de vista,
porque sino nunca mejoraríamos.
Como ya comentamos no te preocupes por el tono de tu primer post, en momentos de
calentón …..
1- Sobre el comentario de V7 como bien comentas, es desde el punto de visa de la
ilusión que tenemos en nuestra compañía por la próxima versión y desde el conocimiento
técnico de los que hemos tenido la suerte de poder probarla. Es evidente que nos
queda mucho pero si no nos lo proponemos y tenemos fe ciega jamás lo conseguiremos.
De todas formas las Betas de las que disponemos ya están dando que hablar…. pero
como bien dices el camino se demuestra andando.
2- Sobre la web, creo que la actual es una solución eficaz y sencilla
para que nuestros clientes puedan publicar sus contenidos, ya que la mayoría de nuestra clientela es experta en modelos de negocio, pero está muy distante de las técnicas y mundo web, por eso tratamos de implementar la mejor solución para ellos. Tendremos muy en cuenta todos tus consejos para el futuro.
3- Nuestra ventaja competitiva es como bien dices:
la integración de la base de datos con la aplicación tenga algunas ventajas (también tiene inconvenientes… un acoplamiento bestial)
Ponemos en una balanza y consideramos que las ventajas de la integración son mayores
que los inconvenientes pero eso si para una determinada problemática no para todos los casos, para eso existen diferentes tecnologías.
Lo que si que es un problema es tener los datos cautivos y
Actualmente ya existe un conector ODBC para conectarse desde la plataforma a otras
herramientas, pero como bien dices estamos mejorando el acceso desde elementos
externos, 100% de acuerdo para arreglar los problemas primero debes de reconocerlos.
4- Nomenclatura ? No llamábamos Velazquez y era una base de datos, jejeje
no te puedo decir nada más creo que es algo descriptivo.
Si es cierto que para V7 se está utilizando nomenclatura más estandard, pero
también a mucha gente le gusta nuestros nombres, para gustos colores.
5- Sobre los problemas de motor, lo más grave de los descrito en tu post, lo que
comenta mi compañero es cierto, lo casos puntuales de problemas de motor
que se han producido en el pasado, se ha reportado a soporte y se han solucionado,
cada caso puede tener su casuística, por eso necesitamos saber el caso.
Sobre lo comentado de acciones correctores, date cuenta que sistema de transacciones
de motor trata de cubrir cualquier tipo de problema externo a nuestra plataforma,
fallo de hardware, caída de sistema eléctrico,…. por eso existen métodos como
te comenté.
Es un placer poder charlar contigo sobre la tecnología en este espacio virtual,
un cordial saludo y espero que un futuro no muy lejano puedas escribir
un post contando la satisfacciones que te produce trabajar con nuestra plataforma.
Un saludo
Alfonso Gutiérrez
30 de Diciembre de 2006 - 08:58
Si no te gusta Velneo pues no lo uses y si en tu trabajo te obligan a usarlo y batallas con Velazquez pues renuncia cabron que no tienes los cojones para decir no se usar esta madre.
atentamente hansel mexican
y no te apures por tu lenguaje todos nos ponemos asi cuando no sabemos hacer las cosas
16 de Mayo de 2007 - 21:17
Cuco, no creo que sea echar un jarro de agua fría a nadie explicar MI conclusión tras trabajar con Velneo, que se reduce a (entre otras cosas) “se me cae el VMotor”, “desarrollar aplicaciones Web con él es anti-productivo”, “la base de datos es cerrada y no puedo tocarla desde fuera” y “la integración con otros sistemas y entornos es muy complicada”. Ya que decís muchos otros lo bueno que es para lo que lo usáis, me parece que tampoco está de más que diga yo lo malo que me resultó cuando pretendí usarlo…
Con respecto a mi experiencia, desde luego está muchísimos años por detrás de la tuya… pero me considero un buen profesional en lo que hago… no sé si a alguien le importará mi criterio o no, pero yo lo expreso, porque me parece es bueno que hayan opiniones a favor y en contra de las cosas; de hecho, si yo fuera un posible usuario de una herramienta de la que sólo oigo lo bueno, me preocuparía bastante.
17 de Mayo de 2007 - 12:03
Los inconvenientes y lo malo de Velneo siempre se han discutido en los foros de la herramienta.
Si bien mi experiencia tendrá indudablemente una base más antigua que la tuya, lo que yo quise señalar contando mi historia, que seguramente no le interesará a nadie, es que esta experiencia no es por ello más extensa ni mejor que la tuya y quería señalar que a mi nivel ya he visto de todo y mi experiencia con los “grandes sistemas”, los equipos fantásticos y las grandes consultoras ni fue ni es, en general muy buena y al gunas veces, nefasta, y no obstante no puedo denigrar, porque no estoy capacitado ni sería justo, los entornos en que corren. Que yo puedo estar abducido por Velneo porque las satisfaciones que he tenido y tengo con la herramienta son muchísimas al haberme permitido desarrollar mi ingenio y mi gusto por la gestión seria de bases de datos, pero tanta gente abducida ya me parece raro. Es que, pese a sus inconvenientes, para unos, unos y para otros, otros, a muchos programadores y empresas programadoras y también los clientes, les ha cambiado la vida de una manera tal que lo expresan con su entusiasmo y su inquebrantable lealtad con la herramienta. Es que parece raro, yo conozco gente que trabaja muy contento, con razón, con vBasic, Delphi, .Net, etc.., pero entusiasmados de verdad, a pocos.
Los argumentos críticos que manejas desde una posición muy superior a la mayoría de los usuarios de Velneo respecto a deficiencias y exigencias técnicas, son muy interesantes y necesarios para que sepamos qué exigirle en el futuro a la herramienta, aunque en Fábrica ya son conscientes de todo ello y mucho más y con la genialidad y solvencia del director tecnológico y su equipo, con el cambio de las obsoletas MFCs por las QT de Tolltrech que obliga a reescribirlo todo con las consiguientes ventajas de todo tipo de estas librerías.También es importante para el futuro de la herramienta el cambio empresarial que la impulsa ahora con muy fuertes inversiones para el nuevo desarrollo.
Lo que nos sublevó fueron las formas y el afán destructivo desmedido con la herramienta, se puede entender un calentón así, pero no podía quedar sin respuesta y creo que ahora sí podemos hablar.
Un saludo.
17 de Mayo de 2007 - 13:20
* Puedes encontrar usuarios “abducidos” en cualquier plataforma… en Java, .NET… hasta en QuickBasic seguro que quedan
* El cambio de MFC a QT es una buena decisión, sin duda, sobre todo si desde Velneo permiten que se pueda consumir toda la funcionalidad que aporta QT. Por ejemplo, poder usar el QSA para implementar algoritmos en vez de el pseudo-lenguaje ese a base de flechitas… o las clases de acceso a BD y XML…
* Afán destructivo no, lo que pasa que a veces con Velneo, en sus foros y con sus usuarios, parece que uno se encuentre en el cuento del traje nuevo del emperador
18 de Mayo de 2007 - 10:54
“En el traje nuevo del emperador” y en “Los burladores que tejieron el paño” (El Quijote), la ilusión no duró ni un día, cualquier niño inocente lo hubiera desmontado en poco tiempo. Pero es que llevamos muchos años con esto.
Lo que tú llamas pseudo-lenguaje (como era Clipper, p.e.) no es ni pretende ser un lenguaje de programación, todo lo contrario, se trata de evitarlo, es un objeto visual que ejecuta procesos siguiendo instrucciones tasadas y que incorpora tanto estructuras de control corrientes y molientes ( if…else, for…, etc.) como otras propias muy potentes, seguras e intuitivas, y sencillas de implementar (multipartir lista, recorrer lista, cargar histórico…) que hacen que la parte X que exige programación adicional a las estructuras nativas de Velneo y qeu puede ser mínima o inesxistente , junto con los inspectores de objetos, que detectan errores o informan de qué otro objeto usa el actual y qué otros objetos usa éste, sea un completo placer, o como poco, infinitamente menos enojoso que la programación clásica por líneas de código. Yo no sé si esto existe en otras herramientas, porque no conozco exhaustivamente el mercado, pero en Velneo es una de las partes más valoradas por su usuarios, contando con que todos tengamos nuestro criterio de cómo mejorarlo pero, desde luego, no abandonando su filosofía. En Velneo a veces acertamos con las sugerencias y hay numerosos ejemplos de aportaciones de los usuarios pero casi siempre nos ganan y sorprenden los fabricantes con sus innovaciones .
Por mi, FLozano, está todo dicho.
Mi saludo afectuoso.
18 de Mayo de 2007 - 13:15
No, si no es mala idea lo de crear un pseudo-lenguaje para un dominio de aplicación concreto con operaciones de muy alto nivel y muy concretas… Se llama DSL (Domain Specific Language) y es algo muy de moda últimamente (aunque Velneo igual lo tenía antes de que se pusiera de moda, probablemente).
Lo que pasa es que la manera de introducirlas y gestionarlas me parece un poco incómoda si uno está acostumbrado a otro tipo de lenguajes, y mediante el QSA de QT sería fácil hacer que fuera posible usar una sintaxis más cercana a los lenguajes convencionales sin necesidad de ir haciendo click en botoncitos y demás… He visto procesos de Velneo bastante largos y son tediosos de escribir y refactorizar.
Saludos cordiales, y gracias por post’ear aquí.