|  Ручное конфигурирование (файлы 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. Данный ключ указывает время в миллисекундах, после которого клиент перестанет ждать ответа от сервера.
 
 |