You can use any Java API through the use of the ActionHandler mechanism. If you want to contact systems that expose their API in other languages such as C++ you should rely on the standard Java mechanisms to do so such as JNI.
You can use WebServices to access remotely to your servers.
Just call your web services from your jbp ActionHandler.
my 2 cts