Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Как только в платформе 1С появился такой объект как HTTP-сервис, сразу стало очевидным, что на 1С можно начать делать сайты. Т.е. не просто опубликовать базу в web и пользоваться web-клиентом, а написать полноценный back-end, который генерит произвольный html с произвольным оформлением, скриптами и всеми web-плюшками, соответсвенно потребуется и разработка fron-end`а, о чем раньше мы и не думали. Сообщество 1Сников неоднозначно отреагировало на появление этого объекта. С одной стороны появился объект в мульЁн раз удобнее и проще устаревшего web-сервиса, с помощью которого можно налаживать обмены между системами через web. Например так устроена бесшовная интеграция 1С:ERP с 1С:Документооборотом, никаких com соединений и задержек, ответ на запрос в реальном времени в формате xml. С другой стороны понятно, что ответом на http запрос может быть html документ, картинка и в целом (не для 1С) это самый популярный случай. Так кто мешает нам сделать простенький движок сайта на платформе 1С? Никто! А зачем?

1. Свой интерфейс. Ни Такси, ни УФ, а свой! Простой, сложный, решать Вам!

2. Не жрет лицензий! Веб-сервис в отличии от тонкого клиента не жрет лицензии в соответствии с количеством пользователей. Потратив усилия на разработку своего собственного front-end`а вы не покупаете лицензию на каждого пользователя, а всего одну.

3. По сравнению с классическим джентельменским набором web-разработчика, 1С решает проблему разработки БД и админской части сайта. Админка будет обычным тонким клиентом, который можно вообще наружу не публиковать, что решает проблему безопасности, но при желании можно и web-клиент опубликовать на ровне с http-сервисом, для удаленного администрирования.

Итак у нас нарисовалась вполне себе ниша для применения: большое, заранее неизвестное количество пользователей; простой функционал front-end`а, который легко реализовать самому. Т.е. соотношение стоимости лицензий и стоимости разработки в пользу стоимости разработки.

Ну что, докажем, что сайты можно делать не только на php? 

Это будет отличный практикум по управляемым формам, основам работы с http-сервисами, html и прочему!!!

Я, конечно, знаю, что сейчас есть альтернативы php и «джентельменский набор» web-разработчика уже морально устаревает, но комбинация apache-php-mySQL-javascript-html все еще самая популярная. Все известные CMS работают именно на этой комбинации и все хостеры предоставляют именно такой софт на серверах.

Что из этой комбинации мы выкинем, а что оставим?

⦁ Apache – веб-сервер никуда мы не денем. IIS или apache для 1С разницы нет. Все зависит от ОС на сервере. Скажу сразу, что у IIS есть минус, он не позволяет легко опубликовать приложение в корень, да он вообще не всегда дружит с публикацией 1С баз в web. Рекомендую в образовательных целях Apache. С IIS нае…мучиться успеете. 

⦁ php – убираем. Вся серверная логика будет выполняться на встроенном в 1С языке.

⦁ MySQL – убираем. 1С с ним не работает. Тут мы в учебных целях будем работать с файловой базой, т.е. в качестве СУБД будет сама 1С. Но в уме держим, что в нашем распоряжении MS SQL, ORACLE и Postgre SQL. Тут хочу заметить, что т.к. цель - создание сайта, то с базой 1С фактически будет работать один пользователь, которым Apache с помощью wsisapi.dll будет подключаться к базе, а это значит, что производительность файловой базы в общем случае не будет уступать серверной, даже наоборот, исключается огромное количество посредников между данными и клиентом (браузером). В серверных базах всегда лаг больше.

⦁ javascript-html – остается. Собственно получателем информации будет браузер, а он ничего больше и не умеет понимать.

Что нам нужно на локальном компьютере, для прохождения этого урока:

⦁ Установленный web-сервер. Про apache написано тут. IIS является частью windows, что выбрать решайте сами, но мой совет Вы уже услыщали.

⦁ Платформа 1С.

⦁ Пустая файловая база 1С.

Итак, нам для изучения этой темы нужна простая учебная задача, на примере которой мы все и сделаем. Так что, начнем с технического задания на наш сайт.

ТЗ: нужен сайт содержащий справочную информацию. Справочная информация разбита по главам. Каждая глава – отдельная страница. Глава может содержать абзацы с обычным текстом, куски кода на языке 1С, цитаты. В обычном тексте предусмотреть возможность выделения слов жирным шрифтом, курсивом, подчеркивать. В тексте могут быть ссылки на другие главы. Состав глав и их содержимое может редактировать администратор сайта. Картинок в содержимом глав нет. Стили оформления текста администратор должен редактировать без помощи разработчиков.

Не буду больше уделять внимание ТЗ, подробности реализации увидим по ходу разработки.

Всю работу разделим на следующие этапы:

⦁ Разработка админки.

⦁ Разработка процедуры формирования html

⦁ Настройка http-сервиса и публикация сайта.

Начнем! Открываем конфигуратор пустой базы. Во время написания статьи у меня стояла платформа 8.3.9.1850, но пойдет и более ранняя, т.к. http-сервисы уже давно есть в платформе.

 

Авторизуйтесь пожалуйста