Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования задач. Сервер
Содержание 1. Схема программы 2. Актуальность темы 3. Цели и задачи 4. Клиент Android 5. Сервер Apache Tomcat 6. Архитектура приложения MVC 7. Технологии Платформа J2EE Java- Сервлеты Выбор представления данных XML vs JSON MySQL и SQL- запросы 8. Процесс сетевого взаимодействия 9. Результаты и выводы
Актуальность темы Клиент - серверная архитектура Взаимодействие с платформой Android Синхронизация мобильных устройств « Облачные технологии » Работы с базой данных
Цели и задачи Цель : Освоение процесса клиент - серверного взаимодействия на языке Java и сопутствующих технологий Задачи : Разработать серверную часть программы, обрабатывающую запросы Android- приложения Осуществить взаимодействие сервера с базой данных Разработать набор прикладных методов для устройства Android, устанавливающих соединение с сервером и отправляющих данные посредством запросов
Клиент Android Назначение : планирование проектов распределение задач между членами команды работа с заметками книга контактов
Сервер Apache Tomcat Назначение : Регистрация пользователей Авторизация пользователей Синхронизация устройств Создание и хранение резервной копии данных Восстановление данных
Архитектура приложения (Model-View-Controller) Клиент : Устройство : планшет или смартфон Android Платформа: Android v2.3 Представление: Android Views Модель: 8 java-классов Контроллер listadapters и activities Сервер: Apache Tomcat 7.0 База данных: MySQL 5.0
Платформа J2EE Java Platform, Enterprise Edition Набор спецификаций серверной архитектуры Технологии : Веб - сервисы Сервлеты Enterpise JavaBeans Java Server Pages Java Persistence API Серверы приложений : Apache Tomcat GlassFish Jboss IBM WebShpere
Java- Сервлеты Это java- программа, выполняемая на стороне сервера и расширяющая его возможности Жизненный цикл : 1. Контейнер сервлетов создает экземпляр нужного класса сервлета и вызывает метод init() 2. Обработка клиентского запроса : service() распределяет запрос по его типу в метод doGet() или doPost() 3. Уничтожается экземпляр сервлета : destroy()
Выбор представления данных XML vsJSON XML - текстовый формат, предназначенный для хранения структурированных данных и обмена информацией между программами Главный недостаток : избыточность (xml- файл в 10 раз больше бинарного )
JSON (JavaScript Object Notation) JSON - текстовый формат обмена данными, основанный на JavaScript. Главное достоинство : лаконичность Поддерживается большинством языков
База данных MySQL и язык запросов SQL Возможности SQL: создание в базе данных новой таблицы добавление в таблицу новых записей изменение записей удаление записей выборка записей из одной или нескольких таблиц ( в соответствии с заданным условием ) изменение структур таблиц
Сервер Apache Tomcat Архитектура взаимодействия « Клиент - Сервер » API server connection Устройство Android ( клиент ) doPost() doGet() Создание пользователя Сохранение данных Авторизация Получение данных База Данных MySQL INSERT UPDATE SELECT SQL- запросы HTTP- запросы
Процесс сетевого взаимодействия ( резервное копирование данных ) 1. POJO: Class Employer 2. Конвертация в JSON- представление 3. Формирование HTTP запроса POST 4. Обработка запроса методом сервлета doPost(…) 5. Конвертация данных в BLOB 6. Формирование SQL- запроса UPDATE к базе данных MySQL 7. Передача response клиенту со статусом завершения операции
Результаты и выводы Освоен механизм клиент - серверного взаимодействия и многочисленные технологии для его реализации Разработана серверная часть программы, позволяющая синхронизировать данные между различными Android- устройствами Создан эффективный API для Android- приложений, позволяющий синхронизировать данные в различных программах
Конец Спасибо за внимание ! Рогов Павел 271 ПИ