The glue should be structured data, none of that object bs. It should also have the option for plain text because sometimes that is all you need and you want simple tasks to remain simple. I'm guessing you'll use some sort of binary spec in order to help in the conversion of data structures between languages.
Once you have the communication between programs handled all you need is a decent language to handle the logic. The language doesn't really matter though since the core that allows all of this is not tied to any one language. I'm sure plenty of people would write their own wrapper for their favorite language.