In addition to what Bozhidar mentioned:
I also work on
https://github.com/clojure-emacs/clj-refactor.el which communicates with a backend,
https://github.com/clojure-emacs/refactor-nrepl, which is written in clojure. For now we've been limiting ourselves to data structures which are eaily readable in emacs lisp (strings, lists, association lists etc) but for more complex values I'd like to use edn and edn.el.
I've also realized that when I need a 'client' for something, hacking together something in emacs is incredibly easy. I often feel like I get more than the proverbial 80% when I invest 20% of my efforts on top of emacs :) Take a look at this incredibly cool demo of a REST client written in emacs:
http://emacsrocks.com/e15.html