1. A computer-readable storage medium storing an object request broker abstraction layer for allowing remote access to a server object, comprising: at least one user-defined non-generic interface; at least one code template having instructions for a code generator to produce source code for a client and a server, wherein the client side source code comprises at least one generated user-defined non-generic interface for an event emitted from the server; and the code generator comprising at least one routine, wherein said code generator produces the client side source code and the server side source code in high level language, using the code template and said user-defined non-generic interface, and wherein a variable in the code template is substituted with respective return types for at least one method described in an interface definition file providing a static type safety in the generated user-defined non-generic interface and said client side source code and said server side source code allow creation and access to said server object via said generated user-defined non-generic interface, and wherein said server side source code notifies a registered remote client by presenting a received event via said generated user-defined non-generic interface; and wherein said client side source code caches said received event.