Necesito implementar una aplicación Delphi en un entorno que necesita datos centralizados y un sistema de almacenamiento de archivos (para imágenes de documentos) pero tiene varias sucursales con interconectividad relativamente pobre. Creo que una aplicación de base de datos de 3 niveles es la mejor manera de hacerlo, así puedo brindar una experiencia de escritorio rica con necesidades de transferencia de datos relativamente livianas. Hasta ahora, he analizado brevemente Delphi Datasnap, kbmMW y Remobjects SDK. Parece que kbmMW y Remobjects SDK usan el menor ancho de banda. ¿Alguien tiene alguna experiencia en la implementación de cualquiera de estas tecnologías en entornos desafiantes con un número significativo de usuarios (necesito admitir más de 700)? ¡Gracias!¿Cuál es la mejor tecnología de ancho de banda bajo Delphi n-tier?
Respuesta
Depende si está vinculado a conjuntos de datos remotos. Si no está vinculado al conjunto de datos, entonces SOAP probablemente sea una buena opción. O lo que hice fue escribir mi propio protocolo que es similar a SOAP en la naturaleza. Esto se hizo antes de que SOAP fuera estándar y estoy contento de haberlo hecho, esto te da la posibilidad de controlar más el flujo de datos. Se da que si tienes una conectividad pobre, pasarás el tiempo soportándola. Es muy bueno si es tu propio código lo que estás soportando versus tener que esperar a un proveedor. (Aunque se sabe que KBM y REM son buenos proveedores).
Nota personal: 700 usuarios en una aplicación de imágenes de documentos por mala conectividad suena como un desastre. Gaste el dinero en actualizar la conectividad ya que será más barato a largo plazo.
Ambos kbmMW y RO SDK ofrecen formato binario, que es más compacto que el formato SOAP, especialmente si está trabajando con documentos.
RO sdk parece ofrecer más herramientas GUI para ayudarlo a realizar sus servicios.
También dale un aspecto a RealThinClient SDK, es un armazón remoto liviano.
Pero cualquiera que sea el marco con el que vaya, su diseño de trabajo lo hará rápido o lento, tengo algunas aplicaciones que funcionan en líneas lentas de 128kb, y funciona perfectamente sin que el usuario se queje, pero no hago una gran transferencia para archivos.
No sé si es el mejor/el más eficiente (¡me alegro de que haya hecho esta pregunta!), Pero he tenido buenos resultados con RemObjects SDK + DataAbstract. Este último hizo que gran parte de los detalles de plomería fueran menos complicados, lo que fue útil. Todavía estoy implementando, pero hasta ahora todo va bien.
Una cosa para recordar ... no es la cantidad de usuarios, sino el número de ellos que usarán los recursos al mismo tiempo que será el problema. Si es posible, intente desarrollar su aplicación "servidor sin estado", esto le permitirá una mayor flexibilidad a largo plazo si encuentra que debe agregar más servidores al grupo para respaldar su base de clientes. Lo más difícil de n-tier es escalar más allá del primer servidor ... planee eso desde el principio. Cada solicitud no debe saber nada sobre una solicitud previa ... o al menos la solicitud debe tener una forma de pasar el contexto para que el servidor pueda buscarlo en una tabla de sesión o algo así.
Personalmente, recomendaría RemObjects. Lo he usado con buenos resultados.
Si realmente quieres usar un "ancho de banda bajo", utiliza BSD Sockets API, que te dará control total sobre lo que se está enviando y allí puedes enviar la menor cantidad de información que desees. Por supuesto, entonces tendrá que implementar todos los niveles usted mismo, pero bueno, eso todavía es una opción: D
- 1. ¿Cuál es la tecnología detrás de los sitios de transmisión en vivo?
- 2. Limitación de membresía por ancho de banda
- 3. ¿Qué tecnología Delphi usar?
- 4. Cálculo del ancho de banda
- 5. La mejor herramienta para monitorear el ancho de banda de la conexión de red
- 6. Estrangulamiento del ancho de banda con netem?
- 7. Vídeo HTML5: Detección de ancho de banda
- 8. ¿Utiliza Delphi para aprovechar la tecnología GPGPU?
- 9. Limite velocidades de ancho de banda
- 10. Uso del ancho de banda de memoria
- 11. gestión de ancho de banda con rieles?
- 12. ¿Cuál es la mejor y más activa tecnología de búsqueda de código abierto .Net?
- 13. Cuál es la mejor IDE alternativa para Delphi (.NET)
- 14. Persistencia del objeto Delphi, ¿cuál es la mejor manera?
- 15. ¿SSL causa mucho más ancho de banda?
- 16. Disminución del ancho de banda en C#
- 17. Disminución del ancho de banda en Python
- 18. Cómo simular bajo ancho de banda (retardo de red) en localhost (ejecutándose en WAMP, Windows XP)?
- 19. ¿Cuál es la tecnología detrás de Windows Azure REST Api?
- 20. ¿Simular ancho de banda limitado desde Chrome?
- 21. ¿Cómo puedo obtener la velocidad de ancho de banda disponible?
- 22. ¿Cómo obtener la velocidad de ancho de banda (descarga) actual?
- 23. Comprobar la velocidad de conexión (ancho de banda) en Xcode
- 24. límite Virtual Box ancho de banda en la red
- 25. ¿Cuál es la mejor tecnología para conectarse desde Linux a MS SQL Server utilizando python? ODBC?
- 26. ¿Cuál es la mejor tecnología para automatizar una tarea utilizando las bibliotecas .net?
- 27. ¿Cuál es la mejor forma de gestionar el comportamiento de almacenamiento en búfer de Linux cuando se escribe un flujo de datos de gran ancho de banda?
- 28. ¿Cuál es la mejor manera de serializar la configuración de la aplicación Delphi?
- 29. ¿Cuál es la mejor alternativa para esperar ... notificar la sincronización de bajo nivel?
- 30. ¿Qué protocolo es mejor para la transferencia de archivos?