Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
MVP 2010, 2011
- Консалтинг
- Проектирование
- Разработка
- Обучение
MVP 2010, 2011
CRM Reports - сага про коннектор
Запись от Артем Enot Грунин размещена 20.01.2010 в 15:10
Теги connector, reports, scheduling, настройка
В среднем раз в месяц на форуме задаются вопросы из серии "почему я не могу получить доступ к отчетам со своего компьютера" и "для чего нужен коннектор для служб отчетов". Всякий раз, я тыкаю людей в одни и те же ссылки и топики с объяснениями и вот недавно сам открыл для себя нечто новое, но начну историю сначала...
Итак, первое что нужно отметить, при установке системы мы обязательно указываем интернет адрес сервера отчетов. Вопрос "зачем?" терзает меня уже не первый год. Во-первых потом можно будет изменить эту настройку, во-вторых потом можно будет убить сам сервер отчетов и в-третьих не всем эти отчеты вообще нужны! Как бы там ни было, мы должны понимать, что служба отчетов - отдельный программный сервер со своей системой безопасности/проверки подлинности/авторизации, который может находиться на другой физической машине. Именно этот случай чреват проблемами авторизации. Что при этом происходит? Вы подключаетесь к серверу CRM, отрабатывает встроенная аутентификация Windows (по умолчанию IE производит ее для всех сайтов интрасети), после чего веб сервер разрешает вам доступ к системе. Теперь, вы авторизованы на сервере CRM и хотите просмотреть отчет. Вы идете в раздел отчеты и запускаете его на исполнение. Рендер отчетов CRM перенаправляет ваш запрос на сервер SSRS, который так же запрашивает у него авторизацию. Вот тут и возникает интересный момент: что должен ответить CRM службе отчетов на вопрос "Кто здесь?!"? Должен ли он передать учетные данные текущего пользователя или честно сознаться: "Я CRM сервер..."? По умолчанию в 2003 семействе Windows Server (за другие судить не решаюсь) запрещено подобное делегирование полномочий и, следовательно, пользователь не получит своего отчета. В мире CRM 3.0 проблема решалась настройкой "доверительных отношений" между серверами. Так называемая "double-hop Kerberos authentication".
Подробно настройка изложена в документе
Microsoft CRM 3.0: Additional Setup Tasks Required if Reporting Services Is Installed on Different Server, доступном по ссылке. Данное решение справедливо и для 4.0 и в ряде случаев даже предпочтительно.
Другой интересной примочкой к CRM 3.0 и SSRS был так называемый Microsoft CRM 3.0 Report Scheduling Wizard. Данное средство восполняло такую потерю функционала SSRS как "Снимки отчетов" при работе с отчетностью в CRM (так как отчеты используют дополнительную фильтрацию, они могли некорректно отражаться на снимках).
Что изменилось с выходом 4.0? Концептуально, пожалуй, ничего! Идеология осталась той же, за исключением ряда технических улучшений. Впрочем, тоже спорных. Тем нее менее, в состав дистрибутива теперь входит новый компонент: Microsoft Dynamics CRM Data Connector for SQL Server Reporting Services. Он берет на себя все тяготы по преодолению двойной авторизации, в том числе и в случае с доступом через Интернет. Подобный эффект достигается за счет добавления дополнительной примочки-препроцессора на SSRS сервер, которая берет на себя все вопросы связанные с передачей прав между сервисами. Итак еще раз: установка компонента нужна в 3х случаях:
1. SSRS находится на другой физической машине, нежели CRM
2. Вы планируете развертывание CRM с доступом через Интернет (IFD) или любом другом случае, когда NT аутентификация не возможна (извращенные сетевые конфигурации, терминалы и пр.).
3. Вы будете составлять снимки отчетов по расписанию. В 4.0 эта опция включена в базовую поставку системы.
Последняя причина, вероятно, не столь значима как все предыдущие, и, как правило остается без внимания интегратора. Вообще говоря, это довольно странно, что встроенные функции CRM по запуску отчетов по расписанию зависят от внешнего по отношению к системе решения. Возможно опция была бы более востребована не будь это так, но, как бы то ни было, я и сам игнорировал ее долгое время. И вот недавно я наткнулся на функционал, который, как мне показалось, вообще никак не освещен в прессе. Дело в том, что список отчетов в CRM имеет область предпросмотра, как и все прочие. Открыв ее я получил длительное зависание системы, после чего вылетела ошибка с сообщением, что не установлен коннектор к службе отчетов. Заинтересовавшись, я решил изучить данный вопрос. Как оказалось, данная фитча так же связана с планированием отчетов. Если установлен коннектор и работает планирование, то на области предпросмотра будут отображаться сохраненные снимки отчетов. Смешно сказать, но это было и в 3.0. Интересный и, надо отметить, полезный в ряде случаев функционал. Можно, например, настроить помесячное планирование снимков некоторого отчета и прямо из списка просмотреть помесячную динамику изменений.
Надо отметить, что планирование отчетов в 4.0 не лишено изъянов. Основной проблемой является зависимость от компонента Microsoft Dynamics CRM Data Connector for SQL Server Reporting Services. Типовая установка системы осуществляется на один физический сервер, что порождает проблему с безопасностью доступа к данным, в случае развертывания этого компонента: http://blogs.msdn.com/crm/archive/20...connector.aspx. В принципе, внутри интрасети на нее можно начхать. Кроме того, система может хранить лишь 8 последних снимков, а визард может глючить при определенных входных параметрах.
Итак, первое что нужно отметить, при установке системы мы обязательно указываем интернет адрес сервера отчетов. Вопрос "зачем?" терзает меня уже не первый год. Во-первых потом можно будет изменить эту настройку, во-вторых потом можно будет убить сам сервер отчетов и в-третьих не всем эти отчеты вообще нужны! Как бы там ни было, мы должны понимать, что служба отчетов - отдельный программный сервер со своей системой безопасности/проверки подлинности/авторизации, который может находиться на другой физической машине. Именно этот случай чреват проблемами авторизации. Что при этом происходит? Вы подключаетесь к серверу CRM, отрабатывает встроенная аутентификация Windows (по умолчанию IE производит ее для всех сайтов интрасети), после чего веб сервер разрешает вам доступ к системе. Теперь, вы авторизованы на сервере CRM и хотите просмотреть отчет. Вы идете в раздел отчеты и запускаете его на исполнение. Рендер отчетов CRM перенаправляет ваш запрос на сервер SSRS, который так же запрашивает у него авторизацию. Вот тут и возникает интересный момент: что должен ответить CRM службе отчетов на вопрос "Кто здесь?!"? Должен ли он передать учетные данные текущего пользователя или честно сознаться: "Я CRM сервер..."? По умолчанию в 2003 семействе Windows Server (за другие судить не решаюсь) запрещено подобное делегирование полномочий и, следовательно, пользователь не получит своего отчета. В мире CRM 3.0 проблема решалась настройкой "доверительных отношений" между серверами. Так называемая "double-hop Kerberos authentication".
Подробно настройка изложена в документе
Microsoft CRM 3.0: Additional Setup Tasks Required if Reporting Services Is Installed on Different Server, доступном по ссылке. Данное решение справедливо и для 4.0 и в ряде случаев даже предпочтительно.
Другой интересной примочкой к CRM 3.0 и SSRS был так называемый Microsoft CRM 3.0 Report Scheduling Wizard. Данное средство восполняло такую потерю функционала SSRS как "Снимки отчетов" при работе с отчетностью в CRM (так как отчеты используют дополнительную фильтрацию, они могли некорректно отражаться на снимках).
Что изменилось с выходом 4.0? Концептуально, пожалуй, ничего! Идеология осталась той же, за исключением ряда технических улучшений. Впрочем, тоже спорных. Тем нее менее, в состав дистрибутива теперь входит новый компонент: Microsoft Dynamics CRM Data Connector for SQL Server Reporting Services. Он берет на себя все тяготы по преодолению двойной авторизации, в том числе и в случае с доступом через Интернет. Подобный эффект достигается за счет добавления дополнительной примочки-препроцессора на SSRS сервер, которая берет на себя все вопросы связанные с передачей прав между сервисами. Итак еще раз: установка компонента нужна в 3х случаях:
1. SSRS находится на другой физической машине, нежели CRM
2. Вы планируете развертывание CRM с доступом через Интернет (IFD) или любом другом случае, когда NT аутентификация не возможна (извращенные сетевые конфигурации, терминалы и пр.).
3. Вы будете составлять снимки отчетов по расписанию. В 4.0 эта опция включена в базовую поставку системы.
Последняя причина, вероятно, не столь значима как все предыдущие, и, как правило остается без внимания интегратора. Вообще говоря, это довольно странно, что встроенные функции CRM по запуску отчетов по расписанию зависят от внешнего по отношению к системе решения. Возможно опция была бы более востребована не будь это так, но, как бы то ни было, я и сам игнорировал ее долгое время. И вот недавно я наткнулся на функционал, который, как мне показалось, вообще никак не освещен в прессе. Дело в том, что список отчетов в CRM имеет область предпросмотра, как и все прочие. Открыв ее я получил длительное зависание системы, после чего вылетела ошибка с сообщением, что не установлен коннектор к службе отчетов. Заинтересовавшись, я решил изучить данный вопрос. Как оказалось, данная фитча так же связана с планированием отчетов. Если установлен коннектор и работает планирование, то на области предпросмотра будут отображаться сохраненные снимки отчетов. Смешно сказать, но это было и в 3.0. Интересный и, надо отметить, полезный в ряде случаев функционал. Можно, например, настроить помесячное планирование снимков некоторого отчета и прямо из списка просмотреть помесячную динамику изменений.
Надо отметить, что планирование отчетов в 4.0 не лишено изъянов. Основной проблемой является зависимость от компонента Microsoft Dynamics CRM Data Connector for SQL Server Reporting Services. Типовая установка системы осуществляется на один физический сервер, что порождает проблему с безопасностью доступа к данным, в случае развертывания этого компонента: http://blogs.msdn.com/crm/archive/20...connector.aspx. В принципе, внутри интрасети на нее можно начхать. Кроме того, система может хранить лишь 8 последних снимков, а визард может глючить при определенных входных параметрах.
Всего комментариев 3
Комментарии
-
Спасибо за глубокую детализацию, очень полезно.
Запись от Roman08 размещена 20.01.2010 в 20:38 -
А почему интерфейс на картинке на языке вероятного противника? На диске, который мне прислал майкрософт, все только на русском.
Запись от Dmitry V. Liseev размещена 24.03.2010 в 20:51 -
Рад за Вас! Производственный сервер у меня тоже русский, но все свои зловещие эксперименты я провожу на стандартной демонстрационной виртуалке, которую делал противник.
Запись от Артем Enot Грунин размещена 26.03.2010 в 09:45