Py4J enables Python programs to dynamically access arbitrary Java objects. Methods are called as if the Java objects resided in the Python virtual machine. There is no code to generate and no interface to implement for shared objects on both sides.
the authors of ibo found the base ideas of ibo in the much stronger http://www.djangoproject.com/. if you stumbled in ibo, do have a look at our documentation, but please consider checking django.