Эти две технологии также можно использовать для описания одного из главных преимуществ обмена сообщениями, т. е. слабой связанности. Мы обсудим два аспекта связанности в контексте приложений для обмена сообщениями: связанность процессов и связанность приложений.
Связанность процессов
В случае системы мгновенного обмена сообщениями обе стороны, принимающие участие в обмене информацией, должны быть доступны в момент отправки сообщения. Следовательно, с точки зрения процесса, можно сказать, что отправляющее и принимающее приложения связаны жестко.
Напротив, пользователь может послать электронное письмо адресату независимо от того, доступен ли адресат в данный конкретный момент. В этом случае отправитель связывается с посредником, который может хранить письмо до тех пор, пока адресат не затребует его. Процесс-отправитель и процесс-получатель, в данном случае, можно назвать слабо связанными. Посредником в данной ситуации выступает какой-нибудь почтовый сервер, но в общем случае его можно назвать провайдером системы обмена сообщениями (messaging provider).
Связанность приложений
Наряду с обеспечением слабой связанности на уровне процессов, обмен сообщениями может обеспечивать слабую связанность и на уровне приложений. В данном контексте слабая связанность означает, что приложение-отправитель не зависит от интерфейса, который предоставляет приложение-получатель. Оба приложения должны принимать во внимание только интерфейс, предоставляемый провайдером системы обмена сообщениями, который позволяет им подключаться и обмениваться данными. У большинства современных провайдеров систем обмена сообщениями эти интерфейсы вполне стабильны и, в некоторых случаях, основаны на открытых стандартах. Это позволяет приложениям, обменивающимся сообщениями, сконцентрироваться на формате данных, которыми они обмениваются, а не на интерфейсе, применяемом при обмене. По этой причине приложения, обменивающиеся сообщениями, можно назвать ориентированными на данные.
Сравните их с приложениями, использующими Enterprise JavaBeans (EJB). Приложения-клиенты EJB должны знать интерфейс, который предоставляет EJB-компонент. Если интерфейс меняется, клиент EJB должен быть перекомпилирован, чтобы избежать ошибок в среде выполнения. По этой причине EJB-компоненты и их клиенты могут быть названы жестко связанными. Также по причине зависимости от интерфейса, предоставляемого EJB, такие приложения также можно назвать ориентированными на интерфейс.