Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемcas.havoc.ru
1 Сервер приложений С++ Андрей Шетухин Rambler Internet Holding
2 Сервер приложений С++ первые наработки год нагруженный проект, много запросов, мало памяти, мало CPU компьютеры выросли, но выросли и нагрузки; ничего не изменилось новые требования: модульность, упрощение API, переносимость необходимость поддержки инструментария Web-2.0 (AJAX, XML, JSON)
3 Сервер приложений С++ что такое MVC и зачем оно нужно? необходимые модификации достоинства предложенной схемы архитектура CAS Парадигма MVC
4 Сервер приложений С++ Классическая архитектура MVC
5 Сервер приложений С++ плохо работает под большой нагрузкой сложность разработки моделей, контроллеров и представлений ненужный код в моделях проблемы с масштабированием Критика
6 Сервер приложений С++ Модификация MVC (mMVC)
7 Сервер приложений С++ модели – универсальные формирование ответа – только в представлении для генерации HTML/JSON/XML кроме шаблона и View ничего не требуется простота внесения правок высокая скорость работы Достоинства mMVC
8 Сервер приложений С++ динамично развивается проверен временем текущая версия – 3.3.X распространяется как Open Source продукт лицензия – BSD широкий набор модулей для работы с СУБД, memcached, POP3/IMAP и т.п. CAS сегодня
9 Сервер приложений С++ модульность взаимную изоляцию сущностей интегрируемость с другими технологиями универсальность кода расширяемость простоту сопровождения проекта низкую стоимость разработки CAS обеспечивает
10 Сервер приложений С++ клиентские: HTTP, XML-RPC, AJAX(XML, JSON) серверные: Apache 1.3 и 2.X, FastCGI пользовательские: API для создания собственных модулей и плагинов Интерфейсы
11 Сервер приложений С++ Архитектура CAS
12 Сервер приложений С++ загрузка конфигурации загрузка модулей создание сервера приложений обработка запросов выход Жизненный цикл
13 Сервер приложений С++ контроллер исполняется первым модели запускаются последовательно если возникла ошибка – работают финализаторы представление формирует данные Обработка запроса
14 Сервер приложений С++ необходимый инструментарий пишем Hello, World! тестируем результаты работы пример посложнее – лента новостей сравним с mod_perl и с PHP – тоже сравним От слов – к делу!
15 Сервер приложений С++ компилятор C++ система сборки cmake сервер приложений C++ 10 минут свободного времени Инструменты
16 Сервер приложений С++ создаем модуль 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
17 Сервер приложений С++ пишем код 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; }
18 Сервер приложений С++ создаем шаблон Hello, World! My first example
19 Сервер приложений С++ проверяем результат Hello, World! lynx -source My first example Hello, World!
20 Сервер приложений С++ тоже саме – на 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;
21 Сервер приложений С++ и на PHP Hello, World!
22 Сервер приложений С++ Лента новостей Пример посложнее SQL::NonTransaction oNT = GetSQLConnector(oGlobalPool).NewNonTransaction(); oData["newslist"] = NTSQLayerCDT(oNT, "SELECT * FROM news ORDER BY date")
23 Сервер приложений С++ единые шаблоны для всего проекта, независимо от движка простота миграции между технологиями высокая скорость прототипирования и разработки поддержка популярных языков и сред: Perl, PHP, Python Интеграция
24 Сервер приложений С++ Linux FreeBSD Solaris i386 amd64 UltraSPARC Платформы и архитектуры
25 Сервер приложений С++ поддержка SOAP Web Sockets модули для работы с разнообразными поставщиками данных поддержка вставок кода на Lua, Python и PHP Развитие проекта
26 Сервер приложений С++
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.