¿Hay alguna aplicación de código abierto que demuestre buenas técnicas de online-offline synchronizationde bases de datos, algo así como Remember The Milk hace con su aplicación de iPhone, modo fuera de línea de Google Gears, etc.?¿Hay ejemplos de código abierto de sincronización fuera de línea?
Respuesta
La Unison file synchronizer es una herramienta magnífica, pero su código fuente no es para corazones débiles. No solicitó documentos académicos pero escribí one I'm proud of. Hubo algún código perl para ir con eso, pero no estoy seguro si es de alguna utilidad. Si lo deseas, envíame un correo electrónico.
Gracias Norman, el documento debería ser útil, echaremos un vistazo. Sin embargo, ¿se pueden usar los conceptos en el documento para trabajar para la sincronización de la base de datos (pregunta ingenua?), Lo siento si no estaba claro antes de que estoy buscando específicamente la sincronización de datos estructurados. –
Ciertamente, las ideas de las operaciones de registro y poner el registro en una forma normal serán útiles para las bases de datos. Espero que los detalles del álgebra sean diferentes. También consulte el nuevo trabajo de Pierce sobre "programación de lentes", que está motivado por el problema de actualización de la vista de la base de datos. –
google gears es de código abierto. querrás mirar el módulo localserver.
echa un vistazo a code.google.com/p/gears para el sitio principal del desarrollador, y the LocalServer source. Aunque gears es una pieza compleja de software porque tiene muchos componentes (interfaz de complemento de navegador, integración con javascript, integración de SQLite, etc.), está bastante bien factorizada, por lo que la fuente de LocalServer es bastante fácil de seguir.
Según tengo entendido, Gears proporciona una base de datos fuera de línea y una API para detectar conectividad en línea/fuera de línea, NO realiza ningún tipo de sincronización en sí misma. Los programadores de aplicaciones tienen que hacer eso ellos mismos. –
Thx Swaroop. ¡Estaba equivocado! – Aaron
Tengo experiencia con SymmetricDS y es realmente bueno. Puede manejar una gran cantidad de escenarios. Es de código abierto, por lo que puede modificarse o ampliarse para algunos casos especiales. Como dicen los autores, fue desarrollado para un proyecto de la vida real, así que puedes estar seguro de que realmente funciona bien (y también funciona para mí).
Solo una cosa. SymmetricDS se basa en desencadenadores de base de datos, por lo que su base de datos debe admitir activadores.
El artículo de Wikipedia en Operational Transform hace referencia a cuatro aplicaciones de código abierto: Ace, Gobby, Subetheredit y So6. Quizás uno de ellos puede usarse como punto de partida para usted.
Si bien es posible que no funcionen directamente con el DBMS de su elección, valdría la pena considerar Operation Transform como base de su sincronización.
Gracias por esta información.¡No sabía que había todo un campo dedicado a esto! Encontré esto interesante también en el contexto de la charla [Google Waves "Under The Hood"] (http://www.youtube.com/watch?v=uOFzWZrsPV0) donde hablan de Transformación operativa durante los primeros 20 minutos . –
He tenido la intención de volver aquí y mencionar a Google Wave, ¡pero estás un paso por delante! –
El artículo Create offline web applications on mobile and stationary devices with CouchDB describe una sencilla aplicación de gestión de inventario. con el código fuente. Utiliza CouchDB's replication support. CouchDB es una base de datos NoSQL (documento orientado, para ser más específico). Si está buscando una solución para RDBMS, el database synchronization provider en el marco Sync de Microsoft aprovecha el mecanismo de seguimiento de cambios creado en SQL Server 2008. Microsoft también describe a service-oriented approach en su documentación del Bloque de aplicaciones sin conexión de Smart Client. Este enfoque es más flexible en algunos casos que usar la duplicación de mezcla en el enfoque orientado a datos.
- 1. iPhone aplicación fuera de línea con sincronización
- 2. Stemming - ejemplos de código o proyectos de código abierto
- 3. jQuery fuera de sincronización
- 4. ¿Ejemplos de código abierto de aplicaciones de Android bien diseñadas?
- 5. Ejemplos de código abierto de aplicaciones Python bien diseñadas
- 6. Ejemplos de código abierto de aplicaciones bien diseñadas
- 7. Ejemplos idiomáticos, con clase, de código abierto de Cocoa Interfaces?
- 8. Buenos ejemplos en aplicaciones de código abierto para iPhone
- 9. ¿Hay alguna herramienta de línea de comando de código abierto para refactorizar el código de Java?
- 10. Sincronización de bases de datos en línea/fuera de línea - MySQL/PHP
- 11. ¿hay un servidor asp.net de código abierto?
- 12. ¿Hay soluciones de código abierto CAPTCHA disponibles?
- 13. ¿Hay algún motor AI de código abierto?
- 14. ¿Hay algún virus de código abierto?
- 15. ¿Hay buenos geoparsers de código abierto disponibles?
- 16. ¿Mejores herramientas de maqueta (de código abierto/abierto)?
- 17. ¿Hay un repositorio de código abierto para código SQL?
- 18. sincronización de la base de datos django para un uso fuera de línea
- 19. Buenos ejemplos de código scala idiomático
- 20. ¿Hay una implementación de código abierto de Java de R2RML?
- 21. Ejemplos de proyectos de código abierto php que se entregan con una cobertura de prueba completa
- 22. ¿Hay un manual fuera de línea de CakePHP?
- 23. decente html5 ejemplos de almacenamiento y almacenamiento en caché fuera de línea
- 24. incluyendo el código de "fuera de línea" en querys compilados
- 25. ¿Hay alguna biblioteca de memoria temporal jerárquica de código abierto?
- 26. ¿Hay utilidades o jarras de reflexión Java de código abierto?
- 27. ¿Hay alguna implementación de código abierto de APL?
- 28. ¿Hay algunas bibliotecas de código abierto de CAD en Java?
- 29. ¿Hay bibliotecas de gestos de código abierto en Android?
- 30. ¿Hay alguna buena implementación de Smalltalk de código abierto?
¿Algún cliente IMAP? – derobert
Pensé en clientes IMAP, pero IMAP no tiene funcionalidad completa cuando no está conectado, por ejemplo, los mensajes se guardan en la bandeja de salida y luego se cambian a correos enviados, por lo que tiene arreglos temporales ... esto es lo mejor que puedo explicar una breve oración sobre por qué IMAP no es un buen ejemplo. –
@Marc Preferiblemente Python. –