We are sort of off topic, which is my fault. But you're a good guy so I'll keep going for now.
A contradiction? MC does indeed do a great many things but it's not functionally separate. You can't hive the database off to a database server. You can't put transcoding onto an application server. You can't move database maintenance to a utility PC. You can't move the player UI to a remote (Theater View is getting there but still not completely usable). You are correct, this is the way to go, which is why it makes sense to put the server onto a NAS, as serving is what they are designed to do.
I just meant that JRiver is a great media player and server. NAS *is* a well known function that I've been using in one form or another for 20+ years, so I agree that it's a decent architecture for a big music system. Of course it adds complexity too...
I think, if your files are stored on a NAS (which is not an unreasonable thing....) it's actually complicating things by having to switch a PC on too in order to play a piece of music. The NAS itself should serve the files to whatever player you are using, it shouldn't need an extra device to do that.
That's a stylistic decision tempered with how much you trust your players to do it as well as JRiver does. For casual music listening, this makes sense to me. But if I had a dedicated music server, I'd just keep it on 24/7 and probably run JRiver on it. Like an ID for example.
Or are you advocating that you should always put your data storage on the same machine where your end-user applications are running in order to simplify things?
If possible, absolutely. But I totally understand that this doesn't make sense in a system where you have several clients, possibly of different types. If possible, you'd want to use JRiver for the whole thing and probably "drive" it all with JRiver as the controller, just using network players are DLNA renderers. Which makes them just sort of "dumb receivers" as far as my understanding goes.
What do you mean by transcoding being done in a purposeful way, not on demand?
When transcoding video or audio from one format to another a lot of decisions get made. Some programs do it better than others. All require you (or the program) to decide what parameters are used in doing so. If I'm going to change the format of (almost) any part of my collection, I want to control it. "On the fly", real time transcoding from a NAS box makes me think that it's probably not doing the best quality job. It's certainly not letting me control the parameters. If I'm going to transcode video, I want to do it offline with specific parameters to control video quality. Audio I would never transcode purposefully unless there is a specific need to. For example converting DSD to high sample rate PCM because my DAC can't play DSD. I trust JRiver to do this job correctly because it's known to do it well. I wouldn't let the NAS box touch that job. I hope that makes sense.
Brian.