Перейти к тексту

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Вся введенная информация защищена.

  • Закрыть [x]

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

  • Закрыть [x]

U2 Compact Framework

UniObject for .NET Compact Framework – путь к более разумной планете

Ник Кесич, программист, IBM
Ник Кесик (Nik Kesic) - фотография
Ник Кесич (Nik Kesic) работает в подразделении IBM U2 Advanced Technical Support, Денвер, штат Колорадо. Ник занимается консультированием, поддержкой 3 уровня и обучением. Опубликовал статьи по работе в Web с использованием RedBack, Sockets, XML, SOAP, SSL и Encryption.
Кендрю Писи, архитектор и разработчик SB/XA, IBM
Кендрю Писей (Kendrew Peacey) - фотография
Кендрю Писи (Kendrew Peacey) работает в подразделении IBM U2 Engineering, Денвер, штат Колорадо. Кендрю отвечает за архитектуру и разработку клиентских приложений инструментального пакета SB/XA.

Описание:  Быстро развивающиеся требования клиентов стимулируют развитие информационных технологий, делающих наш мир меньше и доступнее. Одним из основных требований является доступ к информации из любого места, на любом устройстве и в любое время. Такой доступ обеспечивает библиотека U2 UniObjects for .NET Compact Framework (UO.NETCF). В этой статье представлен пример того, как существующее приложение, работающее на ПК и взаимодействующее с базой данных U2, может стать основой для разработки мобильного приложения при помощи UO.NETCF.

Дата:  12.12.2011
Уровень сложности:  средний PDF:  A4 and Letter (258 КБ | 16 страница)Загрузить Adobe® Reader®
Активность:  607 просмотров
Комментарии:  


Введение

U2 больше непринадлежит IBM

С октября 2009 г. продукты U2 принадлежат компании Rocket Software.

Интеллектуальные устройства, использующие операционную систему реального времени (Real Time Operating System - RTOS) Windows® CE - мобильные телефоны, КПК и контроллеры - могут выполнять приложения, разработанные в Visual Studio с использованием новой библиотеки UODONETCF.dll, поставляемой с UniVerse Clients 10.3. В данной статье рассматривается существующее приложение для ПК, написанное на C# с использованием U2 UO.NET, и показывается, как выполнить миграцию этого приложения в новую компактную интегрированную среду, чтобы его можно было запустить на интеллектуальном мобильном устройстве. Новое приложение для мобильного устройства в основном использует исходный код оригинального приложения. В данной статье описывается, как разработать новое приложение, используя Microsoft® Visual Studio 2008 C# .NET Compact Framework и библиотеку UO.NETCF. Можно использовать и другие языки, например, Visual Basic или C++.

Пример варианта использования

UniObject .NET Compact Framework представляет собой интегрированную среду для персистентных приложений. Это означает, что после установки соединения между интеллектуальным устройством и базой данных U2 взаимодействие между этим устройством и базой данных не отличается от взаимодействия между терминалом и базой данных. Соединение поддерживается, пока не будет вызван метод UniObject CloseSession(). Отличие между приложениями, работающими через браузер или с использованием Web-сервисво, и приложением UO .NET CF заключается в том, что браузер или Web-сервис должны устанавливать соединение между приложением и базой данных для каждого запроса.

Ниже приведен пример использования приложения на базе среды Compact Framework. В этом сценарии сотрудник склада проводит инвентаризацию. Он использует приложение на интеллектуальном устройстве для проверки штрих-кодов товаров перед занесением их в систему складского учета.

Действие сотрудникаРеакция приложения
Сотрудник регистрируется в системе через интеллектуальное устройство.Создается соединение с базой данных U2.
Сотрудник сканирует штрихкод товара.Происходит поиск товара и возвращается его изображение.
Сотрудник визуально проверяет соответствие возвращенного изображения реальному товару.Осуществляется подсчет товара и товар вносится в базу данных.

Обзор UniObject .NET Compact Framework

На рисунке 1 представлена высокоуровневая архитектурная схема приложения, использующего UniObject .NET Compact Framework. Далее кратко описывается каждая часть архитектуры.


Рисунок 1. Архитектура приложения, созданного с использованием UO .NET Compact Framework
Рисунок 1. Архитектура приложения, созданного с использованием UO .NET Compact Framework

Visual Studio

Microsoft Visual Studio 2008 - это интегрированная среда разработки (Integrated Development Environment - IDE), которая помогает разрабатывать приложения для интеллектуальных устройств с такой же легкостью, как и приложения для настольных компьютеров. Разработка для интеллектуальных устройств в Visual Studio включает в себя набор типов проектов и эмуляторов, предназначенных для разработки приложений для КПК, смартфонов и встроенных устройств с Windows CE.

Windows CE

.NET Compact Framework использует операционную систему Windows CE для реализации базовой функциональности и ряда специфичных для устройства функциональных возможностей. Некоторые типы и компоновочные модули, например для Windows Forms, графики, прорисовки и Web-сервисов, были скомпонованы заново для эффективной работы на интеллектуальных устройствах, а не скопированы из полной среды .NET Framework. Среда .NET Compact Framework обеспечивает следующую функциональную совместимость с Windows CE:

  • Совместимость с "родной" системой защиты.
  • Полная интеграция с "родными" программами настройки.
  • Совместимость с "родным" кодом при использовании COM interop (взаимодействие с СОМ) и платформенных вызовов.

Среда CLR

Среда .NET Compact Framework Common Language Runtime (CLR) также была перекомпонована для работы в условиях ограниченных ресурсов и ограниченного объема памяти и для эффективного использования заряда аккумулятора. Между Windows CE и CLR имеется уровень адаптации к платформе (не показанный на рисунке 1), который отображает интерфейсы и сервисы устройства, требуемые средой CLR и Framework, на интерфейсы и сервисы Windows CE.

Среда .NET Compact Framework

Среда .NET Compact Framework состоит из подмножества среды .NET Framework и других функциональных элементов, разработанных специально для .NET Compact Framework. Она предоставляет возможности и средства для простого переноса "родных" приложений, разработанных для среды .NET Framework, и настольных приложений на интеллектуальные устройства.

Прикладной уровень

Прикладной уровень - это уровень, на котором размещаются ваши прикладные объекты и библиотеки, созданные в Visual Studio 2008. UO.NETCF - это библиотека UO .NET Compact Framework. U2CFdemo - это приложение, рассматриваемое в разделе Анализ нового приложения UO.NETCF данной статьи. Приложение U2CFdemo содержит пользовательский интерфейс (User Interface - UI), интерфейс представления (Presentation Interface - PI) и бизнес-процесс rc2crypt.

Среда Microsoft .NET Framework

Среда Microsoft .NET Framework - это интегрированная среда выполнения программ, которую можно установить на компьютерах с операционными системами Microsoft Windows.

UniObjects for .NET Framework

UniObjects for .NET Framework - это интерфейс к базам данных UniVerse и UniData через среду Microsoft .NET. UniObjects for .NET - это закрытый интерфейс прикладных программ (application program interface - API) промежуточного уровня, разработанный специально для .NET Framework. Этот интерфейс представляет собой управляемый код, написанный в среде C# Common Language Runtime (CLR) и предназначенный для развертывания на настольных рабочих станциях.

UniObjects for .NET Compact Framework

UniObjects for .NET Compact Framework - это сокращенная версия полноценной среды UO.NET. Она предназначена для развертывания на интеллектуальных устройствах с операционной системой Windows CE.


Более подробное рассмотрение среды UniObject .NET Compact Framework

Среда UniObjects for .NET Compact Framework построена на том же исходном коде, что и UniObjects for .NET. Как UO.NET, так и UO.NETCF используют одно и то же имя пространства имен - IBMU2.UODOTNET. Компоновочный модуль для UO .NETCF - UODOTNET4CF.dll. Этот модуль можно найти в каталоге ..\UNIDK\uonet\bin после установки компонентов UNIDK с компакт-диска UniVerse 10.3 Clients CD.

Среда UO .NET Compact Framework представляет собой подмножество библиотеки классов UO .NET Framework. В UO .NET Compact Framework недоступны следующие классы:

  • Connection pooling (организация пулов соединений). Организация пулов соединений полезна в трехуровневой среде. Однако UO .NETCF использует клиент-серверную архитектуру подключений по требованию, которой пулы соединений не дают никаких преимуществ. В результате первоначальное установление подключения к базе данных U2 выполняется медленно, но затем благодаря персистентному соединению обеспечивается быстрый обмен данными.
  • Tracing and logging (трассировка и регистрация событий). Поскольку этот класс недоступен, приложения для мобильных устройств должны допускать перехват исключительных ситуаций. Эти ситуации будут видимы для интеллектуального устройства. Для отладки также можно использовать регистрацию событий на стороне сервера U2.
  • Performance counters (счетчики производительности). Поскольку этот класс недоступен, следует добавлять таймеры в приложения для интеллектуальных устройств во время разработки и использовать их для исследования узких мест производительности.
  • Secure connection (защищенное соединение). В текущей версии.NET 3.5 sp1 SSLStream недоступен. Поэтому SSL-взаимодействие между интеллектуальным устройством и сервером U2 невозможно. Однако .NET CF позволяет использовать пространство имен system.security.cryptology, предоставляющее сервисы криптографии. К этим сервисам относятся кодирование и декодирование данных, а также многие другие операции, такие как хэширование, генерация случайных чисел и аутентификация сообщений. Вы можете использовать эти сервисы для кодирования важных строк данных. База данных U2 поддерживает двунаправленное кодирование этих строк.
  • Configuration files (конфигурационные файлы). Это файлы с расширением .config, которые обычно используются для регистрации событий на клиентской стороне и для настройки пулов соединений. Приложениям для интеллектуальных устройств специальные конфигурационные файлы для U2 не требуются.

Минимальные требования к инструментальным средствам разработки

Сейчас существует много типов устройств, на которых работает Windows CE - от встраиваемых контроллеров до переносных устройств, таких как мобильные телефоны и КПК. Visual Studio 2008 содержит практически все инструменты для разработки и эмуляции устройства с Windows CE в среде .NET Compact Framework. Само интеллектуальное устройство не требуется.

В следующих разделах представлена подробная информация о минимальных требованиях, необходимых для разработки приложений для интеллектуальных устройств с использованием среды Microsoft .NET Compact Framework.

Требования для разработки приложений для эмулированного интеллектуального устройства

  • Рабочая станция под Windows (XP, 2003 и т.д.)
  • .NET-программа, использующая Visual Studio .NET 2008 (пример в данной статье использует C#)
  • База данных U2, использующая UniData 7.2 или UniVerse 10.3
  • Microsoft ActiveSync Version 4.5
  • .NET Framework 2.0 или выше
  • Клиентские приложения UniDK - UniVerse 10.3
  • Клиентские приложения UniDK - UniData 7.2a (сентябрь 2009 года)

Требования для разработки приложений для физического интеллектуального устройства

  • Рабочая станция под Windows (XP, 2003 и т.п.)
  • .NET-программа, использующая Visual Studio .NET 2008 (пример в данной статье использует C#)
  • База данных U2, использующая UniData 7.2 или UniVerse 10.3
  • Microsoft ActiveSync Version 4.5
  • Bluetooth или USB-кабель для ActiveSync
  • Беспроводная сеть для взаимодействия с сервером БД.
  • NET Framework 2.0 или выше
  • Клиентские приложения UniDK - UniVerse 10.3
  • Клиентские приложения UniDK - UniData 7.2a (сентябрь 2009 года)

Требования для взаимодействия с физическим интеллектуальным устройством

Интерфейсы, рассматриваемые в данном разделе, применяются только для описанного в этой статье примера. Существуют другие интерфейсы и протоколы, доступные для интеллектуальных устройств, но они не являются предметом рассмотрения данной статьи.

  • USB. Этот интерфейс используется для синхронизации. Драйвер Windows CE USB Serial Host Driver эмулирует последовательный интерфейс, использующийся программой Microsoft ActiveSync для обмена данными с устройствами, на которых работает Windows CE или Windows Mobile, по USB-соединению и с компьютером, на котором работает хост-система разработки под Microsoft Windows. Этот интерфейс может также использоваться интеллектуальными устройствами для обмена данными с сервером U2 DB Server по протоколу TCP/IP.
  • Bluetooth. Bluetooth - это технология беспроводного обмена данными, позволяющая интеллектуальным устройствам, расположенным поблизости (примерно на расстоянии 10 метров) обмениваться данными с хост-системой разработки. Этот интерфейс обычно используется вместе с ActiveSync, требующейся для проекта Visual Studio при разработке приложения.
  • Wi-Fi. Wi-Fi - локальная сеть, обмен данными в которой происходит при помощи радиоволн по протоколу, основанному на стандартах IEEE 802.11. Этот интерфейс может использоваться интеллектуальным устройством для обмена данными с сервером U2 DB Server по протоколу TCP/IP.
  • Mobile Data Plan. Интеллектуальные устройства, использующие Edge, 3G или GPRS могут обмениваться данными с сервером U2 DB Server через Интернет по протоколу TCP/IP.

Анализ исходного "донорского" приложения UO.NET

В данной статье в качестве основы нового приложения UO.NETCF используется приложение UO.NET. Приложение UO.NET называется донорским. В разделе Загрузка приведена ссылка на файл проекта Visual Studio для донорского приложения.

Донорское приложение было написано при помощи Visual Studio 2003. При разработке этого приложения автор не разделил пользовательский интерфейс и интерфейс представления, поэтому получился один большой файл с исходным кодом. В более новых версиях Visual Studio стало легче проектировать и выделять логические уровни. При разработке с использованием Visual Studio полезно ознакомиться со статьей "Шаблоны и методики Microsoft для разработки программного обеспечения" (ссылка приведена в разделе Ресурсы).

Работа донорского приложения

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


Рисунок 2. Пользовательский интерфейс донорского приложения
Рисунок 2. Пользовательский интерфейс донорского приложения
  • Тип DBMS и группа свойств соединения
    • Введите имя хоста или IP-адрес сервера U2 DB (localhost указан только для справки).
    • Выберите тип базы данных U2.
    • Введите имя учетной записи (по умолчанию demo для UniData и HS.SALES для UniVerse).
    • Введите корректное имя пользователя для сервера U2 DB.
    • Введите корректный пароль для пользователя.
  • Имя и идентификатор источника данных
    • Введите корректное имя файла U2.
    • Введите корректный идентификатор.
  • Сотрудник визуально проверяет товар
    • Осуществляется подсчет товара и обновляется база данных.

На рисунке 3 показано донорское приложение после операции чтения.


Рисунок 3. Донорское приложение после операции чтения
Рисунок 3. Донорское приложение после операции чтения

Анализ нового приложения UO.NETCF

Новое приложение UO.NETCF, основанное на донорском приложении, называется в данной статье приложением для интеллектуального устройства. В разделе Загрузка приведена ссылка на файл проекта Visual Studio с приложением для интеллектуального устройства.

Приложение для интеллектуального устройства использует только часть архитектурной модели "модель-представление-контроллер" (Model-View-Controller - MVC). Проект UO .NETCF использует уровень пользовательского интерфейса и уровень представления. На уровень представления скопирована с донорского приложения и помещена только логика интерфейса к U2 и представления. Механизма переноса логики пользовательского интерфейса донорского Windows-приложения на интеллектуальное устройство не существует. Из-за простоты донорского приложения нам было достаточно легко создать уровень пользовательского интерфейса с нуля. Пример исходного кода, сопровождающий данную статью, содержит комментарии, описывающие изменения в коде, которые были сделаны при переходе с одной среды на другую.

Работа приложения для интеллектуального устройства

На рисунке 4 показан пользовательский интерфейс приложения для интеллектуального устройства. В .NET Framework для отображения рамки вокруг группы элементов управления может использоваться групповой блок (group box). Например, донорское приложение использовало два групповых блока для типа базы данных U2 и для параметров соединения. Однако в .NET Compact Framework групповые блоки отсутствуют.

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


Рисунок 4. Пользовательский интерфейс приложения для интеллектуального устройства
Рисунок 4. Пользовательский интерфейс приложения для интеллектуального устройства
  • Открытие исходного меню и заголовок приложения
    • Из этого окна с именем приложения (U2U S29 U2CFdemo) можно войти в меню интеллектуального устройства или закрыть приложение.
  • Свойства соединения
    • Введите имя хоста или IP-адрес сервера U2 DB (имя localhost указано только для справки и не работает на интеллектуальных устройствах).
    • Выберите тип базы данных U2.
    • Введите имя учетной записи (по умолчанию demo для UniData и HS.SALES для UniVerse).
    • Введите корректное имя пользователя для сервера U2 DB.
    • Введите корректный пароль для пользователя.
  • Имя и идентификатор источника данных
    • Введите корректное имя файла U2.
    • Введите корректный идентификатор.
  • Результат
    • В этой области отображаются результат операции Read и выходная информация программы rc2crypt.
  • Сообщения о состоянии
    • В этой области отображается сообщение о состоянии каждой операции (Connect (подключение). Disconnect (отключение), Update (обновление), OpenFile (открытие файла), Read (чтение), Insert (вставка), Delete (удаление) и rc2crypt).
  • Меню Connect и Operation
    • Чтобы компенсировать ограниченный размер экрана обычного интеллектуального устройства, приложение использует всплывающие меню для вызова методов подключения и операций.
    • Варианты меню Connect: Connect, Disconnect и End.
    • Варианты меню Operation: Update, OpenFile, Read, Insert, Delete и rc2crypt.

На рисунке 5 показан пользовательский интерфейс после операции чтения.


Рисунок 5. Область результата после операции чтения
Рисунок 5. Область результата после операции чтения

Бизнес-процесс (rc2crypt)

Бизнес-процесс (Business Process) включен в пример, чтобы продемонстрировать, как информация передается в бизнес-объект для манипулирования данными. Наш пример собирает данные из окна записи в файле и передает ее в объект кодирования под названием rc2crypt для обработки. Обработанные данные возвращаются и отображаются в области результата, как показано на рисунке 6.


Рисунок 6. Возвращенный результат после обработки бизнес-процессом rc2crypt
Рисунок 6. Возвращенный результат после обработки бизнес-процессом rc2crypt

Заключение

Интегрированная среда UniObjects .NET Compact Framework – это еще один инструмент от группы разработки U2, позволяющий разработчикам создавать приложения для интеллектуальных устройств. Разработчики приложений должны уметь использовать эту библиотеку для создания и совершенствования своих решений.



Загрузка

ОписаниеИмяРазмерМетод загрузки
Проект донорского C#-приложения1uonetfilecs2009.zip108 KБHTTP
Проект приложения U2 Compact Framework2U2CFdemo.zip108 KБHTTP
Power Point слайды U2 Compact Framework3U2US32s.zip1229 KБHTTP
Проект U2 Compact Framework XML Query4UODOTNETCF.zip108 KБHTTP

Информация о методах загрузки

Заметка

  1. Проект Visual Studio с реализацией исходного донорского проекта UO.NET.
  2. Проект Visual Studio с реализацией нового проекта UO.NETCF.
  3. Проект UO.NETCF, использующий XML-запрос и DataSet.
  4. Проект Visual Studio с реализацией проекта UO.NETCF, использующего XML-запрос и DataSet.

Ресурсы

Об авторах

Ник Кесик (Nik Kesic) - фотография

Ник Кесич (Nik Kesic) работает в подразделении IBM U2 Advanced Technical Support, Денвер, штат Колорадо. Ник занимается консультированием, поддержкой 3 уровня и обучением. Опубликовал статьи по работе в Web с использованием RedBack, Sockets, XML, SOAP, SSL и Encryption.

Кендрю Писей (Kendrew Peacey) - фотография

Кендрю Писи (Kendrew Peacey) работает в подразделении IBM U2 Engineering, Денвер, штат Колорадо. Кендрю отвечает за архитектуру и разработку клиентских приложений инструментального пакета SB/XA.

Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Спасибо. Эта запись была помечена для модератора.


Помощь по сообщениям о нарушениях

Сообщение о нарушениях

Сообщение о нарушении не было отправлено. Попробуйте, пожалуйста, позже.


developerWorks: вход


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Выберите ваше отображаемое имя

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

(Должно содержать от 3 до 31 символа.)


Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Оценить эту статью

Комментарии

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management
ArticleID=780629
ArticleTitle=U2 Compact Framework
publish-date=12122011

Теги

Help
Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Используйте ползунок, чтобы отразить больше или меньше тегов.

КнопкаПопулярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere).

Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).

Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Кнопка Популярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere). Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).