====== LSS протокол ====== [[start:|lss]] ===== Введение ===== [[Protocol]] - протокол взаимодействия серверных скриптов с клиентской программой [[Viewer]]. Протокол обладает следующими особенностями: * Он работает по **http** * Он реализован как обмен **XML документами** в виде запрос – ответ. * Он предельно упрощен, в том смысле, что минимизировано кол-во используемых сущностей. * Он выразителен, в том смысле, что в нем отражены существенные понятия, а несущественные подробности опущены. ===== Описание протокола ===== * [[Request]] - это то, что поступает на сервер от клиента, запрашивая данные или инструкции * [[Response]] - это то, что сервер присылает клиенту обратно * [[LSSFormat]] - это строгий, регионально независимый формат представления данных, используемый в **запросах** и **ответах**. * [[rowset]] - это размещенный на клиенте набор табличных данных. Начитывает данные и отписывает изменения посредством соответствующего серверного скрипта [[datasource|источника данных datasource]] * [[datasource]] - это серверный скрипт, обеспечивающий работу клиента с табличными данными [[rowset|наборов строк]]. * **LSSScript** - это язык, используемый для описания динамически вычисляемых на стороне клиента выражений. Это обычный **JavaScript**, расширенный нескольками, специально написанными функциями, для доступа к данным, расположенным на клиенте. Динамически вычисляемые выражения нужны для: * Вычисления значения параметров, передаваемых [[Request|запросам]] (**js_value**) * Вычисления доступности выполнения запроса в зависимости от контекста (**js_enabled**) * Вычисления видимости панели экранной формы в зависимости от контекста (**js_visible**) * Вычисления доступности для редактирования полей источника данных (**js_readonly**) * [[form-definition]] - **XML описание**, по которому строится экранная форма * [[rowset-definition]] - **XML описание**, по которому строятся экземпляры [[rowset|наборов строк]] в экранной форме