Клиент сервер - слишком простая модель, чтобы вообще использовать UML. Для более сложных случаев, да, обычно применяется диаграмма последовательностей.
Что же касается описания XML- это важнейшая часть работы. Здесь есть несколько хитростей.
1. Будучи однажды опубликованным протокол не может быть изменен. Протокол наиболее неизменная часть системы. Собственно описание протокола и есть архитектура. Вы можете поменять структуру хранения данных, можете даже перейти на другую платформу (с перла на джаву), протокол должен оставаться неизменным. Но можно опубликовать новую версию. Поэтому сразу ведите версионность протокола и расписывайте очень тщательно.
2. существует множество способов описания структуры XML сообщения. Из машиночитаемых, пожалуй наиболее популярны xsd и dtd. Некоторыми нотациями я пользовался, но мне больше нравится человекочитаемые.
В конце концов, я остановился на варианте нотации из трех частей. Сначала структура без значений, потом таблица с описанием элементов, потом пример с комментариями.
Нужен пример... Я попробую найти что-нибудь.