BusinessObjects (BoE) / Crystal Server: старые/мертвые сеансы не очищаются

У нас есть сервер BusinessObjects Enterprise XI, который, как мне кажется, похож (если не то же самое) на сервер Crystal Reports Server 2008.

У нас небольшое количество одновременных лицензий, и раньше это никогда не было проблемой (что мы заметили), но в последнее время кажется, что сервер не избавляется от мертвых сеансов и все еще считает их активными (что засчитывается против нашего лицензирования).

Мы не использовали сервер Tomcat для веб-присутствия, поэтому это также может повлиять на него (мы используем веб-сервер, который поставляется вместе с сервером — не знаю, что это такое. Можете ли вы сказать, что я унаследовал этот проект?)

Единственное решение, которое я смог использовать до сих пор, — это перезапуск серверов BoE (это несколько отдельных приложений, но я не могу найти, какое из них управляет сеансами, и поэтому все они должны быть перезапущены. Грубо.

Любая идея о том, где я мог бы начать копаться в этом? Я просмотрел всю документацию, но еще не нашел решения.

Заранее благодарим за любую помощь, которую вы можете оказать!


person SeanKilleen    schedule 02.02.2012    source источник


Ответы (2)


Лицензия освобождается, когда EnterpriseSession завершается. Однако EnterpriseSession не завершается при закрытии браузера; пользователю необходимо явно «выйти из системы» (в ePortfolio/InfoView), чтобы завершить сеанс.

Вы также можете сократить продолжительность сеанса по умолчанию.

Из Руководства администратора BusinessObjects Enterprise XI 3.1 (стр. 444-445):

Корпоративные системы, предназначенные для обслуживания большого количества пользователей, обычно требуют некоторой формы распределенной безопасности. Корпоративной системе может потребоваться распределенная безопасность для поддержки таких функций, как передача доверия (возможность разрешить другому компоненту действовать от имени пользователя). BusinessObjects Enterprise обеспечивает распределенную безопасность путем реализации механизма билетов (подобного механизму билетов Kerberos). ). CMS предоставляет билеты, которые разрешают компонентам выполнять действия от имени определенного пользователя. В BusinessObjects Enterprise билет называется маркером входа.

Этот токен входа чаще всего используется в Интернете. Когда пользователь впервые проходит аутентификацию в BusinessObjects Enterprise, он или она получает маркер входа в систему от CMS. Веб-браузер пользователя кэширует этот токен входа в систему. Когда пользователь делает новый запрос, другие компоненты BusinessObjects Enterprise могут считывать маркер входа в систему из веб-браузера пользователя.

В общем случае сеанс представляет собой соединение клиент-сервер, которое обеспечивает обмен информацией между двумя компьютерами. Состояние сеанса — это набор данных, описывающих атрибуты сеанса, его конфигурацию или содержимое. Когда вы устанавливаете соединение клиент-сервер через Интернет, природа HTTP ограничивает продолжительность каждого сеанса одной страницей информации; таким образом, ваш веб-браузер сохраняет состояние каждого сеанса в памяти только до тех пор, пока отображается какая-либо отдельная веб-страница. Как только вы переходите с одной веб-страницы на другую, состояние первого сеанса отбрасывается и заменяется состоянием следующего сеанса. Следовательно, веб-сайты и веб-приложения должны каким-то образом сохранять состояние одного сеанса, если им необходимо повторно использовать его информацию в другом сеансе.

BusinessObjects Enterprise использует два распространенных метода для сохранения состояния сеанса:

• Файлы cookie. Файл cookie представляет собой небольшой текстовый файл, в котором хранится состояние сеанса на стороне клиента: веб-браузер пользователя кэширует файл cookie для последующего использования. Жетон входа в систему BusinessObjects Enterprise является примером этого метода.

• Переменные сеанса. Переменная сеанса представляет собой часть памяти, в которой хранится состояние сеанса на стороне сервера. Когда BusinessObjects Enterprise предоставляет пользователю активное удостоверение в системе, такая информация, как тип аутентификации пользователя, сохраняется в переменной сеанса. Пока сеанс поддерживается, системе не нужно ни запрашивать информацию у пользователя во второй раз, ни повторять какую-либо задачу, необходимую для выполнения следующего запроса. Для развертываний Java сеанс используется для обработки запросов .jsp; для развертываний .NET сеанс используется для обработки запросов .aspx.

Примечание:

В идеале система должна сохранять переменную сеанса, пока пользователь активен в системе. И, чтобы обеспечить безопасность и минимизировать использование ресурсов, система должна уничтожить переменную сеанса, как только пользователь закончит работу в системе. Однако, поскольку взаимодействие между веб-браузером и веб-сервером может быть без сохранения состояния, может быть трудно узнать, когда пользователи покидают систему, если они не выходят из системы явным образом. Для решения этой проблемы в BusinessObjects Enterprise реализовано отслеживание сеансов.

CMS реализует простой алгоритм отслеживания. Когда пользователь входит в систему, ему предоставляется сеанс CMS, который CMS сохраняет до тех пор, пока пользователь не выйдет из системы или пока не будет освобождена переменная сеанса сервера веб-приложений.

Сеанс сервера веб-приложений предназначен для периодического уведомления CMS о том, что он все еще активен, поэтому сеанс CMS сохраняется до тех пор, пока существует сеанс сервера веб-приложений. Если сеансу сервера веб-приложений не удается установить связь с CMS в течение десяти минут, CMS уничтожает сеанс CMS. Это обрабатывает сценарии, в которых клиентские компоненты отключаются нерегулярно.

person craig    schedule 03.02.2012
comment
Вопрос по поводу: В CMS реализован простой алгоритм отслеживания. Когда пользователь входит в систему, ему предоставляется сеанс CMS, который CMS сохраняет до тех пор, пока пользователь не выйдет из системы или пока не будет освобождена переменная сеанса сервера веб-приложений. Когда они говорят, что сеанс сервера веб-приложений выпущен, я предполагаю, что они имеют в виду Tomcat, но мы не используем Tomcat. Каков наилучший способ обновить этот тайм-аут сеанса для установок, отличных от Tomcat? Спасибо за отличный отрывок из руководства администратора! - person SeanKilleen; 07.02.2012
comment
Еще один дополнительный вопрос: я вижу, что если сеанс сервера веб-приложений не может связаться с CMS в течение десяти минут, CMS уничтожает сеанс CMS. мы используем внутренний веб-сервер, и я заметил, что сеансы остаются в Crystal на несколько дней (где у пользователей больше не открываются окна браузера, а последний вход в систему был несколько дней назад). Где реализовано это 10-минутное правило, если не используется установка Tomcat? - person SeanKilleen; 07.02.2012
comment
1) Либо Tomcat, либо IIS (зависит от того, какую версию вы установили). 2) Откуда вы знаете, что открытые сессии связаны с этими конкретными браузерами? Вы определили, каковы ваши настройки тайм-аута по умолчанию для предприятия? Если вы создаете сеанс с браузером, а затем оставляете его (не закрываете) на период бездействия, который должен вызвать повторную аутентификацию, что произойдет? Вы используете систему единого входа? - person craig; 07.02.2012

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

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

Если у вас есть какие-либо оперативные отчеты, открытые в процессе разработки с помощью отчетов Crystal Reports, вы потеряете соединение с вашей базой данных, поэтому вы можете закрыть или сохранить их перед перезапуском.

Серверы в конечном итоге вернутся, и ваши открытые сеансы будут полностью очищены.

person user4000990    schedule 02.09.2014