'

Разработка технологии  взаимодействия гетерогенных  систем с использованием  метапрограммирования

Понравилась презентация – покажи это...





Слайд 0

Разработка технологии  взаимодействия гетерогенных  систем с использованием  метапрограммирования Константинов Александр, 545 группа Научный руководитель: Соломатов К.В. Рецензент: Шкредов С.Д.


Слайд 1

Основные идеи Трехзвенная архитектура Клиенты для разных платформ Удаленный вызов процедур Сервер базы данных Сервер прило-жений Клиент


Слайд 2

Приложение Четыре клиента: Оконное приложение GWT Android iPad Языки программирования: Java ObjectiveC Сервер: AppEngine


Слайд 3

Постановка задачи Исследовать существующие подходы Реализовать необходимые языки Создать генераторы для них Разработать метод кодирования данных Произвести внедрение


Слайд 4

Существующие технологии Удаленный вызов процедур XML-RPC, JSON-RPC, SOAP, .NET Remoting, RMI, Corba и другие Минусы Тяжеловесны или сложны (Corba, Soap) Нет кроссплатформенности (.NET Remoting, RMI) Ограниченность функционала (Thrift) Нерациональная сериализация (XML-RPC)


Слайд 5

Существующие технологии - 2 Сериализация Избыточность формата Избыточность структуры Отсутствие информации о передаваемых данных


Слайд 6

Сжатие информации Основа алгоритма – алгоритм protobuf Оптимизации Объединение запросов Жесткая структура сообщений Дополнительная информация о сообщении Использование идентификаторов узлов


Слайд 7


Слайд 8

service myService { AccessLevel getAccess(User u) throws UserException; } messages MyMessages { enum AccessLevel { READ, WRITE, ADMIN } message Resource { int id; AccessLevel level; array<User> editors; } }


Слайд 9

Генерация в Objective C Разработка паттернов Перечисления Анонимные классы Асинхронные вызовы Управление памятью


Слайд 10

Результаты Исследованы существующие RPC и технологии сжатия Реализованы языки сообщений и сервисов Реализованы генераторы в Objective C и Java Разработан метод кодирования Создана поддержка событий – не было запланировано Проведена интеграция


×

HTML:





Ссылка: