Outline of Plug-in effort

I am hoping someone could point me at URLs or documents or just suggestions on how to go about building a plug-in for Conf that will act as a data dictionary. I already have an Eclipse/Maven project working and importing but how to build the components/servlets has me confused. Either the user adds a Macro to a page in a space that allows the user from the View Page mode to interact with the underlying DOM or I have to build a series of UIs - but how to access them? The goal is to track application/db/schema/table/field//dd item in a master list of pages, but be able later in the text of a page reference the dd item like the Jira Issue macro (e.g.: @ddi(id or other tag) so when viewing the page, the @macro becomes a hyperlink to the DD Item so they can jump to it if need be. Also, adding the macro means the DD Item child list of conf pages is updated so viewing the item shows a list of Conf pages.