gprs is like any network connection, sockets or anything that works on a internet connection will work.
you can make the communication between the gprs module and the client using a server/client schema or something more home-brew using a webserver in the middle.
the server/client schema will require you use java to make a server on the remote printer, that will be always active to receive messages from(s) clients.
if you cant use java or anything, you can use a webserver in the middle where the printer will check for messages for him. and make or answer the messages
the correct schema of connection really depends of:
1) if the grps can be always active
2) the capacity of the remote printer to execute (java, php whatever)
3) the capacity or how the clients should interact (directly, indirectly, using a website etc..)