Central Services: Architecture Overview

Some of you may have heard of this project before, a research project I started with some rapid prototyping in python called “User Data Services” now renamed to “Central Services”. The idea is that you should be able to access any kind of data from any kind of data source through well tested APIs over something useful like dbus.

This replaces the need for multiple implementations of the same data access, listing, indexing and meta data storage patterns in every user application and replaces each source with plugins. Since the prototype in python has ghastly memory usage for small collections of objects I want to move to something with better resource management and I’ve been investigating Vala and implementing strong paging and object garbage collecting for this reason.

This overview diagrams the proposed architecture for this service, taking into account what I have learned in the prototype phase. It will need some existing components to work, a very good search indexer, a meta data field manager and lots of useful data access plugins before it can become truely powerful, but I believe most of these parts already exist.

I’ll be looking into this project as time allows as it’s unfunded. Let me know if you think it’s interesting or if you have any comments (or if you think it’s rubbish).