При публикации форм InfoPath 2003 возникало несколько проблем. В частности, одной из проблем было то, что описание внешних источников данных было жестко зашито в форму. С другой стороны если несколько форм использовали, скажем, один web service, то необходимо было поддерживать актуальность этой информации для всех форм.
InfoPath 2007 совместно с новой версией SharePoint предоставляют механизм, позволяющий устранить эту проблему. Если не вдаваться в детали, то механизм выглядит примерно следующим образом
Т.е. мы получаем единое хранилище всех соединений, которое можно редактировать независимо от форм. Плюс есть еще один приятный момент. Ссылку на Data Connection Library можно задавать относительно места публикации формы.
Я хотел бы еще отметить, что публикация форм вообще претерпела изменения в лучшую сторону в новой версии InfoPath. Как известно публикация формы в InfoPath 2003 это не только физическое размещение xsn файла по определенному адресу, но и прописывание этого адреса в manifest.xsf. Так вот, теперь можно сначала сформировать xsn файл, а потом разместить его в требуемое место. Это удобно если боевая среда не доступна на момент разработки формы.
Теперь я расскажу, как сделать в InfoPath такой Data Source
Сначала создадим библиотеку для хранения источников данных. Библиотека должна иметь тип Data Connection Library
Затем необходимо открыть список соединений в форме InfoPath и выбрать “Convert…”
На этом шаге нам необходимо указать путь до той библиотеки, которую мы только что создали
В результате в библиотеке появится примерно такая запись
Если скачать эту запись и открыть в текстовом редакторе, то станет очевидно, что надо сделать чтобы перенастроить это соединение
В заключении хотел отметить, что подобный механизм также доступен для других офисных продуктов, в частности для Excel. Почитать на эту тему можно тут
Замечательное ревью Data Connection Library! Спасибо!
Кстати, мы повесили несколько новых статей про DCL на блоге команды InfoPath -
http://blogs.msdn.com/infopath/archive/2006/10/02/Data-Connections-in-Browser-Forms.aspx