I don't know what these "three ways" are, but the GPL in general will not cross a process boundary. As long as you talk to it cross-process, you're safe from the point of view of combining code. You're even "safer" if you're talking across servers. (Scare quoted because you're basically 100% safe either way.) Other clauses may need to be respected as well but they tend not to be onerous.
Obviously, with sufficient effort, you can do anything across a process boundary, it's just inconvenient, and you have to at least share all the changes you made on the GPL side.
Obviously, with sufficient effort, you can do anything across a process boundary, it's just inconvenient, and you have to at least share all the changes you made on the GPL side.