We are currently reviewing how to isolate our core business components (in the code) from the front end development. We already have multi-tier architecture but they are referenced using dll (or webservices in some places).
What we would like to do is to outsource some part of UI to external developers. The problem is that we have to provide the dll which can be reverse engineered and the core business logic code then can be "obtained".
One way to tackle this instead of exposing BO using dll, use Webservices to expose BO. However there are few problems. for e.g. Security, Debugging, exception handling, hosting etc. To me this does not sound right for the issues mentioned above but also web services are not meant for such problems.
I am wondering does anyone has come across similar scenario? or If someone has done this? if so how?
Thanks,