Страница 1 из 1

Pocket ASP+XML. Проблемы быстродействия

Добавлено: 01 июн 2008, 12:52
patrick
На "народный" маломощный (201 Мгц) HTC3400 удалось перенести из 1С склад из 1500 наимен/товаров для Торгового агента с выпиской Счетов-фактур без заметных задержек на выбор Товаров в Счет! Такое стало возможно благодаря след.правилам конструирования Приложения на КПК:
  • Иерархически вложенные группы и подгруппы товаров и клиентов в древовидной структре XML. Оптимальное (размер кода) Кодирование Групп:Кода - идентификатор узла XML. Частотные коды с переменной длиной
  • Размещение в XML гл.Меню Приложения и руководства в кодах (теги) HTML
  • Управление вложенными группами товаров и клиентов (выбор) двумя выпадающими списками в одной строке экрана: (1) стек групп и (2) подгруппы вершины стека
  • Интерактивные (диалог) справочние данные по Товарам и клиентам также в XML-документах (файлы) и XSL-запросы для их выборки в группе. Размеры файла с такими XML в пределах до 100-120 КБ.
  • Минимизация кода XML-документов с учетом особенностей в них данных. Так Цена задается для 1-го товара группы, а для остальных в отклонениях от цены предыдущего
  • При размещении Товаров и Клиентов в БД-ASP (*.mdb,*.cdb) в XML-данных их групп вводится (Attribute) признак отсутствия Товаров в группе для избежания лишних обращений к БД
  • В БД-ASP размещение емких Справочных данных, выбираемых (диалог) в небольшом количестве строк. Так 5-6 типов Цен выбираются из ~30 тыс.строк для одного клиента и производителя (шапка Счета) лишь при открытии счета-фактуры
  • Минимизация динамически генерируемых кодов (текстов с тегами) HTML-страниц
  • Избегать динамической вставки или замены многочисленных текстов в уже отображаемой HTML-странице. При загрузке данных из ASP-БД (*.cdb) и XML вначале первые (ASP) грузить в массивы (Array) Javascript и затем одновременно с выбором данных из XML из Array динамически формировать их отображение (тег Table)
  • При ограничениях КПК числа фреймов frameset 10-ю размещать несколько XML-данных в одном загружаемом файле *.htm. В HTML-странице основной части Приложения грузить все используемые XML-данные с тем, чтобы избежать их дозагрузки при выполнении отдельных функций
  • Избегать повторной генерации кодов innerHTML объектов HTML-страниц, например, выпадающих списков (см.выше) с текущим состоянием стека групп товаров. Эти списки в текущем состоянии сохранять (innerHTML) в неперегружаемом фрейме Приложения и при повторной загрузке фрейма выборки Товаров (в Счет)
    одним оператором восстанавливать