Putting business logic on on eplace as much as possible ist good because it is easier to overlook and to maintain. This however is only true for the source code.
If you can organize your project in a manner, where an automated system deploys the compiled or generated code to different places, you can have the advantage of logically centralized business logic, and the advantage of its distribution to many places.
The horizontal distribution is relatively easy (clustering), vertical is still quite difficult - but not undesirable. It would be nice, if one line in my sourcecode would be automatically propagated to JavaScript in the Browser, compiled code in the middle tier and stored procedure in the Database.