Michael Washington wrote
You're gonna take a hit in performance using web services. I don't agree wit the security argument. If someone hacks your DNN site that is REALLY REALLY bad. If they hack your website they will also have the keys (the passwords) to your web services.
Not that big of a hit depending on the implementation, and a web services implementation can greatly enhance scaling. I'm currently working on .Net web services implementations that are intended to scale to 10-14,000 TPS. One major advantage from a performance side is load balancing your requests across multiple instances, so 1-N DNN instances running the GUI portion could reference 1-N business services. A standard installtion causes the business logic to execute on the server hosting the GUI, not always desirable in a large scale implementaion.
Also, from a security standpoint if they hack your DNN site they have the passwords for your web services, but they don't encessarliy have the passwords for the databases that are behind them.
If someone has Host access to your site they can upload a module that will show them the source code to every file and they can read all the connection strings in the web.config. Even if connection strings and passwords are encrypted they can upload modules that will allow them to still make calls against anything the DNN site has access to.
True, but their opportunities for mischeif will be limited to what's provided by the web service API's, and a well designed site wouldn't allow you to call those API's from the outside world. They would have to get code onto the DNN site to call those services. Possible if they get host access, but that means learning the WS APIs (something somewhat difficult without access to the code), developing a module, installing it, etc.
Obviosuly the web services solution is not for typical isntallations. There's little point in doing it for anything but the largest scale inplementations.