Архитектура Web-приложения в asp.Net
Архитектура ASP.NET
Каждое Web-приложение, разрабатываемое на основе ASP.NET состоит из информационной части, программного кода и сведений о конфигурации.
Информационная часть содержит статические и динамические элементы страницы и реализуется в виде Web-форм. Статические элементы представляют собой типичные элементы языка HTML, динамические же компонуются программным кодом приложения во время его выполнения (например, запросы к базе данных).
Программный код реализует логику, определенную в процедурах обработки данных, которые определяют реакцию приложения на запросы пользователя. Программный код исполняется сервером и взаимодействует с динамическими элементами информационной части для формирования отклика приложения.
Сведения о конфигурации представляют собой файлы, содержащие параметры, определяющие способ исполнения приложения на сервере, параметры безопасности, реакцию приложения на возникающие ошибки и т. д.
Основным элементом Web-приложения является Web-форма (или Web-страница), которая, с одной стороны, похожа на Windows-форму, т. к. позволяет размещать внутри себя различные элементы управления, способные отображать данные и реагировать на действия пользователя, а с другой — представляет собой HTML-страницу, т. к. содержит все ее атрибуты. Описания элементов управления, упомянутых ранее, представляются в коде HTML-страницы в виде специальных тегов.
На рис представлен пример простейшей страницы Web-приложения, содержащего всего лишь один элемент — кнопку. Как видно из рисунка, основой страницы является тело стандартного HTML-документа, внутри которого находится элемент form, а также кнопка button. Кроме того, в начале документа здесь присутствуют некоторые дополнительные элементы, которые будут рассмотрены позднее.
В свою очередь, с кнопкой связан программный код, который выполняется при нажатии на нее. Этот код располагается в отдельном файле
На самом деле при разработке Web-приложений на основе ASP.NET возможны два варианта организации Web-форм.
В первом случае весь код информационной части и программная часть хранятся в одном файле с расширением .aspx. Программный код при этом помещается в так называемые блоки сценариев. При этом сохраняется возможность использования всех принципов современного программирования, таких как реакция на события элементов управления, подпрограммы и т.д. Эту модель целесообразно использовать при создании простых Web-приложений, поскольку в этом случае все хранится в одном пакете.
Во втором случае каждая Web-страница разделяется на две части: Web-форму и файл, содержащий программный код. При этом форма, как и в первом случае, сохраняется в файле с расширением .aspx, а программный код — в файле с расширением .cs. Такая модель обеспечивает лучшую организацию элементов Web-приложения за счет отделения пользовательского интерфейса от программной логики.
В примере, рассмотренном ранее, Web-страница разделена на две части, при этом форма и программный код хранятся в разных файлах.
Архитектура Web-приложений
Web-приложения представляют собой особый тип программ, построенных по архитектуре "клиент-сервер". Особенность их заключается в том, что само Web-приложение находится и выполняется на сервере - клиент при этом получает только результаты работы. Работа приложения основывается на получении запросов от пользователя (клиента), их обработке и выдачи результата. Передача запросов и результатов их обработки происходит через Интернет рис
О тображением результатов запросов, а также приемом данных от клиента и их передачей на сервер обычно занимается специальное приложение — браузер (Internet Expolrer, Mozilla, Opera и т. д.). Как известно, одной из функций браузера является отображение данных, полученных из Интернета, в виде страницы, описанной на языке HTML, следовательно, результат, передаваемый сервером клиенту, должен быть представлен на этом языке.
На стороне сервера Web-приложение выполняется специальным программным обеспечением (Web-сервером), который и принимает запросы клиентов, обрабатывает их, формирует ответ в виде страницы, описанной на языке HTML, и передает его клиенту. Одним из таких Web-серверов является Internet Information Services (IIS) компании Microsoft. Это единственный Web-сервер, который способен выполнять Web-приложения, созданные с использованием технологии ASP.NET.
В процессе обработки запроса пользователя Web-приложение компонует ответ на основе исполнения программного кода, работающего на стороне сервера, Web-формы, страницы HTML, другого содержимого, включая графические файлы. В результате, как уже было сказано, формируется HTML-страница, которая и отправляется клиенту. Получается, что результат работы Web-приложения идентичен результату запроса к традиционному Web-сайту, однако, в отличие от него, Web-приложение генерирует HTML-код в зависимости от запроса пользователя, а не просто передает его клиенту в том виде, в котором этот код хранится в файле на стороне сервера. То есть Web-приложение динамически формирует ответ с помощью исполняемого кода — так называемой исполняемой части.
За счет наличия исполняемой части, Web-приложения способны выполнять практически те же операции, что и обычные Windows-приложения, с тем лишь ограничением, что код исполняется на сервере, в качестве интерфейса системы выступает браузер, а в качестве среды, посредством которой происходит обмен данными, — Интернет. К наиболее типичным операциям, выполняемым Web-приложениями, относятся:
прием данных от пользователя и сохранение их на сервере;
выполнение различных действий по запросу пользователя: извлечение данных из базы данных (БД), добавление, удаление, изменение данных в БД, проведение сложных вычислений;
аутентифицирование пользователя и отображение интерфейса системы, соответствующего данному пользователю;
отображение постоянно изменяющейся оперативной информации и т. д.
A SP.NET — это платформа для создания Web-приложений и Web-сервисов, работающих под управлением IIS. Сегодня существуют другие технологии, позволяющие создавать Web-приложения. К ним относятся прежде всего, очень популярные сегодня языки PHP и PERL, более старая и менее популярная технология CGI и т. д. Однако ASP.NET отличается от них высокой степенью интеграции с серверными продуктами, а также с инструментами Microsoft для разработки доступа к данным и обеспечения безопасности. Кроме того, ASP.NET позволяет разрабатывать Web- и Windows-приложения, используя очень похожие технологические цепочки, одинаковые языки программирования, технологии доступа к данным и т. д. Более того, базовые языки программирования, с помощью которых сегодня возможна разработка Web-приложений, являются полностью объектно-ориентированными, что делает разработку исполнимой части, а также ее модификацию, обслуживание, отладку и повторное использование гораздо более простым занятием, чем в других технологиях. Существует достаточно большой перечень сильных сторон использования ASP.NET для создания сложных Web-приложений.
Заметим лишь, что ASP.NET функционирует исключительно на серверах Windows, так как требует наличия IIS. Для создания Web-приложений, не требующих IIS, а использующих, например, Web-сервер Apache и работающих на серверах под управлением операционных систем, отличных от Windows, применяются другие технологии.
Важным моментом в понимании архитектуры ASP.NET является тот факт, что она является частью инфраструктуры .NET Framework.
Важно понимать, что не во всех языках программирования .NET обязательно должны поддерживаться все типы данных, которые определены в CTS. Спецификация CLS (Common Language Specification — общая языковая спецификация ) устанавливает основные правила, определяющие законы, которым должны следовать все языки: ключевые слова, типы, примитивные типы, перегрузки методов и т. п. Спецификация CLS определяет минимальные требования, предъявляемые к языку платформы .NET. Компиляторы, удовлетворяющие этой спецификации, создают объекты, способные взаимодействовать друг с другом. Любой язык, соответствующий требованиям CLS, может использовать все возможности библиотеки FCL (Framework Class Library — библиотека классов платформы). CLS позволяет и разработчикам, и поставщикам, и производителям программного обеспечения не выходить за пределы общего набора правил для языков, компиляторов и типов данных.
Платформа .NET Framework является надстройкой над операционной системой, в качестве которой может выступать любая версия Windows1). На сегодняшний день платформа .NET Framework включает в себя:
четыре официальных языка: С#, VB.NET, Managed C++ (управляемый C++) и JScript .NET;
объектно-ориентированную среду CLR ( Common Language Runtime ), совместно используемую этими языками для создания приложений под Windows и для Internet;
ряд связанных между собой библиотек классов под общим именем FCL (Framework Class Library).
Отношения архитектурных компонентов платформы .NET Framework с концептуальной точки зрения представлены на рис
Самым важным компонентом платформы .NET Framework является CLR ( Common Language Runtime ), предоставляющая среду, в которой выполняются программы. Главная ее роль заключается в том, чтобы обнаруживать и загружать типы .NET и производить управление ими в соответствии с полученными командами. CLR включает в себя виртуальную машину, во многих отношениях аналогичную виртуальной машине Java. На верхнем уровне среда активизирует объекты, производит проверку безопасности, размещает объекты в памяти, выполняет их, а также запускает сборщик мусора.
Пространство имен, службы каталогов в .NET-технологии.
Пространство имён — некоторое множество каким-либо образом взаимосвязанных имён или терминов.
Во избежание путаницы, именам в одном пространстве имён не дают более одного значения. Например, в пространстве имён улиц любого города названия улиц, как правило, не повторяются. Пространство имён является важной частью контекста употребления имён, так как фактическое значение имени может меняться в зависимости от того, в какое пространство имён оно входит.
Расширяя пространство имён, мы вынуждены расширять или усложнять имена. Пример — имя человека: в пространстве имён «Семья» одного имени как правило достаточно, чтобы обозначить конкретного человека, а в пространстве имён «Граждане страны N» — нет. Нужно добавить дополнительную информацию — фамилию, адрес и т. п.
В языках программирования и разметки данных пространства имён чётко формализуются и используются строго в соответствии с правилами соответствующего языка.
Служба каталогов (англ. Directory Service) — средство иерархического представления ресурсов, принадлежащих некоторой отдельно взятой организации, и информации об этих ресурсах. Под ресурсами могут пониматься материальные ресурсы, персонал, сетевые ресурсы и т. д.
Каждый ресурс может принадлежать одному или более классам. Каждый класс показывает, что ресурс является определённым типом сущности, и имеет определённый набор свойств. Совокупности классов могут объединяться в схемы, которые описывают типы ресурсов, применяемые в отдельно взятой предметной области.
Служба каталогов в контексте компьютерных сетей — программный комплекс, позволяющий администратору работать с упорядоченным по ряду признаков массивом информации о сетевых ресурсах (общие папки, серверы печати, принтеры, пользователи и т. д.), хранящимся в едином месте, что обеспечивает централизованное управление как самими ресурсами, так и информацией о них, а также позволяющий контролировать использование их третьими лицами.
СЛУЖБА КАТАЛОГОВ
Для организации ресурсов корпоративных и распределенных сетей лучше всего подходит служба каталогов. Служба каталогов представляет собой распределенную тиражируемую базу данных, где хранится логическое описание сетевых ресурсов. Сетевые ресурсы организуются в иерархическую структуру, называемую деревом (в сети может быть несколько деревьев). Пользователи, группы пользователей, принтеры, компьютеры и другие представляют собой конечные объекты (листья) дерева. Они содержатся внутри контейнеров, в качестве которых могут выступать объекты "организация", "подразделение" и т. д. (см. Рисунок 1). В современных службах каталогов количество вложений контейнеров не ограничено. С каждым объектом связаны его атрибуты (в NDS они называются свойствами), где хранится информация об объекте. Например, для объекта "пользователь" атрибутами являются фамилия, телефон, адрес электронной почты, список контроля доступа и т. п.
Схемой (schema) службы каталогов называется набор возможных и необходимых типов объектов и связанных с ними атрибутов с заданными способами взаимодействия между ними. Большое достижение служб каталогов по сравнению со службами доменов состоит в том, что их схемы являются расширяемыми. Т. е. они позволяют вводить новые типы объектов (например, в базовую схему можно добавить объект "факс-сервер") или задавать новые атрибуты для уже имеющихся типов объектов (в частности, для объекта "пользователь" можно добавить атрибут "пол").
Служба каталогов позволяет организовать гибкое управление правами доступа к сетевым ресурсам, к объектам, а также к отдельным атрибутам объектов. При рассмотрении службы каталогов важно знать, какие объекты выступают в качестве принципалов безопасности (security principal). Принципалами безопасности называют объекты, которым могут быть даны права доступа к другим объектам, их свойствам или к сетевым ресурсам.
Службы каталогов имеют свойство, называемое наследованием прав доступа к ресурсам. Наследование прав доступа подразумевает следующее: если принципалу безопасности предоставлены определенные права на контейнер дерева, то он автоматически получает такие же права на все входящие в контейнер объекты, среди которых могут быть, в свою очередь, вложенные контейнеры и т. д. Ограничение прав доступа на вложенные объекты осуществляется с помощью фильтров наследования. Применение свойства наследования прав доступа совместно с фильтрами наследования позволяет очень гибко распределять обязанности по администрированию сетевой среды.
Зарегистрировавшись один раз в дереве, пользователь получает права доступа ко всем разрешенным ему ресурсам, включая файлы, принтеры, объекты дерева и т. д. Администратору становится удобнее управлять сетью, поскольку нет необходимости следить за отдельными серверами или доменами.
Но удобный доступ к сетевым ресурсам - это только одно из достоинств службы каталогов, хотя и очень полезное. Другим важным качеством деревьев является наличие мощных средств поиска объектов и ресурсов. Служба каталогов выступает в качестве своего рода справочника ресурсов (такие справочники часто называют "белыми страницами"). Представим ситуацию, когда кому-то необходимо найти телефон пользователя по фамилии Иванов, но его сетевое имя или подразделение, где он работает, неизвестно, хотя известно, что пользователь занимает должность конструктора. С помощью специальной службы, называемой Каталогом, найти такую информацию не составит труда. Каталог поддерживает права доступа, поэтому даже через Каталог пользователь не может получить доступ к тем атрибутам, которые закрыты от него в дереве.
Службы каталогов имеют открытый интерфейс, поэтому многие современные приложения пишутся с ориентацией на использование этих служб. В результате приложения могут обращаться к объектам сети через деревья ресурсов. Например, в этом случае для доступа к СУБД пользователю не потребуется вводить имя и пароль, поскольку он уже зарегистрировался в дереве.
Большинство специалистов наиболее перспективными службами каталогов считают NDS компании Novell и Active Directory компании Microsoft. Прежде чем сравнивать их между собой, мы кратко остановимся на отличительных особенностях каждой из них.
- Вопросы к экзамену по дисциплине корпоративные ис (для гр. А -16-07) весна 2012
- Хозяйственная деятельность предприятий
- Задачи управления предприятием.
- Информационные ресурсы предприятия.
- Автоматизация управления бизнес-процессами.
- Назначение и свойства корпоративных ис.
- Системный подход к информатизации процессов управления.
- Структура кис, характеристика его компонентов.
- Обязательные требования к информационным системам
- Корпоративная информационная система как комплекс ис
- Методологии анализа бизнес – процессов в кис.
- Модель Захмана: основные элементы, характеристика компонентов.
- Классификация ис.
- Этапы проектирования кис.
- Особенности типового проектирования кис.
- Назначение и функции кис erp-систем.
- Функциональность и назначение crm-систем.
- Функциональность mrp-систем
- Назначение и функциональность mrpii – систем.
- Специфика формирования требований к кис.
- Архитектура кис и её виды.
- Многозвенная архитектура кис.
- Методы построения распределенных ис в архитектуре клиент-сервер.
- Стандарты открытых информационных систем
- Сетевые протоколы взаимодействия открытых систем osi.
- Удаленный вызов процедур и объектов.
- Основные компоненты технологии corba
- Обзор архитектуры
- Сравнительный анализ технологий dcom, corba.
- Особенности Интранет/Интранет-технологии построения кис.
- Основные свойства распределенных бд (по Дейту).
- Тиражирование (репликация) в распределенных ис.
- Методы управление распределенными транзакциями.
- Обеспечение отказоустойчивости
- Способы управления транзакциями в распределенных ис. Механизм двухфазной фиксации транзакций.
- Internet-технология как клиент – серверная технология. Понятие Web-сервиса, Web-приложения и Web-сайта.
- Компоненты и протоколы Web-сервиса.
- Olap-технологии в кис: назначение. Классификация задач olap в кис.
- Свойства olap-систем.
- Основные элементы многомерной модели данных. Пример.
- Основные операции над многомерной моделью данных. Примеры.
- Способы реализации olap-систем Реализации olap
- Эволюция доступа к источникам данных: ado. Net, Entity Framework
- Назначение и общая характеристика .Net-технологии.
- Архитектура Web-приложения в asp.Net
- Технология ado.Net, специфика доступа к удаленным данным.
- Объектная модель ado.Net. Характеристика и назначение основных объектов. Примеры
- Технология asp.Net. Методы доступа к удаленным данным.
- Подключение к источнику данных
- Объектная модель asp.Net. Характеристика и назначение основных объектов. Примеры.
- Компоненты asp. Примеры использования для доступа к различным источникам данных.
- Общая характеристика рынка программных продуктов кис.
- Анализ рынка программных продуктов кис
- Общая характеристика программных продуктов для кис компании Oracle
- Что такое лицензия Oracle.
- Лицензия на обновление программного обеспечения Oracle и поддержку (Software Update License & Support)
- Продление поддержки (Support Renewals)
- Лицензионные метрики (License Metrics)
- Многоядерные процессоры (Multi-core Processors)
- Общая характеристика программных продуктов для кис компании sap
- .Общая характеристика программных продуктов для кис компании baan
- Общая характеристика программных продуктов для кис компании Парус
- Общая характеристика программных продуктов для кис компании 1с: предприятие