Я не изучал эту тему, у нас (ынтырпрайз лютый) серверные братья описываю все сигнатуры в xml, мы при сборке через xslt кодогенерим. Как результат, полный контроль над типом и числом аргументов. Если в сигнатуру добавили обязательный параметр - ломается билд
Может быть в 2008 году это было общепризнанной практикой (BPEL?), потому как и в моей команде практика из xml-дескрипторов через xslt генерить запросы.
Три года назад после очередного расширения клиентской базы (и внедрения JSON) система начала почихивать. После пары прототипов было решение переписать парсинг xml-дескрипторов на С++. Я сначала возмущался, что в старом проекте тесты не предусмотрены, и т.п. Постепенно допилил свою альтернативу до готовности. И сильно удивил тимлида тем, что новый проект на С++ а) однопоточный, б) довольствуется крохами ОЗУ, в) с SQL-прокси PgBouncer работает хуже, чем без него.