OK, I must admit I am a newbie in Grid computing, so please correct me in the comment if I make some mistakes.
GRAM stands for Grid Resource Allocation Manager, acts as the representative between the JMS and end users using the popular web service interface. The invoked application and arguments are wrapped in the XML format, the request also contains the destination url, most likely in GridFTP server. The user may need to fetch the result once receives the reply from the server manually.
To ease this process, GRAM also supports some language bindings: C, Java, Python etc.