Итераторы могут использоваться против любого вида набора. Они позволяют Вам определять алгоритм против набора объектов независимо от конкретной реализации. Это означает, что можно обработать Список, Набор, Строку, Файл, Массив, и т.д.
Десять лет с этого времени можно изменить Реализацию списка на лучшую реализацию, и алгоритм будет все еще работать беспрепятственно против него.
Да, безусловно. Службы Report Services имеют два хорошо зарекомендовавших себя интерфейса веб-служб.
Посетите эту страницу здесь: Веб-служба сервера отчетов и ссылки на нее для получения дополнительной информации info, или см. Руководство разработчика служб Reporting Services для получения некоторой исходной и концептуальной информации.
Вот определение класса ReportingService2005 во всех его деталях, в частности, есть ListChildren
веб-вызов, который перечисляет все элементы в заданной папке отчета. Это вернет все отчеты (и, возможно, источники данных)
Надеюсь, что это немного поможет!