The goal for the project is to provide a portfolio of libraries, tools and applications that simplify using standards-based data meshes from multiple platforms and languages.
A data mesh allows information to be synchronized in a peer-to-peer way, allowing offline work, and synchronizing with whoever is available, not just a central database or a service on the internet. This makes it a perfect fit for situation where there is little/no connectivity or where the synchronization has to happen between different applications and services.
For example, one might create a data mesh that associates and synchronizes structured data from a Microsoft Access Database with a mobile phone running a Java XForms application and with an online Google spreadsheet.
Changes made on any one endpoint eventually sync to all of the other endpoints in the mesh. This architecture offers unique benefits for cross-organizational information sharing, particularly in austere communications environments, because it
Mesh4x projects use many open standards to be interoperable.
The most critical standard is FeedSync: FeedSync is an open protocol that describes data formats and algorithms used to version information in a mesh. It was created by Ray Ozzie and others in the Microsoft Concept Development Team, licensed under Creative Commons.
Non-sync technologies used in mesh4x include:
RDF as the default data representation, and the server exposes XForms as one of the formats in which to expose data and schemas so UIs can render forms-based interfaces.
Some adapters also implement standards specific to their domains - for example, the map synchronization component uses the KML standard to represent hierarchies of points, polygons, etc.
A data mesh allows two-way synchronization of information in a symmetric way, guaranteeing certain versioning behaviors regardless of the path data has taken. In this symmetrical exchange, you have an 'adapter' on each end. You could have an adapter to files, to a relational database, to HTTP exchange, etc.
See the list of Adapters with brief descriptions.
Want a new adapter? Propose it as an issue! Make sure it doesnt exist checking the list above and then create an issue.
Go to Source or the Source tab for instructions.
Various implementations following a unified design across platforms, for FeedSync synchronization.
Sync Libraries, Java http://code.google.com/p/mesh4x/source/browse/Mesh4j
Sync Libraries, .NET http://code.google.com/p/mesh4x/source/browse/Mesh4n
Contribute and add yourself here
InSTEDD - Contributions will be based on the requirements observed in global health, community development and humanitarian aid.
FeedSync is an open protocol licensed under Creative Commons, created by Ray Ozzie and others in the Microsoft Concept Development Team.