Хочу поделиться своим опытом создания 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) — технология «все в одном» позволяет полностью справиться с данной задачей. Основные преимущества:
- Технология абсолютно бесплатна и работает на linux.
- Решение комплексное — БД + App сервер + IDE.
- Разработка происходит очень быстро, благодаря шикарной IDE, полностью реализованной на web.
- Страницы получаются легкими (26КБ) и прекрасно работают на «слабых» каналах связи.
- Благодаря особому хранению состояния сессии (все GET) web приложения легко переживают переконекты во время движения. Например можно с легкостью перейти с модема на wifi без потери сеанса.
Пример реализации
Пример работающих приложений можно посмотреть на
moblin.com.ua
Необходимые знания
Очень поможет Игорь Мирончик и его курсы по Oracle Apex, которые можно найти на utube. Также необходимы знания PL/SQL.
Автор: avhrst