Ручное конфигурирование (файлы config)
Файл конфигурации сервера приложений
Параметры работы сервера приложений (СП) задаются в специальном конфигурационном файле appserver.config, который должен располагаться в корне каталога СП. Файл имеет формат XML и, соответственно, должен начинаться с сигнатуры:
Все параметры настройки сервера приложений задаются в тэге server-config. Внутри данного тэга прописываются параметры настроек. Таким образом, общий вид файла конфигурации выглядит следующим образом:
Все настройки сгруппированы по их назначению. Каждая группа настроек прописывается в отдельном тэге. Для сервера приложений определены следующие группы настроек:
database - параметры подключения к БД;
server-mode - режим работы сервера приложений;
logging - настройка протоколирования;
security-config - настройка безопасности (назначение ролей сервера приложений группам пользователей операционной системы);
storage - конфигурация хранилища;
update-service - настройка сервиса обновления.
Параметры подключения к БД
Обязательный тэг. Определяет параметры подключения сервера приложений к серверу БД. Внутри тэга определяется название поставщика СУБД (тэг provider), строка подключения к БД (тэг work-db-connection-string), лимит времени ожидания выборки СУБД (тэг select_timeout), лимит времени ожидания команды СУБД (тэг command_timeout).
Синтаксис:
Провайдер сервера БД
Обязательный тэг provider определяет имя поставщика сервера БД.
Синтаксис:
где:
провайдер БД - имя провайдера БД. В настоящее время платформа предоставляет следующий перечень провайдеров БД:
MSSQL;
ORACLE;
PostgreSQL.
Строка подключения к БД
Обязательный тэг work-db-connection-string определяет строку подключения к БД, которая используется поставщиком БД.
Синтаксис:
где:
строка подключения - строка подключения к БД.
Время ожидания ответов СУБД
Необязательный тэг select_timeout лимит времени ожидания получения результата выборки с сервера БД в секундах.
Синтаксис:
где:
число - лимит времени ожидания получения результата выборки с сервера БД в секундах.
Необязательный тэг command_timeout лимит времени ожидания выполнения команды серверу БД в секундах.
Синтаксис:
где:
число - лимит времени ожидания выполнения команды на сервера БД в секундах.
Пример:
…
MSSQL
Integrated Security=SSPI;Initial Catalog=MyDB;Data source=(local)\SQLEXPRESS
30000
30000
…
|
Внимание! Максимальное значение для параметров select_timeout и command_timeout равно 65535.
Настройка протоколирования
Необязательный параметр конфигурации logging определяет настройку протоколирования работы сервера приложений. В платформе определены следующие типы хранилищ протокола, в которые выводятся сообщения работы СП:
Консольный вывод
Текстовой файл
Журнал событий ОС
Протоколирование можно организовать одновременно несколькими способами. Например, можно выводить протокол работы сервера приложений одновременно и в консольное окно приложения и в текстовый файл. Для каждого варианта можно настроить фильтрацию вывода информации, в которую входят как сообщения об ошибках, так и прочие отладочные сообщения.
Внутри тэга logging определяется тэг loggers, в котором, используя тэги logger, перечисляются один за другим все необходимые варианты протоколирования.
Пример:
Для выбора типа протоколирования у тэга logger используется атрибут type, значением которого является полное имя класса (включая имя сборки) соответствующего типа протокола. Внутри тэга logger с помощью тэгов filter-level и params задаются настройки текущего протокола.
Синтаксис:
уровень фильтрации сообщений
…
|
где:
тип протокола - определяет тип протокола и может принимать следующие значения:
Значение
|
Описание
|
Parus.Net.Logger.StandardStores.ConsoleLogStore, AppServer.Common
|
Консольный вывод
|
Parus.Net.Logger.StandardStores.TextFileLogStore, AppServer.Common
|
Текстовой файл
|
Parus.Net.Logger.StandardStores.SysLogStore, AppServer.Common
|
Журнал событий ОС
|
уровень фильтрации сообщений - определяет один из предопределенных уровней фильтрации выводимых сообщений:
Значение
|
Описание
|
Minimal
|
Все сообщения без исключений
|
VeryLow
|
Все сообщения на уровне обращения к БД
|
Low
|
Все сообщения на уровне публикации объектов для доступа удаленного клиента, а также события отключения сессии
|
BelowNormal
|
Все сообщения на уровне менеджера нотификации клиента
|
Normal
|
Все сообщения на уровне развертывания пакетов
|
AboveNormal
|
Все сообщения менеджера нотификации клиента
|
BelowHigh
|
Ошибки асинхронных задач
|
High
|
Все ошибки
|
AboveHigh
|
В настоящее время не используется (уровень фильтрации такой же, как и VeryHigh)
|
VeryHigh
|
Вывод отладочной информации
|
Maximal
|
Вывод всех сообщений отключен
|
По умолчанию для консольного режима работы сервера приложений используется уровень фильтрации VeryLow, а для режима работы в качестве службы - AboveNormal.
имя параметра - имя параметра для настройки конкретного типа протокола;
значение параметра - значение параметра для настройки конкретного типа протокола.
Имена параметров и их значения зависят от конкретного типа протокола.
Вывод протокола в консольное окно сервера приложений
(type = "Parus.Net.Logger.StandardStores.ConsoleLogStore")
Этот тип протоколирования не имеет специфических параметров, и поэтому тэг params может быть опущен.
Пример:
Вывод протокола в текстовый файл
(type = "Parus.Net.Logger.StandardStores.TextFileLogStore")
Определяет вывод протокола в файл.
Дополнительные параметры (тэг params):
path - путь к папке, где хранятся создаваемые файлы протокола. Имена файлов протоколов формируются автоматически;
period - период создания файлов. Значением данного параметра является одна из предопределенных констант.
Значение
|
Описание
|
hourly
|
Новый файл протокола создается каждый час. Имена файлов имеет вид ГГГГ_ММ_ДД_ЧЧ.log, где ГГГГ - год, ММ - месяц, ДД -день, ЧЧ - час, например: 2012_10_16_13.log
|
daily
|
Новый файл протокола создается ежедневно. Имена файлов имеет вид ГГГГ_ММ_ДДD.log, где ГГГГ - год, ММ - месяц, ДД -день, например: 2012_10_16D.log
|
weekly
|
Новый файл протокола создается еженедельно. Имена файлов имеет вид ГГГГ_ММ_ННW.log, где ГГГГ - год, ММ - месяц, НН -неделя года, например: 2012_10_41W.log
|
monthly
|
Новый файл протокола создается ежемесячно. Имена файлов имеет вид ГГГГ_ММ.log, где ГГГГ - год, ММ - месяц, например: 2012_10.log
|
Пример:
Важно! Ведение подробного протокола может снизить производительность сервера приложений, поэтому рекомендуется включать протоколирование только для устранения ошибок. Также не имеет смысла включать протоколирование в консольное окно, если сервер запускается в режиме службы.
Важно! После изменения параметров в файле конфигурации необходимо перезапустить сервер приложений. Настройка безопасности
Во вложенном тэге определяются назначения ролей сервера приложений группам пользователей ОС. В текущей версии применяются две роли: право на работу в приложениях системы (роль User) и право на администрирование системы (роль ServerAdministrator). Обязательно должны быть перечислены обе роли: User и ServerAdministrator. Допускается назначение обеих ролей одной группе пользователей, но назначить нескольким группам операционной системы одну роль сервера приложений нельзя.
Пример:
Пример файла конфигурации:
подключение к базе tornado локально установленного SQL Server-->
MSSQL
Integrated Security=SSPI;Initial Catalog=tornado;Data Source=(local)
одновременно вывод в файл и консольное окно-->
самый подробный файл протокола создается ежедневно в папке C:\Temp\Logs-->
Minimal
в консольное окно выводятся ошибки-->
High
члены группы Сотрудники могут использовать и администрировать сервер приложений -->
|
Настройка сервисных портов , и
Необязательные параметры update-service, client-update-service и notify-service определяют к какому порту СП будут обращаться Клиент обновления (КО) и Клиент сервера приложения (КСП) соответственно.
update-service имеет вложенные тэги и . Тэг определяет номер порта для работы с КО, а тэг определяет таймаут (в минутах) после которого СП разорвет соединение с КО, если от него не будет исходить никакой активности.
client-update-service имеет только вложенный тэг . Тэг определяет номер порта для опроса и обновления КСП. КСП сам получает от СП порт для обновлений т.е. КСП отдельно настраивать не нужно.
notify-service содержит только вложенный тэг . Тэг определяет номер порта для сервисной работы КСП и СП.
Пример:
8081
15
8082
8083
< help-service>
8084
|
Настройка рабочей папки сервера приложений
Необязательный параметр storage позволяет переопределить рабочую папку сервера приложений. Данная папка используется сервером приложений для хранения своего кэша и других вспомогательных файлов. При автоматическом обновлении путь этой папки также используется для сохраняется копии БД и полученных пакетов.
Внимание! Если требуется запускать на одном компьютере более одного сервера приложений, то необходимо обязательно указывать разные пути storage для каждого экземпляра сервера приложений.
Пример:
C:\ProgramData\Parus.TornadoServer
|
Файлы конфигурации клиента сервера приложений
Параметры работы клиента сервера приложений (КСП) задаются в специальных конфигурационных файлах client.config, SmartClient.Win.exe.config и SmartClient.Win32.exe.config , которые должены располагаться в корне каталога КСП. Файлы имеют формат XML.
Все параметры настройки КСП в файле client.config задаются в тэге Config. Внутри данного тэга прописываются параметры настроек. Таким образом, общий вид файла конфигурации выглядит следующим образом:
Пример файла:
True]]>
C:\Documents and Settings\All Users\Application Data\Parus.SmartClient.Win\Assemblies]]>
|
В тэге assemblies устанавливается Включение\отключение кэша и его путь. Соответственно в свойстве с именем enable-cache параметр True, говорит о том, что кэширование клиентских сборок включено. А свойство store указывает на место хранения кэша, в данном примере это "C:\Documents and Settings\All Users\Application Data\Parus.SmartClient.Win\Assemblies"
Файлы SmartClient.Win.exe.config и SmartClient.Win32.exe.config отвечают за
Пример содержимого файлов SmartClient.Win.exe.config и SmartClient.Win32.exe.config:
Максимально допустимое время задержки ответа сервера приложений в секундах
Если сервер не ответит на запрос по истечении указанного времени клиент покажет
WebException - Timeout
-->
|
Тэг generatePublisherEvidence указывает, будет ли проводится проверка сертификатов. Свойство enabled со значением false, говорит о том, что проверка сертификатов издателя не будет производиться, что ускорит работу при медленном или отсутствующем подключения к сети интернет.
Тэг assemblyBinding является служебной секцией, содержит сведения о перенаправлении версии сборки и о расположении сборок.
Тэг appSettings содержит ключ ServerCallTimeout со значением value равным 9000. Данный ключ указывает время в миллисекундах, после которого клиент перестанет ждать ответа от сервера.
|