Решения категории SSA (Self sevice application) не ограничиваются поддержкой взаимодействия индивидуального клиента и поставщика товаров или услуг. Они переходят на корпоративный уровень, автоматизируя обработку запросов к информации служащих компании и бизнес-партнеров. К системам SSA предъявляются достаточно жесткие требования. Необходима поддержка различных средств коммуникаций: клиенту нельзя навязывать какой-то один способ связи, надо предоставить ему возможность воспользоваться любым доступным на текущий момент способом. Аналогично, необходим интерфейс для получения данных из любых источников-мэйнфреймов, баз данных на разных платформах, серверов распределенных приложений, настольных офисных пакетов. При разработке системы персонифицированного обслуживания надо предусмотреть возможность интеграции в нее дополнительной функциональности: не просто доступ к данным, но упреждающее предоставление информации в зависимости от определенных событий, реализация целевого маркетинга и т.д. Далее, обязательными атрибутами таких решений являются масштабируемость, надежность, защищенность и управляемость. Кроме того, современный бизнес не дает возможности затягивать с развертыванием приложения, следовательно, необходима удобная среда разработки и поддержки системы. Перечисленные требования постарались учесть разработчики компании Edify в своем инструментарии Electronic Workforce (EWF). (Edify является в настоящее время частью корпорации S1, разрабатывающей автоматизированные системы для финансовых институтов.)
Electronic Workforce объединяет разнообразные возможности связи с клиентом, реализуя интегрированный доступ к различным источникам данных в корпоративной информационной инфраструктуре.
EWF представляет собой среду для разработки и поддержки сложных SSA-приложений для платформы Wintel. В EWF реализован объектно-ориентированный, визуальный подход к построению приложений, упрощающий и ускоряющий разработку. Готовые объекты инкапсулируют сложные функции интеграции с различными средствами доступа и системами хранения данных. EWF включает средства для поддержки таких возможностей, как предоставление информации в соответствии с запросами отдельных пользователей, обеспечение маркетинговых данных, получение информации при наступлении заданных пользователем событий и т.д. Кроме того, EWF включает инструменты для администрирования и мониторинга работающего приложения.
Архитекрута EWF
Платформа EWF включает в себя три базовые составляющие (рис. 1):
- Workforce Objects;
- Workforce Application Builder;
- Workforce Application Server.
Workforce Objects — совокупность готовых программных объектов, реализующих базовые функции доступа в систему посредством различных коммуникационных сред и функций интеграции с различными системами, работающими в информационной корпоративной среде. Задача Workforce Objects — освободить разработчика от рутины кодирования основных функций, необходимости влезать в тонкости интеграции с разными средствами доступа и разными системами, отвечающими за хранение и предоставление данных.
Процесс разработки в EWF — это сборка приложения из объектов в визуальной среде Workforce Application Builder. Визуальное программирование позволяет значительно упростить и ускорить создание SSA-приложений. Язык программирования в этой среде не используется, разработчик имеет дело с пиктограммами объектов и соответствующим образом организованным рабочим пространством на экране. Процесс документирования разработки полностью автоматизирован. В результате на создание довольно сложных приложений уходит не более нескольких недель. Кроме возможности комбинировать объекты, Workforce Application Builder предоставляет визуальные средства настройки приложения на конкретные задачи и средства интеграции с другими приложениями.
Workforce Application Server обеспечивает управление работающим SSA-приложением, распределяя и контролируя использование ресурсов, отслеживая статус приложения, реагируя на изменение условий и обеспечивая безопасность.
Workforce Objects
Функции, реализуемые программными объектами Workforce Objects, делятся на две основные группы:
- поддержка различных способов связи клиента с системой (телефон, web-браузер, электронная почта и т.д.);
- интеграция с любыми корпоративными информационными источниками (базы данных, клиент-серверные и настольные приложения, унаследованные системы на мэйнфреймах) при поддержке единого интерфейса доступа к любой информации, независимо от платформы.
Интеграция с коммуникационными средствами
Сегодня есть не один и не два способа коммуникаций и полноценное решение по персонифицированному обслуживанию обязано поддерживать хотя бы несколько, чтобы не ограничивать возможности пользователя, навязывая ему, к примеру, только автоматизированную обработку телефонных обращений или только передачу запросов по Сети. Workforce Objects поддерживает обширный список коммуникационных средств: телефон и браузер, электронная почта и факсимильная связь, пейджер и другие беспроводные устройства, в том числе средства беспроводного доступа по Internet, персональные компьютеры и информационные киоски и проч.
Web-доступ к системе персонифицированного обслуживания — это удобный интерфейс и широкие возможности реализации индивидуального обслуживания. В объектах Workforce Objects заложен ряд интересных возможностей, с помощью которых разработчик может построить функционально полный Web-интерфейс SSA-приложения. Средства компоновки страницы поддерживают импорт и экспорт HTML-страниц, благодаря чему разработчик волен использовать наиболее удобный для него инструментарий для создания Web-страниц и затем с помощью EWF интегрировать их с офисными системами. На странице можно размещать все традиционные элементы: текст, гипертекстовые ссылки, изображения, ниспадающие меню и т.д., а также интегрировать Java-апплеты или управляющие элементы ActiveX и динамические элементы для доступа к данным. Поддерживается создание не только статических, но и динамических страниц, настроенных на конкретного клиента.
В Workforce Objects реализованы функции управления интерактивными сеансами в Web: защита входа в систему, управление тайм-аутами, контроль за последовательностью доставки страниц, динамическое выделение ресурсов, обеспечение приоритетов и сбор статистики. Поддерживаются необходимые механизмы защиты: аутентификация на уровне приложения, протокол SSL для взаимодействия с пользователем, возможности интеграции со специальными инструментами системной защиты, включая средcтва повышения надежности операционных систем, двухпортовые сетевые домены и прокси-серверы.
Объекты, обеспечивающие Web-доступ к системе персонифицированного обслуживания, поддерживают все браузеры и Web-серверы, а также могут интегрироваться с объектами других систем по протоколу IIOP.
Объекты Workforce Objects, отвечающие за телефонную связь, предоставляют все основные функции традиционных систем интерактивного голосового ответа (Interactive Voice Response — IVR), которые обеспечивают автоматический ответ и выполнение запросов, сделанных по телефону. Workforce Objects могут получать и интерпретировать обращения, cделанные в стандартном режиме тонового набора, отвечать в реальном времени, перенаправлять звонки, хранить сообщения голосовой почты и т.д.
EWF работает со стандартным телефонным оборудованием, поддерживая цифровые и аналоговые соединения с коммутаторами. На базе цифровых соединений могут использоваться стандартные протоколы ANI (Automatic Number Identification) и DNIS (Dialed Number Identification Service) для получения информации о номере звонящего и о набираемом номере соответственно. Объекты телефонной связи также реализуют возможности компьютерной телефонии, автоматизируя передачу информации между программным обеспечением и телефонными агентами. Кроме того, объекты телефонной связи EWF могут работать с пейджерами и системами голосовой почты. Приложения способны автоматизировать исходящие телефонные транзакции. Исходящие звонки будут передавать определенную информацию в соответствии с заданным графиком или при наступлении некоторого события.
Поскольку электронная почта как средство коммуникации по своему значению сегодня не уступает телефонной связи, Workforce Objects поддерживают все известные почтовые системы для разных платформ, включая PROFS, DEC All-In-One, HP Desk Manager, UNIX Mail, Microsoft Mail, cc:Mail и Lotus Notes, а также общедоступные почтовые сиcтемы. Приложения EWF выполняют все основные функции электронной почты: могут создавать, посылать, получать, перенаправлять и отвечать на сообщения. Выполнение приложения может инициироваться при получении определенного почтового сообщения. Кроме того, электронная почта часто выполняет роль пошагового маршрутизатора информации в потоке заданий. При удаленном доступе можно комбинировать средства поддержки электронной почты со средствами телефонной связи.
Доступ к данным и приложениям
Выбрав одно из средств коммуникаций, клиент обращается за информацией к системе персонифицированного обслуживания. Для того чтобы эту информацию предоставить, система должна ее извлечь из соответствующих источников, имеющихся в компании (от унаследованных приложений на мэйнфреймах до офисных пакетов на ПК). Объекты EWF реализуют несколько способов интеграции с разными типами корпоративных информационных систем: эмуляция терминала для приложений на мэйнфреймах и Unix-машинах; прямой доступ к базам данных по стандарту ODBC; вызовы библиотек DLL; механизм динамического обмена данными DDE для получения информации от распределенных приложений и настольных систем.
Доступ к информации на мэйнфреймах и мини-компьютерах осуществляется путем обращения к работающим на них приложениям. Для этого в EWF реализован так называемый механизм «автоматизации экранов» (screen automation): программная эмуляция терминала системы, которая позволяет SSA-приложению взаимодействовать с приложением на хост-компьютере точно таким же образом, как это сделал бы пользователь, сидящий за терминалом мэйнфрейма или миникомпьютера. Система поддерживает основные протоколы эмуляции терминала. Механизм автоматизации экрана обеспечивает доступ к полезным функциям, например, к средствам верификации данных, а также позволяет запускать другие системы на хост-компьютере (мониторы транзакций, утилиты преобразования данных, генераторы отчетов, средства системного администрирования, команды оператора). EWF позволяет создавать пул соединений с хост-компьютерами, благодаря чему ресурсы каждого доступного компьютерного оборудования используются максимально полно.
Workforce Objects поддерживают прямой ODBC-доступ к серверам баз данных. Построенные на платформе EWF приложения имеют возможность работать с базами данных Oracle, Informix, Sybase и Microsoft SQL Server. Преимущество прямого доступа заключается в возможности реализовать большой объем транзакций с базой данных без дополнительных расходов на эмуляцию терминала. Кроме того, использование SQL повышает эффективность автоматизации таких задач, как формирование запросов, сортировка и генерация отчетов. Прямой доступ особенно удобен, когда приложению необходима информация с разных, возможно, значительно удаленных друг от друга систем, поскольку EWF поддерживает одновременный прямой доступ к нескольким базам данных, локальным и удаленным. При этом можно реализовать перекрестные ссылки на данные, объединять и перестраивать блоки информации. Здесь, как и в предыдущем методе доступа, обеспечивается создание пула ODBC-соединений.
Доступ к серверам распределенных сетевых приложений и данным на настольных ПК в Workforce Ojbects реализован тремя способами. Для работы с приложениями, имеющим символьный интерфейс, EWF использует уже описанный принцип эмуляции терминала. Для Windows-приложений поддерживаются автоматизированные вызовы библиотек DLL. Разработчик регистрирует библиотеки DLL для использования в приложении EWF, после чего любая система на этой платформе может к ним обратиться. Таким образом, на программном уровне организуется связь с любой локальной или распределенной системой на базе Windows. Кроме того, взаимодействие и обмен данными с Windows-приложениями может осуществляться с помощью механизма динамического обмена данными DDE, что позволяет включить в работу EWF-системы офисные приложения Microsoft Excel, Word и PowerPoint, расширив ее функциональность возможностями нужным образом организовать и отформатировать данные, добавить графику, вносить изменения в персональных электронных таблицах и т.д.
Интегрированная с дополнительным модулем Smart Options, платформа EWF позволяет создавать более сложные SSA-приложения, организующие работу с клиентом на индивидуальной основе. Этот модуль включает в себя средства для разработки приложений, которые смогут: динамически реагировать на запросы пользователей; выполнять от их имени или для них определенные функции при наступлении некоторого события (нужный товар поступил в продажу, кредит достиг своего предела, изменились цены и т.д.) в заданный момент времени; предоставлять вместе с запрошенными данными маркетинговую информацию, нацеленную на конкретного клиента.
Workforce Application Builder
Согласно статистике, на разработку, сопровождение и модификацию приложений уходит не менее 70% от общего объема средств, направляемых на организацию автоматизированного обслуживания. Поэтому выбор инструментария для создания таких приложений имеет огромное значение. Платформа EWF включает в себя объектно-ориентированную систему визуальной разработки Workforce Application Builder, которая включает средства отладки и тестирования.
Разработка ведется с помощью трех основных компонентов — рабочего пространства (workspace), пошаговых окон (step windows) и средств редактирования (editing tools). Приложение буквальным образом собирается из готовых объектов Workforce Objects: разработчик перетаскивает пиктограммы нужных объектов из Object Windows в свое рабочее пространство. Как только объект попадает в рабочее пространство приложения, в специальном меню появляются ассоциированные с этим объектом методы. Комбинация объекта и выбранного разработчиком метода образует один шаг в последовательности автоматизированных операций. Примеры таких шагов: ответ клиенту по телефону, вывод на экран Web-страницы, модификация базы данных и т.д. Законченная последовательность шагов образует так называемый прикладной объект (application object). Приложение состоит из набора таких объектов. Объекты можно сохранить и в дальнейшем использовать в других приложениях.
Сборка приложения в Workforce
Application Builder — полностью визуальный и интуитивно понятный процесс. Это удобная среда для быстрого создания прототипов систем. Кроме того, такой подход к разработке облегчает общение ИТ-специалистов с сотрудниками других подразделений компании, которые выступают в качестве постановщиков задач: несведущие в программировании люди получат наглядное представление о том, как работает приложение и смогут внести коррективы на самых ранних этапах.
Дальнейшая конкретизация процессов, которые должны быть реализованы на каждом шаге, происходит с помощью пошаговых окон и специальных редакторов. Пошаговые окна используются для определения параметров доступа к данным: к какому хост-компьютеру необходим доступ, какие поля в базе данных должны быть запрошены и т.д. Для того чтобы задать параметры для определенного шага приложения, разработчик двойным нажатием на пиктограмму соответствующего объекта в рабочем пространстве вызывает пошаговое окно и в режиме диалога определяет все необходимые данные.
Чтобы задать параметры представления данных, т. е. определить, в каком виде их получит клиент, используются интегрированные средства редактирования Web-cтраниц, голосовых подсказок и терминальных экранов. Эти редакторы не только позволяют включать в представление статические элементы, но и поддерживают включение динамических объектов во время выполнения программы.
При разработке приложения, которое обращается к базам данных, используется пошаговое окно базы данных, которое предоставляет все необходимые средства для связи с локальной или удаленной базой данных, выбора таблиц, запросов на соответствующую запись, выбора или модификации данных в отдельном поле или группе полей. Вся эта информация выводится в оперативном режиме, а разработчик определяет нужные параметры доступа, выделяя на экране соответствующие таблицы или записи. Такой способ работы не требует знания языка SQL. Кроме того, отпадает необходимость разбираться в структуре базы данных и атрибутах, поскольку всю необходимую информацию можно запросить по ходу дела у Workforce Application Builder. (Конечно, при желании можно работать напрямую с SQL.)
Для программирования доступа к SSA-приложению и получения информации через Internet разработчик использует пошаговое окно объектов Web-доступа и редактор Web-страниц. В пошаговом окне определяются статические параметры доступа к данным посредством Web: какие данные выбрать с Web-страницы, какую страницу вывести на экран пользователя, какая информация должна быть передана дальше и т.д. Редактор Web-страниц позволяет определить, как во время выполнения приложения, в динамическом режиме будет выводиться информация. Workforce Application Builder поддерживает импорт и экспорт HTML-страниц и тем самым дает разработчику возможность создавать наполнение для приложения с помощью привычного ему инструментария. Сам Workforce Application Builder имеет встроенный полнофункциональный редактор HTML-страниц. С его помощью на страницу можно помещать поля для ввода и вывода данных, ниспадающие меню, ссылки на другие страницы, в том числе внешние для данного приложения, и другие элементы.
Для автоматизации доступа к приложению по телефону Workforce Application Builder предоставляет пошаговое окно объектов телефонного доступа и редактор голосовых сообщений. Разработчик определяет, в частности, какие фразы будут произноситься, какие данные могут запрашиваться, куда надо перенаправить звонок и т.д. Все остальное запрограммировано в объектах телефонного доступа: получение и интерпретация тоновых команд, ответы на звонки или их дальнейшая передача, прием и передача сообщений на пейджер. Редактор голосовых сообщений позволяет записать звуковые подсказки, например, сообщение о состоянии клиентского счета на текущий момент времени. Не прибегая к услугам профессиональной звукозаписи, разработчик с помощью визуального дисплея, на котором отображается звуковая амплитуда голосового сообщения, обеспечит качественный уровень записи для голосовых подсказок. Редактор голосовых сообщений поддерживает как постепенную запись таких подсказок по мере разработки приложения, так и одномоментную запись всех необходимых сообщений.
Для автоматизации доступа к данным приложений на хост-компьютерах в Workforce Application Builder предусмотрено пошаговое окно объектов терминального доступа и редактор терминальных доменов. В пошаговом окне определяются параметры взаимодействия SSA-приложения с приложением на хосте: процедуры входа и регистрации в системе, навигация с экрана на экран, распознавание экрана терминала, ввод данных или считывание информации с заданных полей. Разработчик просматривает разные терминальные экраны и определяет, какие поля нужно задействовать при работе с мэйнфреймом. Во время работы приложения объект терминального доступа автоматически отслеживает, где находится экран, и выбирает оптимальный путь для перехода с одного экрана на другой. Редактор терминальных доменов позволяет эмулировать вывод данных на терминал. Для того чтобы определить, на какие экраны и в какие поля будут выводиться данные, разработчик просто выделяет соответствующие области на нужных экранах. Объекты терминального доступа поддерживают любые типы экранов и полей, как фиксированной, так и переменной длины. Все эти возможности в совокупности реализуют относительно простую процедуру автоматизации одной из наиболее сложных задач — терминального доступа к архивам данных, накопленных за много лет на мэйнфреймах.
Кроме использования средств визуального программирования, разработчик может интегрировать в систему внешние объекты, написанные на языках Си, С++ или Паскаль. В состав Workforce Application Builder входит инструментарий для отладки программ. Встроенный отладчик поддерживает пошаговую трассировку программы, контрольные точки, отображение текущих и результирующих значений объектов. Отладчик автоматически контролирует разделение ресурсов, предотвращая конфликты с приложениями, которые выполняются на той же машине одновременно с отладкой новой разработки. Специальная процедура courtesy install («деликатная инсталляция») дает возможность заменять работающие приложения новыми без выключения системы. Если приложение в данный момент обслуживает пользователя, процедура «деликатной инсталляции» дожидается окончания сеанса, прежде чем экземпляр приложения будет подменен.
Workforce Application Server
В платформу EWF входит Workforce Application Server, среда управления приложениями, обеспечивающую необходимую масштабируемость и производительность прикладной системы, безопасность приложения, решение вопросов планирования выполнения приложений в соответствии с заданными приоритетами. Кроме того, Workforce Application Server включает инструментарий системного администрирования Workforce Administrator.
Workforce Application Server обеспечивает работу нескольких прикладных компонентов на одной аппаратной платформе и управляет доступом к разделяемым физическим ресурсам. Выполнение SSA-приложений осуществляется с помощью программных агентов — расширенных вариантов обычного системного процесса для объектной среды Workforce Application Server. Программный агент выполняет экземпляры прикладных объектов и взаимодействует с диспетчером ресурсов, обеспечивая контроль за тем, когда и как ресурсы выделяются прикладным объектам и при каких условиях инициируется выполнение тех или иных задач.
Диспетчер ресурсов ищет оптимальный способ предоставления ресурсов, предотвращая возникновение конфликтов доступа к хост-компьютерам, базам данных, звуковым портам и т.д. Так, приложения, которые работают в упреждающем режиме (например, передача сообщения о превышении кредита или подтверждение заказа) могут быть запланированы для запуска в периоды с минимальной рабочей нагрузкой, скажем, ночью.
Workforce Application Server поддерживает компонентную модель организации SSA-приложений. Приложение формируется из прикладных объектов, или компонентов. Принципы взаимодействия между ними унифицированы. Например, номер счета, полученный с Web-страницы, будет помещен в объект «счет», который передается компоненту, поддерживающему доступ к офисной системе. Неважно, что это — хост-компьютер или база данных. Так же неважно, откуда поступает объект «счет», его значение могло быть получено, например, по телефонному звонку. Такая согласованность обмена информацией между прикладными объектами упрощает и ускоряет разработку приложений с возможностями доступа к разным информационным хранилищам и поддержкой разных средств связи при взаимодействии с клиентом. Интеграция с внешними объектами осуществляется в соответствии со стандартами DCOM и CORBA.
Компонентная модель способствует повышению надежности сервисной системы, поскольку изолирует друг от друга операции с разными коммуникационными средами и разными системами — Web, телефон, серверы базы данных, мэйнфреймы и т.д. Каждый независимый компонент контролируется специальным таймером, который инициирует функции генерации сообщений и восстановления в случае сбоев. Тем самым минимизируется риск возникновения аварийной ситуации на уровне всей системы.
Одной из важных функций Workforce Application Server является обеспечение надлежащей производительности и масштабируемости SSA-приложений на платформе Wintel. Если приложение реализуется на однопроцессорном сервере, повышение его эффективности базируется в основном на механизмах оптимизации Windows NT. Кроме того, Workforce Application Server поддерживает создание пула ресурсов для максимального использования соединений с базами данных и мэйнфреймами и управления параллельным доступом к таким системам со стороны нескольких пользователей. Workforce Application Server обеспечивает также поддержку SMP-архитектур.
Дальнейшее повышение производительности, доступности и надежности системы достигается путем кластеризации нескольких серверов Workforce Application Server. Если речь идет о крупномасштабной Internet-системе, Workforce Application Server обеспечит балансировку Web-трафика между серверами.
Для безопасного выполнения сервисных приложений Workforce Application Server предоставляет ряд средств защиты как на прикладном, так и на сетевом уровне. Кроме аутентификации и передачи данных по протоколу SSL взаимодействия между Workforce Application Server и Web-сервером шифруется. Workforce Application Server может быть интегрирован с межсетевым экраном.
Модуль Workforce Administrator обеспечивает контроль над средой EWF как на одном сервере, так и в сетевой конфигурации. Когда Workforce Application Server развернут на нескольких серверах, каждый из узлов такого кластера относительно автономен, но с помощью специальных программных средств администратор и разработчики работают с ним как с единой системой. Workforce Administrator предоставляет информацию о приложениях, находящихся на стадии выполнения, о статусе телефонных линий, соединений с хостами и другие данные. Workforce Administrator поддерживает мониторинг каждого программного агента в отдельности, показывая с помощью наглядных графиков и таблиц его текущее состояние, имя приложения, которое агент выполняет, и используемые ресурсы. Информация может быть представлена в обобщенном виде или детализирована с помощью последовательности всплывающих окон. Workforce Administrator реализует необходимые системному администратору возможности — генерацию отчетов, регистрацию транзакций, оповещение о нарушениях в нормальной работе приложений и т.д.
Обслуживание по сценарию EWF
Представим себе, что клиент большой инвестиционной компании хочет узнать текущее состояние по своим счетам и фондам. Для этого он звонит в компанию или обращается на ее сайт. SSA-приложение, построенное на платформе EWF, принимает обращение и предлагает клиенту ввести номер счета и персональный идентификатор. Сделав это, клиент получает доступ к информации об интересующем его фонде, указав его в специальном меню. Приложение обращается к нужному источнику данных и сообщает клиенту, каково состояние его фонда на текущий день. Проанализировав полученные цифры, клиент просит систему оповестить его с помощью пейджера в том случае, если интересующие его показатели выйдут за определенные границы.
Выполняя запрос, SSA-приложение одновременно анализирует историю вложений клиента и соотносит ее с новыми инвестиционными продуктами, которые могли бы быть привлекательны для него. Допустим, таким продуктом оказывается пай нового паевого фонда, поэтому система предоставляет клиенту краткое описание услуг и предлагает ознакомиться с проспектом фонда. Если клиент запрашивает проспект, система отыскивает в справочнике его почтовый адрес и просит проверить его правильность. После проверки адреса, клиент прекращает связь с сервисной системой, однако ее работа продолжается: SSA-приложение обращается к базе данных заказов и вводит в нее полученный запрос клиента на проспект фонда, а также дату, когда эта информация должна быть ему отослана. По номеру счета клиента система ищет в базе данных по продажам ближайший региональный офис и менеджера по продажам для выполнения заказа. Посредством корпоративной электронной почты сервисная система отправляет этому менеджеру сообщение о конкретном интересе клиента, а также добавляет в файл напоминаний для менеджера уведомление о необходимости связаться с клиентом в случае, если он не приобретет пай в течение нескольких недель.
Затем SSA-приложение подключается к корпоративной базе данных поддержки маркетинга и модифицирует соответствующую запись в таблице отслеживания текущего состояния клиента с точки зрения его готовности приобрести пай. Через несколько дней система на основе информации из базы данных исполнения заданий проверит получение клиентом проспекта в запланированное время. Спустя несколько недель в соответствии с заранее определенным сроком, SSA-приложение проверит, приобрел ли он пай. Если этого не произошло, в адрес регионального офиса отправляется напоминание.
Таким образом, с помощью EWF строится решение, которое не только взаимодействует с пользователем и выполняет его запросы, но и способно предложить новые услуги, опираясь на информацию о предпочтениях конкретного клиента.