I'd say that the current level of maturity of Web Services (including REST) and in the Java world EJBs (which may even use CORBA under the covers) cover what is needed for distributed enterprise systems.
I'd advise that one aspect that you should look at carefully is the degree of asynchronous interaction that you need in your distributed system. I postulate that any distributed system of a non-trivial scale needs asynchronous communications, and the infrastructure chosen should support asynch processing, typically that means queues.
That's not inconsistent with the use of WebServices (or indeed CORBA) but it does point up an aspect of your product selection that can get overlooked in the initial excitment of getting some distributed processing going