|
Project Information
Members
Featured
Wiki pages
Links
|
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. IntroductionA 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
Standards and TechnologiesMesh4x 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. AdaptersA 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. List Of Existing Adapters in the Task List Want a new adapter? Propose it as an issue! Make sure it doesnt exist checking the list above and then create an issue. News: Download and trying it out: Use Fuse!
SourceGo to Source or the Source tab for instructions. We have rumours contributors are working on Ruby and Javascript and Python. Stay tuned. Sync LibrariesVarious implementations following a unified design across platforms, for FeedSync synchronization. We are implementing in Java, .NET, and have some contributors working on their free time in Ruby and JavaScript versions. While each language may take advantage of different idioms to tackle similar problems, we think that sticking to some common architectural assumptions across implementations will help increase the overall productivity of contributions. Sync Libraries, Java http://code.google.com/p/mesh4x/source/browse/Mesh4j Sync Libraries, .NET http://code.google.com/p/mesh4x/source/browse/Mesh4n ContributorsPeopleEduardo Eduardo Jezierski's (ed) Blog Pablo M. Cibraro's (cibrax) Blog Juan Marcelo Tondato's (jmt) Blog Contribute and add yourself here Contributing OrganizationsInSTEDD - Contributions will be based on the requirements observed in global health, community development and humanitarian aid. Clarius Consulting - Original development of FeedSync .NET libraries. Now working with InSTEDD. FeedSync is an open protocol licensed under Creative Commons, created by Ray Ozzie and others in the Microsoft Concept Development Team. |