Miguel Pérez Oliver 米盖尔·佩雷斯·奥利维尔

Entries categorized as ‘Bases de Datos’

Access, Visual Basic, Fox pro, 4D, Genexus, Clarion, Windev y Velneo

Mayo 16, 2008 · 1 comentario

Da igual de que herramienta vengas.

Más importante que la elección de una nueva herramienta, es la utilización que hagas de ella. Y este es el primer escollo que tenemos a la hora de que un novato entienda las virtudes de Velneo. Si no la entiende, las adivinará pero no las disfrutará.

Por tanto como ya he comentado debes cambiar el chip.

El trabajo a realizar dependerá en primer lugar del tipo de herramientas que dispongas.

Hagamos un símil:

Si te planteas, reparar un coche, no tiene nada que ver tu planteamiento si lo realizas en casa, o lo realizas en un taller.

No es mi intención hacer una descripción despectiva. “El taller va a ser mejor que tu casa”. Si me refiero de diferente forma, lo hago en cuanto a especialización.

Y Velneo esta muy especializado en realizar Software Empresarial o de gestión.

Volviendo al tema.

En el taller contaras con destornilladores hidráulicos, con los que desmontar el tornillo de una rueda te costará 3 segundos y en casa con una llave casi un minuto.

En el taller pondrás el coche en un potro hidráulico y lo levantaras dos metros del suelo apretando un botón.

En tu casa utilizaras un gato manual y te tiraras en el suelo.

En el taller dispondrás de la adecuada iluminación y en tu casa utilizara un viejo portalámparas.

Y así sucesivamente

Pero por otro lado :

En el taller dispondrás de juegos de llaves, perfectamente ordenadas y en tu casa de una llave inglesa que utilizaras para todo.

Eso sí, las herramientas que tienes en tu casa : Llave, destornillador, martillo, etc. y si eres un “Manitas”, probablemente sean muy buenas y tengas una amplísima colección y te permita además de reparar el coche, arreglar la nevera o el juguete del niño. Siendo las del taller probablemente inadecuadas para eso.

Aunque tanto en tu casa (Tu herramienta) como en el taller (Velneo) dispondrás de una llave inglesa, destornillador que siempre podrás utilizar para todo (procesos, intrucciones clásicas y funciones) , pero es mi consejo que no las utilices como primera, segunda ni tercera opción.

Piensa en todo momento que debido a tu aprendizaje previo, tu mente tenderá constantemente a utilizar la herramienta que conoces, o que consideras similar a la que conoces (La llave y el destornillador) y siempre estarás buscando paralelismos en su utilización sobre lo que ya conoces.

Es muy posible que incluso, eligiendo la herramienta inadecuada no la domines y tires por utilizar el destornillador, y salgas del paso y trasladándolo a Velneo, incluso al final el resultado te parezca mejor por el momento.

Pues lo mismo sucede en Velneo

En ambos casos el resultado final puede ser perfecto, e incluso puede que haya una compensación de tiempo - costes pero los procedimientos no serán los mismos, ni las tareas a realizar.

No voy a entrar en que es mejor o peor, pero lo que si te afirmo es que es diferente.

Porque para abordar cualquier trabajo, lo primero es conocer las herramientas y dependiendo de estas, las tareas a realizar y la planificación para concluir un trabajo serán muy diferentes.

Cuanto mas especializadas sean estas, mayor serán estas diferencias. Y puede ser además que una herramienta muy especializada es posible que sea buena o mala, pero esa es otra cuestión.

En cualquier caso el resultado puede ser exitoso, pero el procedimiento evidentemente distinto.

No puedes programar en Velneo, pensando lo que eso te costaría hacer en Visual Basic, Access , Fox pro windev o 4d.

No puedes programar con prejuicios anteriores (Número de registros elevados equivalen a lentitud, dudas sobre la transacionabilidad, es inadecuado utilizar demasiados índices, y un largo etcétera)

Velneo es para programar software de gestión y eso lo hace de forma excelente.

Aunque sin duda puedes conseguir excelentes resultados con todas ellas y un factor determinante en el inicio, será tu conocimiento de la herramienta ,la cual puede ser buena o mala, fácil o difícil de entender, etc. pero eso es otra cuestión.

Por eso, es tan importante, en primer lugar alejarnos de la programación que conocemos, estudiar como Velneo resuelve todas las casuisticas en las plantillas empresariales y después ponernos a trabajar y crearnos nuestro propio procedimiento o adaptarlo.

Jamás pienses que una Búsqueda es un Select, un valor inicial solo te dá los posibilidades que preestablece tu mente o cuestionarte problemas de bloqueos o integridad.

Tienes que dejarte llevar y pronto tu muro de ladrillos mental se desmonorará ,si consigues no buscar paralelismos que no existen.

Categorías: Bases de Datos · Negocio Software Rentable
Tagged: , , , , , ,

¿Es Velneo la herramienta de desarrollo para ti?

Abril 4, 2008 · 2 comentarios


Esta mañana he estado viendo algunos de los videos que grabamos hace ya casi dos semanas, para realizar las video FAQ de Velneo. Era la primera vez que los veía, ya que preferimos grabarlo todo junto y no deseábamos actuar con guión o repetir grabaciones, sino simplemente visualizar las respuestas que damos todos los días de la forma más natural posible. Aquí teneis otra muestra ¿A quien no le recomendaría Velneo? Y para ser natural, lo mejor es no tener guión, no pensar las respuestas, simplemente decir la verdad, o la verdad que percibimos, lo que pensamos y comentar las experiencias y el feedback que nos llega, no hacía falta más. El resultado será cuestionable técnicamente, igual incluso puede que algún concepto no sea el más acertado desde el punto de vista del marketing, pero para mi personalmente es el deseado, sencillamente por una razón y es por que cuando lo escucho ahora desde la distancia, ratifico los comentarios y argumentaciones en todos sus puntos y creo que refleja la realidad de Velneo y su comunidad. Sencillamente esto es lo que le contaría a un amigo, o a un cliente, por que lo último que me gustaría es que alguien me pudiera decir que le vendí Velneo, no es esa mi intención, sino simplemente que lo comprases tú. Mi mayor satisfacción sería que la comunidad de Velneo ya experta estuviera de acuerdo conmigo. Espero que os guste y un saludo a todos.

Categorías: Bases de Datos · Crisis software · Negocio Software Rentable
Tagged: , , ,

Comparativa Genexus Velneo, Access Velneo, Mysql Velneo en Softonic opinión

Diciembre 12, 2007 · 2 comentarios

Repongo aqui un viejo post que escribí en el 2005 y que encontre casualmente navegando por internet.

Me llevé la grata sorpresa de que tenia casi 5000 lecturas y estaba valorado con un 10 por los lectores.

Decidí incorporarlo a este blog, ya que creo que su contenido sigue siendo de actualidad y estaba un poco perdido en http://velneo.softonic.com/opinion/2560

Genexus es un buen generador de programas pero….no es lo mismo.

Me puedes comparar vv con java, visualbasic, delphi o con las bases de datos existentes mysql, access, oracle, cache,etc.. y de todas formas con muchos peros.

Comparaciones de los usuarios, las podemos encontrar, pero realmente no están comparando producto con producto, sino sensaciones completas.

Alunos ejemplos los tienes en http://forum.velneo.com/es/viewtopic.php?t=13254&highlight=genexus

Pero Velneo no es un generador, ni tan solo una base de datos. En resumen no se puede comparar.

Lo que si podemos comparar es un desarrollo instalado y completo en un entorno Unix, con un servidor Apache, una base de datos My Sql, programado en java, etc con una solucion Velneo. O bien un programa en .net, tirando de Sql server, montado sobre un Windows server, utilizando Terminal Server y no se cuantas cosas más.

Es decir una solucion final desarrollada en un sistema “a” , con una base de datos “b”, rodando en un sistema “c”, mas los programas o heramientas auxiliares “d”,”e” y “f” con algo desarrollado y rodando unica y exclusivamente en Velneo.

Ya que Velneo es todo eso, tu solo tienes windows y pronto linux y sobre él Velneo y para desarrollar , implantar y explotar solo necesitas Velneo.

Aunque parezca increible es un lenguaje nuevo, montado sobre una base nueva. Es algo realmente revolucionario, No busques SQL, por que no existe, aun que lo puedas usar, no hay Select. Y esto no quiere decir que esten por debajo en capas inferiores es que realmente no es el mismo concepto.

Ademas el lenguaje no esta integrado con la base de datos ni con el motor, es que sencillamente… es lo mismo. Cuando tu programas lo que estas utilizando son objetos resultado de la abstraccion del propio motor y la base de datos. No es un generador, no es un lenguaje traducido ni compilado, es algo mas (O lleva el compilador mas rapido jamas imaginado o el Traductor mas eficiente que se pueda imaginar). Por ello es por lo que los rendimientos son tan sorprendentes, por lo que no degenera, por lo que el desarrollo es tan natural.
En definitiva, hay muchas herramientas buenas pero no comparemos peras con manzanas. Te recomiendo que te adentres en esta revolución.
Los resultados son más que sorprendentes y alucinarás de los rendimientos.

En definitiva creo que al cabo de pocos años nos daremos cuenta de lo que reralmente supone Velneo (Bases de Datos de rendimientos increibles, que realmente no degeneran, integrado totalemente con Internet, Desarrollos Ultrarapidos, servidores que no caen,etc..SOlo les falta que el motor corra bajo Linux y el Odbc y ambos por lo que tengo entendido estan en camino

Solo te diré una cosa mas , no conozco una sola empresa de Informatica que haya migrado a VV, y su potencial competitivo no se haya disparado frente a su competencia.

Categorías: Bases de Datos
Tagged: , , , , ,

Más allá de las Bases de Datos Relacionales

Octubre 30, 2007 · No hay comentarios

Más allá de las bases de Datos RelacionalesVelneo, sorprende cuando empiezas a trabajar, pero sorprende mucho más a medida que vas descubriendo las peculiaridades de su base de datos por mucho que hayas trabajado en otros sistemas. Es entonces con el tiempo, cuando recuerdas haber leído que esto realmente era un nuevo paradigma dentro de la programación.

Vamos a mostrar unos pequeños ejemplos para comprobar lo que siempre repetimos en nuestros artículos, blogs y comentarios:

“Si estas empezando y escribiendo procesos de mas de 4 ó 5 líneas, probablemente estés programando a la vieja usanza, gastando horas en balde y complicando tus programas”

Imaginemos una aplicación típica de gestión con las siguientes tablas: Clientes, Artículos (o Rubros), Albaranes (o Remitos), Líneas de Detalle

Supongamos que estamos en un formulario de un cliente y queremos mostrar o saber ¿Qué otros clientes han comprado los mismos artículos que el Cliente en Cuestión?

Si ya pensaste la solución unos minutos, ahora pregúntate:

¿El proceso que estás pensando te llevaría escribirlo más de 6 líneas aunque sea Velneo?

No te preocupes, es normal que tras muchos años en el “Lado Oscuro”, tiendas a escribir líneas y líneas para resolver problemas que desde la lógica de Velneo tienen solución inmediata.

Analicemos de forma real, es decir como pensaríamos si esta operación la tuviéramos que realizar “solo” con nuestra mente. No limites la lógica a los enlaces y herramientas de una base de datos relacional.

¿Que haríamos pensando de forma natural?

1º Buscaríamos todos los albaranes o remitos del cliente y haríamos una lista.
2º Repasaríamos las líneas de detalle y haríamos una nueva lista con todos los artículos que encontramos, sin repetirlos.
3º Partiendo de esa lista de artículos, buscaríamos en todas las líneas de Albaran de todos los clientes, aquellas que contenga alguno de estos artículos
4º Una vez tuviéramos la lista de líneas que contienen estos artículos, obtendríamos todos sus albaranes o remitos a los que pertenecen.
5 º Con ella obtendremos una lista de los clientes en cuestión.

Pues Bien en Velneo sería exactamente lo mismo, partiendo del origen ficha de cliente:

Quizás debas volver a leer el enunciado, para darte cuenta de la complejidad en cualquier otro lenguaje.

Veamos otro caso muy distinto, para darnos cuenta de que Velneo es realmente un nuevo paradigma de la programación.

Imaginemos que tenemos que informatizar un sistema de reserva de alquileres de coches para obtener los vehículos disponibles a una fecha, ante la solicitud de un cliente.

¿Si tenemos que presupuestar el costo en horas de hacer funcionar algo parecido, de cuanto tiempo estamos hablando?, ¿Cuántas líneas de procesos debemos realizar?

Me atrevería a asegurar que no cuesta mas allá de 10 minutos desarrollar esta solución con Velneo.

¿Increíble? No, tan solo utilizar singulares de plural, punteros a hermano y alguna actualización.

Primero esbocemos cual sería nuestra estructura básica de tablas: Vehículos, Clientes, Alquileres y opcionalmente Gamas.

Alquileres tendría un puntero a Maestro al Vehiculo que se reserva y otro al cliente que hace la reserva. Al revés, desde cada uno de ellos una relación a Histórico (Uno a muchos, de un vehiculo o cliente a todos sus alquileres). En el ejemplo aparece el Maestro de Gamas, pero no vamos a hacer ninguna referencia más ya que no es parte esencial del problema.

Alquileres tendría la fecha de entrega y la fecha de devolución entre sus campos necesarios.

La tabla de Alquileres necesitará tener el índice: Vehiculo + Fecha de Alquiler.

Con este índice podemos crear inmediatamente un Puntero a Hermano, al siguiente/Anterior alquiler del mismo vehiculo ordenado por fecha.

Por tanto en la tabla de alquileres, podemos crear un campo que sea Días Disponibles, (Día de Entrega del siguiente alquiler - Día de Devolución del que estoy)

Listo, la primera parte resuelta

Ahora nos queda la segunda, de un vehiculo, averiguar si el vehiculo esta disponible o no y mostrar lo que ya resolvimos (¿Cuantos días esta disponible?).

Para eso utilizaríamos un singular de plural. Esta herramienta consiste en apuntar a una reserva del vehiculo de todas las que tiene.

Resumiendo todos los Alquileres de un Vehiculo ordenados por fecha será su Histórico de Alquileres utilizando el índice Alquiler+fecha, será una relación plural, de 1 a muchos.

Por tanto un puntero de Vehículos a uno se sus alquileres, será una relación 1 a 1, a uno de todos, de los plurales.

Eso es lo que significa el puntero “Singular del plural “, con el que apuntar a uno de ellos.

¿En este caso a cual nos interesa? ¿Al primero, al último, a una fecha concreta o a la inmediatamente anterior….?

De todas las posibilidades que hay en este caso elegiremos “Singular del Plural por Índice”. Piensa que no solo jugamos con las posibilidades del puntero, sino también con las múltiples composiciones del índice por la que hacemos la relación uno a muchos.

Un índice del tipo Vehiculo + Importe, resolvería cuestiones completamente distintas.

Un Índice del tipo Vehiculo + Fecha + Hora Entrega, nos haría afinar la solución.

Por tanto tendremos un puntero desde el Vehiculo al alquiler de ese vehiculo inmediatamente anterior a la fecha deseada en cada momento.

Como veis, todo Real. Exactamente resuelto a como lo resolvería nuestra mente.

Creo que me ha costado bastante mas escribirlo que hacerlo.

Seguramente la solución final me obligara a trabajar un poco mas, definir algún campo auxiliar, usar actualizaciones en lugar de campos formula para optimizar, si sabes Velneo comprenderás que esto es cuestión de unos minutos más.

Se me ocurre un ejemplo más, para entender la potencia de esta base de datos.

¿Habéis pensado que un puntero a maestro, puede apuntar sobre la misma tabla?

Lo incomprensible es que esto no lo solucionen ya otras bases de datos, puesto que obedecen a relaciones lógicas y muy comunes en la realidad.

Imaginemos una tabla de socios de un club, en la que un socio trae a otro y así sucesivamente. Por tanto en la tabla de socios, además del campo Código, deberemos tener un nuevo campo que llamaremos Captador. Este campo será un puntero a la misma tabla de socios, ya que apuntara a otro socio.

De esta manera tendremos un puntero sobre la misma tabla Socio-Captador y una relación histórica sobre este mismo índice, resolviendo que socio capto a este y cuantos socios ha captado este y por supuesto incluso de forma recursiva hasta el infinito.

Habremos solucionado un gran problema con un puntero y un enlace a histórico sin necesidad de ninguna solución puente, sin tenernos que preocupar del tema en ninguna parte del programa más.

¿Habéis desarrollado aplicaciones que contengan escandallos complejos?
Si es así sabéis de su dificultad. Basta pensar en el típico caso de un componente “A” que pertenece a un compuesto “B” y este a su vez es componente de un compuesto “C” y así hasta el infinito.

Ahora podemos valorar la potencia que nos pueden dar estos enlaces recursivos sobre la misma tabla, sin necesidad de tablas puente u otros inventos, para resolver lo que las relaciones de Velneo hacen de forma natural.

¿Más ejemplos? Vosotros mismos, tan solo preguntaros, por qué en las soluciones Velneo el stock se lleva a nivel de movimiento evitando recalcular para averiguar las existencias a cualquier fecha o lo mismo en los saldos de contabilidad.

Sencillamente porque la base de datos ya lo resuelve por si misma.

Ahora piensa que las actualizaciones, funcionan sobre todos estos tipos de enlace, estos enlaces son concurrentes y además puedes utilizar toda esta potencia en todos los sitios incluidos Valores Iniciales, Campos Formulas, Procesos, Punteros Indirectos, etc. Además piensa que tienes también punteros indirectos, de los cuales no hemos hablado y que cuesta todavía mas creer que realmente funcionan a la perfección. Parece magia pero no lo es.

Eso si, hay que cambiar el Chip. Piensa en Real.

No te agobies con la potencia de Velneo. Hace poco hablé con un programador que después de 3 años con la herramienta, todavía se asombraba de la potencia del Valor Inicial, sirve para lo más simple y obvio y para lo más inimaginable y complicado, pero eso será otro artículo.

Programar en Velneo es muy rápido, aprovechar toda su potencia, cuestión de años.

Tan solo hay que aplicar lo que una y mil veces nos repitieron en la Facultad, “Todo lo que se pueda definir en Base de Datos, se debe definir en Base de Datos”, la diferencia es que aquí es mucho más.

Categorías: Bases de Datos · Velneo
Tagged: , , , , , , , ,

El Benchmark de Velneo Oracle y Sql Server es parcial

Octubre 25, 2007 · 3 comentarios

Este informe sin llegar a decepcionarme, todos los resultados se ajustan a la realidad, creo que no refleja las diferencias reales de rendimiento entre Velneo , Oracle y Sql Server.

Las universidades son entidades muy independientes de las empresas comerciales que contratan sus servicios , y este fue el factor decisivo para su elección, sobre todo por que Velneo es hoy por hoy todavía poco conocido y no deseaba sembrar la menor duda, pero no se nos puede escapar que un benchmark encargado a una consultora privada, mucho mas cercana a las relaciones comerciales hubiera sido enfocado para dar los resultados más positivos para su cliente, sin faltar por supuesto a la verdad.

Paso a exponer mis puntos por orden de menor a mayor importancia. Puede que susceptibles de ser tildados de subjetivos, pero resultado de mis apreciaciones como usuario del producto en muy diferentes ambientes.

1º La persona que ha realizado las pruebas, transmite a todo lo largo del documento, por lo menos para mí, una predilección por Sql server probablemente totalmente involuntaria y provocada por los muchos años de uso de esa herramienta y la más habitual en estos ambientes universitarios.

Esto no deja de ser una apreciación puramente personal y en cualquier caso disculpable ya que el peso de lo “Ya conocido” es difícilmente tratado con independencia emocional.

2º El resultado de tiempos de las transacciones, a no ser que este yo muy equivocado, no tienen sentido. Oracle y Velneo las realizan en disco y Sql en memoria, lo cual debería implicar todavía un mayor rendimiento de esta última, pero evidentemente esta técnica merma la seguridad de la base de datos.

3º No existe comparativa en búsquedas con tablas relacionadas. No tengo datos pero me parece que aquí los datos serían espectaculares y no puedo entender por que no ha sido contemplada.

4º El punto en que gana sobresalientemente Velneo es en las Búsquedas. Esto me parece fundamental.En la mayoría de aplicaciones finales no se detecta lentitud al dar un alta, hacer una baja o realizar una modificaciónin sino al realizar cualquier tipo de búsqueda, normalmente cuanto mas grande es el número de registros donde buscamos y mas son los registros encontrados mayor es la lentitud y aquí Velneo se demuestra intratable. Es decir precisamente en el punto crítico de cualquier aplicación

5º Velneo es diferente, por que además de gestionar datos, nos esta garantizando la integridad, la gestión de bloqueos, la posibilidad de cambiar un nombre de campo, los triggers inteligentes y mil operaciones más sin programar una sola línea de código ligando los datos a todo el resto de código de la solución.

Todo esto aunque no se puede reflejar en las comparativas, evidentemente el vServer las soporta y ya estaba contemplado en los test, puesto que es implicito al sistema y no necesita programación adicional. Lo lógico sería pensar que esto penaliza y sin embargo no es así.

6º Y me quedaré con la duda, no creo que los resultados hubieran sido iguales con 50 o 60 millones de registros o con 1.500 millones como alguna tabla de datos de Velneo en explotación.Los responsables de estas instalaciones (Los cuales trabajan también con Oracle y Sql) aparte de que yo personalmente las haya observado siempre comentan que la diferencias ahí si que son de otro planeta o simplemente inviables.

En definitiva, si de verdad quieres apreciar y a simple vista, por que no admite comparaciones, prueba Velneo con vCiudades o cualquier base de datos de tu sistema y te dejará sin palabras.

Categorías: Bases de Datos · Erp · Velneo
Tagged: , , , , ,