Лекции по "Проектированию ИС"

Автор работы: Пользователь скрыл имя, 27 Июня 2013 в 13:48, курс лекций

Описание работы

1. Особенности программирования для Web. Различия в программировании на стороне клиента и сервера. Инструменты и технологии программирования.
Есть два типа программирования в веб-приложениях: на стороне клиента и на стороне сервера.
Программирование на стороне клиента означает использование языка программирования, который будет выполняться в веб-браузере пользователя. Стандартным языком программирования на стороне клиента, на сегодняшний день, является JavaScript. JavaScript может быть включён в отдельные текстовые файлы, на которые ссылаются файлы HTML, или же вы можете вставить его прямо в HTML в специальные теги HTML — script теги. Когда веб-браузер пользователя встречает эти теги, он выполняет код JavaScript, содержащийся либо в тегах, либо в файлах.

Файлы: 1 файл

Otvety_VP.docx

— 67.35 Кб (Скачать файл)

1. Особенности программирования  для Web. Различия в программировании  на стороне клиента и сервера.  Инструменты и технологии программирования.

Есть два типа программирования в веб-приложениях: на стороне клиента  и на стороне сервера.

 

Программирование на стороне клиента  означает использование языка программирования, который будет выполняться в  веб-браузере пользователя. Стандартным  языком программирования на стороне  клиента, на сегодняшний день, является JavaScript. JavaScript может быть включён  в отдельные текстовые файлы, на которые ссылаются файлы HTML, или  же вы можете вставить его прямо  в HTML в специальные теги HTML — script теги. Когда веб-браузер пользователя встречает эти теги, он выполняет  код JavaScript, содержащийся либо в тегах, либо в файлах.

 

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

 

Другие примеры программирования на стороне клиента включают компьютерные языки, которые компилируются в  файл (в байткод) и выполняются браузером, используя плагин. Например, таким образом работают технологии Adobe Flex MXML и язык ActionScript, программный код которого компилируется в SWF файл. Браузер скачивает файл SWF и выполняет его (в том случае если в браузере установлен соответствующий плагин Adobe Flash Player). Другие технологии включают в себя Microsoft® Silverlight и JavaFX.

 

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

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

Примером языка программирования серверных веб-приложений является PHP. Чтобы использовать PHP в веб-приложениях, вы должны разместить PHP код в файлах, и сделать их доступными для веб-сервера. Вы также должны убедиться, что интерпретатор PHP (или его модуль) установлен и настроен на веб-сервере. Если вы используете хостинг-провайдера, вы должны убедиться, что ваш провайдер поддерживает PHP.

Когда пользователь обращается к PHP-ресурсу, используя свой браузер, программное  обеспечение сервера находит  файл PHP в файловой системе веб-сервера. Затем интерпретатор выполняет PHP-скрипт, при этом обычно генерирует HTML-страницу, которая будет отправлена обратно  в веб-браузер пользователя. Если же пользователь в ответ получает код PHP, это значит что интерпретатор  не сработал — его либо нет на сервере, либо он настроен неправильно.

Вы можете использовать многие другие технологии и языки программирования для создания серверных веб-приложений. Например JavaServer Pages, Python, ASP.NET или Ruby.

 

 

2. Понятие Web-приложения. Типы, классификация, требования.

Веб-приложение — это веб система, позволяющая пользователю реализовать  доступ к бизнес-логике через интернет с использованием веб-браузера. Такая  система рассматривается как  набор узлов с перекрестными  ссылками. Программа состоит из нескольких логических частей, которые связаны  между собой.

Типы веб-приложений

1. CGI приложения — приложения, работающие  на сервере и передающие данные  клиентам. Для работы необходимы  веб-браузеры. Параметры могут передаваться  через адресную строку, при помощи  форм и при помощи переменных  окружения;

2. Веб-сервисы — программы или  программные модули, вызываемые  через интернет. Отличие в том,  что веб-сервис возвращает на  сторону клиента конкретный результат.  Для работы веб-сервисов не  обязателен веб-браузер;

3. Локальные приложения с поддержкой  интернета — автономные программы  со встроенными механизмами доступа  к различным службам через  интернет, таким как регистрация,  обновление, справочная системы;

4. Одноранговые приложения —  автономные программы, использующие  интернет для взаимодействия  с другими программами того  же типа (ICQ, Skype).

Классификация веб-приложений

1. По степени связанности (сопряжения) компонентов системы.

Степень связанности — это степень, в которой каждый из компонентов  зависит от других модулей системы.

1.1. Слабо связанные приложения. Компоненты взаимодействуют между  собой по неизменным интерфейсам  и не зависят от внутренней  реализации каждого из компонентов.

1.2. Сильно связанные приложения. Работа одних компонентов может  зависеть от внутренней реализации  других компонентов. Изменения  внутри одних компонентов требует  изменения остальных.

2. По количеству логических уровней  в инфраструктуре приложения.

2.1. Монолитные приложения. Реализованы  все три уровня;

2.2. Двухуровневые приложения. БД  — отдельный уровень. Выделение  второго уровня приводит к  архитектуре «клиент сервер».  Часть бизнес-логики может остаться  на клиенте;

2.3. Многоуровневые приложения. Как  правило трехуровневые. Бизнес  логика выносится в отдельный  уровень. Клиент остается на  клиентской части с интерфейсом,  который выполняет минимум функций.  Обработка информации в рамках  бизнес-логики. Реализации — сервер  приложений, сервер БД.

3. По виду предоставляемой пользователю  информации. Любой сайт есть приложение.

3.1. Статические приложения. Содержат  неизменяемое наполнение;

3.2. Динамические приложения. Содержат  изменяемое наполнение.

Требования к веб-приложениям

От степени соответствия требованиям  зависит качество веб-приложения.

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

1. Надежность — свойство приложения  сохранять во времени в установленных  пределах значения всех параметров, характеризующих способность выполнять  требуемые функции в заданных  режимах и условиях применения;

2. Быстродействие — среднее  время обработки запроса;

3. Безопасность — приложение  должно отвечать требованиям  безопасности;

4. Масштабируемость — независимость  характеристик приложения от  количества пользователей.

 

 

3. Понятие Web-сервера  и Web-клинета. Протокол HTTP. Структура  запросов и ответов.

Веб-сервер — сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом или другими данными.

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

Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

Клиент — аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.

HTTP — протокол прикладного уровня передачи данных. HTTP для получения информации с веб-сайтов.

Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». В отличие  от многих других протоколов, HTTP не сохраняет  своего состояния. Это означает отсутствие сохранения промежуточного состояния  между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о  состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера).

Структура HTTP-запроса

«Заголовок» = «Метод» «URL»  «Версия протокола» 
«Пустая строка» 
«Тело запроса» = [Параметр:Значение]...[, Параметр:Значение]

Параметы: 
• connection — сохранять или не сохранять связь между запросами; 
• useragent — информация о браузере клиента; 
• referer — URL страницы, с которой была произведена отправка запроса.

Структура HTTP-ответа

«Заголовок» = «Версия протокола» «Кодовое обозначение успешности выполнения запроса» «Расшифровка кода» 
«Пустая строка» 
«Тело ответа» = [Параметр:Значение]...[, Параметр:Значение]

Параметры: 
• content-type — тип передаваемого содержимого (text/html, image/jpeg, image/gif и др.); 
• content-length — длина содержимого (количество символов).

 

 

4. CGI. Способы передачи данных. Запоминание состояния.

Command Gateway Interface — набор правил, при помощи которых программы на сервере могут передавать данные клиентам при помощи веб-сервера.

Клиент - Веб-сервер - CGI-приложение

Способы передачи данных между CGI-программой и  веб-сервером

1. Использование переменных окружения; 
2. Использование командной строки; 
3. Использование стандартных устройств ввода; 
4. Использование стандартных устройств вывода.

Переменные окружения

Веб-сервер всегда передает переменные окружения. Сервер, получая информацию в виде HTTP-запроса, формирует переменные окружения. Переменных окружения достаточно много. Некоторые из них: 
• USER_AGENT — информация о браузере; 
• CONTENT_LENGTH — количество символов в теле запроса; 
• CONTENT_TYPE — тип содержимого; 
• QUERY_STRING — параметры метода GET; 
• REMOTE_ADDR — IP-адрес клиента; 
• REMOTE_HOST — имя хоста; 
• REQUEST_METHOD — метод (GET/POST);

Командная строка

Используется гораздо реже, поскольку  менее удобна. Использует переменную окружения QUERY_STRING.

Стандартные устройства ввода

Используется чаще всего при  методе POST. В случае метода POST тип  данных и их количество помещаются в переменные CONTENT_TYPE и CONTENT_LENGTH, и эти данные передаются сервером на стандартные устройства ввода CGI-программы.

Стандартные устройства вывода

Любые данные, которые программа  посылает на устройства вывода читаются веб-сервером и пересылаются клиентом. При этом эти данные должны содержать  структуру HTTP-ответа.

Запоминание состояния

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

Существует несколько методов  сохранения состояния: 
• cookies - сохранение на компьютере клиента; 
• скрытые поля - сохранение внутри формы, посылаемой клиенту; 
• сохранение в файле какого-либо формата на сервере;  
• сохранение в параллельно работающей базе данных.

5. Технологии ActiveX. Общая  характеристика. Сферы использования.

Элементы управления ActiveX — самостоятельные программные компоненты, которые можно использовать в разрабатываемых приложениях для реализации необходимых функциональных возможностей.

Delphi поддерживает использование  компонентов объектов ActiveX в своих  приложениях.

Объекты ActiveX создаются с использованием технологии COM (Component Object Model). Они не являются самостоятельными приложениями, выполняются только в приложениях, позволяющих встраивать ActiveX, являясь  для них контейнером.

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

Для реализации какой-либо функциональности с помощью ActiveX можно разрабатывать  свои, либо уже готовые компоненты.

Для подключения объекта ActiveX используется следующий код:

<object classid="clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX" codebase="URL" width="100" height="100"></object>

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

Сферы применения

Многие приложения для Microsoft Windows, включая такие, как Internet Explorer, Microsoft Office, Microsoft Visual Studio, Windows Media Player.

Технология ActiveX — средство, при  помощи которого Internet Explorer (IE) использует другие приложения внутри себя. С помощью ActiveX IE загружает Windows Media Player, Quicktime и  другие приложения, которые могут  воспроизводить файлы, внедрённые в  веб-страницы. Элементы управления ActiveX активизируются при щелчке по такому объекту на веб-странице, например, .WMV-файлу, чтобы загрузить его  для отображения в окне браузера Internet Explorer.

 

 

6. Технология Java. Общая характеристика. Сферы использования.

Включает в себя язык программирования и платформу.

Объектно-ориентированный интерпретируемый защищенный архитектурно-независимый высокопроизводительный динамический язык высокого уровня.

Интерпретатор Java — приложение, предназначенное для конкретной аппаратно-программной платформы (Windows, Linux и др.). Обеспечивает архитектурную независимость и переносимость программ на этом языке программирования.

Информация о работе Лекции по "Проектированию ИС"