It would help if you described what this application is trying to achieve - what does it need to do, how would it be used? This way we can discuss an architecture that supports the requirements.