АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ ЛЕКЦИЯ 9. ЭЛЕМЕНТЫ АРХИТЕКТУРЫ ВЕБ-СИСТЕМ РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА • Б. Я. Советов, А. И. Водяхо, В. А. Дубенецкий, В. В. Цехановский. Архитектура информационных систем: учебник для студ. учреждений высш. проф. образования. М. : Издательский центр «Академия», 2012. • А.В. Данилин, А.И. Слюсаренко. Архитектура предприятия. М: ИНТУИТ, 2007 http://www.intuit.ru/department/itmngt/entarc/ ПОНЯТИЕ ВЕБ-СЛУЖБЫ Веб-служба (web service) — программная система, идентифицируемая строкой URI (Uniform Resource Identifier), чьи общедоступные интерфейсы определены на языке XML. Программные модули ИС могут взаимодействовать с веб-службой посредством сообщений, основанных на XML, и передаваемых с помощью интернет-протоколов. ОСНОВНЫЕ ПОНЯТИЯ URI (Uniform Resource Identifier) — унифицированный идентификатор ресурса. URI — это короткая последовательность символов, идентифицирующая абстрактный или физический ресурс. Единый указатель ресурсов (URL — Uniform Resource Locator) — единообразный локатор (определитель местонахождения) ресурса. СТРУКТУРА URL • <схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь> • схема - схема обращения к ресурсу, в большинстве случаев имеется в виду сетевой протокол • логин - имя пользователя, используемое для доступа к ресурсу • пароль - пароль, ассоциированный с указанным именем пользователя хост полностью прописанное доменное имя хоста в системе DNS или IP-адрес хоста в форме четырёх десятичных чисел, разделённых точками. • порт - порт хоста для подключения • URL‐путь уточняющая информация о месте нахождения ресурса (зависит от протокола) ИСПОЛЬЗУЕМЫЕ СТАНДАРТЫ XML: SOAP: WSDL: UDDI: • Расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных; • Протокол обмена сообщениями на базе XML; • Язык описания внешних интерфейсов веб-службы на базе XML; • Универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description, and Integration). ПРЕИМУЩЕСТВА ВЕБ-СЛУЖБ Веб-службы обеспечивают взаимодействие программных систем независимо от платформы; Веб-службы основаны на базе открытых стандартов и протоколов. • Использованию XML обеспечивает простоту разработки и отладки веб-служб; • Использование интернет-протокола HTTP обеспечивает взаимодействие программных систем через межсетевой экран. РЕАЛИЗАЦИЯ ВЕБ-СЛУЖБ В WINDOWS Информационные службы Интернета (IIS) обеспечивают комплексные, надежные, масштабируемые, безопасные и регулируемые возможности веб-сервера при работе с внутренними и внешними сетями, а также с Интернетом. IIS является инструментом для создания коммуникационных платформ динамических сетевых приложений. IIS используется для поддержки и управления веб-страниц в Интернете или во внутренней сети, для поддержки и управления FTPузлами, для маршрутизации почты. ВОЗМОЖНОСТИ СЛУЖБ IIS IIS поддерживает основные веб-стандарты, такие как Microsoft ASP.NET, XML и протокол SOAP, для разработки, реализации и управления веб-приложениями. IIS включает возможности для достижения высокой производительности, надежности, масштабируемости и безопасности большого числа веб-узлов на одном или нескольких серверах IIS. ОБЕСПЕЧЕНИЕ НАДЕЖНОСТИ СЛУЖБ IIS IIS обладает повышенной надежностью по сравнению с предыдущими версиями благодаря новой архитектуре обработки запросов, которая обеспечивает изолированную среду для выполнения приложений. • Это позволяет отдельным веб-приложениям работать независимо друг от друга в виде независимых рабочих процессов. МОДУЛЬНАЯ АРХИТЕКТУРА IIS IIS предоставляет стандартные блоки для создания собственного пользовательского веб-сервера. • Это ведет к снижению административных расходов благодаря уменьшению количества возможных направлений атак на сервер и устранению необходимости обновления неиспользуемых компонентов. • Ключевым моментом этого нового подхода является модульная архитектура IIS. МОДУЛИ IIS ТИПЫ МОДУЛЕЙ Native Modules • dll – библиотеки, созданные на основе IIS Native Server API • Устанавливаются на уровне сервера, включаются для конкретных приложений Managed Modules • Сборки .NET, создаются на любом управляемом языке .NET • Регистрируются для веб-приложения не требуют установки Интеграция двух типов моделей обеспечивает унифицированную модель безопасности УСТАНОВКА ПО УМОЛЧАНИЮ Ниже приведены функциональные возможности, включенные в установку по умолчанию: • Основные функции HTTP, включая статическое содержимое, документ по умолчанию, обзор каталога и ошибки HTTP • Функции работоспособности и диагностики, такие как ведение журнала HTTP и монитор запросов • Функции безопасности, такие как фильтрация запросов • Функции повышения производительности, такие как сжатие статического содержимого • Средства управления, в том числе консоль управления IIS • Служба активации процессов Windows ОСНОВНЫЕ ТЕРМИНЫ Web Server (IIS Server) Web Site Application Virtual Directory Application Pool Administration Tools • IIS Manager • Appcmd.exe ВНЕШНИЙ ВИД ДИСПЕТЧЕРА IIS АРХИТЕКТУРА IIS Application Pool worker process (w3wp.exe) Начало обработки svchost.exe Windows Process Activation Services (WAS) Файлы конфигураци и Аутентификация Авторизация Обновление кэша World Wide Web Publishing Services (W3SVC) Протоколирование Завершение HTTP.SYS ДРАЙВЕР HTTP.SYS • Проверка и прием HTTP- и HTTPS- запросов • Обработка SSL в режиме ядра • Поддержка очередей для пулов приложений • Сбой приложения не приводит к прерыванию сервиса • Кэширование ответов приложений • Сокращение количества переключений контекста • Отсутствие кода приложения • Сбой приложений не влияет на ядро системы НТТР.SYS Кэш ответов Очередь пула приложений Очередь пула приложений Очередь пула приложений СЛУЖБЫ W3SVC И WAS • World Wide Web Publishing Services • Настройка драйвера HTTP.SYS • Информация о привязке сайта (порт, адрес, заголовок) • Настройки приложений и пулов приложений • Изменения в конфигурации • Предоставление счетчиков производительности svchost.exe W3SVC Мониторинг производительности Управление HTTP.SYS WAS Управление процессами Управление конфигурацие й Интерфейс слушателей КОНВЕЙЕР ОБРАБОТКИ ЗАПРОСА Каждый веб-узел на сервере имеет встроенный конвейер обработки запросов и может быть запущен в одном из двух режимов – встроенном или классическом. • Встроенный режим, режим по умолчанию, позволяет подключать к конвейеру определенные функциональные возможности, обеспечивая настраиваемый контроль над обработкой запроса. • Для обеспечения совместимости классический режим воспроизводит функции IIS 6.0/ISAPI с помощью модуля ISAPI в конвейере. ПОРЯДОК ПРИМЕНЕНИЯ МОДУЛЕЙ IIS В конвейере обработки запроса модули применяются в определенном порядке • Порядок задается в секции <modules> файла ApplicationHost.config Администратор может изменить порядок применения модулей КОНФИГУРАЦИЯ IIS Все настройки IIS хранятся в виде иерархии XML-файлов •Используется принцип конфигурационных файлов .NET Иерархия файлов соответствует URL-иерархии •Путь иерархии задается так: •Machine/webroot/apphost/<sitename>/<Virtualpath> При просмотре настроек для конкретного URL просматриваются файлы для каждого сегмента пути •Настройки могут задаваться на верхнем уровне и наследоваться нижележащими •Для любого пути настройки могут быть установлены •С помощью файла web.config размещенного в директории •Используя специальные тэги (LocationTags) на верхнем уровне ИЕРАРХИЯ ФАЙЛОВ НАСТРОЙКИ Machine.config Настройки .NET Framework Root web.config Настройки ASP.NET ApplicationHost.config Настройки сервера IIS web.config web.config Настройки сайтов и приложений РАСПОЛОЖЕНИЯ И ПУТИ Файл Расположение Конфигурационный путь Machine.config %windir%\Microsoft.NET\Framework\<versi on>\config Machine Root web.config %windir%\Microsoft.NET\Framework\<versi on>\config Machine/webroot ApplicationHost.config %windir%\system32\inetsrv\config Machine/webroot/AppHost Распределенные web.config Директории сайтов, приложений, виртуальных каталогов Machine/webroot/AppHost /<site>/<VirtualDir> ДОПОЛНИТЕЛЬНЫЕ ФАЙЛЫ Redirection.config •Настройки Shared Configuration •%windir%\system32\inetsrv\config Administration.config •Настройки IIS Manager •%windir%\system32\inetsrv\config Файлы схемы •IIS_schema.xml •FX_schema.xml •ASPNET_schema.xml •%windir%\system32\inetsrv\config\schema Временный файл пула приложений •%systemdrive%\inetpub\temp\apppools\<ApplicationPoolName>.config ТИПОВОЕ РЕШЕНИЕ ЗАДАЧИ ПРОЕКТИРОВАНИЯ ВЕБ -СИСТЕМЫ Решение поставленной задачи включает ряд подзадач: • Разработка информационного массива, хранящего данные; • Организация доступа к данным информационным ресурсам; • Разработка набора предопределенных запросов для отбора информации; • Разработка интерфейсных форм для организации работы с системой. АРХИТЕКТУРА ВЕБ - СИСТЕМЫ Доступ к информационным ресурсам информационной системы организуется с использованием архитектуры двухуровневого “клиентсервера”. Серверное решение включает в себя компьютер с установленным программным обеспечением (платформой Microsoft): •операционная система MS Wiindos Server •веб – север Internet Information Server и необходимые серверные расширения — такие как ASP, службы SharePoint Foundation — решение для совместной работы на основе веб технологий; •система управления базами данных — MS SQL Server •сервер позволяет данном сервере также размещаются информационные массивы: базы данных, гипертекстовые страницы, другие документы. Клиентами выступают персональные компьютеры с установленным программным обеспечением — web-клиентами (браузерами). АРХИТЕКТУРА ВЕБ ПРЕДСТАВИТЕЛЬСТВА Internet или внутренняя сеть Web-клиент HTTP HTTP Web-сервер Серверные компоненты Документы других форматов Документы HTML Базы данных ПОЛЬЗОВАТЕЛИ СИСТЕМЫ Другой аспект информационного описания системы — это лица, участвующие в процессе движения информации, порождающие информационные потоки. Основные группы пользователей информационной системы выступают: • администратор системы, осуществляющий общее администрирование и поддержку информационной системы; • руководители и сотрудники подразделений — ввод и корректировка информации, относящейся к деятельности подразделения; • анонимные пользователи системы — просмотр общедоступной информации. ОРГАНИЗАЦИЯ ХРАНЕНИЯ ИНФОРМАЦИИ • Для хранения данных организации, ее подразделений разрабатывается логическая модель базы данных информационной системы. • В качестве модели данных используется реляционная модель. • На основе выработанной логической модели создана физическая модель данных — совокупность таблиц для хранения информации в БД. • Для размещения базы данных и в качестве средства управления ею используется платформа на базе СУБД MS SQL Server. • Данная СУБД позволяет использовать преимущества клиентсерверной архитектуры и обеспечивать доступ к данным пользователям сетей Интернет/интранет через локальные и глобальные сети. ОРГАНИЗАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА Интерфейсные формы информационной системы должны обеспечить возможности просмотра и изменения данных, хранящихся в базах данных информационной системы, различными группами пользователей. Для отображения информации в информационных системах, основанных на web-технологии, наиболее часто используются документы в формате html. Использование языка HTML позволяет вывести в окне браузера разнообразную информацию, включающую отформатированный текст, графическую информацию, мультимедиа-информацию и т.п. ДИНАМИЧЕСКИЕ ФОРМЫ Представление данных в информационно-поисковой системе обеспечивается посредством набора интерфейсных формы. Возможным подходом организации интерфейс пользователя является реализация в виде web-приложений на основе новой технологии ASP.NET (Active Server Pages). Технология ASP является ключевой технологией разработки динамических webстраницв в рамках решений Microsoft. Использование данного подхода позволяет разрабатывать web-приложения, наиболее полно интегрированные с вебсервером и СУБД компании Microsoft. Технология ASP обладает гибкостью в использовании, позволяет создавать на вебсервере динамические интерактивные страницы. Они могут формироваться с учетом того типа браузера, который установлен на машине пользователя. Сценарий ASP выполняется как внутренний процесс сервера. ОРГАНИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ С БАЗАМИ ДАННЫХ • Для организации взаимодействия с сервером баз данных применяется технология ADO (Active Data Objects) — программное расширение технологии ASP, реализованное в веб-сервере IIS. Данная технология предназначена для выполнения простого в использовании программного интерфейса с механизмами OLE DB. • Процесс создания динамических страниц с помощью сценариев ASP может быть разделен на несколько этапов: браузер запрашивает ASP-страницу с web-сервера; ASP-файл загружается в машину обработки сценариев; выполняются команды файла сценария на стороне web-сервера; загружаются ADO-объекты, которые образуют интерфейс между webстраницами и различными типами источников данных (отдельные файлы, базы данных SQL-сервера); • вызов баз данных и подстановка информации в web-страницы; • отправка сгенерированных страниц в браузер клиента. • • • • ФОРМИРОВАНИЕ ДИНАМИЧЕСКИХ СТРАНИЦ С ПРИМЕНЕНИЕМ ASPТЕХНОЛОГИИ рос З ап Клиент ПК Динамический файл HTML INTERNET или внутренняя сеть Активные серверные страницы (файлы .aspx) Машинная обработка сценариев Клиент ПК Сервер IIS 6.0 Клиент ПК База данных ПЛАТФОРМА .NET В качестве среды реализации и расширения возможностей ASP служб на сервере установлена платформа .NET Framework, обеспечивающая эффективно создавать, обрабатывать и отправлять различным сетевым клиентам данные с сервера информационной системы. .NET Framework – компьютерная платформа, ориентированную на разработку приложений в распределенной среде Интернета. .NET Framework предоставляет среду для объектно-ориентированного программирования, гарантирующую безопасное выполнение кода, и исключает затруднения, связанные с обеспечением быстродействия сценариев.