Applications that integrate or consume multiple different databases, file formats or other sources of data often face this issue: How do we access data in a way that can be reused despite different data structures and underlying technologies?
There’s good news ahead. The Apache Foundation’s Incubator has accepted the MetaModel project into it’s portfolio of projects. So far MetaModel has been available under the LGPL license and was published through the eobjects.org site, an open source playground by dutch data quality vendor Human Inference. CEO of Human Inference, Winfried van Holland, says:
"At Human Inference we are extremely happy to donate this essential library to the Apache community. We have seen how good projects prosper there and we wish to give back some of this value and at the same time ensure the best possible future for MetaModel, which is one of our core building blocks for data management solutions."
Founder of the project and lead developer at Human Inference, Kasper Sørensen, has put together a blog post on the usage and origin of MetaModel, introducing it to newcomers from the Apache community. He explains the project scope and how it differs from e.g. traditional Object-Relational Mapping (ORM) framework alternatives:
"It's all about making sure that the way you work with data is standardized, reusable and smart. [...] But MetaModel is by choice not an ORM! An ORM assumes an application domain model, whereas MetaModel, as its name implies, is treating the datastore's metadata as its model."
MetaModel provides connectivity to a wide range of data sources, such as JDBC databases, NoSQL databases, various file formats and cloud platforms such as Salesforce.com and SugarCRM. The project strives to expose the metadata of it's data sources and let the developer use this metadata in order to explore, query and update the data.
With the acceptance into the Apache foundation, the project's development model is becoming more open too. Human Inference will no longer be the sole decision maker and the project is actively seeking involvement in the community to help set the right path.
So if the multiplicity of data sources, data structures and data technology is also a pain for your application, you might want to give MetaModel a look – maybe even join it’s reborn community at Apache!