При розробці додатків з глобальним взаємодією вже давно відома архітектура SOA (Service Oriented Architecture).
Така архітектура має на увазі, що додатки на різних платформах, в різних середовищах взаємодіють між собою, при цьому розробник може не турбуватися про те, що знаходиться всередині додатків на тій стороні (тобто про їх реалізації), а також про те, що знаходиться зовні (тобто про їх середовищі оточення).
Існує досить велика кількість реалізації цієї архітектури. Одним із видів такої реалізації є технологія, заснована на зв'язці специфіковані консорціумом w3c таких технологій, як веб-сервіси та протокол SOAP, які в свою чергу засновані на XML. Вже досить тривалий час ця технологія інтегрована в платформу «1С: Підприємство». Завдяки цьому «1С: Підприємство» може служити:
- «Сервером додатків»
- постачальником сервісів
- можна організувати взаємодію між 1С і додатками, написаними на інших платформах
- можна організувати взаємодію між різними системами на базі 1С і так далі.
Існує досить велика кількість корисних web-сервісів, наприклад: отримання курсів валют, служби надсилання повідомлень електронної пошти та SMS на основі web-сервісів і SOAP, яку архітектуру використовують туристичні агентства, готелі, рітейлери і т.п.
Частина 1. Здрастуй, Name! Приклад створення web-сервісу
Є достатня кількість противників WS + SOAP і прихильників інших технологій, як і тих, хто недолюблює 1С. Однак існуюча технологія розробки на платформі 1С дозволяє приступити до розробки і отримати готовий результат досить швидко при досить поверхневому знайомстві з подробицями специфікацій SOAP, WSDL і веб-сервісів, в порівнянні з багатьма іншими відомими продуктами як від гігантів софтверної індустрії, так і з безкоштовними open -source рішеннями, що само по собі не є ні плюсом ні мінусом, але змушує задуматися.
Щоб остаточно в цьому переконатися, я твердо вирішив в якості експерименту реалізувати за допомогою web-сервісів хрестоматійний приклад, на якому більшість студентів, які вивчали обчислювальну техніку та програмування, практикувалися ще під час навчання в ВНЗ-ах, а саме гру «Життя» - клітинний автомат, придуманий англійським математиком Джоном Конвеем в 1970 р
Для початку, щоб просто зрозуміти, як це працює, створимо простий веб-сервіс, який буде вміти виконувати одну операцію з одним параметром строкового типу і буде повертати теж рядок.
Як встановити веб-сервер
Для початку треба встановити веб-сервер, який буде обробляти запити. Це може бути Apache або IIS. Я віддаю перевагу Apache. Оскільки The Apache HTTP Server Project
надає тільки вихідні свого продукту, скористаємося компільованою версією
від Apache House. (Це обов'язково повинна бути 32-розрядної версії, веб-розширення 1С не працює з 64-розрядної).
Завантаживши архів, розпакуємо його куди-небудь, наприклад, в кореневій каталог. Далі встановимо веб-сервер в якості сервісу, запустивши сервер з командного рядка з параметром -k install, ось так:
c: \ Apache24 \ bin \ httpd.exe -k install
Тепер нам потрібно:
- встановити web-розширення «1С: Підприємство»;
Назвемо його WebServices
Як встановити web-розширення «1С: Підприємство»
Тепер відкриємо панель управління: Панель управління \ Програми \ Програми та засоби, виберемо потрібну версію програми «1С: Підприємство», потрібно буде натиснути правою кнопкою і вибрати пункт «Змінити», потім «Змінити-Далі» і вибрати в списку
«Модулі розширення Веб-сервера» (Web server extention modules) - малюнок 1.
Тепер створимо порожню файлову базу 1С, в ній роль «Повна» з повними правами на всі групи об'єктів і користувача Admin, призначивши йому цю єдину роль.
На питання, чи буде це працювати у файловому варіанті, відповідь позитивна (у всякому разі цей простий приклад працює як файлова база).
Тепер приступимо до реалізації.
В поле «Каталог» вводимо шлях до нашого каталогу на web-сервері, який ми створили раніше, тобто C: \ Apache24 \ htdocs \ WebServices \
Інші параметри ви можете розглянути на малюнку 4.