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

Хочу поделиться своим опытом создания 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 не будет опубликован. Обязательные поля помечены *