Some folks argue that JBI has less relevance due to it being a Java API. We obviously disagree . For a start see some of the comments in that article.
JBI is a Java API for working with integration components and web services on the Java platform. JBI is based on logical XML messaging to binding components which can be any external system; a web service based on SOAP 1.1 or 1.2, a REST service, CORBA service, DCOM or whatever. So JBI works completely fine with a heterogeneous environment; its the aim of binding components to handle the communication and protocol details to integrate with heterogeneous services of any kind.
The benefit of JBI is it provides a component model, container and management stack for deploying integration components on the Java platform to provide services such as Routing, Transformation or BPEL while integrating with many different transport and protocol bindings
Its also worth noting that even with the WS-* standards, there is still a large number of different version of specifications, they change rapidly and there is a need to mediate, transform and orchestrate even the WS-* services together with bridge a number of technology stacks and protocols.