archivos con la etiqueta ‘arquitectura on/off’

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, , , , ,

Valorar la entrada
1 Puntos2 Puntos3 Puntos4 Puntos5 Puntos
(Sin votos)
Cerrar
Enviar por Correo