1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a base program residing in the memory that references an aspect that references advice; and a weaving mechanism residing in the memory and executed by the at least one processor, the weaving mechanism determining whether the advice referenced by the aspect is local or remote, and when the advice is remote, the weaving mechanism generates remote invocation code that allows accessing the advice, accesses the advice, and weaves the advice into the base program, wherein the remote invocation code comprises: a client stub to handle parameter marshalling and unmarshalling; at least one call to the client stub inserted into the base program; and server code called by the client stub.