Thanks to the comment by bfavaretto I looked into web sockets and found a service called Pusher. It's a paid web sockets engine that offers a free limited use sandbox which is just fine for what I'm doing now. If nothing else it gets me off the ground.
Here is my general workflow:
Desktop refers to the client running the main interface and Tablet refers to a tablet which accepts drawn signatures.
- "Desktop sends a post request to a controller asking for a signature and providing a prompt. e.g. "By signing here you agree to the terms..."
- Controller activates a server side Pusher instance and sends a message asking for a signature.
- Tablet subscribes to the Pusher channel and waits to receive a signature request and prompt.
- When the signature request message is received, Tablet shows the Thomas Bradley signature plugin.
- User signs the page and submits signature as a POST back to the server.
- A controller takes in the signature and sends a Pusher message to the desktop with a copy of the signature.
- The desktop client renders a read-only copy of the signature (using Thomas's plugin) to be verified by the operator.
- Signature (along with other data) is submitted to be stored in database.
Hope this helps and I'd be happy to clarify any of what I did to make this work.