top of page

Что Такое Virtual Entities? Полное Руководство

Writer's picture: Sarov+Sarov+

Updated: Feb 11, 2024

В нашем быстро меняющемся мире технологий, мы постоянно ищем способы улучшить интеграцию и управление огромным потоком данных. Как использовать эти данные наиболее эффективно, особенно в контексте систем управления взаимоотношениями с клиентами (CRM)? Ответ кроется в специальной концепции Virtual Entities.


Этот инновационный подход позволяет нам более гибко взаимодействовать с различными источниками информации. Мы научились создавать мосты между физическими и виртуальными данными, обеспечивая бесшовную интеграцию. Такой простой и удобный метод делает управление информацией не только доступным, но и намного эффективнее.


virtual data

Цель данной статьи — осветить роль и возможности Virtual Entities в контексте CRM. Мы не только опишем, что собой представляют Virtual Entities, но и рассмотрим конкретный практический пример их применения в реальном бизнес-проекте. Проект, рассмотренный в статье, демонстрирует интеграцию данных из облачных сервисов, таких как Azure Search и Cosmos Database, в систему Dynamics CRM, иллюстрируя, как эти технологии могут быть использованы для повышения эффективности бизнес-процессов.


business processes

Через анализ этого проекта мы углубимся в обсуждение особенностей, возможностей использования и ограничений Virtual Entities, а также их практического применения. Это даст ценное представление о том, как современные технологии могут быть адаптированы для решения конкретных бизнес-задач, а также о потенциальных проблемах и ограничениях, с которыми могут столкнуться разработчики и пользователи CRM-систем.


А узнать больше про Virtual Entities можно в нашем видео:


Что такое Virtual Entity?

Virtual Entity в контексте систем управления взаимоотношениями с клиентами (CRM) представляет собой уникальный элемент, который воплощает новый подход к работе с данными. Это таблица в CRM, которая существует только как оболочка без реальных данных внутри. Она включает в себя основные элементы, такие как имя сущности (entity name), поля, отношения (relationships), но не содержит данных непосредственно в CRM.


What is Virtual Entity

Суть Virtual Entity заключается в том, что она функционирует как связующее звено между CRM и внешними источниками данных (External Data), которые физически расположены в других системах или базах данных. Эта концепция позволяет CRM интерактивно обрабатывать и представлять данные, находящиеся в другом месте, как будто они находятся непосредственно в системе CRM.


Особенность Virtual Entities заключается в необходимости кастомизации для обеспечения работы с внешними данными. В отличие от обычных таблиц CRM, где Microsoft предоставляет встроенные механизмы для выполнения операций создания, обновления, удаления (CRUD-операции) и других событий, в случае с Virtual Entities необходимо разрабатывать специализированный код или плагины. Это требуется потому, что внешние данные могут происходить из разнообразных источников, для которых нет универсальных провайдеров в Microsoft.


Хотя Microsoft предоставляет некоторые самописные провайдеры, они могут быть не всегда подходящими из-за специфики структуры внешних баз данных, что требует индивидуального подхода и написания кастомных плагинов для интеграции Virtual Entities в CRM.


interaction

С помощью Virtual Entities можно улучшить интеграцию и взаимодействие CRM с различными внешними системами и базами данных. Это предоставляет простой и удобный способ управления данными, увеличивая эффективность работы с информационными ресурсами. Где можно использовать Virtual Entities, там доступен специальный подход к обработке информации.

 

 

Когда мы можем использовать Virtual Entities?

Virtual Entities представляют собой уникальный инструмент для решения ряда задач в сфере управления данными и интеграции систем. Они особенно полезны в следующих сценариях:

specialists working with systems integration and data
  • Интеграция данных (Data Integrations): Virtual Entities идеально подходят для объединения данных из множества систем. Например, в рассматриваемом проекте клиент использовал данные как из Azure Search, так и из Cosmos Database. Все эти данные были агрегированы в Dynamics CRM для дальнейшей работы с ними, включая просмотр и обработку. Это позволяет централизованно управлять данными, расположенными в разных источниках, и упрощает их анализ и использование.

  • Подготовка отчетов: Virtual Entities могут быть использованы для создания отчетов, которые включают данные как из CRM, так и из других источников. Это расширяет возможности аналитики и отчетности, позволяя пользователям получать более комплексную картину по данным из разных систем.

  • Доступ к данным в реальном времени (Real-time Data Access): Важным преимуществом Virtual Entities является возможность обеспечения доступа к актуальным данным в реальном времени. Это особенно ценно в сценариях, где скорость получения информации критична, например, в оперативном управлении или мониторинге. Пользователи могут не только просматривать данные, но и редактировать их (с учетом определенных ограничений на CRUD-операции, о которых будет упомянуто далее).


Таким образом, Virtual Entities являются мощным инструментом в руках специалистов, работающих с интеграцией систем и данными. Они позволяют более гибко и эффективно управлять данными, которые распределены по различным источникам, обеспечивая лучшую интеграцию и доступность информации.


Лимитации

При работе с Virtual Entities, несмотря на их значительные преимущества, такие как избегание дублирования данных, стоит учитывать ряд ограничений:


Limitations
  • Сложность запросов (Complex Queries): Virtual Entities могут столкнуться с ограничениями при выполнении сложных запросов, особенно когда источник данных не поддерживает определенные методы фильтрации, как например метод 'contains'. Это может привести к тому, что некоторые функции фильтрации, привычные в CRM, не будут работать должным образом.

  • Производительность: Взаимодействие между данными CRM и внешними системами может быть не таким быстрым или эффективным, как в случае с обычными данными. Например, сложность связей между данными в CRM и внешними источниками требует дополнительных манипуляций и обработки, что может замедлить производительность.

  • Ограничения по безопасности: Virtual Entities не поддерживают тонкую настройку моделей безопасности, характерных для обычных таблиц CRM. Возможности управления доступом ограничены стандартными настройками доступа к таблице.

  • CRUD-операции: Создание (Create), удаление (Delete) и обновление (Update) данных напрямую через Virtual Entities не поддерживаются. Это означает, что страницы Virtual Entities являются только для чтения, и стандартные инструменты для разблокировки полей (например, утилита Level Up) не работают.

  • Аудит и функциональные ограничения: Virtual Entities не поддерживают аудит, стандартные функции поиска, создание графиков и дашбордов, а также не позволяют добавлять очереди и использовать офлайн кэширование.

  • Ограничения на Activities: Невозможность создавать или обновлять Activities из Virtual Entities.

  • Визуализация связанных данных: Трудности с отображением дополнительных колонок, таких как телефон или email, связанных с записями в Virtual Entities.

work restrictions

Важно отметить, что многие из этих ограничений связаны с тем, как данные из внешних источников интегрируются и обрабатываются в рамках системы CRM. Работа с Virtual Entities требует глубокого понимания их возможностей и ограничений, а также творческого подхода к решению возникающих задач.


Проект для клиента

В рамках специального проекта для клиента мы столкнулись с уникальными задачами, которые решили, применив Virtual Entities в Dynamics CRM. Основной задачей было установить и настроить Virtual Entities, что потребовало лучшего понимания инструментов и подходов.


Использование Plugin Registration Tool: Наш проект включал использование оригинального Plugin Registration Tool - инструмента, который использовался до появления XrmToolbox. Этот инструмент был необходим для регистрации Data Source и Data Provider, функционал которых отсутствует в более новых инструментах, таких как XrmToolbox. Это потребовало от нас восстановления и использования устаревших версий инструментов, что добавило сложности в процесс разработки.


Plugin Registration Tool

Работа с Custom Plugins: Для реализации специфических требований клиента, мы разработали и зарегистрировали пользовательские плагины. Эти плагины обеспечивали необходимые операции, такие как retrieve и retrieve multiple. Мы столкнулись с ограничениями в функциональности стандартных операций create, update и delete для Virtual Entities, что потребовало поиска альтернативных решений.


Интеграция и Визуализация Данных: Одной из ключевых задач было представление связанных данных в удобном для пользователя виде. Например, мы интегрировали данные о заказах (Orders) с контактной информацией клиентов. Пользователи могли переходить к связанным контактам и видеть дополнительные данные, такие как email и статус контакта, прямо в интерфейсе CRM. Однако, мы столкнулись с трудностями в отображении некоторых типов связанных данных, особенно когда речь шла о сложных объектах, подобных вложенным JSON-структурам. В этих случаях, мы использовали кастомизированные веб-ресурсы для обработки и представления данных в более понятной форме.


Orders

Управление Сложными Объектами: Одной из самых интересных задач проекта было управление и отображение сложных JSON объектов в рамках одной Virtual Entity. Это требовало специальной логики обработки и представления данных, чтобы эффективно интегрировать многоуровневые и сложноструктурированные данные в CRM.


В целом, проект демонстрировал глубокую интеграцию и настройку Virtual Entities, что позволило нам значительно расширить возможности CRM для удовлетворения специфических потребностей клиента. Это было достигнуто за счет креативного использования доступных инструментов и разработки пользовательских решений для преодоления технических ограничений.


Челленджи проекта

В проекте по внедрению Virtual Entities для клиента мы столкнулись с рядом интересных вызовов:


Project Challenges
  • Реализация CRUD-операций: Клиент выразил желание иметь возможности создания, обновления и удаления (CRUD-операции) в контексте Virtual Entities. Это было осуществлено путем регистрации плагинов для каждого события (создание, обновление, удаление), а также добавлением пользовательских кнопок для этих операций. В результате, при нажатии кнопки вызывается соответствующий action, который затем обрабатывается плагином. Для изменения полей были добавлены веб-ресурсы, которые позволяли скрыть стандартные поля Microsoft и представлять данные в более удобном для пользователя формате.

  • Интеграция с Customer Insights: Была необходимость в интеграции Virtual Entities с модулем Customer Insights, где использовались только контакты. Клиент хотел фильтровать контакты на основе данных из Virtual Entities. Например, отфильтровывать контакты, которые имеют определенный токен. Это было реализовано для статических сегментов, но так как статические сегменты не обновляются автоматически при изменении данных, был разработан сервис, обновляющий данные в статических сегментах каждые 15 минут. Кроме того, был добавлен расширенный фильтр для упрощения работы клиента с CRM.

discussion of project problems
  • Управление сложными объектами в одной Virtual Entity: Одна из задач заключалась в отображении сложных JSON объектов в рамках одной Virtual Entity. Это могут быть вложенные объекты или списки объектов, которые должны были быть представлены в виде связанных сущностей. Решение заключалось в использовании кастомного кода и веб-ресурсов для обработки и отображения JSON данных в удобной форме.


Эти челленджи показывают, что, несмотря на некоторые ограничения Virtual Entities, с помощью кастомизации и творческого подхода можно достичь высокой степени интеграции и функциональности в системе CRM.



Как выглядит Virtual Entity

Virtual Entities в Dynamics CRM интерфейсе удобно представлены как таблицы, но с особым аспектом – они доступны исключительно для чтения. Когда вы пытаетесь открыть такую сущность, система сразу же подчеркивает её статус "только для чтения". Это означает, что изменить поля в Virtual Entity невозможно; даже специальный режим "god mode" не обеспечивает обход этого ограничения.

Однако в нашем проекте мы столкнулись с требованием клиента, который хотел иметь возможность сохранять изменения в Virtual Entities. Чтобы удовлетворить это требование, были добавлены кастомные веб-ресурсы. Эти веб-ресурсы представляют собой отдельные страницы или вкладки, интегрированные в интерфейс CRM, которые позволяют обрабатывать и отображать данные из Virtual Entities.


What does a Virtual Entity look like?

Например, для Virtual Entity типа "web pages", которая работает быстро при наличии небольшого количества записей, мы добавили функциональные кнопки "Save" и "Delete". Эти кнопки разработаны для обеспечения взаимодействия с данными, несмотря на их read-only статус в CRM. Дополнительно, мы реализовали возможность редактирования данных Virtual Entity через эти веб-ресурсы.


Кроме того, в проекте была особая задача по работе со сложными объектами. Некоторые Virtual Entities содержат в себе данные, аналогичные JSON-объектам, где один объект может содержать вложенные списки других объектов. Мы разработали уникальное решение, которое позволяет отображать эти сложные взаимосвязанные данные в удобной для пользователя форме. Это напоминает функциональность связанных записей в CRM, но весь процесс осуществляется в рамках одного объекта.


user-friendly form

Таким образом, Virtual Entities в Dynamics CRM можно адаптировать и расширять для обеспечения более гибкого взаимодействия с данными, преодолевая стандартные ограничения, связанные с их read-only природой.


Заключение

Использование Virtual Entities для улучшения систем CRM, включая Dynamics, открывает перед бизнесами новые возможности в интеграции и управлении данными. Эта технология позволяет построить более гибкие и эффективные системы для управления взаимоотношениями с клиентами. Она обеспечивает удобный доступ к широкому спектру внешних источников данных, делая процессы более простыми и доступными.


advantage

Основным преимуществом Virtual Entities является их способность интегрировать и представлять внешние данные внутри CRM как часть единой системы, минимизируя необходимость дублирования данных и упрощая процессы анализа и отчетности. Однако, важно понимать и учитывать их ограничения, такие как ограниченные возможности CRUD-операций, сложности с производительностью и ограничения на выполнение сложных запросов. Эти ограничения могут потребовать дополнительной кастомизации и творческого подхода к решению задач.


Пример проекта, описанный в этой статье, демонстрирует, как с помощью инновационных подходов и кастомных разработок можно максимально расширить функциональность Virtual Entities. Интеграция с другими системами, такими как Azure и Cosmos DB, и разработка дополнительных пользовательских интерфейсов и инструментов обеспечили более глубокую интеграцию и удобство использования.


IT-specialist

В заключение, Virtual Entities представляют собой значительный шаг вперед в области CRM и интеграции данных. Их правильное применение и адаптация могут значительно улучшить управление данными и рабочие процессы предприятий, способствуя более эффективному взаимодействию с клиентами и улучшению качества обслуживания. С постоянным развитием технологий и увеличением объемов данных, важность таких инструментов, как Virtual Entities, будет только расти, предлагая новые возможности для бизнеса и ИТ-специалистов.


Рекомендации:

  • Тщательный Анализ Требований: Перед внедрением Virtual Entities важно тщательно анализировать бизнес-требования и оценивать совместимость существующих систем. Это поможет определить, насколько эффективно Virtual Entities будут интегрироваться в вашу CRM-систему.

  • Оценка Ограничений: Учитывайте ограничения Virtual Entities, такие как ограничения CRUD-операций и комплексных запросов. Планируйте альтернативные подходы для решения этих ограничений, например, с помощью кастомных плагинов или веб-ресурсов.

  • Оптимизация Производительности: Интеграция с внешними данными может замедлить производительность. Рассмотрите возможности кэширования данных или использования более эффективных методов запросов для улучшения производительности.

  • Гибкость и Адаптивность: Подготовьтесь к необходимости адаптации под изменяющиеся условия. Внешние данные и требования к интеграции могут изменяться, поэтому важно поддерживать гибкость в вашем подходе к использованию Virtual Entities.

  • Обучение и Поддержка: Обеспечьте соответствующее обучение и поддержку вашей команды. Понимание работы Virtual Entities и умение решать возникающие проблемы значительно повысит эффективность работы вашей команды.

  • Соответствие Правилам Безопасности и Политикам: Убедитесь, что использование Virtual Entities соответствует всем корпоративным политикам безопасности и нормативным требованиям, особенно при работе с чувствительными данными.

  • Регулярная Переоценка и Оптимизация: По мере развития вашего проекта и изменения бизнес-процессов регулярно переоценивайте и оптимизируйте использование Virtual Entities, чтобы гарантировать их эффективность и соответствие текущим потребностям.


Следуя этим рекомендациям, вы сможете максимально использовать потенциал Virtual Entities, минимизируя возможные риски и сложности.

5 views0 comments

Commentaires


bottom of page