Показать сообщение отдельно
Старый 20.12.2007, 10:02   #66  
ibc is offline
ibc
Участник
Аватар для ibc
 
472 / 30 (2) +++
Регистрация: 12.05.2003
Адрес: Москва
Лично мне, новый интерфейс 8.2 кажется неудобным. Насколько тонкий клиент?
Цитата:
Клиент-серверная архитектура построения приложения
Архитектура управляемого приложения ориентирована на максимальный перенос выполнения всей функциональности на сервер и максимальное «облегчение» клиента.

В предыдущих версиях платформы форма и командный интерфейс полностью располагались на клиенте и обращения к серверу выполнялись в основном для считывания и записи прикладных данных. Также на сервер могли переноситься отдельные части вычислений с помощью серверных общих модулей.

В управляемом приложении вся работа прикладных объектов выполняется только на сервере. Функциональность форм и командного интерфейса также реализована на сервере. На сервере выполняется подготовка данных формы, расположение элементов, запись данных формы после изменения. На клиенте отображается уже подготовленная на сервере форма, выполняется ввод данных и вызовы сервера для записи введенных данных и других необходимых действий. Аналогично командный интерфейс формируется на сервере и отображается на клиенте. Также и отчеты формируются полностью на сервере и отображаются на клиенте.

Однако существует возможность управлять функциональностью системы на клиенте. На клиенте поддерживается работа встроенного языка 1С:Предприятия 8. Эта возможность предназначена для случаев, когда некоторая функциональность должна выполняться именно на клиенте. Например, нужно быстро (без обращения к серверу) подсчитать сумму строки документа на основе цены и количества. Или нужно задать пользователю вопрос. Или нужно прочитать файл из файловой системы компьютера и отправить на сервер. Но работа встроенного языка на клиенте поддерживается в строго ограниченном объеме. Клиентские процедуры в модулях в явном виде отделяются от серверных, и в них используется ограниченный состав объектной модели встроенного языка.

На клиенте не допускается непосредственная работа с базой данных. Не допускается работа непосредственно с прикладными объектами, например, не доступны такие типы, как СправочникОбъект. Не допускается использование запросов. При необходимости вызова действий с данными в клиентском коде нужно вызывать серверные процедуры, которые уже будут обращаться к данным.

Для работы с прикладными данными в формах используются специализированные типы данных, предназначенные именно для отображения и редактирования данных в форме. Они наполняются на сервере из данных прикладных объектов и преобразуются потом обратно для записи измененной информации в базу данных. Таким образом, форма не работает непосредственно с данными прикладных объектов, а имеет собственную структуру данных, связанную с элементами формы. Преобразование данных прикладных объектов в данные формы и обратно выполняется системой автоматически при выполнении стандартных действий в форме. Но при реализации собственных алгоритмов разработчик должен вызывать такое преобразование самостоятельно.

Таким образом, разработчику нужно понимать, что он фактически работает с двумя контекстами исполнения системы: серверным и клиентским. И между ними происходит обмен данными. При разработке необходимо заботиться о минимизации клиент-серверного взаимодействия (сокращении объемов передаваемых данных, минимизации вызовов сервера и максимальной реализации бизнес-логики на сервере).

Программная модель управления клиентским приложением и взаимодействия между клиентом и сервером реализована таким образом, чтобы обеспечить работу системы без изменения конфигурации в режиме тонкого клиента и в режиме Веб-клиента. Это определяет ряд особенностей и ограничений. Например, для работы с файлами предоставляется специальный механизм, который обеспечивает обмен файлами между клиентом и сервером с учетом ограничений, которые накладывает модель безопасности интернет-браузеров.

Перенос выполнения бизнес-логики на сервер влияет на методику проверки прав доступа. Появляется возможность выполнять больше действий прикладных объектов в привилегированном режиме, так как они теперь выполняются на сервере и не требуют проверки прав доступа при обращении к данным информационной базы. Например, при проведении документа не обязательно проверять права доступа по регистрам, так как достаточно проверки того, что пользователю можно записать и провести документ с таким составом информации. Для этого введена возможность программного включения и выключения привилегированного режима в модулях на сервере.

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

Режимы работы
Работа традиционного клиента (1cv8.exe) может выполняться как с обычной (используемой в существующих версиях) моделью приложения, так и с новой моделью (управляемым приложением). Режим запуска может быть задан как для всей конфигурации, так и для конкретного пользователя. При работе в режиме управляемого приложения разделение функциональности между клиентом и сервером для управляемых форм будет аналогично работе в режиме тонкого клиента.

Кроме того, предлагается новый исполняемый модуль (1cv8c.exe), являющийся тонким клиентом. Он работает только в режиме управляемого приложения и не может использовать функциональность обычных форм.

Третий режим работы управляемого приложения – работа с помощью Веб-клиента. В этом случае, разумеется, также работают только управляемые формы. В Веб-клиенте в качестве клиентского приложения используется интернет-браузер. Вся функциональность клиента в этом режиме исполняется системой с помощью языка Java Script. В том числе и клиентские модули, разработанные в конфигурации, также транслируются автоматически из встроенного языка 1С:Предприятия 8 в Java Script.
Но при выходе окончательного релиза может все поменяться!