I have a number of external systems I would like to integrate my Tridion Published website with. I need my editors to be able to tag Components (or maybe Pages) with an ID of an item stored in another system. These IDs would then be used to bring in data from that system into the Page via some custom code on the Content Delivery side.
The other system has a database with a unique identifier and a name, plus other information.
I don't really want my editors to have to look up IDs manually from the external system. My thinking is to write a console application which connects to the external system and uses the Core Service to sync a list of the ID's from the database along with a user friendly name to a Category with a Keyword for each external "item" and then add a field to the Component's Schema's Metadata that allows the editor to relate a piece of content to the external system items.
Is this a valid approach? Has anyone seen any blog posts or tutorials about something similar?