Velneo Cloud sube como la espuma

Hace ya muchos años que desde Velneo estamos intentando hacer una labor pedagógica sobre las bondades de implantar aplicaciones en la nube. Estaba claro desde hace mucho tiempo que no se trataba de una moda, sino de una tendencia imparable.

También es igualmente cierto que siguen existiendo aún muchas barreras y objeciones, la mayoría subjetivas, que hacen que muchas implantaciones de software se sigan realizando por la vía tradicional, es decir, instalando las aplicaciones en local, en hardware propiedad de los clientes finales, que tienen que adquirir y mantener.

La plataforma Velneo ha sido diseñada desde el primer día para ofrecer la posibilidad de desarrollar e implantar aplicaciones empresariales tanto en local como en la nube, y el servicio Velneo Cloud, con todas sus ventajas para el desarrollador y para el cliente final, ha ido creciendo en los últimos años a la vez que los desarrolladores han ido abrazando los beneficios que les aporta y se han decidido a dar el salto a la nube.

Evolución facturación Velneo Cloud 2017

2017 ha sido un año de consolidación del servicio Velneo Cloud, con un incremento constante del número de suscriptores de Velneo que han convencido a sus clientes finales de que las soluciones en la nube son mucho más rentables y seguras.

Si aún no has tenido la ocasión de implantar aplicaciones para tus clientes en Velneo Cloud, no lo dudes, contacta con nosotros y cuéntanos tus necesidades, seguro que habrá una solución que se adapte a ti.

 

Este artículo Velneo Cloud sube como la espuma es original de Velneo.

Nuevos contenidos en la página de formación de Mi Velneo

La página de formación de Velneo sigue creciendo. Si estás buscando tutoriales sobre las últimas novedades de Velneo, utilidades avanzadas o buenas prácticas, podrás encontrar nuevos contenidos.

Ya tenéis disponible en la misma todos los vídeos del curso de actualización 2017 celebrado a finales de 2016 para suscriptores de Velneo y que incluía los siguientes temas:

Si quieres profundizar en tu conocimiento de Velneo… ¡ya no tienes excusa!

Este artículo Nuevos contenidos en la página de formación de Mi Velneo es original de Velneo.

¿Cómo ser un programador muy productivo?

ser programador más productivo

Ser mejor o peor desarrollador de software no depende de la herramienta de software que utilices. Depende más de qué herramienta eliges según qué proyecto de software tengas enfrente. Lo mejor es tener una buena caja de herramientas y saber qué debo utilizar para según que cosa, y especializarse en un nicho de mercado que te permita sacarle la máxima rentabilidad a las herramientas de desarrollo por la que has optado.

Una vez que ya sabes qué plataforma de desarrollo tienes que usar para afrontar un proyecto de software y el nicho al que te vas a dirigir, hay una serie de consejos prácticos que te pueden ayudar a ser un programador más productivo.

5 claves para mejorar programando

¿Acabas de empezar a programar? ¿Llevas 10 años programando? Da igual, este artículo es para ti, siempre y cuando busques mejorar, ser buen programador y crecer profesionalmente. Vamos a explicar 5 claves para mejorar programando y poder optar a mejores puestos y evolucionar desarrollando software. Aquí van las reflexiones de un programador senior sobre este tema.

8 consejos para ser un programador más productivo

Tus horas de trabajo como programador suponen un coste para ti si eres trabajador autónomo o una inversión importante para tu empresa si trabajas por cuenta ajena. Todo consiste en usar el sentido común y retirar los obstáculos que te impiden trabajar al 100% de tus capacidades.

Los programadores en términos generales tenemos ingresos superiores a la media si nos comparamos con otros puestos de la oficina con igual experiencia y nivel de formación y en muchos lugares escasean los buenos programadores. No hace falta señalar que debido al coste por hora de un programador, tiene sentido que hagamos un esfuerzo por mejorar nuestra productividad. En cualquier caso, en este artículo vamos a compartir 8 consejos para ser un programador más productivo.

Deja de pensar inútilmente

Cuando hablo con otros desarrolladores sobre la complejidad de un código, a menudo me dicen que quieren escribir un código más sencillo, pero que los plazos o otros asuntos no les permiten tener el tiempo o el conocimiento necesario para completar la tarea, y muchísimo menos refinar hacia un código más simple.

La verdad es que poner más presión sobre los programadores tiende a que escriban códigos más complejos. Sin embargo, los plazos no deberían llevarnos a escribir un código más complejo. En vez de decir que un plazo no te permite escribir código sencillo, podríamos enfocarlo de la siguiente manera: no soy un programador lo suficientemente rápido para hacer esto sencillo. Es decir, cuanto más rápido seas como programador, menos afectado quedará  la calidad de tu código por los plazos. El secreto para programar rápido es dejar de pensar inútilmente.

Barreras que debes superar cuando estás aprendiendo a programar

Muchas personas de mi entorno viven de la programación de alguna u otra manera. Algunos son programadores de software de gestión empresarial, otros desarrolladores web, otros hacen consultoría, otros son analistas-programadores, y otros se dedican a formar a programadores novatos. Cada uno me habla sobre los motivos de éxito y de fracaso de un programa, o de una web, o de un curso de formación.

Pero, ¿qué  barreras debes sortear cuando estás aprendiendo a programar? ¿Cómo las superas? Aquí van 8 barreras que debes superar cuando aprendes a programar.

Artículos relacionados: 10 consejos para mejorar destrezas de programación y ser mejor desarrollador, Consejos para programadores de software, Consejos prácticos para programadores,

Este artículo ¿Cómo ser un programador muy productivo? es original de Velneo.

Postal Navideña 2017. El “making of”

Por tercer año he publicado en el foro una postal navideña realizada con Velneo en la que, además de felicitar las fiestas, pongo en práctica mis conocimientos en aquellos aspectos que pueden dar cierto dinamismo gráfico a nuestras aplicaciones.

Aprovecho para hacer un llamamiento a todos los que lean este artículo para que no dejen morir el foro de Velneo. Creo que es la mejor herramienta que tenemos para dejar nuestro conocimiento grabado y con acceso inmediato para los nuevos discípulos de Velneo.

Este año tocaba desear felices fiestas empleando uno de los objetos largamente esperado por los programadores, el objeto nativo Gráfico.

Los señores de Velneo nos vienen negando desde hace años la disponibilidad de un objeto nativo Canvas que permita aportar a nuestras aplicaciones un punto de libertad a la hora de mostrar elementos gráficos. En su defecto debemos usar el Visor html o QML tal como vimos en la primera y segunda postal navideña respectivamente. Estas soluciones alternativas están muy bien, pero nos encontramos con problemas de rendimiento y multiplataforma, sin contar que debemos aprender lenguajes y técnicas de programación muy poco LifeIsSoft.

Como ya he dicho, este año había que hacer algo con el objeto Gráfico. Este nuevo objeto es el resultado de incorporar a Velneo el módulo QtCharts de Qt, lo que nos permite crear gráficos empresariales tanto en su modalidad de Widget nativo o en su modalidad de Tipo QML (con import QtCharts 2.x).

Teniendo en cuenta que el objeto Gráfico es en realidad un objeto Canvas al que se ha dado una funcionalidad específica, veamos como podemos usarlo para otros menesteres que espero te sorprendan.

Objetivo de este año: Postal navideña con gráficos nativos.

Este año había que mostrar algo dinámico usando el Gráfico en su forma nativa.

El elemento dinámico debía ser una frase de felicitación que contuviera el nombre del Usuario conectado y además hubiera un desplazamiento horizontal a través de la pantalla. Lo más parecido es un Rótulo de leds que vemos habitualmente en las estaciones de autobús o tren para informar de diferentes eventos.

El Rótulo led debe tener los siguientes elementos dinámicos:

  • La frase o mensaje de felicitación es configurable y debe contener el nombre del usuario conectado
  • El Rótulo desplaza horizontalmente la frase de derecha a izquierda y de forma cíclica
  • Los leds luminosos podrán variar de color o de brillo

Diseño del Rótulo LED para mostrar Mensajes

¿Qué tiene que ver un Rótulo led con un objeto Gráfico de Velneo? En realidad mucho.

Un Rótulo led no es más que una matrix de puntos de luz que podemos programar accediendo a ellos mediante sus coordenadas x,y. Por lo tanto, si disponemos de la posibilidad de crear gráficos XY, ya lo tenemos casi hecho. Nos faltará añadir el desplazamiento horizontal y el cambio de color.

Un Gráfico nativo de Velneo al igual que una Rejilla necesita una Lista como entrada para poder representar los datos correspondientes. El Gráfico, por lo tanto, se insertará siempre en los formularios como un control Vista de datos con el correspondiente Proceso que alimenta la Lista de datos a mostrar en el gráfico. Esta característica de Velneo es muy potente y lifeifsoft, ahorrándonos muchas líneas de código, pero también es su talón de aquiles en entornos de redes lentas como Internet.

En Velneo el tipo de gráfico se determina con la propiedad Tipo serie del subobjeto Serie. Para representar un gráfico XY debemos insertar en el Gráfico un subobjeto Serie de tipo Puntos. Los puntos del gráfico se muestran mediante las 2 coordenadas X,Y de los ejes horizontal y vertical respectivamente.

En realidad lo que vamos a hacer es usar el Gráfico nativo como un control Canvas mediante la gestión de coordenadas XY.

Diseño de los caracteres del MENSAJE PARA EL RÓTULO

Para poder construir una frase de forma dinámica debemos disponer del diseño de todos los caracteres posibles en formato de matrix X,Y.

Establecemos una matrix de 5×7 puntos para representar los caracteres.

Construimos una tabla LETRAS_LED con 2 campos, uno con el carácter a representar y otro con una cadena de longitud 7 caracteres con valores posibles de espacio y 1. El espacio indica led apagado y 1 indica led encendido.

En la imagen siguiente se muestran las matrices de las letras A, B, C y D. Cada línea es un registro de la tabla y hay 6 registros por letra, 5 registros de la matrix más 1 de separación entre letras.

La carga de la tabla LETRAS_LED se realiza una sola vez en el ON_INIT_SERVER.

Lista de puntos X,Y de la Vista de datos del Gráfico

Para alimentar la Vista de datos del Gráfico XY necesitamos una tabla con las coordenadas XY ordenadas por el eje X. Estas coordenadas XY serán las que se corresponden con los leds iluminados del Rótulo.

Cada registro de la tabla LETRAS_LED nos proporciona un valor X y hasta 7 valores Y correspondientes a las posiciones de la cadena cuyos valores sean 1.

Por ejemplo la letra C tiene los siguientes valores X,Y que forman la matriz de leds en el rótulo:

eje Y
|               2,7  3,7  4,7
|        1,6                       5,6
|        1,5
|        1,4
|        1,3
|        1,2                       5,2
|               2,1  3,1  4,1
|_____________________ eje X

Necesitamos un proceso PRO_ROT_FRASE_3P que nos devuelva desde la tabla LETRAS_LED las coordenadas de cada una de las letras de la frase que vamos a mostrar en el Rótulo.

Al principio se pensó en rellenar con las coordenadas una tabla en memoria en primer plano, pero lamentablemente en cloud eso es inviable.

Velneo debería revisar el funcionamiento de las tablas en memoria para que en local fuera optativo el crear transacción en el servidor. Esto abriría una multitud de posibilidades en aplicaciones en cloud que necesitan generar listas personalizadas de datos temporales para alimentar objetos de Interfaz como por ejemplo Informes o Gráficos.

De momento se ha optado por una solución más óptima. Ejecutamos en tercer plano el proceso PRO_ROT_FRASE_3P para rellenar la tabla en disco  GRAFICO_XY_3P con las coordenadas de la frase que se mostrará en el Rótulo. Rellenar la tabla en tercer plano y cargar la Lista es mucho más rápido que hacerlo con una tabla local en memoria.

Rem PROCESO PRO_ROT_FRASE_3P
Rem ( Recibe la Frase y el Nombre para identificar las coordenadas en la Tabla )
Rem ( Insertamos NOMBRE, convertimos a mayúsculas, quitamos acentos y sustituimos los espacios por _ )
Set ( _CFRASE, replaceString(removeAccents(toUpper(replaceString(_CFRASE, "[[NOMBRE]]", _CNOMBRE))), " ", "_") )
Libre
Rem ( Rellenamos la Tabla del Gráfico XY desde la tabla LETRAS_LEDS )
For ( NLETRA, 0, NLETRA < len(_CFRASE), 1 )
        Set ( CLETRA, mid(_CFRASE, NLETRA, 1) )
        Rem ( Carga los registros que componen la Letra )
        Cargar lista ( LETRAS_LED@0PS_Navidad_dat, NAME, CLETRA, , , )
                Recorrer lista solo lectura
                        Set ( CLINEA, #LEDS )
                        Set ( NCON_X, NCON_X + 1 )
                        If ( ! isEmpty(CLINEA) )
                                For ( N, 0, N < len(CLINEA), 1 )
                                        If ( mid(CLINEA, N, 1) = "1" )
                                                Crear nueva ficha en memoria ( hGraf, GRAFICO_XY_3P@0PS_Navidad_dat )
                                                        Modificar campo ( NAME, _CNOMBRE )
                                                        Modificar campo ( VALOR_X, NCON_X )
                                                        Modificar campo ( VALOR_Y, N+1 )
                                                        Modificar campo ( TIPO, "M" )
                                                Alta de ficha ( hGraf )
                                                        Libre

Configuración del objeto Gráfico XY (tipo Puntos)

Una vez que ya tenemos diseñado el procedimiento de obtención de las coordenadas de la frase a mostrar en el Rótulo, ya podemos configurar el objeto Gráfico nativo de Velneo GRF_ROTULO_LEDS.

No seleccionamos ningún Tema. Desactivamos la Animación y Menú de contexto y ajustamos los márgenes para aprovechar el espacio de los ejes ya que no los vamos a mostrar. Se puede ocultar el Título si ponemos a cero el canal Alfa del Color.

Añadimos la Serie ROTULO de Tipo Puntos. El Eje X (Categoría) se rellena con el campo #VALOR_X y el Eje Y (Valor) con el campo #VALOR_Y. El Tipo de categoría (coordenadas X) es Numérico y ocultamos las Etiquetas de los valores X,Y. El color de la serie lo determina la variable local CCOLOR que usaremos para atenuar y aumentar el brillo de los leds.

Añadimos un subobjeto Eje de Tipo Eje categorías EJE_X. El Tipo de categoría Numérico, sin Título, sin Etiquetas y sin Línea. Los valores Mínimo y Máximo se determinan mediante las variables locales NEJEX_INI y NEJEX_FIN que como veremos luego son las que desencadenan el refresco del gráfico.

Añadimos un subobjeto Eje de Tipo Eje valores EJE_Y. Sin Título, sin Etiquetas y sin Línea. Los valores Mínimo y Máximo se ajustan manualmente para conseguir una altura correcta del Rótulo.

El diseñador nos muestra el siguiente gráfico. Los círculos representan las coordenadas X,Y de los leds.

Echamos en falta poder cambiar el tamaño de los Puntos para ajustar el tamaño del Rótulo (un despiste tonto del equipo de desarrollo). En la versión QML existe la propiedad markerSize y también se puede cambiar la forma con la propiedad markerShape.

Formulario con el Rótulo del mensaje

Ahora diseñemos un Formulario en el que podamos integrar toda la funcionalidad de este ejercicio.



    • En la parte superior introducimos la frase que deseamos mostrar en el Rótulo.
      El botón <Actualizar> ejecuta el proceso PRO_ROT_FRASE_3P y Recalcula la Vista de datos para obtener las coordenadas XY de la nueva Frase.
    • La Vista de datos GRF_ROTULO con el Gráfico XY (o de Puntos) debe tener una altura fija de 210px.
      Esto es debido a que los caracteres tienen una altura mínima limitada a 7 leds de tamaño fijo (ya que como hemos visto no disponemos de la propiedad markerSize).
      La anchura de los caracteres también debe ser fija y se ha establecido en 110px.
    • El control RUEDA desplaza en los dos sentidos la Frase dentro del Rótulo.
      En ambos lados de la Rueda se muestran las coordenadas del Eje X de la parte de la Frase NEJEX_VENTANA que aparece en el Rótulo .
      Estos valores son NEJEX_INI y NEJEX_INI + NEJEX_VENTANA que se corresponden con las propiedades NEJEX_INI y NEJEX_FIN del Gráfico.
      La Rueda cambia el valor de NEJEX_INI y mediante el manejador RESIZE_JS se calcula NEJEX_VENTANA.
      El siguiente proceso javascript es el más importante desde el punto de vista gráfico, porque permite mantener el ancho fijo de los caracteres cuando redimensionamos la Ventana en los equipos de escritorio o giramos la pantalla en los dispositivos móviles.
// Manejador RESIZE_JS 
// Tenemos que mantener la anchura de los caracteres fija aunque cambie el ancho del Rótulo
// Ancho del Rótulo
var nAnchoRotulo = theRoot.dataView().control("GRF_ROTULO").width
// Los caracteres deben tener un ancho en pixeles determinado para que sean legibles (110px)
// Calculamos entonces el Nº de caracteres que entran en el Rótulo
var nNumLetras = nAnchoRotulo / 110
// Calculamos también el valor X máximo a mostrar (el que está a la derecha de la rueda)
var nEjeX_Fin = nNumLetras * 6  // Cada letra son 6 puntos X
theRoot.setVar("NEJEX_VENTANA", Math.round(nEjeX_Fin))
theMainWindow.showMessageStatusBar("Ancho: " + theMainWindow.width() + "px", 0)
    • El manejador del evento RESIZE de la Vista de datos también recalcula los valores NEJEX_INI y NEJEX_VENTANA para reposicionar la Frase en el Rótulo.
    • El botón CMD_PLAY  pone en marcha el Timer del Formulario (otra ausencia imperdonable es el evento Timer en el objeto Gráfico nativo).
      El manejador TIMER incrementa el valor de NEJEX_INI para desplazar la Frase de derecha a izquierda dentro del Rótulo.
      También cambia el color de los Leds actualizando la propiedad CCOLOR del Gráfico.
    • Tanto manualmente, como a través del Timer o redimensionando el formulario, tan solo necesitamos actualizar las propiedades NEJEX_INI y NEJEX_FIN del Gráfico XY para desplazar la Frase.

Hagamos un Reloj con nuestro Gráfico XY

En un Reloj Digital tenemos siempre un texto de ancho fijo (8 caracteres) y solo necesitamos un Timer de 1 segundo para refrescar la Hora actual.



    • Para el reloj digital lo que hacemos es crear en la tabla de disco GRAFICO_XY_3P las coordenadas de todas las posibles horas del día, desde las 00:00:00 hasta las 23:59:59. Este proceso PRO_RELOJ_CARGAR solo debe ejecutarse una vez y por eso lo ejecutamos en el ON_INIT_SERVER.
    • En el arranque de la aplicación rellenamos mediante un Tubo de Lista la tabla en memoria RELOJ_XY_MEM con todas las coordenadas posibles del Reloj digital.
    • En cada evento TIMER la Frase del Rótulo será currentTime() y esta vez construimos hh:mm:ss de forma dinámica desde la tabla en memoria. La variable global APP_RELOJ_SEGUNDOS determina si se muestran los segundos o no. En el caso de que no se muestren los segundos hacemos que el separador de minutos se encienda y apague cada segundo.
Rem ( Proceso PRO_RELOJ para la Vista de datos del Reloj digital)

Rem ( Obtenemos las coordenadas XY de la Hora actual desde la Tabla en memoria )
Set ( CHORA, timeToString(currentTime(), "hhmmss") )

Rem ( DECENAS DE HORA )
Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "DECENA_HORA_" + mid(CHORA, 0, 1), , ,)
        Añadir lista a la salida
Rem ( UNIDADES DE HORA )
Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "UNIDAD_HORA_" + mid(CHORA, 1, 1), , ,)
        Añadir lista a la salida
If ( $APP_RELOJ_SEGUNDOS@0PS_Rotulo_LED_dat.dat | ((second(currentTime()) % 2) = 0) )
        Rem ( SEPARADOR DE MINUTOS )
        Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "SEP_MINUTOS", , , )
                Añadir lista a la salida
Rem ( DECENAS DE MINUTOS )
Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "DECENA_MINUTO_" + mid(CHORA, 2, 1), , , )
        Añadir lista a la salida
Rem ( UNIDADES DE MINUTOS )
Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "UNIDAD_MINUTO_" + mid(CHORA, 3, 1), , , )
        Añadir lista a la salida
If ( $APP_RELOJ_SEGUNDOS@0PS_Rotulo_LED_dat.dat )
        Rem ( SEPARADOR DE SEGUNDOS )
        Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "SEP_SEGUNDOS", , , )
                Añadir lista a la salida
        Rem ( DECENAS DE SEGUNDOS )
        Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "DECENA_SEGUNDO_" + mid(CHORA, 4, 1), , , )
                Añadir lista a la salida
        Rem ( UNIDADES DE SEGUNDOS )
        Cargar lista ( RELOJ_XY_MEM@0PS_Rotulo_LED_dat, NAME, "UNIDAD_SEGUNDO_" + mid(CHORA, 5, 1), , , )
                Añadir lista a la salida
        Libre
    • El manejador del evento RESIZE ocultará los segundos cuando el ancho del Rótulo muestre menos de 28 coordenadas (4 caracteres x 6 + 4 del separador).

Conclusiones

Con estos 2 ejercicios hemos comprobado que, sin quererlo, Velneo nos ha proporcionado un objeto Canvas nativo para realizar pequeños retos que necesitan algo de dinamismo y potencia gráfica.

Que el objeto Gráfico nativo sea una Vista de datos es por un lado una gran ventaja LifeIsSoft, pero por otro es un handicap en redes lentas debido a la dependencia de Velneo con el hilo de conexión con del vServer, sobre todo en tablas temporales o en memoria.

El uso de Timers en el hilo principal es otro problema con Velneo debido a su bajo rendimiento gráfico. Estos ejercicios en equipos de escritorio se ejecutan con cierta agilidad pero en dispositivos móviles la experiencia gráfica deja mucho que desear. En el evento ON_HIDE de los formularios de ambos ejercicios ejecuto un stopTimer para que no perjudique un formulario en el otro.

En cualquier caso que estos ejercicios os sirvan para aprender sobre las posibilidades de los objetos de Velneo y al mismo tiempo divertirnos con ello. También una forma de hacer ver a los desarrolladores de Velneo las posibilidades que daría un objeto nativo Canvas, junto con tablas en memoria locales y no dependientes del gestor de transacciones.

Podéis probar el ejercicio en el Cloud en la url habitual vatp://pruebas:pruebas@c6.velneo.com:16400/0PS_Rotulo_LED_iapp. En principio es funcional en todas las plataformas.

Finalmente he preparado la versión QML para comparar. En principio podemos pensar que va a ser mucho más ágil el funcionamiento porque tendremos los Timers aislados y los modelos de datos pueden estar totalmente desconectados del servidor. He usado un modelo de datos procedente de un string json.

En los ejercicios del Cloud vatp://pruebas:pruebas@c6.velneo.com:16400/0PS_Varios_iapp tenéis también el código QML (rama Tipos QML de QtChart/Rótulo LEDS – TabView).
Es un buen ejercicio para probar algunos objetos QML interesantes para construir interfaces en dispositivos móviles.

 

Si te ha gustado el post, no dudes en compartirlo por tus redes sociales.

Además podéis dejar un comentario contándome vuestra experiencia usando los Gráficos nativos y vuestros avances con QML.

 

La entrada Postal Navideña 2017. El “making of” aparece primero en AyudaVelneo.

¿Cómo realizar una aplicación de gestión en una hora?

¿Te parece un titular exagerado, irreal o con truco?

Lo siento, pero esta es la única manera de llamar tu atención sobre la increíble velocidad de desarrollo, curva de aprendizaje,  la potencia del refactoring, y la potencia de su base de datos de una plataforma nacida para la metodología ágil de aplicaciones.

El ejemplo es sencillo: una aplicación con clientes, artículos, cabeceras y lineas de factura, totalmente operativa con sus ABM , acumulados, multi-usuario  y  100% multi-plataforma para implantar en local o en Cloud y más funcionalidades de las que puedas imaginar.

¿Truco?

Ninguno, en este desarrollo se parte de cero, realizando toda la programación en directo, el único truco es el conocimiento de Velneo por parte del programador que la realiza.

¿Dudas?

  • ¿Servirá para realizar grandes sistemas y grandes ERP, CRM, SGA, etc ?
  • ¿Encontraré limitaciones?
  • ¿Que pasará cuando tenga miles de millones de registros?
  • ¿Tengo que empezar ahora de cero a hacer mi catálogo de aplicaciones?
  • ¿En mi país hay muchos desarrolladores y productos utilizando esta tecnología?
  • ¿Encontraré limitaciones cuando tenga que hacer cosas especiales como robótica, integraciones, etc?

Si te interesa y deseas tener respuestas, solo tienes que asistir a nuestro seminario online que realizamos todos los meses o bien contacta y te atendemos personalmente.

¿Demasiado bonito para ser cierto?

Sí, lo sabemos. Es una constante en los pre-clientes que conocen Velneo por primera vez y recordado como anécdota por los que llevan ya muchos años con nosotros.

Velneo simplemente es productivo y rentable para la empresa de desarrollo, que es nuestro principal objetivo. ¡Ponlo a prueba!

Este artículo ¿Cómo realizar una aplicación de gestión en una hora? es original de Velneo.

SLA Cumplido: Velneo Cloud 2017

Un año más, Velneo Cloud ha cumplido el SLA adquirido con sus clientes que poseen Velneo vServer de producción en Velneo Cloud.

Recordemos que el SLA, según palabras de la wikipedia, es “un acuerdo de nivel de servicio (en inglés Service Level Agreement o SLA), escrito entre un proveedor de servicio y su cliente con objeto de fijar el nivel acordado para la calidad de dicho servicio”.

Velneo se comprometió con sus clientes en mantener el SLA por encima del 99% y hemos cumplido ese objetivo con holgura. Para ello hemos trabajado en que las paradas de mantenimiento hayan sido mínimas en lo concerniente a servidores de producción, minimizando el tiempo empleado para cada una de ellas. Por ello, seguimos investigando en la adopción de nuevas tecnologías y nuevos procedimientos para todavía minimizar aún más esas paradas necesarias, principalmente, por seguridad y estabilidad. A todo esto ha contribuido y seguirá contribuyendo el rumbo a Velneo Cloud 2, un salto gigantesco en cuanto a mejora de rendimiento, seguridad y versatilidad. En las próximas semanas, aquellos usuarios que no están en Velneo Cloud 2 recibirán un email para indicarles el nuevo rumbo ;).

Según nuestros cálculos, a lo largo de todo este año 2017, nuestro servicio Velneo Cloud de producción únicamente no ha estado operativo durante 3,6 horas, por tareas de mantenimiento: todo un récord. Hemos aumentado el SLA con respecto al año anterior. Son números para estar orgullosos y sobre los que seguiremos trabajando para bajar todavía mas. Un servicio que cada vez se usa más y que incluso se toma como primera opción a la hora del despliegue. Un ejemplo del uso intensivo de Velneo Cloud son los 4TB de tráfico de las aplicaciones de Velneo del mes de diciembre.

Gracias a nuestros clientes por confiar en Velneo Cloud y animamos a los que aún no lo usan a iniciar el camino hacia un nuevo rumbo.

Este artículo SLA Cumplido: Velneo Cloud 2017 es original de Velneo.

Vulnerabilidades de seguridad en procesadores – Spectre y Meltdown

En las últimas horas, Google ha hecho pública una información referente a 3 nuevas vulnerabilidades que afectan gravemente a la gran mayoría de procesadores modernos.

Estas vulnerabilidades pueden ser aprovechadas para comprometer la seguridad de los datos ejecutados sobre las arquitecturas de procesadores Intel, AMD y ARM, las cuales se usan en la gran mayoría de servidores, computadoras y teléfonos modernos.

Los sistemas operativos Windows, Linux, macOS, iOS, Android, etc .., están afectados y los fabricantes ya están publicando actualizaciones que corrigen la vulnerabilidad

Velneo, tiene conocimiento de la información publicada por los fabricantes y ya ha comenzado a desplegar los parches de seguridad que evitan comprometer la seguridad de los datos ejecutados en nuestras infraestructuras.

Respecto a Velneo Cloud, durante los próximos días se realizarán paradas de mantenimiento para aplicar parches que garanticen la seguridad ante esta incidencia. Os comunicaremos previamente las ventanas de tiempo para dichas paradas.

Respecto a la posible reducción de rendimiento del sistema operativo al aplicar estos parches, la arquitectura de Velneo Cloud nos permite garantizar el rendimiento actual en todo momento, con lo que ninguna de vuestras aplicaciones sufrirá ninguna reducción del rendimiento.

Si tenéis servidores en local, os recomendamos consultar con el resto de proveedores de software o infraestructura, si ya están desplegando los parches de seguridad recomendados por los fabricantes y así garantizar la seguridad de vuestros datos.

Como siempre recordamos, es recomendable tener las últimas actualizaciones de los sistemas operativos en todos los equipos.

Si tienes cualquier duda de como está incidencia de seguridad te puede afectar, no dudes en ponerte en contacto con soporte.

Más info

https://es.wikipedia.org/wiki/Meltdown_(vulnerabilidad)
https://www.incibe.es/protege-tu-empresa/avisos-seguridad/problemas-seguridad-los-procesadores-varios-fabricantes
https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html

Este artículo Vulnerabilidades de seguridad en procesadores – Spectre y Meltdown es original de Velneo.

Velneo: Desarrollo de Aplicaciones multiplataforma (Grado), y Sistema de Gestión Empresarial (Módulo)

En Velneo somos conscientes de las dificultades  de responsables y profesores de diferentes centros formativos, para encontrar materias y contenidos para asignaturas como desarrollo de aplicaciones multiplataforma, aplicaciones empresariales ERP, etc . Y conseguir esto sin necesidad de pagar licencias y poder a su vez dar algo realmente práctico y productivo a sus alumnos.

Por otra parte también tenemos una demanda por parte de nuestros clientes de Nivel 4, para que facilitemos jóvenes programadores con una experiencia mínima en Velneo para incorporar a sus plantillas.

Para cubrir ambas necesidades de centros formativos y empresas, en Castilla-La Mancha se acaba de iniciar un programa con gran éxito que ahora os comento.

Promovido por Rosa Zapata, profesora de Formación Profesional en España, perteneciente a la JCCM y con la colaboración de nuestro cliente y programador certificado Velneo, Fernando García se impartió el pasado mes de Noviembre un curso presencial a 18 profesores de estos ciclos de formación profesional de iniciación a Velneo.

La satisfacción de los docentes asistentes fue total,  tanto por el descubrimiento de Velneo como por  la calidad de la formación recibida por parte de Fernando García, al cual no podemos menos que dar nuestro agradecimiento y felicitar.

Según nos comentaron el objetivo de estos profesores es impartir Velneo lo antes posible como contenido de su módulo Sistemas de Gestión Empresarial en el Grado de Desarrollo de Aplicaciones Multiplataforma.

Seis de ellos empiezan este mismo curso 2017-2018 en el segundo trimestre, habiéndose registrado más de 60 alumnos, el resto lo planifican para el próximo curso.

Velneo  dentro de su plan para centros formativos,  ofrece este tipo de ayudas tanto a centros españoles como de  Latinoamérica, faciltandoles entornos de desarrollo  para docentes y alumnos en los respectivos clouds  de forma ilimitada durante  su periodo de formación y prácticas, así como una comunicación posterior a nuestros clientes para ofertar su disponibilidad y el asesoramiento necesario.

Oferta que hacemos extensiva a cualquier centro de formación interesado , tan solo tienen que contactar con nosotros para ello.

En esa misma línea ofreceremos una bolsa de alumnos en prácticas para Castilla-La Mancha o para cualquier empresa en España que desee contratar personal de estas características. Publicaremos en el este mismo blog y en el foro los contactos para acceder a ellos  a medida finalicen su formación.

Este artículo Velneo: Desarrollo de Aplicaciones multiplataforma (Grado), y Sistema de Gestión Empresarial (Módulo) es original de Velneo.

Desarrollar y vender tu propio ERP no tiene por qué ser tan complicado

¿Tienes en mente desarrollar tu propio ERP? ¿No quieres vender y distribuir el ERP de un tercero? ¿Te da miedo no poder programar un ERP en tu empresa sin que se vaya de plazo? ¿Buscas crear un ERP sólido de forma rápida siendo eficiente en costes? ¿Quieres poder identificar si un cliente necesita un ERP? ¿Quieres tener éxito vendiendo tu propio ERPs? Si la respuesta a alguna de las preguntas en tu caso es SÍ, este artículo te interesa. Mucho. Vayamos por partes.

¿Quieres programar tu propio ERP?

¿No quieres vender ni distribuir el ERP de un fabricante? Vale. Eso se puede hacer. Puedes optar por elegir un lenguaje de programación adecuado para tal tarea y empezar desde cero, módulo a módulo, personalizándolo para cada proyecto que te vaya saliendo. Esto evidentemente te va a tomar una eternidad.

Por otro lado, puedes optar por un ERP ya programado que te permita cierto grado de personalización, como pueden ser Open Bravo, odoo ERP, Axapta y similares. En momento dado esta solución puede ser útil, pero si eres una empresa de desarrollo que quiere tener un nombre en el mercado de los ERP poco valor aportas.

La tercera vía es elegir una plataforma de desarrollo especializada para la programación de software para empresas que te permita desarrollar un ERP en un tiempo más que razonable partiendo de una plantilla ERP que tenga ya pre-programada aquellas funciones comunes a todo ERP y que no aportan valor al cliente por ser estándar. Ello te permite dedicarle más tiempo a desarrollar personalizaciones para el cliente, algo que sí aporta valor y te hace tener un nombre en el mercado de los ERP. Si optas por esta vía no te pierdas este artículo: Velneo vERP frente a otras soluciones ERP: dudas más comunes ni este otro post: ¿Cuál es el mejor programa para desarrollar un ERP para vender?

¿Cuándo sé que un cliente necesita un ERP?

¿Quieres identificar oportunidades de venta de tu ERP entre tus clientes? Como programador de software de gestión empresarial, es importante detectar las necesidades de tu cliente. Muchas veces tus clientes no saben qué software necesitan y es importante estar ahí para hacerles consultoría y aconsejarles.

Hay signos que te pueden ayudar a detectar las necesidades de tu cliente. Por ejemplo, si notas que le cuesta cuadrar las cuentas financieras a fin de mes, o si sus previsiones de ventas se basan más en intuición que en los números, o si tienen problemas a la hora de dar salida al volumen de pedidos y sus clientes se muestran insatisfechos por ello, o si no tienen una idea precisa de cuánto inventario les queda en el almacén y no disponen de una manera sencilla de averiguarlo…

Dado que cada empresa de cada cliente es diferente, no hay un indicador único y sencillo que diga: “!Tu cliente X necesita un ERP ya!” Sin embargo, las empresas que más provecho le sacarían a un software ERP normalmente se enfrentan a las mismas dificultades y frustraciones. ¿La empresa de tu cliente tiene estos problemas? Sigue leyendo abajo para saber si la empresa de tu cliente está preparada para tener un ERP.

Si tu cliente tiene estos problemas, o si estos asuntos suenan a cosas que pasan en la empresa de tu cliente, quizás ha llegado el momento de ofrecerles un software ERP. Te recomiendo que leas este artículo: Cinco señales que indican que tu cliente necesita un ERP.

¿Quieres tener éxito vendiendo tu propio ERP?

Para tener éxito vendiendo un ERP hecho por ti o tu empresa primero tienes que hacer una composición de lugar y situarte. ¿Qué necesito hacer para vender con éxito este ERP?

Quizás necesitas editar una plantilla pre-programada de ERP como vERP lo justo para personalizarla con el logo del cliente y poco más, quizás la aplicación ERP que necesitas requiere de funcionalidades extra que no contiene Velneo vERP, o quizás necesitas programar directamente el núcleo de Velneo vERP incluyendo las funcionalidades adicionales y personalizándolo acorde con tus necesidades.

Sea cual sea la necesidad de tus clientes y la tuya, con Velneo vERP encontrarás una solución. Si te está convenciendo esta vía, te recomiendo el artículo: Quiero programar un ERP y ser rentable vendiéndolo.

Este artículo Desarrollar y vender tu propio ERP no tiene por qué ser tan complicado es original de Velneo.

11 razones por las que el desarrollo de software profesional nunca dejará de existir

desarrollo software, futuro, oficio

Intro

En primer lugar, ¿quién se atreve a vaticinar que habrá un tiempo en el que todo el mundo sepa y pueda programar?

Pero incluso si todo el mundo pudiera, hay 11 razones por las que el desarrollo de software será siempre relevante en el mercado laboral. Personalmente, creo que la razón 8 por sí misma es lo suficientemente contundente para que la programación como trabajo cualificado lo siga siendo para siempre.

Nunca llegará el momento en el que todo el mundo pueda programar. Hay un montón de gente que no tiene ningún interés en ser un desarrollador de software, y menos de aplicaciones empresariales y de software de bases de datos, muchísima…

Y eso es algo bueno también.

Algunas personas por difícil que parezca no disfrutan de la programación. Y a las personas que no les gusta, se deberían pasar la vida haciendo otras cosas.

Pero para las personas que sí les gusta el desarrollo de software, siempre será importante llegar a ser un programador profesional o un analista-programador o incluso ingeniero de software, y aquí explicaremos las 11 razones específicas por las que el desarrollo de software a nivel profesional/laboral nunca morirá:

#1 La tecnología siempre seguirá evolucionando

El teléfono, sí el smartphone, que tienes en el bolsillo procesa miles de millones (piensa 3,36 mil millones) más instrucciones por segundo que el ordenador de orientación del Apollo que nos llevó a la luna por primera vez.

#2 Las herramientas de programación serán más intuitivas y poderosas

Por poner un ejemplo, parece que cada semana del año sale un nuevo framework de JavaScript. Conclusión: no cabe otra que pensar y suponer que las herramientas de desarrollo que usamos son cada vez más poderosas, que incorporan continuas mejoras que hay que dominar y aprender.

# 3 Habrá herramientas de programación apropiadas para cada tipo de industria

El software se está comiendo al mundo y ya está presente en nichos y en sectores que hace solo un par de años era impensable e impredecible. Cada vez las herramientas de programación son a su vez más especializadas: herramientas para crear vídeo-juegos, herramientas para crear aplicaciones empresariales y software de gestión, herramientas para programar autómatas, etc…

#4 El mercado de trabajo seguirá adaptándose

A Velneo entran todos los meses programadores y empresas de desarrollo que aún programan en COBOL (por poner un ejemplo), y son empresas y programadores que están en el mercado laboral y que tienen proyectos. ¿Por qué? Pues con casos así te das cuenta de que los sistemas de software a veces pueden tomar un buen tiempo para adaptarse y actualizarse.

#5 Cualquier profesión podrá requerir cierta alfabetización en código

Las habilidades de programación son ya hoy en día relevantes incluso si no eres programador o no estás programando. Cosas como SQL, HTML/CSS, frameworks JavaScript pueden llegar a ser relevantes para técnicos de marketing, diseñadores, comerciales, y muchas otras profesiones. Cuando se dice que en un futuro más personas tendrán que saber sobre desarrollo, son estos oficios que tradicionalmente carecían de estas destrezas los que más van a cambiar. Eso no quita que siempre exista la figura del programador profesional.

programador porfesional

#6 Siempre habrá demanda de desarrolladores de software expertos para tareas complejas

La figura del programador o del ingeniero de software experimentado siempre existirá, y su trabajo consistirá en resolver problemas complejos. El mejor software del mundo está hecho por equipos humanos, y los equipos siempre tendrán que tener liderazgo humano.

#7 El aprendizaje automático no desplazará a los programadores

El machine learning o aprendizaje automático no pueden desplazar totalmente a los desarrolladores de software. Algunas de las mejores implementaciones de Inteligencia Artificial y aprendizaje automático los hace Google. Oye, ellos tienen más de 30.000 desarrolladores humanos…

#8 La civilización está cambiando y los ordenadores están en el centro de nuestras vidas

La cultura está cambiando y las computadoras se están volviendo relevantes en todos los aspectos de nuestra vida. Hace 5 años nunca hubieras pensado en sacar tu teléfono para localizar a un taxi por una app. Hoy en día, muchas personas usan el móvil para  comparar el tiempo de espera entre Lyft y Uber.

#9 Desarrollar software no es solo picar código

La ingeniería de software es mucho más que sólo escribir código. Analizar los problemas y comprender los procesos es más importante que conocer a fondo la sintaxis de un lenguaje de programación que se utiliza en un determinado momento en el tiempo en trayectoria profesional.

#10 Hay problemas que las máquinas no son capaces de solucionar bien

A menos que tengas una solución al problema del profesional de las ventas que viaja, todavía hay queda mucho progreso por hacer en el reino de la informática y el desarrollo de software.

#11 Existen proyectos de software antiguos que van a durar eternamente

Yo ya he impreso la documentación de ImageMagick para darles a mis futuros nietos…

Conclusión

Los desarrolladores de software siempre van a ser relevantes y necesarios. Estas son algunas máximas que tienes que interiorizar si te dedicas a la programación profesionalmente:

  • La programación siempre será una habilidad especializada
  • El software se está comiendo al mundo
  • El mundo sigue adaptándose a los ordenadores
  • Nunca ha habido un mejor momento para ser un programador, y debes estar agradecido cada día de vivir en la edad de oro del desarrollo de software.

 

Este artículo 11 razones por las que el desarrollo de software profesional nunca dejará de existir es original de Velneo.