If you are forced to use java components (i.e. AJAX rejected), use JMS for the former case and use synchronization like what Farzad said for the latter.
Strictly speaking, your first applet should subscribe to a JMS topic and get informed whenever changes occur, and your second applet checks periodically and does necessary synchronizations.