1. A system for generating source code to enable communication between a server defined according to a first programming language and a client defined according to a second programming language, the system comprising: a code generator operable to identify a server data structure defined according to the first programming language, to determine types of the data structure that are not accessible via a runtime conversion library for communications between the server and the client, and to generate a revised data structure in the first programming language comprising types that are accessible via the runtime conversion library and that may be used to manipulate the inaccessible types; the code generator further operable to generate source code in the second programming language for the client to access the revised data structure via the runtime conversion library, the source code correlating types of the revised data structure to the inaccessible types of the original data structure.