Проектирование и реализация
 протокола динамического обмена
Перевод портала myAudience
    данными для веб-портала
            на AJAX
           myAudience      Дипломная работа
                                              студента группы С8503А
                                           Цыбенко Василия Сергеевича
                                                                           
                                                          Руководитель:
            начальник отдела перспективных технологий и видеоаналитики
                                                 ООО «Ронда Лимитед»
                                         Гаврик Александр Анатольевич
                                                                           
                                            Соруководитель от кафедры:
                                        Старший преподаватель кафедры
           Информатики, математического и компьютерного моделирования
                                            Кленин Александр Сергеевич
                  Владивосток, 2012 г.                                     
Программные продукты myAudience



myAudience-Measure




 myAudience-Count


                                  2
Метрика в myAudience-Measure

 ● Внимание
 ● Возрастная категория
 ● Пол
 ● Количество




                               3
myAudience Internet Portal

 ● Управление лицензиями
 ● Управление юнитами
 ● Получение статистических данных
 ● Настройка профиля пользователя




                                     4
myAudience Internet Portal. Организация

    Пользователи:      Разделы:
    ● Demo-аккаунт     ● Information
    ● Обычные          ● Groups & Units
      пользователи     ● Metrics
    ● Интеграторы      ● Licenses
                       ● Profile


                                          5
Имеющаяся реализация

Недостатки:
● Любая операция требует перезагрузки всей страницы
● Недостаточное разделение представления от логики
● Плохая организация программного кода

Следствия:
● Неудобство для пользователя
● Неэффектиная работа веб-приложения
● Сложности при поддержке и расширении функционала

                                                      7
Поставленные задачи

Серверная сторона:
● Разделить представление и логику
● Спроектировать протокол взаимодействия с клиентом
● Реализовать API


Клиентская сторона:
● Спроектировать архитектуру
● Реализовать интерактивное взаимодействие через
  AJAX
                                                      8
Требования к реализации

Серверная часть:
● Надежность и безопасность
● Гибкость при расширении протокола


Клиентская часть:
● Сохранения дизайна и интерфейса
● Простота поддержки программного кода
● Кроссбраузерность

                                         9
Серверная часть. Реализация

   Концепции:        Инструменты:
   ● Шаблонизатор     ● PHP 5.3
   ● JSON API         ● MySQL 5.5
                      ● Apache 2.2
                      ● Twig




                                     10
Сервер. Принцип обработки запросов




                                     11
Сервер. Архитектура




                      12
Клиент. Реализация

                  Client
                                   Инструменты:

                Controller         ● JavaScript
                                   ● HTML 4.01
         View                      ● Sass
                           Model

    Application                    ● jQuery
                                   ● Spine.js
                                   ● Underscore.js
                             DB




                                                     13
Клиент. Архитектура




                      14
Клиент. Организация контроллеров




                                   15
Заключение

  Технические аспекты:
  ● 1815 строк кода (~ 80 Kb) на PHP
  ● 3733 строк кода (~128 Kb) на JavaScript
  ● Система контроля версий SVN
  ● API содержит реализацию 40 команд



  Продакшн: portal.myaudience.com


                                              16

Presentation

  • 1.
    Проектирование и реализация протокола динамического обмена Перевод портала myAudience данными для веб-портала на AJAX myAudience Дипломная работа студента группы С8503А Цыбенко Василия Сергеевича   Руководитель: начальник отдела перспективных технологий и видеоаналитики ООО «Ронда Лимитед» Гаврик Александр Анатольевич   Соруководитель от кафедры: Старший преподаватель кафедры Информатики, математического и компьютерного моделирования Кленин Александр Сергеевич Владивосток, 2012 г.  
  • 2.
  • 3.
    Метрика в myAudience-Measure ● Внимание ● Возрастная категория ● Пол ● Количество 3
  • 4.
    myAudience Internet Portal ● Управление лицензиями ● Управление юнитами ● Получение статистических данных ● Настройка профиля пользователя 4
  • 5.
    myAudience Internet Portal.Организация Пользователи: Разделы: ● Demo-аккаунт ● Information ● Обычные ● Groups & Units пользователи ● Metrics ● Интеграторы ● Licenses ● Profile 5
  • 6.
    Имеющаяся реализация Недостатки: ● Любаяоперация требует перезагрузки всей страницы ● Недостаточное разделение представления от логики ● Плохая организация программного кода Следствия: ● Неудобство для пользователя ● Неэффектиная работа веб-приложения ● Сложности при поддержке и расширении функционала 7
  • 7.
    Поставленные задачи Серверная сторона: ●Разделить представление и логику ● Спроектировать протокол взаимодействия с клиентом ● Реализовать API Клиентская сторона: ● Спроектировать архитектуру ● Реализовать интерактивное взаимодействие через AJAX 8
  • 8.
    Требования к реализации Сервернаячасть: ● Надежность и безопасность ● Гибкость при расширении протокола Клиентская часть: ● Сохранения дизайна и интерфейса ● Простота поддержки программного кода ● Кроссбраузерность 9
  • 9.
    Серверная часть. Реализация Концепции: Инструменты: ● Шаблонизатор ● PHP 5.3 ● JSON API ● MySQL 5.5 ● Apache 2.2 ● Twig 10
  • 10.
  • 11.
  • 12.
    Клиент. Реализация Client Инструменты: Controller ● JavaScript ● HTML 4.01 View ● Sass Model Application ● jQuery ● Spine.js ● Underscore.js DB 13
  • 13.
  • 14.
  • 15.
    Заключение Техническиеаспекты: ● 1815 строк кода (~ 80 Kb) на PHP ● 3733 строк кода (~128 Kb) на JavaScript ● Система контроля версий SVN ● API содержит реализацию 40 команд Продакшн: portal.myaudience.com 16