Achieving loose coupling in the component-based Miles software development Platform: A Proof of Concept
Abstract
The overall aim of this Master Thesis was to achieve a long life-time for the Miles Platform by enabling loose coupling between its various components and tools. The Miles Platform is a software development platform consisting of several interconnected tools and components. For this platform to survive future changes in technology it must be possible to replace the various components without requiring large changes to the surrounding dependent components. Based on a preceding prestudy, a layered Proof of Concept was implemented and evaluated with respect to the success of the implementation, coupling (modifiability) and amount of work. Simple prototypes involving the two first layers, namely the RESTful and the Atom Publishing Protocol based layers were implemented. The final prototype included all three layers, which involved using Semantic Web technology in addition the RESTful Atom Publishing Protocol. Only a few non-blocking issues are unresolved for this final prototype. Both the RESTful, Atom Publishing Protocol and Semantic layer contributed to maintaining a stable interface on top of the issue tracker component. By enforcing stable interfaces and serving as wrappers or intermediares between the issue trackers and their dependent components, each layer contributed to achieving looser coupling, if not in all dimensions. If the issue trackers have many dependent components that needs customization in order to communicate with the issue trackers, and the issue trackers are expected to be replaced one or preferably several times, a positive return on investment are expected from this Proof of Concept.