On the Enterprise Integration Patterns site I mentioned before
Durable Subscriber looks like persistent messaging is an implementation detail in building Durable Subscriptions.
There is a relationship we haven't hit yet, and I don't know if it has a name. Let's say the subscriber always exists - the first thing created at system startup and the last thing destroyed - but publishers come and go all day. Open a window, create a new publisher. Log on a user, create a new publisher. The vanilla Observer pattern doesn't handle this because the Observer needs a reference to the Observable so it can sign up for messages. Some intermediary is needed to manage subscriptions. This is an option that is barely mentioned in the GoF on Observer but JMS handles it as a natural part of life.