Рисунок 3.1 - Физический сервер Team Server R1304
Для установки серверного программного обеспечения был выбран персональный
компьютер с системным блоком DNS Office.
Характеристики персонального компьютера приведены в таблице 3.2
Таблица 3.2 - Характеристики персонального компьютера
|
Операционная система |
Windows® 7 Домашняя Базовая |
|
Процессор |
Intel Core i3, 2 ядра |
|
Частота процессора |
3210 МГц |
|
Продолжение таблицы 3.2 |
|
|
Оперативная память |
2048 Мб |
|
Объем жёсткого диска |
500 Гб |
|
Графический контроллер |
Встроеный, Intel HD Graphics |
|
Монитор |
ViewSonic VX2210MH-LED |
|
Клавиатура |
A4TECH LCDS-720 Golden |
|
Мышь |
SPEED-LINK KAPPA MOUSE WIRELESS SL-6313-RD Red |
Для установки клиентского программного обеспечения был выбран Смартфон
Samsung Galaxy S3. Характеристики смартфона представлены в таблице 3.3
Таблица 3.3 - Характеристики смартфона Samsung Galaxy S3
|
Операционная система |
Android 4.0 (Ice Cream Sandwich) |
|
Размер |
ШxВxТ 70.60x136.60x8.60 мм. Диагональ экрана 4.8", разрешение 720x1280 |
|
Время работы в режиме ожидания |
До 1200 часов (3G) / до 1520 часов (2G) / до 10 часов при просмотре видео |
|
Интерфейсы |
USB, Wi-Fi, Wi-Fi Direct, NFC, Bluetooth 4.0 |
|
Доступ в интернет |
WAP, GPRS, EDGE, HSDPA, HSUPA, HSPA+, email POP/SMTP, email IMAP4, HTML |
|
Процессор |
Samsung Exynos 4412, 1400 МГц, 4 ядра |
|
Объём встроенной памяти |
16 Гб |
|
Объём оперативной памяти |
1 Гб |
|
Поддержка карт памяти |
microSD (TransFlash), объемом до 64 Гб |
|
Особенности |
Время разговора: до 1300мин. (2G) / до 650мин. (3G), время ожидания: до 900час. (2G) / до 750час. (3G) |
Для связи сервера и смартфона был выбран Wi-Fi роутер TRENDnet TEW-651BR.
Характеристики данного роутера представлены в таблице 3.4
Таблица 3.4 - Характеристики Wi-Fi роутера
|
Количество портов WAN |
1 порт RJ-45 10/100 Мбит/сек |
|
Внешние антенны |
1 антенна (несъемная). Усиление антенны - 2 dBi |
|
Частоты работы, ГГц |
2.4 ГГц |
|
Количество портов LAN |
4 порта 10/100 Мбит/сек |
|
Скорость передачи данных |
150 Мбит/сек |
|
Размеры |
150 x 110 x 30 мм |
Рисунок 3.2 - Wi-Fi роутер TRENDnet TEW-651BR
3.2 Выбор средств хранения и обмена данными
между серверной и клиентской частью программного комплекса
Для хранения и обработки данных, необходимых для работы системы обслуживания клиентов мини - отеля выбрана система управления базами данных MySQL.- свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle. Продукт распространяется как под GNU (General Public License), так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Основные преимущества MySQL:
- MySQL является бесплатной СУБД;
- Многопоточность и поддержка несколько одновременных запросов;
- Быстрая обработка запросов, выборка и выдача запрашиваемых данных.
Для обмена данными, между клиентской части программного комплекса, на платформе Android и системой управления базами данных MySQL было принято решение создать Web-сервис, работающий на базе Web сервера Apache, представляющий собой набор PHP(JSON) скриптов.
PHP (англ. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools - «Инструменты для создания персональных веб-страниц») - скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
Использование Web-сервиса на базе
Web-сервера Apache, значительно ускоряет обмен данными, между
приложением разработанным на платформе Android и СУБД MySQL.
.3 Выбор средств разработки программных
продуктов
Для разработки приложений для Android необходим Android SDK (Software Development Kit) - комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ. Он включает: Eclipse IDE, ADT (Android Development Tools - плагин для Eclipse), Эмулятор, Файловый менеджер. и некоторые другие компоненты.- свободная интегрированная среда разработки модульных кроссплатформенных приложений.
Наиболее известные приложения на основе Eclipse Platform - различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).- Интегри́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated development environment или integrated debugging environment) - система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Обычно, среда разработки включает в себя:
- текстовый редактор;
- компилятор и/или интерпретатор;
- средства автоматизации сборки;
- отладчик.служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.Development Tools - плагин для Eclipse IDE, позволяющий создавать приложения под Android.
Плагин для Eclipse, Android Development Tools (ADT), поможет писать приложения для Android. Он интегрируется с Eclipse IDE для того, чтобы обеспечить возможности создания, отладки и тестирования android-приложений.
Менеджеры виртуальных устройств - инструменты для создания и управления виртуальными устройствами в Android (AVD) и управления ими в виде отдельных экземпляров эмулятора. AVD содержит эмулятор, внутри которого работает соответствующая версия Android. C его помощью можно указать версию SDK, разрешение экрана, емкость SD-карты, аппаратные возможности (сенсорный экран, GPS).
Каждое виртуальное устройство должно иметь название, целевую сборку Android, емкость SD-карты и разрешение экрана. Кроме того, виртуальные устройства поддерживают разные аппаратные настройки и ограничения:
- плотность пикселей на экране;
- поддержка SD-карт;
- наличие сенсорного экрана и клавиатуры;
- поддержка GPS;
- доступная память;
- аппаратная камера и ее разрешение;
- поддержка звукозаписи;
- менеджер SDK.
Для управления версиями SDK можно использовать менеджер SDK через панель, доступную в меню Window → Android SDK and AVD Manager. Вы можете просматривать установленные версии SDK, а также обновлять их по мере надобности.
Эмулятор.
Виртуальная машина Android для тестирования и отладки ваших приложений прямо на компьютере, не имея реального устройства. Является реализацией виртуальной машины Dalvik, что делает его совместимым с любым Android - телефоном. Чтобы запустить эмулятор, необходимо создать виртуальное устройство.
С помощью эмулятора вы можете иметь полноценный доступ к интернету, настраивать скорость и латентность соединения. Также можно имитировать входящие и исходящие телефонные звонки и SMS-сообщения.
В то же время эмулятор не поддерживает виброзвонок, светодиоды, камеру, соединения по USB, захват аудиоданных, уровень заряда батареи.
Дополнение ADT интегрирует эмулятор в Eclipse, поэтому при запуске и отладке проектов он автоматически стартует внутри выбранного экземпляра AVD.
DDMS (Dalvik Debug Monitoring Service).
Панель DDMS (Служба для отслеживания процесса отладки в Dalvik) используется для отслеживания и контроля за виртуальными машинами Dalvik. Это мощный отладочный инструмент, позволяющий изучать активные процессы, просматривать стек, останавливать рабочие потоки, исследовать файловую систему подключенного устройства.
Возможности:
- управление задачами;
- управление файлами;
- взаимодействие с эмулятором;
- журналирование (журнальные записи LogCat);
- Создание скриншотов (захват изображения с экрана эмулятора).
При использовании ADT утилита DDMS интегрируется в Eclipse и доступна из соответствующей панели (Window→Open Perspective→DDMS). В противном случае вы можете запускать DDMS из командной строки - ее исполняемый файл находится в папке Android SDK /tools.
Управление задачами.
На панели Devices перспективы DDMS можно увидеть список эмуляторов и телефонов, подключенных в текущий момент. Можно выбрать отдельные экземпляры, просмотреть текущие процессы и потоки. Чтобы просмотреть поток, щелкните мышью по нужному процессу устройства, затем на кнопке обновления потока.
Обзор файловой системы.
Для просмотра файлов и папок в эмуляторе или на устройстве вы можете использовать панель File Explorer. Вы можете копировать файлы между системой Android и вашим компьютером с помощью кнопок перемещения. Также можно удалять файлы. При этом на экран не выводится сообщение о подтверждении операции и отмены операции.
Взаимодействие с эмулятором.
Панель Emulator Control позволяет выполнять голосовые вызовы, отправку и прием SMS, запрос геолокационных координат.
AAPT (Android Asset Packaging Tool).
AAPT (Инструмент для создания пакетов) создает файлы пакетов для Android (.apk), готовые к распространению.(Android Debug Bridge).
Клиент-серверное приложение, которое предоставляет доступ к работающему эмулятору или устройству. С его помощью можно копировать файлы, устанавливать скомпилированные программные пакеты и запускать консольные команды. Используя консоль, вы можете изменять настройки журнала и взаимодействовать с базами данных SQLite, которые хранятся на устройстве. В старых версиях SDK программа находилась в папке /tools. Теперь находится в папке /platform-tools. Состоит из трех компонентов: фоновой службы (демона), работающей в эмуляторе, сервиса, запущенного на компьютере разработчика, и клиентской программы (наподобие DDMS), которая связывается со службой через Сервис.
Чтобы увидеть весь список параметров и команд, которые можно запустить при помощи adb, введите в командной строке следующее:help
Если у вас есть файл приложения APK и вы хотите его установить на эмуляторе, то используйте команду:
adb.exe install d:\program.apk
d:\program.apk - это путь к файлу, который хотите установить в эмулятор.
После этого установленное приложение появится в эмуляторе. Если приложение
слишком большое (несколько мегабайт), то придётся немного подождать, пока
установится. Во время установки в консоли курсор будет мигать, а потом появится
надпись Success, что означает успешную установку программы.
Также, можно удалить ненужную программу по имени его пакета:uninstall <package name>
Чтобы перезапустить сервер:
adb stop-serverstart-server
Для копирования файлов с устройства на компьютер и обратно используются команды pull и push.
adb push <local source file path> <device destination file path>pull <device source file path> <local destination file path>
Чтобы запустить оболочку (shell) на подключенном устройстве, выполните следующую команду:shell
Символ # обозначает приглашение оболочки (shell prompt).
Вы можете просмотреть список команд, доступных при работе в оболочке, введя следующую информацию по приглашению оболочки:
# ls /system/bin
Для разработки приложения выбран язык программирования Java.- объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры. Дата официального выпуска - 23 мая 1995 года.
Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java:
- применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде;
- широкое использование платформенно - ориентированного кода (native-код) в стандартных библиотеках;
- аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle (семейство технологий, разработанных и продвигаемых компанией ARM, предназначенных для аппаратного ускорения выполнения приложений, написанных на языке Java), поддерживаемая некоторыми процессорами фирмы ARM).
Java и Android.
Язык Java активно используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код, для использования их виртуальной машиной Dalvik. Для такой компиляции используется дополнительный инструмент, а именно Software Development Kit, который предназначен для x86-машины под операционной системой Linux.
Разработку приложений можно вести в среде Eclipse, используя при этом плагин - Android Development Tools (ADT) или в IntelliJ IDEA (коммерческая интегрированная cреда разработки программного обеспечения). Версия JDK при этом должна быть 5.0 или выше.
Программы, написанные на Java, имеют репутацию более медленных и занимающих больше оперативной памяти, чем написанные на языке Си. Тем не менее, скорость выполнения программ, написанных на языке Java, была существенно улучшена с выпуском в 1997-1998 годах так называемого JIT-компилятора в версии 1.1 в дополнение к другим особенностям языка для поддержки лучшего анализа кода. Кроме того, была произведена оптимизация виртуальной машины Java - с 2000 года для этого используется виртуальная машина HotSpot.