jueves, 15 de agosto de 2013

Velneo, el nuevo paradigma de desarrollo de software


Cambia tu forma de pensar el software

En Velneo se dice siempre que hay que “cambiar el chip” lo cual es correcto y comparto, solo que en algún punto puede parecer algo muy radical e inclusive puede llevar a que quien se acerca a Velneo, encuentre un grado de frustración importante y eso implique el no seguir adelante en el conocimiento de esta herramienta. Porque el cambio de chip en un proceso de aprendizaje, toma su tiempo.

Si nunca programaste sobre ningún lenguaje, seguramente Velneo te resulte absolutamente sencillo de aprender, porque las reglas a las cuales son sometidos los programadores no existen para una persona sin esos conocimientos. Por lo tanto, el conocer básicamente cuales son los recursos que tenemos a disposición y de qué forma pueden interactuar, le resultará mucho más sencillo a una persona con una mente menos “estructurada”, hablando en términos de programación de software, con respecto a los que hemos tenido la escuela de la programación estructurada.

Ahora bien, si sos un programador “de la vieja escuela”, cuando comiences a asimilar los conceptos que maneja Velneo, descubrirás que se abre todo un mundo frente a ti. Y que esto no caiga como esas frases hechas, esto lo digo porque es un dato inequívoco de la realidad. Mi experiencia con esta herramienta me lo ha demostrado una y otra vez. Pero nada es mágico, debemos darnos el tiempo necesario para entender como fluye el proceso creativo de las soluciones que desarrollemos con Velneo.

Si vamos al sitio de Velneo o a alguno de los blog de los integrantes del equipo de Velneo, vamos a encontrarnos con videos que nos muestran como crear una aplicación en apenas minutos, cosa que con otras herramientas, por más experto que seas, toma por el menos 3 veces más de tiempo.

Y lo que ven ahí es la realidad del desarrollo con Velneo. En mi caso en particular he desarrollado soluciones totalmente funcionales en apenas una tarde de trabajo. Claro, luego quedarán los detalles estéticos y funcionalidades extras que podremos ir agregando. Pero de lo que hablo es que en una tarde (aproximadamente 4 horas), puedo dejar funcionando una aplicación al 100%. Esto quiere decir que los usuarios de la misma podrán interactuar con la base de datos en todas sus fases, altas, bajas, modificaciones y lo mas importante, las consultas.

Desde mi punto de vista, la clave radica en darse cuenta que Velneo basa su concepto en el trabajo con patrones. Y los patrones son ni más ni menos que "cosas" que se repiten una y otra vez; lo cual Velneo ha resuelto de manera genial.

Pongamos el típico ejemplo de un control de stock. ¿Qué es lo más importante en este caso?, tener bien controlado la entrada y salida de artículos a nuestro almacén. En una programación convencional tendríamos que estar desarrollando procesos por cada vez que se hace un alta, una baja o una modificación a nuestra tabla de stock. Eventualmente podríamos programar triggers en nuestro servidor de base de datos y bien es sabido que no es tarea sencilla la programación de este tipo de procesos.
Les confieso que luego de estos años con Velneo, se me hace complicado crear un control de stock con programación convencional. Y el por qué de esto, muy simple, porque en Velneo solo tengo que preocuparme de la creación de un componente llamado Actualización en la tablas de mi solución, donde solo tengo que indicarle a la Actualización la regla del alta de un registro. Y me desentiendo por completo de las bajas y modificaciones, Velneo ya sabe que hacer en esos casos.

Pongamos un ejemplo más específico aún, una factura y sus líneas. La factura tendrá un saldo total en base a las líneas que se le irán cargando. Bien, con programación convencional esto se puede volver un dolor de cabeza asegurado si por ejemplo quitamos una línea del medio. El recálculo necesario es un desafío importante  sin lugar a dudas. 

Mientras que en Velneo es simplemente crear en la tabla de Líneas de la Factura una Actualización que modifique el campo Saldo de la Factura en base al importe de la línea ingresada.

 


Esto es lo que sucede gráficamente cuando se sucede un evento en la tabla de líneas de factura, la Actualización en base al evento dado.

- Al dar de alta, se acumula el importe en el campo saldo.
  
- Al dar una baja o una modificación en el importe en la tabla de líneas, la Actualización realiza los cálculos correspondientes para que el saldo de la factura coincida con los importes de las líneas cargadas. 

Y todo este proceso fue realizado a nivel de las tablas de la base de datos lo cual y gracias a la integración total de la base de datos con la lógica de negocio (lugar donde se desarrolla la interface de usuario de nuestras aplicaciones), cuando ejecutemos la solución, generemos una factura y agreguemos, quitemos o modifiquemos las líneas de la misma, pensaremos que algo mágico sucedió porque los cálculos se habrán realizado sin haber escrito una sola línea de código.

Como se puede ver, el proceso llevado adelante se basa más en la realidad, en la forma natural de resolver un problema como la generación de una factura y sus líneas, simplemente piensa un momento como lo resolverías de forma manual con una factura en papel.
 
En resumen, Velneo nos permite hacer más porque en realidad nos libera de pensar en tareas rutinarias y eso es como el “santo grial” de cualquier programador, la idea es dedicarte a analizar y diseñar, los cuales son procesos abstractos y que por consiguiente podemos asociarlos mucho más rápido a la realidad que vivimos, sin tener que pensar en “código de programación”.
 
  

Hasta la próxima!!

sábado, 3 de agosto de 2013

El programador perfecto

Ha pasado algún tiempo desde el blog anterior, pero el trabajo, la investigación y el encontrar novedosas formas de combinar tecnología me han tenido bastante ocupado.

Pero vayamos a lo nuestro, en el blog anterior comentaba que iba comentar sobre una herramienta que nos ponía en el camino correcto para la creación de soluciones y no de simples programas. Aunque el título de esta entrada parezca que me he perdido de mi hilo conductor, ya verán que todo se relaciona con todo.

La herramienta de la que hablaba en su momento se llama Velneo. Donde sus creadores la definen como "Una plataforma completa de desarrollo de aplicaciones empresariales" (www.velneo.es)

Y esta definición implica que estamos frente a un nuevo paradigma en lo que a desarrollo de software significa. Porque tal cual su definición, tenemos todo lo necesario y en un solo lugar para desarrollar soluciones realmente muy poderosas.

Fuente: http://alfonsogu.com/autor/
Motor de base de datos, entorno de desarrollo, servidor de aplicaciones, administrador del servidor, ejecutor de aplicaciones se unen de una manera absolutamente natural para entregarnos un mundo increíble de posibilidades para nuestros desarrollos.

En lo que a mi respecta, Velneo es sin lugar a dudas la concreción de un estado de deseo planteado hace ya muchos años cuando entendí que las herramientas que se tenían disponibles solo llevaban a entrar en un "tornado" de tecnologías que poco aportaban a la solución final.

Muchos podrán decir que se han logrado cosas muy impresionantes hasta el momento y yo digo que eso no está en discusión, sino que simplemente la industria tiene que evolucionar para hacer cada vez mas natural nuestra interacción con la tecnología. Y Velneo lo logra con creces.

Tengo ejemplos que podrían hacer temblar cualquier parámetro actual en lo que respecta a programas computacionales de gran porte. Uno en particular, que además me ha sorprendido una y otra vez, es un sistema que maneja alrededor de 100 millones de registros en su base datos, lo cuales son extraídos de una estación meteorológica que emite información entre 5 y 15 segundos, por eso ese volumen de información.

Fuente: http://bivir.uacj.mx/open/images/foto13.jpg
La cuestión no es el tema del ingreso de esos registros, esa es la parte sencilla; el problema es consultar ese universo de información. Gracias a las búsquedas que implementa Velneo se pueden realizar cortes en ese conjunto de datos y con combinación de múltiples alternativas como puede ser la humedad, velocidad del viento, etc. entre un tiempo determinado. Eso si es un desafío para cualquier sistema; el tema es que Velneo permite obtener los datos de esa búsqueda, en el caso mas complejo de cruces de variables, en un tiempo no mayor a 6 segundos. Y algo importante en todo esto, no está instalado en una súper computadora.

Y entonces, ¿por qué es el programador perfecto?. Muy simple, Velneo permite centrarnos en el análisis y diseño del sistema, mientras que de la parte dura de todo el proceso es él quien se encarga. 

La integración total de la base de datos con la programación de la lógica del negocio, la programación asistida con miles de comandos ultra optimizados y la ejecución nativa de las soluciones en cualquier plataforma nos permitirán evitar situaciones como esta: 


Saludos y hasta la próxima!!!

domingo, 16 de junio de 2013

¿Cual es la diferencia?

Si podemos responder a esta pregunta, seguramente estaremos dando un paso muy importante a la hora de enfrentarnos a un mundo que exige cada vez más ser lo suficientemente competitivos para sobrevivir como profesionales y empresas.

Ya sea que sos un profesional independiente o formas parte de un equipo dentro  de la industria del software, esto es mas que importante para que puedas marcar la diferencia a la hora de presentarte frente a tus clientes, actuales o futuros.

Hoy ya no alcanza con saber programar con determinada tecnología, a los clientes siempre les va a importar muy poco si sos un fenómeno desarrollando sobre un determinado lenguaje, lo que les va a importar es si lo que planteaste en las reuniones con ellos, se puede cumplir en los plazo prometidos.

Pero para lograr conseguir estas metas es necesario contar con herramientas que nos permitan ser productivos como nunca antes y es por esto que debemos dar el paso y cambiar nuestra forma de encarar el desarrollo de software.

Hoy en el mercado existen este tipo de herramientas, que apuntan a lograr estos objetivos, pero la mayoría cae siempre en los mismos problemas: todo está desperdigado, la base de datos por un lado, la lógica del negocio por otro y cuando querés unir todo esto, mas una serie de herramientas que te permitirán darle mas prestaciones a tus desarrollos; todo se puede resumir en una simple frase "que la suerte te acompañe!!".

Ah! y no podemos olvidar que el mundo de hoy lo tenemos que ver en formato "multiplataforma" (¿no habiás pensado en eso, no?) y para colmo de males, en la nube. Es el coctel perfecto para una perfecta calvicie, porque seguro te vas a empezar a tirar de los pelos una y otra vez.

Windows, Linux, Mac, Cloud, Saas, Paas... mi madre!!. Si, son muchas cosas para manejarlas y lograr obtener resultados exitosos.

Por eso digo, ¿programar o desarrollar una solución?. Parece que todo apunta a lo segundo. Porque una solución es un todo, donde cada parte debe funcionar y dejarnos además tiempo para seguir investigando, innovando y mejorando estas soluciones. (ah!, ¿te habías olvidado de estos puntos no?, cuidado que son claves para mantenerte en carrera por cierto).

Es así que desde mi punto de vista, la diferencia entre programador y desarrollador de soluciones, radica en poder brindar un todo a nuestros clientes. Donde ellos solo se tengan que preocupar de su negocio y si es posible potenciarlos en base a nuestras creaciones, ya que si les damos soluciones y no simplemente programas, es seguro que descubrirán que se le abre un mundo de posibilidades para mejorar y rentabilizar sus empresas (la experiencia me lo ha indicado así a lo largo de estos años).


 

En la próxima vamos a ver que herramienta nos puede brindar estas posibilidades...

Saludos!