Both sides previous revisionPrevious revision | |
mag:ds2 [2024/04/17 20:29] – eugeneai | mag:ds2 [2024/04/17 20:44] (current) – eugeneai |
---|
| ====== Распределенные системы ====== |
| ===== Лекционный материал ===== |
| |
| Идея курса - рассмотреть процесс перехода от сложной программной системы к простой за счет использования компонентного подхода, затем, к распределенной. Первый переход позволяет реорганизовать систему, сделать подсистемы слабосвязанными, стандартизировать взаимодействие. Второй переход - "ассимиляция" новых ресурсов, как памяти, так и вычислительных. |
| |
- [[https://www.youtube.com/watch?v=KF8uVqd8nTU&list=PLDmve33tqgovKgP1t5m5Oi7uawof1VSmZ&index=7&ab_channel=%D0%95%D0%B2%D0%B3%D0%B5%D0%BD%D0%B8%D0%B9%D0%A7%D0%B5%D1%80%D0%BA%D0%B0%D1%88%D0%B8%D0%BD|Современные подходы к реализации сложных систем (доклад на семинаре)]] | - [[https://www.youtube.com/watch?v=KF8uVqd8nTU&list=PLDmve33tqgovKgP1t5m5Oi7uawof1VSmZ&index=7&ab_channel=%D0%95%D0%B2%D0%B3%D0%B5%D0%BD%D0%B8%D0%B9%D0%A7%D0%B5%D1%80%D0%BA%D0%B0%D1%88%D0%B8%D0%BD|Современные подходы к реализации сложных систем (доклад на семинаре)]] |
- [[https://youtu.be/IRM4gWdwWWE|Компонентное проектирование на примере Zope: Интерфейсы, Адаптеры]] | - [[https://youtu.be/IRM4gWdwWWE|Компонентное проектирование на примере Zope: Интерфейсы, Адаптеры]] |
- [[https://www.youtube.com/watch?v=9RTZP16rvkQ&list=PLF-NY6ldwAWqjBkanP1Tl50kDpIYXJBna&index=3&t=158s&ab_channel=DjangoSchool%7C%D0%9E%D0%BC%D0%B5%D0%BB%D1%8C%D1%87%D0%B5%D0%BD%D0%BA%D0%BE%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB|Celery: настройка системы, создание задачи, конфигурация на запуск различными способами]] | - [[https://www.youtube.com/watch?v=9RTZP16rvkQ&list=PLF-NY6ldwAWqjBkanP1Tl50kDpIYXJBna&index=3&t=158s&ab_channel=DjangoSchool%7C%D0%9E%D0%BC%D0%B5%D0%BB%D1%8C%D1%87%D0%B5%D0%BD%D0%BA%D0%BE%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB|Celery: настройка системы, создание задачи, конфигурация на запуск различными способами]] |
- [[https://www.youtube.com/watch?v=BuK6jxqsvOE&list=PLF-NY6ldwAWqjBkanP1Tl50kDpIYXJBna&index=3&ab_channel=DjangoSchool%7C%D0%9E%D0%BC%D0%B5%D0%BB%D1%8C%D1%87%D0%B5%D0%BD%D0%BA%D0%BE%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB|Настройка утилиты Flower. Сцепленные задачи и т.п.]] | - [[https://www.youtube.com/watch?v=BuK6jxqsvOE&list=PLF-NY6ldwAWqjBkanP1Tl50kDpIYXJBna&index=3&ab_channel=DjangoSchool%7C%D0%9E%D0%BC%D0%B5%D0%BB%D1%8C%D1%87%D0%B5%D0%BD%D0%BA%D0%BE%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB|Настройка утилиты Flower. Сцепленные задачи и т.п.]] |
| |
| ===== Лабораторные работы ===== |
| |
| Перечень заданий |
| |
| - Реализовать две компоненты, адаптер интерфейса одной к другой, контейнер (компоненту, по примеру из лекций). |
| - Реализовать прокси-адаптер для интерфейса компоненты, хранимой в контейнере. |
| - В контейнере организовать "длительную обработку" хранимых компонент. |
| |
| Варианты систем программирования |
| |
| - Python / Zope (ZTK, не путать с Zope2!) |
| - C# |
| - COM/DCOM + OLE2 |
| - Java EJB |
| - Java Spring framework (Тут не совсем компонентная архитектура, но можно остаться в рамках plug-in-интерфейсов) |
| - Logtalk с использованием композиционного проектирования |
| - Разработайте свой аналог для любимого языка программирования (были попытки для JavaScript) |
| |
| Если будете использовать тестирование - респект и уважуха! |
| |
| И |
| |
| Если есть возможность совместить с другими задачами (по другим предметам, например, Семантический Веб) - уважуха вдвойне. |
| |
| |
| |
| |