Организация удаленного доступа к корпоративной информационной системе — это просто !

Хочу поделиться своим опытом создания web морды к корпоративной информационной системе на базе 1С.
Необходимо организовать сбор заказов от удаленных пользователей.
— Каждый пользователь видит свой набор данных, и работает со своими документами.
— Доступ по логину/паролю, работа в основном с планшетов (iPad) или с десктопа.
— Сервер должен находиться за пределами организации.
— Себестоимость 1 пользователя не более 10$ за месяц.
— Использование в основном мобильного канала связи GPRS (~100 КБ/с).

Поиск решения


   Первым вариантом решения задачи был выбран «легкий путь» — использование web интерфейса 1С 8.2. Сразу столкнулись с проблемой меееееедленной работы на GPRS каналах связи. По замерам firebug (плагин к Firefox) стартовая загрузка скриптов web «восьмерки» сожрала 1.45 MB трафика. Если добавить к этому стоимость лицензий (это я про сервер у провайдера) и относительную «тяжеловесность» пользователя, от идеи использовать web расширение 1С пришлось отказаться. К тому же 1С как то «странно» работает с iPad.

  Дальше были PHP, Java EE и прочие «рукопашные» технологии. Основной проблемой была скорость разработки. К тому же у одного из пользователей появилась электронная книга з модемом и сенсорным экраном…

Решение


Технология

 Oracle APEX (v 4) — технология «все в одном» позволяет полностью справиться с данной задачей. Основные преимущества:

  1. Технология абсолютно бесплатна и работает на linux.
  2. Решение комплексное — БД + App сервер + IDE.
  3. Разработка происходит очень быстро, благодаря шикарной IDE, полностью реализованной на web.
  4. Страницы получаются легкими (26КБ) и прекрасно работают на «слабых» каналах связи.
  5. Благодаря особому хранению состояния сессии (все GET) web приложения легко переживают переконекты во время движения. Например можно с легкостью перейти с модема на wifi без потери сеанса.

Пример реализации


Заказ

 

Товары



Другие примеры работающих приложений можно посмотреть на

moblin.com.ua

 

Необходимые знания


Очень поможет Игорь Мирончик и его курсы по Oracle Apex, которые можно найти на utube. Также необходимы базовые знания  SQL и его Oracle расширения PL/SQL. 

Попробовать свои силы (без установки сервера) можно на  https://apexea.oracle.com/i/index.html

 applicationexpress.ru  — Отличная обучалка по используемой в публикации технологии. Описана установка и показаны базовые примеры работы. Все выложено в виде видео уроков.

12 Comments

  1. Kuzja_R

    Т. е. у вас база хранится в Oracle, offline пользователи работают с ней стандартно через 1С, а для web написана к этой же базе морда на Oracle APEX?

    Еще есть вариант превратить саму 1С в веб сервер: http://infostart.ru/public/149676/

    Reply
  2. avhrst

    (1) Не совсем так. 1С может быть любой верси (7,8,файловая,SQL). Все работает так:

    Oracle APEX находиться на выделенном сервере у провайдера и имеет таблицы необходимые для задачи (сбор заказов)

    1С переодически обращается к ссерверу APEX (vpn + http+внешняя обработка) выгружает справочники и забирает документы

    Reply
  3. avhrst

    Мирончик APEX — Отличное видео на русском

    Reply
  4. maddy

    (2) avhrst, Если я правильно понял, то это вообще отдельное приложение.

    Три года занимаюсь кроме 1С поддержкой продуктов оракла и подозреваю, что вместо APEXа может быть ROR, Django или на худой конец Joomla, к которым можно прекрасно обращаться из внешней обработки 1С.

    За руби не скажу, но вот разработчиков и хостингов на питон и пхп можно найти намного больше (и дешевле) чем apex/plsql.

    С GAE можно было бы обойтись и без хостинга, а если менеджеров немного то и вообще даром.

    Решение у вас вышло энтерпрайзное.

    Reply
  5. avhrst

    (4) maddy, Я занимаюсь web програмирование около 10 лет, и могу с увереностью заявить что на Django и прочих php/pyton/jsf/asp получиться тоже самое (html+css и js никто не отменял), но разработка функционала у вас займет в разы больше времени чам на APEX и в этом главная идея данной публикации.

    Reply
  6. avhrst

    (4) maddy, А серевер для APEX на vps.ua стоит 30$/мес

    Reply
  7. maddy

    (6) avhrst, Я об этом и говорю — 250МБ установки и 30уе/мес много для 2 форм, это как из пушки по воробьям.

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

    Справедливости ради сходил на сайт и посмотрел другие статьи из профиля — там подробностей немного больше, но тоже не много.

    Reply
  8. Stamper

    а точно СУБД может быть любой?!

    http://ru.wikipedia.org/wiki/Oracle_Application_Express тут пишут, что всё хранится в Oracle Database

    Reply
  9. sertrain

    А в экспресс версии можно ли то же самое сделать?

    Reply
  10. avhrst

    Субд только oracle, все написано на бесплатной express (xe) версии (ограничение на данные пользователя 11 Gb)

    Reply
  11. serg1974

    (2) avhrst,

    вот это самое важное — надо в статью:

    Все работает так:

    Oracle APEX находиться на выделенном сервере у провайдера и имеет таблицы необходимые для задачи (сбор заказов)

    1С переодически обращается к серверу APEX (vpn + http+внешняя обработка) выгружает справочники и забирает документы

    Вот бы еще примеры этих обработок выложили — цены бы вам не было — иначе трудно оценить реальную применимость этой , очень интересной, идеи!

    ну или в личку 🙂

    Reply
  12. sytkosa

    (0) Интересно APEX умеет делать интерфейс только в виде табов или все таки вертикальное меню к нему прикрутить можно

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *