Новости

Створення Web-додатків на платформі "1С: Підприємство 8.0"

ІНСТРУМЕНТАРІЙ

Платформа "1С: Підприємство 8.0" (1СП8) поповнилася ще одним важливим технологічним компонентом: в лютому фірма "1С" оголосила про випуск продукту "1С: Підприємство 8.0. Web-розширення 1.0" (1СП8-Web), призначеного для організації взаємодії Інтернет- користувачів з прикладними рішеннями на базі 1СП8.

Говорячи про 1СП8-Web як про складову частину технологічної платформи, слід відразу зробити одне зауваження. В дещо спрощеному вигляді платформа 1СП8 складається з двох основних блоків: середовища виконання ( "1С: Підприємство") і інструменту для розробки прикладних рішень ( "Конфігуратор"). Відповідно, всі технологічні і функціональні елементи 1СП8 (наприклад, механізми управління бізнес-процесами, обміну даними, формування звітів) реалізовані у вигляді внутрішніх програмних компонентів, що входять до складу першого або другого блоку.

Більш того, обидва ці блоку не є самостійними продуктами - вони поширюються тільки в складі тих чи інших прикладних, т. Е. Призначених для кінцевих користувачів, рішень. Відмітна ж риса 1СП8-Web полягає якраз в тому, що він являє собою автономний продукт, орієнтований на розробників прикладних Інтернет-рішень (рис. 1) * 1.

_____

* 1 Правда, схема ліцензування продукту як і раніше орієнтована на кінцевого користувача: для експлуатації Web-додатків, розроблених за допомогою Web-розширення, потрібна окрема ліцензія на 1СП8-Web.

Мал. 1. Положення "1C: Web-розширення" в системі "1С: Підприємство 8.0"

Існує і ще один важливий момент: випуск 1СП8-Web, судячи з усього, відображає початок етапу активного освоєння Інтернет-технологій користувачами програм "1С" ділового призначення.

Тут потрібно відзначити той відомий факт, що "1С" відрізняється досить прагматичним підходом до використання технологічних новинок в своєму ПО: визначальним моментом є реальна готовність замовників до їх застосування, а не міркування моди. Зокрема, в той час як конкуруючі ERP-рішення (в першу чергу закордонні) все активніше пропонували замовникам спочатку призначений для користувача Web-інтерфейс, а потім і набори Web-сервісів, розробники з "1С" дотримувалися більш консервативної стратегії (як найбільш відповідає потребам російського ринку) з орієнтацією на "товстого" клієнта і еволюційний зсув від файл-серверної архітектури до клієнт-серверної.

Можливість клієнтського Web-доступу до додатків "1С: Підприємство" з'явилася тільки навесні 2000 року, коли був випущений компонент "Web-розширення" для платформи версії 7.7. Однак уже тоді можна було сказати, що дане рішення швидше нагадувало пробна куля для оцінки готовності партнерів і замовників до використання Інтернет-технологій, ніж продукт, націлений на комерційний успіх (див. PC Week / RE, N 46/2000, с. 45) .

У ньому була використана технологія ASP, таким чином можна написати код активних сторінок на внутрішньому мові 1С: V7Script. Однак вся розробка ASP-сторінок повинна була виконуватися виключно "руками", без застосування яких би то ні було спеціальних засобів. Очевидно, що такі дідівські методи були непридатні для створення складних Web-додатків і могли застосовуватися лише в обмежених масштабах. Проте за допомогою цього варіанту Web-розширення цілий ряд компаній-розробників не тільки отримував власні продукти, а й реалізовував деякі проекти і тиражні рішення.

Цілком очевидно, що з точки зору архітектури платформа 1СП8 в цілому як і раніше орієнтується на традиційну модель "товстого" (або, як зараз кажуть, "функціонально-насиченого") клієнта. Ключові прикладні рішення, що випускаються "1С", не передбачають застосування Web-клієнтів в стандартному виконанні * 1. І в цьому плані дуже характерно, що сьогодні підтримка Інтернет-технологій реалізована у вигляді коштів розробника: освоєння нових для 1СП8 сфер застосування, як зазвичай, буде поки вестися силами найбільш "просунутих" партнерів. При цьому нинішній варіант Web-розширення - це якісно більш потужний (в порівнянні з 7.7) інструмент, який дозволяє вирішувати досить широке коло завдань, пов'язаних з використанням Інтернет-технологій, - починаючи від забезпечення клієнтського Web-доступу і закінчуючи інтеграцією з зовнішніми додатками.

_____

* 1 На початку року "1С" за допомогою 1СП8-Web випустила перше Web-додаток - "Віддалений склад", яке працює разом зі зміною "Управління торгівлею".

Архітектура і склад Web-розширення

Попередня інформація про нову версію 1СП8-Web була представлена ​​фірмою "1С" ще на торішньому літньому партнерському семінарі. З огляду на орієнтацію економічних програм "1С" на операційну платформу Microsoft, застосування технології ASP. NET для побудови Web-додатків не було несподіваним. Цікаво було інше: яким чином забезпечується її інтеграція з 1СП8?

Нагадаємо, що стара ASP-технологія, використана в версії Web-розширення 7.7, дозволяла за допомогою механізму Active Scripting підключати різні движки виконання коду на скриптових мовах. В результаті розробники на підмножині знайомого їм мови 1СV7 могли створювати ASP-код, який фактично виконувався безпосередньо в середовищі "1С: Підприємства", безпосередньо взаємодіючи з усіма об'єктами і функціями прикладного рішення і платформи.

ASP.NET влаштований принципово інакше: писати код дозволяється на різних мовах, але скомпільована програма може виконуватися тільки в операційному середовищі .NET Framework. Очевидно, що в цих умовах створення спеціалізованого мови тіпа1CV8.NET просто не мало сенсу, так як він все одно не міг би звертатися до функціоналу 1СП8 безпосередньо.

Відповідно, в основі концепції 1СП8-Web лежить стандартна технологія створення ASP.NET-додатків, доповнена програмними компонентами 1СП8, які забезпечують, з одного боку, звичний для користувача 1СП8 клієнтський інтерфейс, а з іншого - взаємодія з базою даних і з функціоналом прикладного рішення (рис. 2).

Мал. 2. Загальна схема взаємодії компонентів "1С: Web-розширення"

Інтерфейс і бізнес-логіка створюються в рамках технології ASP.NET (додаток типу Web Forms). Для програмування дозволяється застосовувати будь-який .NET-мову, але найбільш затребуваними швидше за все будуть Visual Basic .NET і C #. Бажаючі заощадити гроші на покупку інструментарію і "покодіровать руками" можуть скористатися безкоштовним набором SDK .NET Framework. Хоча, звичайно, набагато краще звернутися до більш ефективних засобів - MS Visual Studio .NET або інструментам Borland (Delphi, C # Builder).

Самі автори 1СП8-Web рекомендують для програмування використовувати C # (демонстраційний приклад, шаблони і конструктори орієнтовані на цю мову). Для створення Web-додатків на базі 1СП8-Web цілком достатньо редакції Visual C # Standard Edition вартістю трохи вище 100 дол. У той же час відзначимо, що для більш широкого застосування нового продукту було б корисно зробити і варіант для Visual Basic .NET, який в нашій країні представлений російськомовною версією (див. PC Week / RE, N 19/2004, с.1).

У комплект поставки продукту "1С: Підприємство 8.0. Web-розширення 1.0" входять:

2 компоненти для доступу до даних;

- компоненти для створення звітів;

- елементи управління для створення призначеного для користувача Web-інтерфейсу;

- конструктори для створення додатків і окремих форм;

- приклад Web-додатки, призначений для демонстрації прийомів розробки.

Рекомендована роздрібна ціна - 750 дол.

Додаткова інформація про продукт - на сайті www.v8.1c.ru/overview/ WEB.htm.

Одна з цілей 1СП8-Web - підвищити ефективність розробки Web-додатків в середовищі VS.NET з урахуванням специфіки прикладних рішень сімейства 1СП8. Більшість компонентів 1СП8-Web, реалізованих у вигляді елементів управління, призначене саме для вирішення цього завдання: вони дозволяють будувати призначений для користувача інтерфейс і обробляти дані в традиційному стилі "1С: Підприємства" (рис. 3). При цьому розробник може самостійно створювати Web-форми або використовувати ті, які автоматично генеруються системою на основі структури прикладного рішення 1СП8. У другому випадку забезпечується проста адаптація Web-рішення при внесенні змін до хост-додаток.

Мал. 3. Web-додаток має інтерфейс в стилі "1С: Підприємства"

З урахуванням того, що застосування Web-розширення найчастіше пов'язане із завданнями презентації та аналізу даних, до складу 1СП8-Web включений також набір компонентів для створення аналітичних звітів, що спирається на потужні механізми 1СП8. Зокрема, користувач Web-додатки за допомогою інструменту "будівник звіту" може візуально налаштувати вихідний текст запиту і отримати оформлений результат його обробки - при цьому підтримується механізм розшифровок для деталізації отриманих даних.

Але всі перераховані вище засоби можуть лише підвищити ефективність розробки Web-додатки. Головна ж технологічна задача 1СП8-Web - реалізувати механізм взаємодії власне з інформаційною базою прикладного рішення (див. Рис. 2) - метаданими, COM-з'єднаннями та об'єктами доступу до даних.

Метадані містять відомості про структуру прикладного рішення і його інформаційної бази. Вони автоматично генеруються при створенні Web-додатки і зберігаються в підключаються до проекту файлах (DLL і XML). Крім того, якщо конфігурація інформаційної бази була змінена, утиліта генерації метаданих може бути запущена і окремо.

Для доступу до функціоналу прикладного рішення (в тому числі до інформаційних баз) використовуються COM-з'єднання - універсальний низькорівневий програмний інтерфейс для інтеграції 1СП8 із зовнішніми програмами. Це найбільш ефективний інструмент організації взаємодії програм. Зокрема, можливість збереження пулу відкритих COM-з'єднань для їх повторного використання дозволяє економити ресурси Web-сервера і зменшує час відгуку системи.

Однак з точки зору оптимізації процесу розробки до даних 1СП8 найкраще звертатися через високорівнева шар спеціалізованих об'єктів ADO.NET. Їх застосування дозволяє реалізувати ефективну взаємодію з компонентами бізнес-логіки й візуального інтерфейсу. Крім того, за допомогою таких об'єктів можна не тільки отримувати дані, але і модифікувати їх. Отримання даних можливо в двох режимах: в режимі таблиці, що реалізує техніку об'єктного доступу до інформації, і в режимі запиту, який дозволяє повністю використовувати функції мови запитів 1СП8. Модифікація даних (додавання, зміна та видалення) виконується тільки в режимі таблиці.

Підводячи підсумок, можна сказати, що в складі 1СП8-Web розробник отримує в своє розпорядження додатковий набір програмних об'єктів (див. Рис. 4):

- провайдер доступу до баз даних 1СП8 через механізм ADO.NET;

- джерела даних - спеціалізовані об'єкти, що реалізують стандартну логіку форм різного типу і використовують у своїй роботі базові об'єкти ADO.NET;

- елементи управління, які застосовуються для формування призначеного для користувача інтерфейсу і забезпечення роботи користувача з даними;

- автоформи - форми, створювані автоматично на основі інформації, одержуваної від прикладного рішення;

- шаблони і конструктори для створення форм об'єктів і додатків засобами Visual Studio .NET.

Мал. 4. Підключення додаткових компонентів "1С: Web-розширення"

до середовища Visual Studio .NET

Крім побудови призначеного для користувача інтерфейсу 1СП8-Web підтримує створення Web-сервісів, призначених для доступу до функціональності прикладних рішень 1СП8. При цьому Web-сервіси можна створювати як "вручну", так і з застосуванням спеціальних шаблонів, які теж включені в комплект поставки.

Розширення не тільки для Web

Всі роки свого існування (з початку 90-х) платформа "1С: Підприємство" динамічно розвивалася, надаючи розробникам все більше можливостей для розширення функціоналу готових і створення власних прикладних рішень. Можна з упевненістю сказати, що абсолютній більшості партнерів і замовників "1С" для вирішення своїх завдань було цілком достатньо внутрішніх інструментів платформи.

Тож не дивно, що п'ять років тому ключовою ідеєю "1С: Web-розширення" версії 7.7 було якраз максимальне використання традиційних засобів "1С". Однак такий підхід дозволив вирішити тільки завдання клієнтського Web-доступу до основного функціоналу прикладних рішень, а відсутність в Web-розширення сучасних RAD-інструментів стримувало застосування цієї технології на масовому рівні або для створення більш складних Web-додатків.

У новій версії ставка зроблена на використання стандартних індустріальних інструментів, що представляється принципово вірним рішенням. (Здається, це перший випадок в практиці "1С", коли вона пішла по шляху адаптації під власну платформу засобів розробки третіх фірм.) Такий підхід дозволяє "1С" -разработчик вийти за рамки своїх традиційних засобів і розширює їх функціональні і технологічні можливості за рахунок використання всієї потужності платформи .NET.

У нинішньому варіанті 1СП8-Web значна частина інструментарію призначена для програмування Web-інтерфейсу, але найбільш важливим все ж бачиться набір компонентів для роботи з даними, що фактично являє собою інтерфейс між платформами 1СП8 і .NET. З його допомогою розробники крім можливості реалізації власне Web-додатків можуть вже сьогодні створювати весь спектр програм, що реалізуються в середовищі .NET, включаючи Web-рішення для мобільних клієнтських пристроїв, звичайні Windows-додатки, Web-сервіси, .NET-компоненти та ін. Не кажучи вже про те, що VS.NET має широкий спектр засобів (в тому числі третіх фірм) взаємодії з різними джерелами даних і додатками. Звернемо увагу і на іншу особливість даного продукту: він відкриває доступ до функціоналу прикладних рішень 1СП8 і для «не-1С" -программист.

Таким чином, 1СП8-Web може стати важливим технологічним елементом інтеграції платформи "1С: Підприємство" з широким спектром зовнішніх ІТ-ресурсів. Звісно ж цілком імовірним, що розвиток буде йти саме в цьому напрямку і в наступних версіях продукту підтримка роботи "1С" -программист в середовищі .NET буде посилена.

Версія для друку

Тільки зареєстровані користувачі можуть залишати коментарі.

Цікаво було інше: яким чином забезпечується її інтеграція з 1СП8?

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

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: