Томский государственный университет





Скачать 392.45 Kb.
НазваниеТомский государственный университет
страница1/8
Дата публикации26.04.2015
Размер392.45 Kb.
ТипДипломная работа
100-bal.ru > Информатика > Дипломная работа
  1   2   3   4   5   6   7   8


Федеральное агентство по образованию

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет Информатики

Кафедра теоретических основ информатики

УДК 681.3.06

ДОПУСТИТЬ К ЗАЩИТЕ В ГАК

Зав. Кафедрой, проф., д.т.н. .

_________________ Ю.Л. Костюк

«____»_________________ 2008 г.

Юшкеев Сергей Анатольевич

РАЗРАБОТКА WEB-ПРИЛОЖЕНИЙ

НА ОСНОВЕ «ОТЛОЖЕННЫХ ВЫЧИСЛЕНИЙ»

Дипломная работа

Научный руководитель


И. А. Кудрявцев

Исполнитель,

студ. гр. 1431

С. А. Юшкеев

Электронная версия дипломной работы помещена в электронную библиотеку. Файл _______________________

Администратор _________________________

Томск – 2008

Реферат

Дипломная работа 37 с., 15 рис., 9 источников, 3 прил.

ПРОДОЛЖЕНИЯ, ЗАМЫКАНИЯ, СРЕДА РАЗРАБОТКИ, WEB-ПРИЛОЖЕНИЕ, ТЕХНОЛОГИИ РАЗРАБОТКИ ПО, DJANGO

Объект исследования – разработка web-приложений.

Цель работы – реализация сервера web-приложений, позволяющего ускорить и упростить процесс разработки ПО за счет естественного способа программирования логики, основанного на последовательном представлении шагов алгоритма.

Методы исследования – анализ существующих подходов к разработке web-приложений, применение продолжений в web-разработке, эмуляция продолжений.

Разработан сервер приложений, демонстрирующий практическое применение рассмотренных концепций. Кроме того произведена интеграция разработанных модулей в исходный сервер приложений с целью расширить его функциональность.

Содержание

Введение 5

1 Обзор существующих методик 7

1.1 Эволюция web-разработки 7

1.2 Проблемы традиционного подхода 9

1.3 Аналоги 13

1.3.1 Seaside 13

1.3.2 Apache Cocoon 2.1 13

2 Web-разработка, основанная на продолжениях 15

2.1 Базовая концепция 15

2.2 Подходы 17

2.2.1 Эмуляция CPS, основанная на замыканиях (англ. closure) 18

2.2.2 Эмуляция работы продолжений, основанная на микропотоках (англ. microthreads) 19

3 Реализация 22

3.1 Stackless Python 22

3.2 Система управления продолжениями 22

3.3 Хранилище продолжений 23

3.4 Сервер приложений 25

3.5 Интеграция с Django 26

Заключение 30

Список использованных источников 31

Приложение А. Руководство системного программиста 32

Приложение Б. Руководство прикладного программиста Django 37

Приложение В. Файлы проекта 38


Введение


Транзакционная природа HTTP ставит перед разработчиками проблему сохранения данных между двумя транзакциями. При создании крупных web-приложений сложность разработки повышается ввиду того, что web-браузеры предлагают пользователям иные способы навигации, помимо тех, которые предоставляются пользовательским интерфейсом приложений. Пользователь всегда имеет возможность возвратиться на предыдущую страницу, создать копию в новом окне, продолжая работать с копиями параллельно, а так же сделать любой запрос с помощью адресной строки. Задача же разработчика заключается в том, чтобы приложение реагировало корректно на любые действия пользователя.

Традиционный подход предполагает использование событийно-ориентированной модели для обработки действий пользователя, но этот подход порождает другую проблему. Логика приложения разносится во множество модулей, которые обрабатывают свои функциональные части. Чтобы приложение было устойчиво к различным действиям пользователя, функционал этих частей минимизируется. Но эти функциональные части непременно связаны между собой, и эти связи множатся с увеличением web-приложения. Таким образом, мы получаем тяжелую для понимания в целом логику, вследствие чего поддержка приложения становится не менее фундаментальной задачей, чем его разработка.

Кроме того, одна функция может быть реализована в несколько транзакций, что ставит следующие две проблемы. Во-первых, единую функцию приходится разбивать на несколько функциональных шагов и отдельно их обрабатывать. Во-вторых, возникает проблемы хранения данных, полученных на предыдущих итерациях.

Предлагаемое решение основано на идее продолжений (англ. continuations) и представляет собой альтернативную методику разработки web-приложений. Оно позволяет значительно упростить разработку и поддержку крупных проектов за счет того, что код приложения, написанный с использованием продолжений, представляет собой последовательный поток действий, не зависящий от транзакционной природы HTTP, что позволяет программировать приложение в полном соответствии с его логикой. По сути, отправка ответа клиенту и получение запроса в коде являются не более чем вызовом встроенной функции[1].

Продолжение (иногда «отложенные вычисления») представляет собой состояние программы, которое может быть сохранено и использовано для перехода в это состояние. Продолжения содержат всю информацию, чтобы продолжить выполнения программы с определённой точки. Состояние глобальных переменных обычно не сохраняется, однако для функциональных языков это несущественно. Продолжения похожи на goto Бейсика, так как также позволяют перейти в любое место программы. Но продолжения, в отличие от goto, позволяют перейти только в участок программы с определённым состоянием, которое должно быть сохранено заранее, в то время как goto позволяет перейти в участок программы с неинициализированными переменными. Продолжения так же можно представить как копию текущего состояния локального окружения и указатель на следующую инструкцию[2].

Теперь представим, что любая функция, кроме обычных параметров принимает один дополнительный параметр – продолжение, к которому перейдёт управление после окончания работы функции. Таким образом, из функций никогда не происходит возврата. Функции просто дают команду на выполнение оставшихся вычислений. Такой метод называется "стиль передачи продолжений" (англ. CPS – continuation passing style). Поскольку продолжение, раз использовано, не возвращает управления, такой стиль применим лишь в языках с оптимизацией хвостовой рекурсии.

Целью работы является разработка сервера web-приложений с прозрачной для конечного разработчика поддержкой продолжений, который позволяет исполнять написанные в традиционном, характерном для «настольных» приложений, стиле.
  1   2   3   4   5   6   7   8

Добавить документ в свой блог или на сайт

Похожие:

Томский государственный университет iconФедеральное агентство по образованию Томский государственный педагогический университет
Томский государственный педагогический университет совместно с Сибирским нии торфа со расхн, Институтом климатических и экологических...
Томский государственный университет iconSylvestris, Acer negundo, Fraxinus pennsylvanica, и Platanus occidentalis...
Томский государственный университет (Томск), Огайский государственный университет (сша)
Томский государственный университет icon«Томский государственный педагогический университет» (тгпу) рабочая Программа учебной дисциплины
Учебно-методическое пособие по курсу «Организационное поведение» /Д. М. Сафина. – Казань: Казанский (Приволжский) федеральный университет;...
Томский государственный университет icon«Томский государственный педагогический университет» (тгпу) «утверждаю»
Проректор по научной работе и информатизации А. Э. Калинина
Томский государственный университет iconТомский государственный университет
«Обществознание» и в результате освоения дисциплин ооп подготовки бакалавра: «История», «Философия»
Томский государственный университет iconРабочая программа дисциплины
Государственное образовательное учреждение высшего профессионального образования «Томский государственный университет»
Томский государственный университет iconТомский государственный университет
«Понятие, задачи и сущность правовой работы в Вооруженных Силах Российской Федерации»
Томский государственный университет iconТомский государственный университет
Профессиональные компетенции преподавателя, использующего метод кейс-стади в организации обучения
Томский государственный университет iconТомский государственный университет физический факультет
Программа предназначена для студентов VI курса физического факультета
Томский государственный университет iconРоссийской Федерации Национальный исследовательский Томский государственный университет
Специальность 032001 – Документоведение и документационное обеспечение управления
Томский государственный университет iconФгбоу впо «национальный исследовательский томский государственный университет»
Информационное обеспечение и делопроизводство в государственном и муниципальном управлении
Томский государственный университет iconФгбоу впо «национальный исследовательский томский государственный университет»
Информационное обеспечение и делопроизводство в государственном и муниципальном управлении
Томский государственный университет iconТомский государственный педагогический университет
К участию в школе приглашаются студенты, аспиранты, молодые сотрудники вузов и научных организаций
Томский государственный университет iconГосударственное образовательное учреждение высшего профессионального...

Томский государственный университет iconТомский государственный педагогический университет
К участию в школе приглашаются студенты, аспиранты, молодые сотрудники вузов и научных организаций
Томский государственный университет iconФедеральное государственное бюджетное образовательное учреждение...



Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск