Архитектура веб-приложений на примере Zend Framework и Magento

4,223 views

Published on

Презентация Дмитрия Сороки

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,223
On SlideShare
0
From Embeds
0
Number of Embeds
1,639
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Архитектура веб-приложений на примере Zend Framework и Magento

  1. 1. Архитектура веб-приложений <br />на примере Zend Framework и Magento<br />Дмитрий Сорока<br />
  2. 2. Zend Framework – основная библиотека кода системы<br />
  3. 3. Причины выбора библиотеки<br />Недостатки<br />Преимущества<br /><ul><li>Бета версия
  4. 4. Дата релиза
  5. 5. Отсутствие четкого пути построения приложения
  6. 6. Компания-разработчик
  7. 7. Обилие функционала: абстракции БД, ACL, валидация, кеширование, интернационализация и т.д.
  8. 8. Сообщество
  9. 9. Документация</li></li></ul><li>Используемые компоненты<br />Zend_Cache<br />Zend_Db<br />Zend_Locale<br />Zend_Date<br />Zend_Currency<br />Zend_Mail<br />Zend_Validate<br />Zend_Filter<br />Zend_Acl<br />…..<br />
  10. 10. Zend_Cache<br />Список поддерживаемых Magento хранилищ <br />Memory Based<br />File System Based<br /><ul><li>File
  11. 11. Sqlite
  12. 12. Database (MySQL)
  13. 13. ZendServer disk
  14. 14. APC
  15. 15. Memcached
  16. 16. xCache
  17. 17. eAccelerator
  18. 18. ZendServer Memory</li></li></ul><li>Zend_Cache_Backend_TwoLevels<br />Two Levels Backend<br />Slow level<br />Fast level<br />
  19. 19. Варианты инсталляции<br />Кластер<br />Один сервер<br />
  20. 20. Zend_Db<br />Адаптеры<br />MySQL<br />Mysqli<br />Pdo_Mysql<br />Oracle<br />Oci8<br />Pdo_Oci<br />MSSQL<br />Sqlsrv<br />Pdo_Mssql<br />DB2<br />PostgreSQL<br />Zend_Db_Select<br />носитель SQL-оператора SELECT<br />
  21. 21. Zend_Locale, Zend_Date, Zend_Currency<br />
  22. 22. Zend_Mail<br />Модуль рассылки<br />Регистрация пользователя<br />Напоминание пароля<br />Уведомления о заказах<br />Уведомления о состоянии товаров (цена, наличие)<br />
  23. 23. Zend_Acl<br />
  24. 24. Требования к современному веб-приложению и их реализация в Magento<br />
  25. 25. Расширяемость<br />Конфигурация<br />Модели<br />Блоки<br />Контроллеры<br />Данные<br />
  26. 26. Гибкость кастомизации<br />Возможность полного перекрытия класса<br />Возможность переопределения метода класса<br />Возможность вмешательства в логику работы без переопределения класса/метода<br />
  27. 27. Гибкость кастомизации<br />Код пулы<br />core<br />community<br />local<br />Реврайты (Mage::getModel(‘module/model’))<br />События<br /><global> <br /><models> <br /><module> <br /><rewrite> <br /><model>Example_Custom_Model_Test_Model</model><br /></rewrite> <br />Mage::dispatchEvent('model_load_before', $params);<br />
  28. 28. Управляемость (качество)<br />Автоматизированное тестирование<br />Юнит тесты<br />Документация<br />
  29. 29. Гибкость дизайна<br />
  30. 30. Кросс-платформеность<br />Apache<br />PHP<br />MySQL<br />
  31. 31. Проблемы производительности и пути их решения<br />
  32. 32. Факторы влияния<br />Общее количество файлов/классов<br />Количество классов задействованных в генирации страницы<br />Зависимость от размера данных<br />
  33. 33. Кеширование байт-кода<br />APC<br />eAccelerator<br />Zend Optimizer<br />xCache<br />
  34. 34. Кеширование данных в приложение<br />Типы кешируемых данных:<br />Конфигурация<br />Лейауты<br />Файлы переводов<br />Блоки страницы<br />Страницы<br />
  35. 35. Использование существующих систем для организации работы с данными<br />
  36. 36. Спасибо за внимание<br />Email: dmitriy.soroka@varien.com<br />

×