
Muchas de las consultas que nos hacéis son referentes a la forma de comunicarse con Velneo y desde Velneo:
- ¿Puedo usar Velneo desde PDAs?
- ¿Puedo usar el puerto serie como lo hacÃa en Clipper/Cobol/VB?
- ¿XML, SOAP, web services?
- ¿Cómo importo datos desde Access, DB2, Oracle?
- ¿PodrÃa comunicarme sobre tcp/ip con las máquinas de la fábrica?
Voy a intentar contestar a todas estas preguntas en un único artÃculo de forma resumida, incluyendo ejemplos prácticos del uso de las diferentes herramientas.
Herramientas de comunicación en Velneo:
1.- Puerto serie:
Dispones de un objeto para el manejo del puerto serie. Puedes parametrizar todas esos elementos que seguro conoces mejor que yo, cómo los baudios, la paridad, los buffers, etc. Una vez creado puedes utilizarlo desde procesos con las instrucciones especÃficas (abrir, leer, escribir, etc.)
Los usos del puerto serie creo que los conocéis a la perfección: balanzas, displays, etc.
2.- DLLs y OCXs:
Puedes utilizar DLLs programadas en C o Borland. Sólo hay una limitación, las funciones únicamente pueden devolver un parámetro.
Hay muchos posibles usos de las DLLs, pero se me ocurren dos ejemplos:
La DLL de Roberto Blasco para manejar mediante OLE hojas de cálculo y documentos de texto: Post en el foro sobre la DLL de automatización OLE
El otro es un control biométrico de huella digital mediante un dispositivo USB desarrollado por Ceesa (Huella digital de Ceesa)
No puedes utilizar OCXs. Por el momento Velneo tiene sus propios objetos y controles, que cubren un gran porcentaje de tus necesidades. SÃ, seguro que tienes un super objeto creado por ti mismo que va de cine, pero aquà no puedes utilizarlo, sorry. En cualquier caso te invito a leer “VacÃa tu mente”. El cambio “cultural” es enorme, pero recuerda que el fin de Velneo es ser práctico.
3.- Funciones remotas:
Las funciones remotas permiten comunicar entre sà aplicaciones Velneo. Se puede utilizar cualquier función. Se le marca el check de “accesible VRPC”, y esa función puede ser atacada desde cualquier otra aplicación o entorno (tiene protección mediante password).
Su eso es muy sencillo, aquà van algunos ejemplos:
- Replicación entre servidores. El caso práctico serÃa el de un servidor central y otro en cada delegación. Una o n veces al dÃa se lanzan funciones remotas desde las delegaciones y el servidor central realiza una consolidación de datos.
- Arquitecturas on-off: Aplicaciones crÃticas que no pueden depender de disponer de conexión con el servidor. Se utilizarÃa el mismo programa en un entorno aislado, y en el momento de detectar conexión se realiza la replicación.
El caso práctico serÃa por ejemplo el de la venta de palomitas en el cine. ¿Es crÃtica la venta de palomitas? Pues los empresarios del mundo del cine creo que os dirán que sÃ. Fijaros sólo en las colas que se montan durante los 5 minutos previos al comienzo de la pelÃcula. ¡Cómo para que no funcione el sistema!
4.- Objetos protocolo:
Puedes crear protocolos de comunicaciones sobre tcp/ip y sobre udp/ip.
Aunque en su dÃa le dediqué unas cuantas horas a la teorÃa de redes, hace tiempo leà en el blog de Javier Smaldone un artÃculo sobre tcp/ip super interesante que creo que simplifica a la perfección toda la teorÃa: Documentación sobre tcp/ip (Javier Smaldone)
Simplificando también mucho, pero mucho mucho, suelo decir que utilizar estos objetos es tan sencillo como utilizar el puerto serie. Ejemplos prácticos serÃan:
- Comunicación con máquinas. Recuerdo entre otras cosas unos tornos para el control de la entrada en recintos que funcionan sobre udp/ip.
- Creación de web services: permiten por ejemplo comunicar una central de reservas con todos los hoteles. http://www.alturabeds.com Para el manejo de XML puedes encontrar un parseador en el almacén de objetos (código reutilizable).
- Comunicación con software de terceros. Con la documentación del protocolo puedes “hablar” también con otro software.
- vUpload está desarrollado con el objeto protocolo: vUpload
5.- Conectividad con bases de datos:
- Dispones de conectividad nativa con Oracle e Informix mediante instrucciones de procesos. Se utiliza el cliente de estas bases de datos.
- El plugin vOdbc permite el acceso vÃa ODBC a cualquier base de datos que disponga de este acceso. Opción 100% recomendada.
- Hay un acceso a bases de datos Access 97. Si quieres importar puntualmente datos de access, te recomiendo:
- Importación y exportación de ficheros. En el almacén de objetos tienes código fuente para este uso. Es muy sencillo. Yo mismo lo utilizo habitualmente para importar datos de las aplicaciones de gestión comercial. 100% recomendable.
6.- Excel:
Aunque ya os comenté en el punto de las DLLs la existencia de una DLL para la comunicación con Excel mediante OLE, el plugin v2Excel también va de cine. Nosotros sacamos las estadÃsticas del departamento de forma automática con este plugin, y lo programé en una mañana. Tenéis toda la documentación de las posibilidades del plugin en su página: v2Excel
Fran ha desarrollado un exportador universal: Post en el foro
7.- Web:
Velneo tiene su propio servidor web. Ni pasarelas cgi ni nada. Funciona rapidÃsimo, lo programas todo en el mismo proyecto y puedes reutilizar código.
8.- PDAs y dispositivos móviles:
Esta es la pregunta de quesito en el trivial. Velneo no dispone de un ejecutor para dispositivos móviles. La versión actual funciona sobre Windows de 32 bits.
Las soluciones para la versión 6.3 son varias:
- La primera opción es utilizar la web. Todos los dispositivos móviles tiene un cliente web. Normalmente no es necesario el 100% de la aplicación para este uso, ya que suele ser para trabajos en el almacén, repartidores o comerciales, y con un pequeño módulo serÃa suficiente. Eso sÃ, serÃa necesaria conexión permanente con el servidor.
- Terminal Server. Por ejemplo en los PocketPC hay un cliente de Terminal. También serÃa necesaria la conexión permanente.
- Si no hay conexión todo pasarÃa por desarrollar una pequeña aplicación en JAVA o similares, y comunicarse con el servidor una vez que se disponga de conexión mediante, por ejemplo, los objetos protocolo.
- Sin embargo existe una solución que están adoptando muchos desarrolladores para la movilidad sin conexión y en el caso de no ser necesarios cientos de terminales móviles. Pasa por utilizar un Ultra-Mobile PC. Es más pequeño que una tablet y lleva una versión reducida de Windows XP, por lo que podéis utilizar la misma aplicación, y una vez que se disponga de conexión, replicar la información por funciones remotas. Los precios son muy competitivos y están por debajo de los 1.000 Euros.
Ceesa distribuye un EO de TabletKiosk: http://www.ceesa.com/
En el foro Mario Conde nos enseñó un R2H de Asus.
Post en el foro
Seguro que se me ha olvidado algo. Por tanto os invito a comentar en el blog y a escribirme con vuestras sugerencias.
![]()
Etiquetas: arquitectura on/off, Dll, faq, ocx, PDA, programacion facil






