The “Institut de Cultura de Barcelona” (ICUB) wanted to create a tool that allowed them to open their data about all the artwork in the collections of their affiliated museums to the general public (following the Open Data philosophy) as well as their museums, who were locked-in to their IT vendor.
They wanted this new system to be capable of running partly in the Cloud.
The problem was that the existing software the museums in Catalonia were using, left a lot to be desired when it came to the web interface and customizations. Changing these interfaces required the IT vendor involvement and it was only possible to a limited degree.
We built an elaborate Application Programming Interface (API) making it possible to connect the existing database (which as you can imagine is large) to any possible new interfaces to be developed in the future (Front-end).
So now, if any museum wishes to update or re-design their website, they are free to do so while still being able to connect flawlessly to the existing data on the Back-end. This offers an elegant solution extending the life of the existing infrastructure greatly and thus keeping costs to a minimum.
This API allows for the fulfillment of the “Open Data” vision of public access to the information as the API is also available for anyone who wants to use it.
We are using the Play framework as it provides a very scalable foundation for the platform. We are also leveraging the Scala language to implement the complex data models in a type-safe way. A combination of MySQL and ElasticSearch provides the storage and search for the system.
We are also supporting the production deployment in the cloud using the Heroku PaaS.