Карманные компьютеры и другие миниатюрные мобильные устройства постепенно превращаются в одну из полноправных составляющих корпоративных систем. В числе мобильных устройств есть и такие, которые поддерживают связь с офисным сервером по радиоканалам. По разным причинам готовых приложений для таких устройств в России, мягко говоря, немного. Однако специалисты прогнозируют в ближайшие годы всплеск интереса к миниатюрным мобильным устройствам, что повлечет за собой и необходимость разработки приложений для них. Не перегруженные лишней функциональностью, а потому достаточно дешевые, беспроводные мобильные устройства уже сейчас привлекательны для корпоративных пользователей.
Мы рассмотрим возможность быстрого создания бизнес-приложений для мобильных радиофицированных устройств, используя уже существующее сегодня на рынке программное обеспечение, которое часто является одновременно и готовым решением, и инструментом для разработчиков.
Радиофицированные мобильные устройства можно разделить на следующие классы:
- радиоконтроллеры, работающие главным образом автономно в составе какой-либо аппаратуры;
- средства мобильной связи с поддержкой дополнительных функций передачи данных;
- радиофицированные ручные терминалы сбора данных;
- карманные компьютеры, снабженные радиомодемом;
- субноутбуки, также снабженные радиомодемом.
Понятно, что эти устройства предназначены для разных целей, хотя их функции могут пересекаться.
Контроллеры и средства мобильной связи, как правило, изначально имеют встроенные функции и не рассчитаны на добавление новых приложений. В данной статье рассматриваются приложения для ручных терминалов, карманных компьютеров и субноутбуков, снабженных функцией приема и передачи информации по радиоканалам. Но сначала несколько слов о том, каким образом они применяются.
Классический пример — применение радиофицированных мобильных устройств в медицине. При обходе пациентов медработник может носить с собой не обычный блокнот, а электронный, составляющий часть автоматизированной информационной системы госпиталя. Благодаря этому медик может не только прямо на месте фиксировать в истории болезни обычный набор параметров — давление крови, температуру и прочее, но и оперативно получать доступ к сопутствующей информации (например, о переносимости пациентом различных лекарств, расценкам на те или иные процедуры и т.п.), хранящейся в центральной базе данных.
Этот пример хорош тем, что, во-первых, подобные решения существуют уже не только на Западе, но и в России — в онкологическом центре действует система, разработанная компанией «Компьютеры и системы». Во-вторых, в подобном решении могут применяться и ручные терминалы сбора данных, и карманные компьютеры и субноутбуки — это во многом зависит от состава вводимой и запрашиваемой информации и от объема хранимых данных. В-третьих, это решение ориентировано на радиосети наиболее распространенного масштаба — развернутые в пределах одного здания.
Еще одна популярная сфера применения радиофицированных мобильных устройств — торговые системы. Кроме того, в ближайшем будущем, по прогнозам специалистов, карманные компьютеры будут применяться в сфере телекоммуникаций и нефтегазовой промышленности.
Разработкой программного обеспечения на заказ в России занимается фирма «Кречет» (http://www.crechet.ru) — это ПО на основе Windows CE; один из отделов компании «Галакси Компьютерс» (http://www.psion.aha.ru) разрабатывает ПО для автоматизации торговли с применением мобильных миниатюрных устройств; компания «Инкомсофт» (http://www.incomsoft.ru) занимается проектами автоматизации ресторанной деятельности. Надо ли говорить, что на Западе компаний–разработчиков приложений для беспроводных мобильных устройств гораздо больше.
Общая схема ПО
Приложение можно разрабатывать «с нуля», а можно воспользоваться теми или иными функциями готового ПО производства западных фирм, добавив к нему API для пользовательских приложений. Это значительно убыстряет процесс разработки.
«Классическим» можно считать ПО, в котором используется сервер БД и сервер приложений и имеется специальная программа-клиент со встроенным шлюзом для связи по фирменному протоколу. По этой схеме строятся решения ScoutSync (Riverbed Technologies (теперь Aether Software, подразделение компании Aether Systems), http://www.riverbedtech.com), iMobile (Synchrologic, http://www.synchrologic.com), eSNAPP (Centura Software, http://.www.centurasoft.com). Немного особняком стоит схема, использующая мобильные компьютеры с радиосвязью в режиме удаленного терминала.
На мобильном устройстве, помимо пользовательского приложения, может быть установлена связанная с ним локальная СУБД.
Для связи всех видов устройств с центральным сервером корпоративной системы, как правило, используется некий шлюз, который в отдельных случаях может быть интегрирован прямо в приложение. Связь со шлюзами осуществляется через предоставляемые их разработчиками программные интерфейсы (API — Application Programming Interface).
Серверное ПО
Для адаптации пользовательских Windows-приложений для работы с радиотерминалами можно воспользоваться продуктом ScoutSync SDC. ПО ScoutSync работает по классической схеме: обеспечивает двунаправленный обмен информацией с корпоративной БД в реальном времени с поддержкой синхронизации на уровне записей.
Подобным же образом работают iMobile Data Synchronization Server и ПО eSNAPP.
Если на радиотерминале работает браузер, приложение на сервере должно отобрать нужную информацию из корпоративных баз данных и преобразовать ее в специальный сжатый формат HTML, допустимый для конкретного типа карманных устройств с их ограниченными ресурсами. В технологии WAP это выполняет соответствующий WAP-сервер. Так же действует AvantGo Ser-ver от компании AvantGo (http://www.avantgo.com), способный предоставлять свои ресурсы приложению пользователя через соответствующие API.
Данные для такого браузера можно черпать не только из БД, но и из обычных HTML-страниц. Для этого приложение устраняет все те элементы, которые невозможно отобразить на экране миниатюрного устройства (например, значения цвета при использовании монохромного дисплея). Затем результат сжимается. В подобном режиме может работать AvantGo Server.
Фирма Attachmate (http://www.attachmate.com) выбрала промежуточное решение для того, чтобы пользовательские приложения могли продолжать работать на радиотерминалах. Компания сама разрабатывает для потребителя либо отдельное приложение, либо дополнение к существующему, которое взаимодействует с базой данных, а затем преобразует результаты запроса в формат HTML. При этом предлагаемое фирмой ПО PalmFrame в качестве составной части содержит модуль AvantGo и сервер Attachmate Host Publishing.
Шлюзовое ПО
Сейчас связь между хостом и радиотерминалом организуется как по фирменным, так и по стандартным протоколам.
Первоначально разработанный AvantGo, а затем открыто опубликованный протокол связи Mobile Application Link используется в решениях как этой фирмы, так и компании Attachmate. Riverbed Technologies возлагает большие надежды на свою запатентованную коммуникационную технологию BCRp. Как утверждается, обмен данными в беспроводных системах с ее помощью происходит намного быстрее, чем по HTTP.
В решениях, использующих в качестве клиентского ПО браузер, как правило, применяются стандартные Интернет-протоколы. Этим путем идут AvantGo, Attachmate, Synchrologic, Centura.
В технологии WAP вместо HTML-страниц загружаются так называемые WML-колоды, состоящие из набора WML-карт, каждая из которых представляет собой аналог какого-либо элемента Web-страницы. В то же время для адресации источников информации по-прежнему используются URL.
Для приложений, работающих под управлением ОС Windows, очевидный путь получения доступа к данным клиента — использовать технологию OLE2. Такое решение предлагает ScoutSync SDK.
Решения, использующие средства удаленного доступа к радиотерминалам, такие как WinFrame, не нуждаются в специальных высокоуровневых протоколах.
Клиентское ПО
Та часть приложения, которую мы условно назвали клиентским ПО, может быть уже готовым приложением, снабженным функцией приема/передачи данных по радио. Собственно, эта функция и делает данные устройства пригодными для применения в корпоративных системах.
В этом разделе отметим некоторые моменты, касающиеся создания новых пользовательских приложений. Программирование на языке Java, в силу своей платформнонезависимости, привлекательно в условиях быстрой смены поколений мобильных миниатюрных устройств, применяемых в корпоративных системах. Это способствует сохранности инвестиций, сделанных компаниями в разработку автоматизированных систем. Здесь в скобках заметим, что такие современные универсальные средства программирования, как язык Java, особенно подходят именно для создания ПО для радиофицированных мобильных устройств, применяемых в корпоративном секторе, так как процесс разработки приложений становится весьма оперативным. Там, где оперативность не столь нужна (приложения для нерадиофицированных «персональных помощников»), вполне достаточно любого из привычных языков программирования. Мы не будем обсуждать здесь эту тему, поскольку над созданием приложений такого рода не первый год работают коллективы известных корпораций.
Если в миниатюрном устройстве содержится именно байт-код Java, то для исполнения требуется
еще и его интерпретатор — JVM (Java Virtual Machine). До последнего времени использование JVM было проблемой, поскольку для этого требуется достаточно большой объем памяти и высокое быстродействие. Но недавно Sun выпустила в составе Java 2 Micro Edition (JME2) версию такого интерпретатора для совсем миниатюрных устройств — KVM (The K Virtual Machine). KVM — это ядро платформы J2ME, составная часть платформы Java 2, специально разработанная для радио- и других электронных устройств. Объем ее всего 50 Кбайт. В настоящее время имеются версии для ОС Windows CE и Palm OS.
Язык Java можно использовать и другим способом — создавать не полнофункциональные программы, а только апплеты, встраиваемые как в обычные HTML-страницы, так и написанные на WML.
Использование браузера
Микробраузеры радиотерминалов можно рассматривать как интерпретаторы, выполняющие «программу», присланную от сервера. Более того, эта программа может быть динамической, если использовать не только статические страницы на HTML, но и процедуры на языке JavaScript или апплеты Java. Примером такого подхода служит AvantGo Client, представляющий браузер с минимальными требованиями к памяти. Этот же Client используется и в решениях компании Attachmate.
Из апплетов Java возможен доступ и к локальным БД.
Отдельной разновидностью схемы использования браузера можно считать спецификации WAP, где клиент представляет собой специальный микробраузер, на вход которого вместо директив языка HTML поступают «колоды» WML, а вместо программ на JavaScript — программы на WMLScript.
Для разработки ПО для WAP-клиентов ведущие поставщики микробраузеров WML — Nokia (http://www.nokia.com), Ericsson (http://www.ericsson.com) или Phone.com (http://www.phone.com) предлага-ют комплекты инструментальных средств, содержащие, как правило, интегрированную среду разработки, сервер тестирования WML-приложений и браузер для имитации представления созданных WML-документов на мобильных телефонах различных типов.
Работа в режиме удаленного терминала
Организацию режима работы удаленного терминала можно строить на основе ПО компании Citrix (http://www.citrix.com), как это делает, например, компания «Программы и комплексы». На терминале работает клиент WinFrame, а на хосте — в одних случаях полное серверное решение WinFrame, а в других — отдельная программа MetaFrame для Windows Terminal Server компании Microsoft. При работе от клиента на хост передаются нажатия клавиш и перемещения курсора мыши, а обратно хост передает изменения экрана. На сервере при этом выполняются такие программы, как «1С:Бухгалтерия», либо приложения, написанные на Visual Basic для СУБД Oracle или Access.
Поскольку в данном случае в качестве терминала используется субноутбук Sharp PV-6000 с большим экраном, то никаких специальных средств для адаптации к маленькому экрану (скажем, утилиты Softkey от той же Citrix) не требуется. Sharp PV-6000 работает под управлением Windows CE, используя радиокарту из радионабора RangeLAN2 компании Proxim (www.proxim.com). В набор RangeLAN2 входят также базовые станции, обеспечивающие соединение на расстоянии 30 метров в условиях обычного офиса. Радионабор обеспечивает классическое сетевое соединение, прозрачное для всех приложений, в том числе и для ПО WinFrame.
Подобная же схема взаимодействия реализована компанией Symantec (http://www.symantec.com) в ее продукте pcANYWHERE и компанией LapLink (http://www.laplink.com).
Вместо заключения
Использование перечисленных выше продуктов и инструментов позволяет за короткий срок разработать бизнес-приложение для любого конкретного заказчика, будь то госпиталь или торговая фирма, нефтяная корпорация или страховая компания.
Несмотря на широкий набор возможностей, основным применением миниатюрных компьютерных устройств в России остается их использование в качестве персональных помощников. По некоторым оценкам, корпоративные продажи не превышают 15%. Одна из причин этого — практическое отсутствие инвестиций в разработку приложений для данных устройств, а следовательно, небольшое количество российских фирм — разработчиков соответствующего софта. Однако, по мнению специалистов, работающих в данном секторе компьютерного рынка, активизировать деятельность разработчиков ПО для беспроводных мобильных устройств может значительный рост их продаж, который прогнозируется в ближайшем будущем по всему миру. Хочется надеяться, что этот процесс в полной мере затронет и нашу страну.