Aleks Drozdov – enterprise architect for Discovery system at the National Archive (TNA). Going to speak about APIs and Data and how implemented in Discovery system at TNA.
My Introduction to APIs post is relevant to this talk.
API and Data
An API = Application Programming Interface. Web API – in web context the API is typically defined as a set of messages over HTTP. Response messages usually in XML or JSON format.
Data – explosion in amount of data available. Common to ‘mashup’ (combine) data from a number of sources. Also User contributed data.
Discovery Architecture
At the base has a ‘Object Data Store’ – NoSQL object oriented database (MongoDB)
Getting data into Discovery
Vast number of different formats feeding into Discovery:
XML, RDBMS, Text, Spreadsheets etc. Go through a complex/sophisticated data normalisation process. Then fed into MongoDb – the Object Data Store
Discovery data structure
Discovery treats all things as ‘informational asset’ – you can build hierarchies by links between assets
http://discovery.nationaarchives.gov.uk/SearchUI/details?Uri=C10127419
Last number here is a unique and persistent identifier for an information asset [not clear what level this is
Discovery API examples
Documentation at http://discovery.nationalarchives.gov.uk/SearchUI/api.htm
API endpoint at: http://discovery.nationalarchives.gov.uk/DiscoveryAPI
Just 6 calls supported (see http://discovery.nationalarchives.gov.uk/SearchUI/api.htm)
Can specify xml or json as format for response: http://discovery.nationalarchives.gov.uk/DiscoveryAPI/xml/ or http://discovery.nationalarchives.gov.uk/DiscoveryAPI/json
Search: http://discovery.nationalarchives.gov.uk/DiscoveryAPI/xml/search/{page}/query= or http://discovery.nationalarchives.gov.uk/DiscoveryAPI/json/search/{page}/query=
3o results per page
e.g. http://discovery.nationalarchives.gov.uk/DiscoveryAPI/json/search/1/query=C%20203
See documentation at http://discovery.nationalarchives.gov.uk/SearchUI/api.htm for details of other calls.
Next steps
Now have Discovery Platform and getting people to use API – next plan to build a Data Import API – so that External data can be brought into Discovery platform. Also want to build User Participation API.