автордың кітабын онлайн тегін оқу Облачные технологии «1С:Предприятия»
Е. Ю. Хрусталева
Облачные технологии "1С:Предприятия 8"
Облачные технологии "1С:Предприятия 8"
Электронная книга в формате ePub; ISBN 978-5-9677-2611-8.
Версия издания от 27.09.2016.
Электронный аналог издания "Облачные технологии "1С:Предприятия 8"" (ISBN 978-5-9677-2608-8, М.: ООО "1С-Паблишинг", 2016; артикул печатной книги по прайс-листу фирмы "1С": 4601546128010; по вопросам приобретения печатных изданий издательства "1С-Паблишинг" обращайтесь к партнеру "1С", обслуживающему вашу организацию, или к другим партнерам фирмы "1С").
Книга адресована разработчикам прикладных решений, которые хотят познакомиться с технологиями, обеспечивающими работу системы «1С:Предприятие 8» через Интернет. Кроме этого в книге рассматривается новая технология, 1cFresh, которая позволяет организовать работу с прикладными решениями «1С:Предприятия 8» в модели сервиса. На нескольких примерах показываются разные варианты использования сервиса: для внутренних целей холдинга или для использования опубликованных приложений внешними клиентами.
Основная цель книги – познакомить с новыми облачными технологиями системы «1С:Предприятие 8». Поэтому в ней нет подробных инструкций, выполняя которые, читатель может достигнуть описанного результата. Однако она содержит замечания и советы по установке и настройке сервиса, а также по адаптации типовых или собственных прикладных решений к работе в модели сервиса. В сочетании с документацией эти советы помогут читателям выполнить примеры, описываемые в книге.
Книга выпущена под редакцией Максима Радченко.
© ООО «1С-Паблишинг», 2016
© Оформление. ООО «1С-Паблишинг», 2016
Все права защищены.
Материалы предназначены для личного индивидуального использования приобретателем.
Запрещено тиражирование, распространение материалов, предоставление доступа по сети к материалам без письменного разрешения правообладателей.
Разрешено копирование фрагментов программного кода для использования в разрабатываемых прикладных решениях.
Фирма "1С"
123056, Москва, а/я 64, Селезневская ул., 21.
Тел.: (495) 737-92-57, факс: (495) 681-44-07.
1c@1c.ru, http://www.1c.ru/
Издательство ООО "1С-Паблишинг"
127434, Москва, Дмитровское ш., 9.
Тел.: (495) 681-02-21, факс: (495) 681-44-07.
publishing@1c.ru, http://books.1c.ru/
Глава 1. Облачные технологии «1С:Предприятия»
Развитие и повсеместное применение Интернета в современном мире, а также совершенствование техники и оборудования, привели к широкому распространению «облачных» технологий при использовании программного обеспечения. Применение этих технологий позволяет постоянно «держать руку на пульсе своего бизнеса» и работать on-line с данными своей организации из любого места земного шара, где есть Интернет.
Кроме того, пользователям, работающим в облачной модели, не нужно заботиться об администрировании своих приложений, резервном копировании, своевременном обновлении. Достаточно просто включить компьютер, и пользоваться приложениями, как пользуются электричеством, вставляя вилку в розетку.
Такие возможности работы обеспечиваются целым набором технологий, которые реализованы в платформе «1С:Предприятие 8». Все эти технологии можно объединить одним словом «облачные». Термин «облако» используется здесь как метафора. Она основана на том, что Интернет изображается на компьютерных диаграммах в виде облака, за которым от клиента скрывается сложная инфраструктура со всеми техническими деталями. Рассмотрим более подробно эти технологии.
Подключение к информационной базе по протоколу HTTP
В платформе «1С:Предприятие» реализованы клиентские приложения: тонкий клиент и веб-клиент, с помощью которых пользователи могут удаленно работать с прикладными решениями через Интернет.
Тонкий клиент – это «облегченный» вариант клиентского приложения «1С:Предприятия», который работает только в режиме 1С:Предприятие и не поддерживает режим разработки в конфигураторе. За счет своей легкости он может работать через Интернет, но требует предварительной установки небольшого по объему дистрибутива системы на компьютер пользователя.
Веб-клиент – это клиентское приложение «1С:Предприятия», работающее в среде интернет-браузера, в том числе и на мобильных устройствах, и не требующее предварительной установки системы на компьютер пользователя. Но веб-клиент не поддерживает некоторые возможности платформы в отличие от тонкого клиента.
Прикладные решения не требуют какой-либо доработки для того, чтобы работать с ними через Интернет. И тонкий, и веб-клиент самостоятельно обеспечивают функционирование интерфейса «1С:Предприятия» на компьютере пользователя.
Они подключаются к специальным образом настроенному веб-серверу, который осуществляет их взаимодействие с кластером серверов «1С:Предприятия» (рис. 1.1).
Рисунок 1.1. Подключение через Интернет в клиент-серверном варианте работы
Подключение клиентских приложений может выполняться как по протоколу HTTP (протокол прикладного уровня передачи данных), так и по протоколу HTTPS, поддерживающему шифрование передаваемых данных.
Для подключения к информационной базе по протоколу HTTP необходимо сначала в конфигураторе выполнить публикацию информационной базы на веб-сервере с помощью диалога публикации по команде Администрирование – Публикация на веб-сервере.
Для запуска веб-клиента необходимо использовать адрес, который формируется по следующим правилам: <Имя хоста веб-сервера>/<Имя виртуального каталога>. Например, если имя виртуального каталога, в котором опубликован веб-клиент, – Taxi, то для запуска веб-клиента в интернет-браузере или в проводнике следует набрать следующий URL (для получения доступа с локальной машины): http://localhost/Taxi.
В результате прямо в браузере будет запущено «1С:Предприятие» в режиме веб-клиента (рис. 1.2).
Рисунок 1.2. «1С:Предприятие», запущенное в режиме веб-клиента
Чтобы подключиться к информационной базе, опубликованной на веб-сервере, с помощью тонкого клиента, нужно в диалоге создания или редактирования информационной базы, в стартовом окне «1С:Предприятия», выбрать вид расположения информационной базы На веб-сервере. И затем в строке адреса информационной базы указать http://localhost/Taxi, то есть такой же адрес, что и при подключении с помощью веб-клиента.
Веб-клиент, в отличие от толстого и тонкого клиентов, исполняется не в среде операционной системы компьютера, а в среде интернет-браузера (Microsoft Edge, Windows Internet Explorer, Mozilla Firefox, Google Chrome или Safari). Поэтому любому пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база, и веб-клиент начнет свою работу.
Для работы веб-клиента важно, чтобы браузер имел некоторые настройки, поэтому при первом запуске веб-клиента выполняются некоторые автоматические проверки, и если браузер не настроен нужным образом, выводится инструкция по настройке, или даже диалог настройки браузера (для Mozilla Firefox).
В целом работа с «1С:Предприятием» в режиме веб-клиента аналогична работе в режиме тонкого клиента, но имеет некоторые особенности и ограничения при работе с табличными документами, графическими схемами, диаграммами, географическими схемами и т. п. Все эти особенности подробно описаны в документации.
Особо следует отметить ряд ограничений, которые накладывает веб-клиент на работу с файловой системой. Политика безопасности веб-браузеров такова, что приложения, работающие в их среде, не имеют прямого доступа к файловой системе компьютера. Поэтому все операции с файловой системой (получение файла с сервера, передача файла на сервер, удаление файла и т. п.) требуют явного подтверждения пользователя и выполняются строго интерактивно.
Для обеспечения полнофункциональной работы с файловой системой в браузерах нужно установить расширение для работы с файлами. Расширения для работы веб-клиента с файлами, криптографией можно установить в самом приложении, запущенном в режиме веб-клиента, если установка этих расширений предусмотрена в прикладном решении.
Механизм разделения данных
Одним из важнейших механизмов «облачных» технологий является механизм разделения данных.
Механизм разделения данных позволяет хранить данные нескольких независимых организаций в одной информационной базе. В режиме разделения данных все эти организации используют один и тот же экземпляр прикладного решения (одну и ту же информационную базу) для работы со своими данными.
То есть в обычном режиме (без использования разделения данных) каждая организация запускает свой отдельный экземпляр программы, и видит в ней только свои данные, потому что других данных изначально там нет. А в режиме разделения данных все организации запускают один и тот же экземпляр программы, но видят в ней только свои данные. При этом у них создается ощущение, что с программой работают только они, потому что они видят только ту часть данных, которая относится к их области.
Для этого используются общие реквизиты конфигурации, которые позволяют автоматически добавлять многим объектам конфигурации одинаковый реквизит с одним и тем же именем и одинаковым типом.
Если у общего реквизита свойство Разделение данных установлено в значение Разделять, то он становится разделителем, то есть позволяет идентифицировать независимые области данных, создаваемые внутри информационной базы.
Например, в конфигурации существует общий реквизит Организация. Это значит, что у каждого справочника, документа или другого объекта конфигурации также будет существовать реквизит Организация.
В случае если общий реквизит Организация является разделителем данных, то в информационной базе будет создано несколько независимых областей данных, в каждой из которых будут храниться данные только для одной конкретной организации (рис. 1.3).
Рисунок 1.3. Деление информационной базы на независимые области
Таким образом, заходя в программу, пользователь получает доступ не ко всей информации, которая есть в информационной базе, а только к данным «своей» области, в данном случае к документам, справочникам и др. своей организации (рис. 1.4).
Рисунок 1.4. Доступ пользователей к независимым областям
Возможен и другой вариант использования механизма разделения данных, когда в информационной базе существует несколько независимых областей данных и наряду с этим существуют данные, которые доступны всем пользователям программы. Например, они содержат справочник банков, который одинаков для всех организаций (рис. 1.5).
Рисунок 1.5. Общие и независимые области данных
В этом случае пользователь имеет доступ к «своей» области данных и к области неразделенных данных, которая является общей для всех пользователей (рис. 1.6).
Рисунок 1.6. Доступ пользователей к общим и независимым областям данных
На уровне платформы, если разделитель используется, то в текущем сеансе видны только те записи, в которых значение разделителя совпадает с текущим значением параметра сеанса, на который ссылается разделитель. Это достигается за счет того, что платформа добавляет отбор во все запросы к базе данных на чтение, обновление, удаление по текущим значениям используемых разделителей. При добавлении и записи данных тех объектов конфигурации, которые входят в состав разделителя, также устанавливаются текущие значения этого разделителя.
Механизм разделения данных имеет следующие особенности:
- Может использоваться не один, а несколько разделителей.
- Могут применяться разные режимы использования разделяемых данных – независимо/независимо и совместно. При независимом разделении данных, разделенные данные из одной области данных недоступны для другой области данных. Этот режим может использоваться в тех случаях, когда прикладное решение в своей работе использует только данные одной области данных. При независимом и совместном разделении данных из неразделенного сеанса доступны все данные, разделенные независимо и совместно. Такой режим может использоваться в большинстве случаев, когда прикладное решение работает только с данными одной области данных (например, при вводе документов), а в некоторых режимах могут использоваться данные нескольких или всех областей (например, для получения консолидированной отчетности).
- Может применяться так называемое условное разделение, когда прикладное решение предполагается использовать как в разделенном, так и в неразделенном вариантах. Например, прикладное решение может использоваться для автономной работы – в этом случае разделители не используются, но в самом решении они предусмотрены, а может использоваться для работы некоторого количества абонентов, никак не связанных друг с другом.
- Может использоваться разделение пользователей, при котором определяется, какая часть списка пользователей будет доступна в зависимости от того, используется данный разделитель или нет. Разделение пользователей используется при программном доступе к списку пользователей, а также в конфигураторе при редактировании списка пользователей.
- Может использоваться разделение аутентификации, при котором возможно создание одноименных пользователей для разных областей данных. Например, можно создать несколько пользователей Администратор, которые будут различаться только значениями разделителей.
Публикацию базы на веб-сервере (файл default.vrd) можно настроить так, что значение разделителя можно будет указывать прямо в строке подключения, например http://localhost/Taxi/1. Здесь 1 – это значение разделителя.
OpenID-аутентификация
Общая информация
Еще одним важным и полезным механизмом «облачных» технологий является OpenID-аутентификация.
OpenID-аутентификация – это один из видов аутентификации (проверка подлинности), поддерживаемых механизмом аутентификации «1С:Предприятия».
В этом случае аутентификацию пользователя выполняет не конкретная информационная база, к которой пытается подключиться пользователь, а внешний OpenID-провайдер. Это информационная база «1С:Предприятия», специальным образом опубликованная на веб-сервере, которая выполняет процедуру аутентификации пользователей и хранит список пользователей для проверки.
В качестве OpenID-идентификатора используются имена пользователей информационной базы, которая обращается к OpenID-провайдеру. Имя пользователя должно совпадать с именем пользователя информационной базы OpenID-провайдера.
Если используется аутентификация «1С:Предприятия», то каждый раз, при подключении к информационной базе, пользователь должен вводить логин и пароль.
Если же используется OpenID-аутентификация, то однажды выполнив процедуру аутентификации при подключении к одной из баз, во все остальные базы пользователь будет заходить без запроса логина и пароля. OpenID-провайдер будет автоматически аутентифицировать пользователя на основе имеющейся у него информации.
Последовательность действий, выполняемых при подключении пользователя, представлена на следующей схеме (рис. 1.7).
Рисунок 1.7. OpenID-аутентификация
На схеме цифрами показана последовательность действий при подключении пользователя с помощью OpenID-аутентификации:
- 1 – клиентское приложение обращается к информационной базе 1.
- 2 – информационная база 1 обращается к OpenID-провайдеру с тем, чтобы он аутентифицировал пользователя.
- 3 – OpenID-провайдер выполняет процедуру аутентификации: пользователь вводит логин и пароль; в случае успешной аутентификации на компьютере пользователя в cookie сохраняется признак того, что провайдер аутентифицировал пользователя.
- 4 – используя признак аутентификации, сохраненный в cookie, пользователь подключается к информационной базе 1 и начинает работу.
- 5, 6 – при обращении к другой информационной базе, пользователю не нужно снова вводить логин и пароль; на основании признака аутентификации, сохраненного ранее в cookie, OpenID-провайдер выполняет аутентификацию незаметно для пользователя.
Тем самым повышается комфортность и скорость работы пользователей с прикладными решениями «1С:Предприятия».
OpenID-аутентификация работает только в тех случаях, когда доступ к информационной базе осуществляется по протоколу http и https. Это означает, что использовать OpenID-аутентификацию могут только веб-клиент и тонкий клиент, подключенный к информационной базе через веб-сервер. Взаимодействие с OpenID-провайдером осуществляется только по HTTPS-соединению.
Настройка OpenID-аутентификации
Для того чтобы система выполняла аутентификацию с помощью протокола OpenID необходимо, чтобы у пользователя в информационной базе, которая использует OpenID-аутентификацию, был установлен флажок Аутентификация OpenID и соответствующим образом была настроена публикация данной информационной базы на веб-сервере (файл default.vrd).
В файле публикации информационной базы default.vrd, в описании элемента <openid>, можно указать адрес информационной базы, которая используется в качестве OpenID-провайдера для публикуемой информационной базы, или же указать, что сама эта база является OpenID-провайдером для других информационных баз.
В первом случае файл публикации default.vrd должен содержать, например, следующий фрагмент (листинг 1.1).
Листинг 1.1. Указание адреса базы, являющейся OpenID-провайдером
<openid>
<rely url="https://myserver.org/users-ib/e1cib/oid2op"/>
</openid>
Атрибут <url> элемента <rely> содержит адрес информационной базы, которая является OpenID-провайдером для опубликованной информационной базы.
Можно вручную отредактировать файл публикации, а можно внести указанные изменения через диалог публикации на веб-сервере, включив там флажок Использовать OpenID-аутентификацию и указав Адрес OpenID-провайдера.
Во втором случае файл публикации default.vrd должен содержать, например, следующий фрагмент (листинг 1.2).
Листинг 1.2. Эта база сама является OpenID-провайдером
<openid>
<provider/>
</openid>
Элемент <provider> указывает, что опубликованная таким образом информационная база выступает в роли OpenID-провайдера.
При этом можно задать время жизни признака аутентифицированности. Это позволяет заново запрашивать аутентификацию в тех случаях, когда подключение к информационным базам происходит с большими промежутками времени.
За это отвечает подчиненный элемент <lifetime>, в котором задается время действия признака аутентифицированности. Если этот элемент не указан, то значением по умолчанию является 86 400 секунд (24 часа).
Можно внести указанные изменения как вручную, так и через диалог публикации на веб-сервере, включив там флажок Использовать в качестве OpenID-провайдера (Время жизни аутентификации).
Защищенное соединение, сертификаты безопасности
Подключение клиентских приложений к информационным базам может выполняться как по протоколу HTTP, так и по протоколу HTTPS, поддерживающему шифрование передаваемых данных.
HTTPS (Hypertext Transfer Protocol Secure) – расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTPS, «упаковываются» в криптографический протокол SSL, тем самым обеспечивается защита этих данных.
Для того чтобы использовать HTTPS-соединение, нужно получить цифровой сертификат для доменного имени из доверенных центров сертификации. Можно использовать также «самоподписанный» сертификат, сгенерированный и подписанный самим владельцем доменного имени. Но в этом случае все пользователи этого доменного имени должны будут настроить используемые ими веб-браузеры, чтобы они доверяли этому сертификату.
Глава 2. Технология 1cFresh
Перечисленные выше и другие «облачные» технологии реализованы в платформе «1С:Предприятие». Их можно использовать по отдельности, но все вместе они наиболее полно проявляются в технологии 1cFresh, которую разработала фирма «1С». Эта технология позволяет организовывать работу с прикладными решениями «1С:Предприятия» через Интернет в модели сервиса.
Работа в модели сервиса предполагает, что пользователи не приобретают сами прикладные решения. Они платят лишь за использование прикладного решения через Интернет. Прикладные решения развертываются у поставщика сервиса. Это организация, предоставляющая услуги по использованию прикладных решений на платформе «1С:Предприятие» в модели сервиса.
Работа в модели сервиса позволяет реализовать для прикладных решений «1С:Предприятия» бизнес-модель продажи и использования программного обеспечения, известную как SaaS (software as a service – программное обеспечение как услуга).
