Сервер приложений С++ Андрей Шетухин Rambler Internet Holding.

Презентация:



Advertisements
Похожие презентации
Сервер приложений С++ Андрей Шетухин, Илья Космодемьянский SUP Fabrik.
Advertisements

Архитектура новой почты Рамблера Андрей Шетухин. Rambler Mail сегодня 240 тысяч новых регистраций в день 66 миллионов пользователей 20 миллионов живых.
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский.
WEB- ТЕХНОЛОГИИ Лекция 1. WEB- ПРИЛОЖЕНИЯ 1 Особый тип программ, построенных по архитектуре « клиент - сервер » Основа получение запросов от пользователя.
© 2009 ООО «Рамблер Интернет Холдинг». Основные сервисы - неограниченный объем для каждого почтового адреса - обычный (HTTP) и защищенный (HTTPS) интерфейс.
Сервисы сетевых операционных систем : web- сервер Seti.ucoz.ru.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
D7 – новая платформа разработки сайтов и порталов Тушинский Юрий Технический директор Битрикс.
Студенников Валерий Юрьевич Лекции и материалы:
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Универсальное решение для микрофинансовых организаций.
Троицкий Д.И. Интернет-технологии1 ДИНАМИЧЕСКИЕ WEB-СТРАНИЦЫ СЕРВЕРНЫЕ СЦЕНАРИИ Лекция 9 Кафедра «Автоматизированные станочные системы» Dept. of Automated.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура Microsoft.
Использование открытых СУБД, приложений и компонентов для разработки аналитических систем. Russian Open Source Summit 2014 «От открытого кода к открытым.
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
Редакционная система интернет-издания «Газета.Ru» 2008 Особенности издания СМИ в интернет Редакционная издательская система Редакционный процесс Публикация.
Технологические характеристики Microsoft CRM. Содержание Используемые технологии Архитектура решения Администрирование Настройка и разработка.
Сервис On-Line доступ ПП Парус 8 Применение для разработки WEB- интерфейса.
Опыт реализации отказоустойчивого сервера приложений и хранилища данных на базе СУБД ЛИНТЕР Михаил Ермаков, Дмитрий Мухоедов, РЕЛЭКС.
И не врите, что первое, что приходило вам в голову когда вы впервые слышали словосочетание: «программирован ие на Java» было не это.
Транксрипт:

Сервер приложений С++ Андрей Шетухин Rambler Internet Holding

Сервер приложений С++ первые наработки год нагруженный проект, много запросов, мало памяти, мало CPU компьютеры выросли, но выросли и нагрузки; ничего не изменилось новые требования: модульность, упрощение API, переносимость необходимость поддержки инструментария Web-2.0 (AJAX, XML, JSON)

Сервер приложений С++ что такое MVC и зачем оно нужно? необходимые модификации достоинства предложенной схемы архитектура CAS Парадигма MVC

Сервер приложений С++ Классическая архитектура MVC

Сервер приложений С++ плохо работает под большой нагрузкой сложность разработки моделей, контроллеров и представлений ненужный код в моделях проблемы с масштабированием Критика

Сервер приложений С++ Модификация MVC (mMVC)

Сервер приложений С++ модели – универсальные формирование ответа – только в представлении для генерации HTML/JSON/XML кроме шаблона и View ничего не требуется простота внесения правок высокая скорость работы Достоинства mMVC

Сервер приложений С++ динамично развивается проверен временем текущая версия – 3.3.X распространяется как Open Source продукт лицензия – BSD широкий набор модулей для работы с СУБД, memcached, POP3/IMAP и т.п. CAS сегодня

Сервер приложений С++ модульность взаимную изоляцию сущностей интегрируемость с другими технологиями универсальность кода расширяемость простоту сопровождения проекта низкую стоимость разработки CAS обеспечивает

Сервер приложений С++ клиентские: HTTP, XML-RPC, AJAX(XML, JSON) серверные: Apache 1.3 и 2.X, FastCGI пользовательские: API для создания собственных модулей и плагинов Интерфейсы

Сервер приложений С++ Архитектура CAS

Сервер приложений С++ загрузка конфигурации загрузка модулей создание сервера приложений обработка запросов выход Жизненный цикл

Сервер приложений С++ контроллер исполняется первым модели запускаются последовательно если возникла ошибка – работают финализаторы представление формирует данные Обработка запроса

Сервер приложений С++ необходимый инструментарий пишем Hello, World! тестируем результаты работы пример посложнее – лента новостей сравним с mod_perl и с PHP – тоже сравним От слов – к делу!

Сервер приложений С++ компилятор C++ система сборки cmake сервер приложений C++ 10 минут свободного времени Инструменты

Сервер приложений С++ создаем модуль Hello, World! cas-xt -t handler -g -n Hello Using templates from directory "/usr/share/cas/xt" Output directory is "." Creating [DIR] Hello Creating [DIR] Hello/include Creating [DIR] Hello/src Creating [FILE] Hello/src/Hello.cpp Creating [FILE] Hello/CMakeLists.txt

Сервер приложений С++ пишем код Hello, World! INT_32 Hello::Handler(CTPP::CDT & oData, ASRequest & oRequest, ASResponse & oResponse, ASLogger & oLogger) { // Put your code here oData["hello"] = "Hello, World!"; // 200 OK oResponse.SetHTTPCode(200); // Write to log oLogger.Debug("Hello!"); return HANDLER_OK; }

Сервер приложений С++ создаем шаблон Hello, World! My first example

Сервер приложений С++ проверяем результат Hello, World! lynx -source My first example Hello, World!

Сервер приложений С++ тоже саме – на Perl Hello, World! package CAS::Hello; use strict; use Apache::Constants qw(:common); my $T = new HTML::CTPP2(); my $B = $T -> parse_template('news.tmpl'); sub handler { my $r = shift; $r -> content_type('text/html'); $T -> param({hello => 'Hello, World!'}); print $T -> output($B); return OK; } 1;

Сервер приложений С++ и на PHP Hello, World!

Сервер приложений С++ Лента новостей Пример посложнее SQL::NonTransaction oNT = GetSQLConnector(oGlobalPool).NewNonTransaction(); oData["newslist"] = NTSQLayerCDT(oNT, "SELECT * FROM news ORDER BY date")

Сервер приложений С++ единые шаблоны для всего проекта, независимо от движка простота миграции между технологиями высокая скорость прототипирования и разработки поддержка популярных языков и сред: Perl, PHP, Python Интеграция

Сервер приложений С++ Linux FreeBSD Solaris i386 amd64 UltraSPARC Платформы и архитектуры

Сервер приложений С++ поддержка SOAP Web Sockets модули для работы с разнообразными поставщиками данных поддержка вставок кода на Lua, Python и PHP Развитие проекта

Сервер приложений С++