Круг задач, решаемых Web -сервером, ограничен. В основном он сводится к поддержке НТТР -взаимодействия и доставке клиенту Web -документов. Любые "нестандартные" действия реализуются с помощью специальной программы, которая взаимодействует с веб-сервером и клиентом. Это взаимодействие подчиняется определенным правилам.
Основной набор таких правил - стандарт CGI ( - интерфейс общего шлюза), который определяет порядок запуска программы на компьютере-сервере, способы передачи программе параметров и доставки результатов ее выполнения клиенту. Программа, написанная по правилам CGI, называется CGI -сценарием ( script CGI ), хотя это не означает, что на сервере не может выполняться двоичный файл.
Благодаря этому интерфейсу для разработки приложений можно использовать любой язык программирования, который располагает средствами взаимодействия со стандартными устройствами ввода/вывода. Такими возможностями обладают также сценарии для встроенных командных интерпретаторов операционных систем.
Выполнение любой программы (в том числе CGI -сценария) можно условно разделить на пять этапов.
Различия между CGI -сценарием и
Каждый раз, когда веб-сервер получает запрос от клиента, он анализирует содержимое запроса и возвращает соответствующий ответ:
CGI определяет:
В подавляющем большинстве случаев запуск CGI -сценария осуществляется щелчком на кнопке Submit, сформированной с помощью дескриптора <input тyре = "submit"> , который находится на HTML -странице между <form> и </form> . Не зная назначения атрибутов action и method, невозможно понять, как происходит вызов программы и передача параметров.
Значением атрибута action дескриптора <form> является URL файла, содержащего код CGI -сценария. Так, приведенное ниже выражение означает, что файл с кодом CGI -сценария находится на сервере www.myhp.edu в каталоге cgi-bin в файле script.рl.
<form action="http://www.myhp.edu/cgi-bin/script.pl" method="post">
К основным достоинствам разработки приложений на стороне веб-сервера в форме сценариев можно отнести следующие:
Поскольку сценарии интерпретируются из исходного кода динамически при каждом исполнении, они выполняются обычно значительно медленнее готовых программ, транслированных в машинный код на этапе компиляции.
В плане быстродействия сценарные языки можно разделить на:
command.com ). Интерпретатор считывает инструкции из файла программы минимально требующимися блоками, и исполняет эти блоки, не читая дальнейший код.Perl ). Вначале считывается вся программа, затем компилируется либо в машинный код, либо в один из внутренних форматов, после чего получившийся код исполняется.Наиболее распространенными языками разработки серверных сценариев являются Perl, PHP, ASP, .
ASP (Active Server Pages) - технология, разработанная компанией Microsoft, позволяющая легко создавать приложения для Веб.
Программирование на ASP дает разработчикам доступ к Internet Information Server с помощью языка сценариев VBScript и .
ASP работает на платформе операционных систем линии Windows NT и на веб-сервере Microsoft IIS.
Архитектура ASP представлена на рис.12.1.
(рис 12.1) Архитектура ASP Файлы ASP представляют собой сценарии, интерпретируемые по мере поступления запросов. -расширение ASP.DLL связано в IIS с расширениями файлов .asp или ..
Порядок обработки таких файлов выглядит следующим образом:
ASP.DLL просматривает файлы с указанными расширениями на наличие тегов, обозначающих внедренный код для выполнения на сервер и передает найденный код в Windows Script Host (WSH) .WSH выполняет этот код и возвращает результат файлу ASP.DLL.ASP.DLL передает IIS этот результат и содержимое самого файла ASP.IIS возвращает ответ клиенту, от которого поступил запрос.Рассмотрим основы синтаксиса ASP.
IIS различает код, выполняющийся на сервере, и содержимое, отправляемое клиенту с помощью ASP.DLL, анализируя файл ASP на наличие начального "<%" и конечного "%>" тегов и выполняя код, расположенный между ними, с помощью WSH.
Рассмотрим пример:
<% Language=VBScript %>
<HTML>
<BODY>
<%
Response.Write("<p>Hello world!</p>")
%>
</BODY>
</HTML>
В примере первая строка кода <% Language=VBScript %> сообщает о необходимости использовать интерпретатор языка VBScript. Для вставки строки в документ был использован метод Write стандартного объекта Response.
Событие веб-запроса в ASP обрабатывается с помощью следующих объектов:
Response. Используется для записи данных в запрос HTTP, возвращаемый клиенту.Application. Содержит параметры и конфигурации по настройке работы ASP для данного веб-сайта.Request. Хранит содержимое HTTP -запроса и обеспечивает вспомогательные функции для обработки данных HTTP -запроса.Server. Содержит информацию о веб-сервере, веб-сайте, а также обеспечивает поддержку Session. Представляет собой состояние заданного веб-сеанса с заданным хостом клиентом.Для веб-сервера IIS (Internet Information Server) . был разработан специальный программный интерфейс для создания приложений расширяющих стандартные возможности веб-сервера.
- многозвенный API для веб-сервера IIS.
также реализован в виде модуля mod_isapi для веб-сервера Apache. Таким образом, серверные приложения, разработанные для MS IIS могут также выполняться в Apache и других веб-серверах.
В противоположность CGI - - приложение загружается в том же адресном пространстве, что и веб-сервер IIS. Это позволяет повысить производительность приложений благодаря сокращению издержек на запуск отдельных процессов. Однако сбой - приложения может привести к неустойчивой работе самого веб-сервера. В 6-ой версии IIS имеется возможность запуска приложений в рамках отдельного процесса.
включает в себя 2 компоненты: расширения и фильтры.
Таким образом, все многообразие разрабатываемых -приложений сводится только к этим двум типам. И фильтры и расширения компилируются в DLL файлы динамически запускаемые веб-сервером.
приложения могут разрабатываться с помощью любых языков, поддерживающих экспорт стандартных С -функций, например С, С++, . Для разработки имеется ограниченное число библиотек для разработки Intraweb -компоненты , специальные -классы, специальная С++ библиотека серверных технологий .
К наиболее важным особенностям -расширений можно отнести следующие:
ISAPI - расширения имеют доступ ко всем функциональным возможностям IISDLL -модулей, загружаемых в пространстве процесса, контролируемого IIS.ISAPI - расширениям также как к статическим HTML страницам.ISAPI - расширения могут быть ассоциированы с отдельными расширениями файлов, с целыми каталогами или сайтами. -фильтры необходимы для изменения или совершенствования функциональности IIS. Они обычно работают с IIS -сервером и фильтруют каждый запрос. Фильтры применяются для анализа и модификации входящих и исходящих потоков данных.
Фильтры также как и расширения реализуются в виде DLL файлов.
Обычно -фильтры используются для решения следующих задач:
URL или заголовков).URL в физические файлы.Стоит отметить, что существуют реализации в виде -расширений для таких инструментальных средств как:
ASP (Active Server Pages ) ASP.NETColdFusionPerl ISAPI (Perlis) PHP Платформа .NET Framework предоставляет возможность разработки и интеграции веб-приложений. ASP.NET является одной из составляющих инфраструктуры .NET Framework и фактически является платформой для создания веб-приложений и IIS.
ASP.NET внешне во многом напоминает более старую технологию ASP, но в то же время внутреннее устройство ASP.NET существенно отличается от ASP. Система ASP.NET была построена на базе CLR (, который является основой всех приложений .NET. Разработчики могут создавать код для ASP.NET, используя языки программирования, входящие в .NET Framework: C#, Visual Basic.NET, и другие.
Рассмотрим более подробно, чем отличается ASP.NET от ASP.
Классический ASP имеет следующие недостатки:
HTML ) не отделена от бизнес-логики (исполняемого кода), что приводит перемешиванию в одном файле кода HTML с кодом сценария.В файлах ASP.NET включается код на таких языках программирования как C#, , что позволяет применять непосредственно в веб-приложениях возможности объектно-ориентированного программирования. Также существенно сокращается объем кода, написанного вручную за счет применения HTML. Возможно использование стандартной среды разработки Visual Studio.NET, т.е. ASP.NET имеет преимущество в скорости по сравнению со сценарными технологиями, так как при первом обращении код компилируется и помещается в специальный
Несмотря на возможность совместной работы ASP и ASP.NET на одном веб-сервере, они не могут использовать общий сеанс. Файлы ASP.NET обрабатываются библиотекой aspnet_isapi.dll (а не asp.dll ), которая, в свою очередь, использует для выполнения кода технологию .NET.
Библиотека базовых классов .NET содержит пространства имен 3 основных групп:
web - приложений (протоколы, безопасность и др.);WebForms ) ;web - службы.Как уже указывалось ранее, ASP.NET использует возможности стандартной среды разработки Visual Studio.Net, и в частности классы библиотеки .
Разработчику веб-приложений на ASP.NET доступны классы, входящие в следующие пространства имен:
| Пространство имен | Содержание |
|---|---|
System.Web |
Организация взаимодействия web -клиента (браузера) с web -сервером (запрос-ответ, cookie и и др.) |
System.Web.Caching |
Поддержка кэширования при работе web -приложений |
System.Web.Configuration |
Настройка web -приложения в соответствии с файлами конфигурации проекта |
System.Web.Security |
Реализация системы безопасности web -приложений |
System.Web.Services |
Организация работы web -сервисов |
System.Web.Services.Description |
Организация работы web -сервисов |
System.Web.Services. |
Организация работы web -сервисов |
System.Web.Services.Protocols |
Организация работы web -сервисов |
System.Web.UI |
Построение графического интерфейса пользователей web -приложений |
System.Web.UI.WebControls |
Построение графического интерфейса пользователей web -приложений |
System.Web.HtmlControls |
Построение графического интерфейса пользователей web -приложений |
В свою очередь пространство имен System.Web включает в себя пространства имен, названия которых знакомы разработчикам веб-приложений на ASP:
| Пространство имен | Содержание |
|---|---|
HttpApplication |
Данный класс определяет общие для всех web-приложений члены |
HttpApplicationState |
В данном классе содержится общая информация web -приложения для множества запросов, сеансов и каналов передачи данных |
HttpBrowserCapabilities |
Этот класс используется для получения информации о возможностях клиентского браузера, обращающегося к web -серверу |
HttpCookie |
Поддержка HTTP cookie |
HttpRequest |
Предоставляет доступ к информации, переданной web-клиентом |
HttpResponse |
Используется для формирования HTTP -ответа сервера |
В основу разработки веб-приложений на ASP.NET положена модель разделения кода представления и кода реализации, рекомендуемая Майкрософт при создании динамических документов на с помощью программных кодов. Это делается путем размещения программного кода либо в отдельный файл, либо внутри специального тэга для сценариев. Файл такого рода обычно имеет расширение *.aspx.cs (*.aspx.vb) и имеет имя, совпадающее с именем основного ASPX файла. В принципе такой подход позволяет веб-дизайнеру сконцентрироваться работе с кодом разметки документа с минимальными изменениями программного кода, в обычном ASP внедряемого непосредственно в код разметки.
Взаимодействие пользователя с веб-приложением, реализованном на ASP.NET включает в себя следующие процессы:
ASPX инициируется событие Page_Init, производящее начальную инициализацию страницы и ее объекта.Page_Load, которое может быть использовано, например для установки начальных значений для элементов управления. При этом также можно определить была ли загружена страница впервые или обращение к ней осуществляется повторно в рамках обратной отсылки в ответ на события, связанные с элементами управления, размещенными на странице; т.е. проверить свойство Page.IsPostBack.Для сохранения данных веб-страницы в промежутках между обращениями к ней в ASP.NET используются состояния отображения ( view state ).
Если данные, введенные в Application и Session. Объекты Application доступны всем пользователям приложения и могут рассматриваться как глобальные переменные, обращение к которым возможно из любых сеансов. Объекты Session доступны только в рамках одного сеанса, и поэтому они оказываются доступными только одному пользователю.
Важной особенностью ASP.NET является использование серверных элементов управления на веб-странице (элементы WebForm ), которые являются фактически тэгами, понятными веб-серверу. Эти элементы определены в пространстве имен System.Web.UI.WebControls.
Принято выделять три типа
HTML - обычные HTML тэги.ASP.NET.Преимущества от использования таких элементов при разработке веб-приложений:
*.aspx файл..NET, что позволяет писать для них такой же код как и для любых других классов.WebForm определен набор событий, обрабатываемых на веб-сервере.WebForm предоставляется возможность для проверки ввода данных пользователем.По умолчанию HTML в ASP.NET файлах рассматриваются как текст. Для их программирования требуется добавление атрибута runat="server" в соответствующий HTML элемент. Кроме того, все HTML должны быть размещены внутри области действия тэга <form> , также имеющего атрибут runat="server".
Подобно серверным элементам управления HTML элементы управления веб-сервера также создаются на веб-сервере и предполагают добавление атрибута runat="server". Однако они могут и не соответствовать конкретным элементам HTML, но представлять более сложные элементы.
Общий синтаксис для описания таких элементов:
<asp:тип_элемента id="идентификатор" runat="server"/>
Серверные элементы
Имеют следующий синтаксис:
<asp:тип_элемента id="идентификатор" runat="server" />
В ASP.NET используются два элемента управления WebForm для управления отображением данных, получаемых из источника данных:
DataGrid - элемент управления, отображающий содержимое объекта ADO.NET DataSet в виде таблицы.DataList - элемент управления для выбора значений, заполняемых из источника данных.Если необходимо отобразить данные, полученные по запросу пользователя из источника данных, в виде таблицы на веб-странице, то ASP.NET предоставляет в распоряжение веб-программиста удобный элемент управления .
Безусловно, каждый разработчик, проектирующий, сложную графическую систему, сталкивался с проблемами компоновки, дизайна и реализации бизнес-логики в рамках имеющихся ресурсов. В связи с чем, используя стандартные подходы и методики реализации бизнес-приложений, когда логика встраивается непосредственно в код программы, программистам становится сложно поддерживать внутренний интерфейс таких сложных систем, в особенности если спроектированная система требует постоянных обновлений и изменений. Порой, чтобы изменить незначительную деталь в каком-то компоненте, программисту требуется переписать код других компонентов, не задействованных в процессе. Разработчики модулей для поддержки графического интерфейса в языке столкнулись с такой проблемой, им удалось найти удачное решение в виде подхода к проектированию MVC, который и стал центральной основой для всего графического интерфейса приложений, построенных с использованием языка .
Подход к проектированию программных систем Модель-Вид-Контроллер ( MVC ) основан на разделении программы на три части.
Model ) отвечает за хранение данных и обеспечение интерфейса к ним.View ) отвечает за представление этих данных пользователю.Controller ) управляет компонентами, получая сообщения в виде реакции на действия пользователя, и уведомляя об изменениях компоненту Модель.Такая внутренняя структура в целом разбивает систему на самостоятельные части и распределяет ответственность всего приложения на различные компоненты. Архитектура такого взаимодействия представлена на рис.12.2
(рис 12.2) Архитектура взаимодействия MVC Важно отметить, что как представление, так и поведение зависят от модели. Однако модель не зависит ни от представления, ни от поведения. Это одно из ключевых достоинств подобного разделения. Оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
- продукт выпущенный в апреле 2009 г. компанией Microsoft, призванный упростить разработчикам создание веб-приложений, использующих шаблон MVC (model-view-controller) . Фактически это готовый framework для языка ASP.NET.
обеспечивает полный контроль за HTML -разметкой, структурой URL -адресов, упрощает TDD (.
доступен как в виде отдельного пакета, так и через инсталлятор Microsoft Web Platform Installer.
На рис.12.3 представлена структура проекта, созданного на основе шаблона в Visual Web Developer 2008 Express.
(рис 12.3) Структура проекта, созданного на основе шаблона ASP.NET MVC Система управления контентом ( ) - компьютерная программа, используемая для создания, редактирования, управления и публикации контента некоторым систематическим образом. Обычно такие системы используются для хранения и публикации большого количества документов, изображений, музыки или видео.
Система управления веб-контентом ( Web или Web ) - програмное обеспечения класса, реализованное обычно в виде веб-приложения, и предназначенное для создания, и управления HTML содержимым. обычно используется для управления и контроля большими, динамически изменяемыми коллекциями веб-материала ( HTML документами и связанными с ними картинками). Такая система упрощает процесс создания, управления, редактирования контента и многие другие важные задачи, связанные с поддержкой этих процессов.
предоставляет следующие возможности:
HTML или XML формате), автоматически применяемых к новому или существующему контенту. Тем самым вид всех документов может задаваться из одного места.WCMS В зависимости от способа применения шаблонов для генерации веб-страниц принято выделять три основные типа -систем: с автономной обработкой, он-лайн обработкой и гибридные системы.
On-line системы применяют шаблоны в момент посещения сайта пользователями (либо извлекают страницы и кэша).HTML страниц генерируют исполняемые коды ( JSP , PHP, Perl ), избавляя от необходимости установки WCMS -системы на каждом веб-сервере.В качестве примера системы рассмотрим .
Drupal - это система, разработанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются и другие). Архитектура Drupal позволяет применять его для построения различных типов сайтов - от блогов и форумов, до информационных архивов или сайтов новостей.
Функциональность обеспечивается API Drupal. Стандартный набор модулей включает, например, такие функции как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и др.
Наиболее важные функции, предоставляемые модулями входящими в поставку Drupal:
XML -форматов:RDF/RSS ;BlogAPI для публикации материалов с помощью внешних приложений;Существует огромное множество систем как коммерческих, так и бесплатных. Например, Microsoft предлагает реализацию системы на базе Windows SharePoint Services.
Каркасная система управления контентом ( ) - это инструментарий для создания систем управления контентом, а также отдельных веб-приложений. Некоторые , предоставляющие API для расширения своей функциональности, можно рассматривать как CMF, например .
В многих компаниях уже сложилась тенденция предоставлять своим сотрудникам, партнерам и клиентам доступ ко всем типам информации и сервисов посредством сети Веб. Однако в корпоративных сетях компаний функционирует огромное число разнородных бизнес-приложений, созданных в различное время, различными организациями, на базе различных технологий. Задача веб-интеграции заключается в том, чтобы объединить разнородные веб-приложения и системы в единую среду на базе сети Веб.
Практикуются следующие подходы к веб-интеграции:
API (программному интерфейсу приложений) или же взаимодействием посредством веб-сервисов.Использование веб-интеграции выгодно по многим причинам:
Веб-интеграция позволяет развертывать информационные системы на базе сторонних приложений без необходимости разбираться в их родительских системах, программных средах и архитектурах баз данных.
и веб-сервисы используют программный язык и платформо-независимые интерфейсы между приложениями корпоративной инфраструктуры ИТ. Это дает очевидные преимущества в поддержке, управляемости, развертывании информационных сетей.
Для веб-интеграции обычно используется коммерческое ПО или популярные технологии, такие как PHP/Python/Perl, XForms, и т.д.
Большое количество систем, стандартов и технологий приводит к тому, что эффективно связать разные источники данных в одну систему не получается. Даже такие, на первый взгляд однородные источники, как системы управления базами данных, применяют языки запросов и форматы представления выбираемой информации, которые редко полностью совместимы между собой. Как следствие, проекты интеграции в таких условиях требуют больших усилий - требуется вникать в детали различных баз данных, протоколов, операционных систем и так далее. В результате интеграция нескольких приложений или систем реализуется по схеме, представленной ниже:
(рис 12.4) Традиционная схема интеграции приложений Заставить разные системы работать вместе - чрезвычайно трудоемкая задача. Идея использования XML в интеграции информационных систем сводится к созданию общего XML -языка, которым могла бы пользоваться каждая из них.
Такое решение сразу же намного упрощает проект. Вместо реализации взаимодействия между каждой парой систем следует всего лишь научить каждую из них "говорить" на XML языке. Иначе говоря, все сводится к разработке нескольких врапперов (XML -языка интегрированной системы на язык, понятный каждой системе в отдельности.
XML существуют практически на всех платформах и для большинства популярных языков программирования;XML достаточно стандартны для того, чтобы в разных системах можно было пользоваться одинаковыми приемами;XML, может обрабатываться не только машинами, но и человеком (что намного облегчает отладку).В принципе, интеграция по XML -схеме не отличается коренным образом от интеграции на основе любого другого общего стандарта. Вместе с тем, она имеет целый ряд весомых преимуществ:
XML языки не зависят от аппаратных и программных платформ, что позволяет связывать разнородные системы;выразительная мощность XML достаточно велика для того, чтобы описать данные практически любой сложности;
(рис 12.5) Схема интеграции приложений на основе XML Интеграция на основе XML практически реализуется в рамках протоколов:
XML-RPC. Это протокол удаленного вызова процедур с передачей данных в формате XML через TCP -порт 80, т.е. HTTP -порт.WDDX (Web Distributed Exchange) . Представляет собой механизм обмена сложными структурами данных по протоколу HTTP. Протокол базируется не на структурах, а на событиях.ebXML (electronic buisiness XML) - XML для XML -инфраструктуры, обеспечивающей безопасное глобальное использование информации Веб-сервис - программная система, имеющая идентификатор URI, и общедоступные интерфейсы которой определены на языке XML. Описание этой программной системы может быть найдено другими приложениями, которые могут взаимодействовать с ней в соответствии с этим описанием посредством сообщений, основанных на XML, и передаваемых с помощью интернет-протоколов.
Реализация .NET осуществляется так же просто, как и активизация удаленной .NET Framework, которые позволяют создать полноценный и . При этом выполняются следующие действия:
.NET -класс с атрибутами, которые идентифицируют его как .NET автоматически создается документ WSDL , где описывается, как клиент должен взаимодействовать с веб-сервисом.Visual Studio .NET ..NET осуществляется автоматическая WSDL и генерируется прокси-класс, который позволяет потребителю взаимодействовать с веб-сервисом.SOAP и отправляет его веб-сервису.SOAP -ответ, преобразует его в соответствующий тип данных и возвращает его как обычный тип данных .NET.При работе .NET используется технология ASP .NET, являющаяся частью системы .NET Framework. Она также требует поддержки со стороны сервера Microsoft IIS.
Работа
XML - расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;SOAP - протокол обмена сообщениями на базе XML ;WSDL - язык описания внешних интерфейсов XML ;UDDI - Universal Discovery , Description, and Integration ). Каталог Каждый - язык описания веб-сервиса), в котором описывается все, что клиенту необходимо для работы с этим сервисом. -документ предоставляет простой и последовательный способ задания разработчиком синтаксиса вызова любого веб-метода. Более того, этот документ позволяет использовать инструменты автоматического генерирования прокси-классов, подобные включенным в среды и .NET Framework. Благодаря указанным средствам использование веб-сервиса является таким же простым, как и применение локального класса.
-документ имеет основанный на XML формат, в соответствии с которым информация подразделяется на пять групп. Первые три группы представляют собой абстрактные определения, не зависящие от особенностей платформы, сети или языка, а оставшиеся две группы включают конкретные описания.
Связь между веб-сервисами и их клиентами осуществляется посредством сообщений в формате XML.
- простой протокол доступа к объектам) представляет собой протокол сообщений для выбора
Основная идея стандарта заключается в том, что сообщения должны быть закодированы в стандартизированном XML -формате.
Кроме сообщений , для обмена данными с сервисами .NET можно использовать методы GET и POST протокола HTTP.
Преимущества применения формата перед другими форматами для передачи данных:
XML структуры данных и наборы DataSet с использованием SOAP так же легко, как и данные простых SOAP -сообщений предоставляются дополнительные инструменты, позволяющие легко добавлять, например, функции обеспечения безопасности или трассировки.SOAP для различных языков программирования (и даже для предыдущих версий Microsoft C++ и Visual Basic ). Иначе, для того чтобы обеспечить связь с сервисом посредством методов GET и POST протокола HTTP, придется, очевидно, самостоятельно конструировать строку запроса, а затем проводить Стандарт DISCO предоставляет простейший способ получения доступа к файлам
DISCO -файл может включать файлы различных веб-серверов и поддерживает "динамический поиск" - автоматический поиск каталога файлов
Файлы манифеста полезны тем, что объединяют множество
Спецификация ), включая Sun и Microsoft. Объединив свои усилия, эти компании разработали проект спецификации , которая по истечении 18 месяцев была стандартизирована.
Информация в этом репозитории должна обновляться вручную. С этой целью некоторые ". Эти компании обеспечивают хранение указанного репозитория и бесплатный доступ к нему для популяризации веб-серисов. Кроме того, Майкрософт включила версию в программное обеспечение сервера Windows .NET для использования в корпоративных сетях
В хранилище содержатся сведения о предприятиях, предоставляющих сам по себе представляет собой -сообщение.
Главными недостатками за счет использования текстовых XML -сообщений.
Круг задач, решаемых Web -сервером, ограничен. В основном он сводится к поддержке НТТР -взаимодействия и доставке клиенту Web -документов. Любые "нестандартные" действия реализуются с помощью специальной программы, которая взаимодействует с веб-сервером и клиентом. Это взаимодействие подчиняется определенным правилам.
Основной набор таких правил - стандарт CGI ( - интерфейс общего шлюза), который определяет порядок запуска программы на компьютере-сервере, способы передачи программе параметров и доставки результатов ее выполнения клиенту. Программа, написанная по правилам CGI, называется CGI -сценарием ( script CGI ), хотя это не означает, что на сервере не может выполняться двоичный файл.
Благодаря этому интерфейсу для разработки приложений можно использовать любой язык программирования, который располагает средствами взаимодействия со стандартными устройствами ввода/вывода. Такими возможностями обладают также сценарии для встроенных командных интерпретаторов операционных систем.
Выполнение любой программы (в том числе CGI -сценария) можно условно разделить на пять этапов.
Различия между CGI -сценарием и
Каждый раз, когда веб-сервер получает запрос от клиента, он анализирует содержимое запроса и возвращает соответствующий ответ:
CGI определяет:
В подавляющем большинстве случаев запуск CGI -сценария осуществляется щелчком на кнопке Submit, сформированной с помощью дескриптора <input тyре = "submit"> , который находится на HTML -странице между <form> и </form> . Не зная назначения атрибутов action и method, невозможно понять, как происходит вызов программы и передача параметров.
Значением атрибута action дескриптора <form> является URL файла, содержащего код CGI -сценария. Так, приведенное ниже выражение означает, что файл с кодом CGI -сценария находится на сервере www.myhp.edu в каталоге cgi-bin в файле script.рl.
<form action="http://www.myhp.edu/cgi-bin/script.pl" method="post">
К основным достоинствам разработки приложений на стороне веб-сервера в форме сценариев можно отнести следующие:
Поскольку сценарии интерпретируются из исходного кода динамически при каждом исполнении, они выполняются обычно значительно медленнее готовых программ, транслированных в машинный код на этапе компиляции.
В плане быстродействия сценарные языки можно разделить на:
command.com ). Интерпретатор считывает инструкции из файла программы минимально требующимися блоками, и исполняет эти блоки, не читая дальнейший код.Perl ). Вначале считывается вся программа, затем компилируется либо в машинный код, либо в один из внутренних форматов, после чего получившийся код исполняется.Наиболее распространенными языками разработки серверных сценариев являются Perl, PHP, ASP, .
ASP (Active Server Pages) - технология, разработанная компанией Microsoft, позволяющая легко создавать приложения для Веб.
Программирование на ASP дает разработчикам доступ к Internet Information Server с помощью языка сценариев VBScript и .
ASP работает на платформе операционных систем линии Windows NT и на веб-сервере Microsoft IIS.
Архитектура ASP представлена на рис.12.1.
(рис 12.1) Архитектура ASP Файлы ASP представляют собой сценарии, интерпретируемые по мере поступления запросов. -расширение ASP.DLL связано в IIS с расширениями файлов .asp или ..
Порядок обработки таких файлов выглядит следующим образом:
ASP.DLL просматривает файлы с указанными расширениями на наличие тегов, обозначающих внедренный код для выполнения на сервер и передает найденный код в Windows Script Host (WSH) .WSH выполняет этот код и возвращает результат файлу ASP.DLL.ASP.DLL передает IIS этот результат и содержимое самого файла ASP.IIS возвращает ответ клиенту, от которого поступил запрос.Рассмотрим основы синтаксиса ASP.
IIS различает код, выполняющийся на сервере, и содержимое, отправляемое клиенту с помощью ASP.DLL, анализируя файл ASP на наличие начального "<%" и конечного "%>" тегов и выполняя код, расположенный между ними, с помощью WSH.
Рассмотрим пример:
<% Language=VBScript %>
<HTML>
<BODY>
<%
Response.Write("<p>Hello world!</p>")
%>
</BODY>
</HTML>
В примере первая строка кода <% Language=VBScript %> сообщает о необходимости использовать интерпретатор языка VBScript. Для вставки строки в документ был использован метод Write стандартного объекта Response.
Событие веб-запроса в ASP обрабатывается с помощью следующих объектов:
Response. Используется для записи данных в запрос HTTP, возвращаемый клиенту.Application. Содержит параметры и конфигурации по настройке работы ASP для данного веб-сайта.Request. Хранит содержимое HTTP -запроса и обеспечивает вспомогательные функции для обработки данных HTTP -запроса.Server. Содержит информацию о веб-сервере, веб-сайте, а также обеспечивает поддержку Session. Представляет собой состояние заданного веб-сеанса с заданным хостом клиентом.Для веб-сервера IIS (Internet Information Server) . был разработан специальный программный интерфейс для создания приложений расширяющих стандартные возможности веб-сервера.
- многозвенный API для веб-сервера IIS.
также реализован в виде модуля mod_isapi для веб-сервера Apache. Таким образом, серверные приложения, разработанные для MS IIS могут также выполняться в Apache и других веб-серверах.
В противоположность CGI - - приложение загружается в том же адресном пространстве, что и веб-сервер IIS. Это позволяет повысить производительность приложений благодаря сокращению издержек на запуск отдельных процессов. Однако сбой - приложения может привести к неустойчивой работе самого веб-сервера. В 6-ой версии IIS имеется возможность запуска приложений в рамках отдельного процесса.
включает в себя 2 компоненты: расширения и фильтры.
Таким образом, все многообразие разрабатываемых -приложений сводится только к этим двум типам. И фильтры и расширения компилируются в DLL файлы динамически запускаемые веб-сервером.
приложения могут разрабатываться с помощью любых языков, поддерживающих экспорт стандартных С -функций, например С, С++, . Для разработки имеется ограниченное число библиотек для разработки Intraweb -компоненты , специальные -классы, специальная С++ библиотека серверных технологий .
К наиболее важным особенностям -расширений можно отнести следующие:
ISAPI - расширения имеют доступ ко всем функциональным возможностям IISDLL -модулей, загружаемых в пространстве процесса, контролируемого IIS.ISAPI - расширениям также как к статическим HTML страницам.ISAPI - расширения могут быть ассоциированы с отдельными расширениями файлов, с целыми каталогами или сайтами. -фильтры необходимы для изменения или совершенствования функциональности IIS. Они обычно работают с IIS -сервером и фильтруют каждый запрос. Фильтры применяются для анализа и модификации входящих и исходящих потоков данных.
Фильтры также как и расширения реализуются в виде DLL файлов.
Обычно -фильтры используются для решения следующих задач:
URL или заголовков).URL в физические файлы.Стоит отметить, что существуют реализации в виде -расширений для таких инструментальных средств как:
ASP (Active Server Pages ) ASP.NETColdFusionPerl ISAPI (Perlis) PHP Платформа .NET Framework предоставляет возможность разработки и интеграции веб-приложений. ASP.NET является одной из составляющих инфраструктуры .NET Framework и фактически является платформой для создания веб-приложений и IIS.
ASP.NET внешне во многом напоминает более старую технологию ASP, но в то же время внутреннее устройство ASP.NET существенно отличается от ASP. Система ASP.NET была построена на базе CLR (, который является основой всех приложений .NET. Разработчики могут создавать код для ASP.NET, используя языки программирования, входящие в .NET Framework: C#, Visual Basic.NET, и другие.
Рассмотрим более подробно, чем отличается ASP.NET от ASP.
Классический ASP имеет следующие недостатки:
HTML ) не отделена от бизнес-логики (исполняемого кода), что приводит перемешиванию в одном файле кода HTML с кодом сценария.В файлах ASP.NET включается код на таких языках программирования как C#, , что позволяет применять непосредственно в веб-приложениях возможности объектно-ориентированного программирования. Также существенно сокращается объем кода, написанного вручную за счет применения HTML. Возможно использование стандартной среды разработки Visual Studio.NET, т.е. ASP.NET имеет преимущество в скорости по сравнению со сценарными технологиями, так как при первом обращении код компилируется и помещается в специальный
Несмотря на возможность совместной работы ASP и ASP.NET на одном веб-сервере, они не могут использовать общий сеанс. Файлы ASP.NET обрабатываются библиотекой aspnet_isapi.dll (а не asp.dll ), которая, в свою очередь, использует для выполнения кода технологию .NET.
Библиотека базовых классов .NET содержит пространства имен 3 основных групп:
web - приложений (протоколы, безопасность и др.);WebForms ) ;web - службы.Как уже указывалось ранее, ASP.NET использует возможности стандартной среды разработки Visual Studio.Net, и в частности классы библиотеки .
Разработчику веб-приложений на ASP.NET доступны классы, входящие в следующие пространства имен:
| Пространство имен | Содержание |
|---|---|
System.Web |
Организация взаимодействия web -клиента (браузера) с web -сервером (запрос-ответ, cookie и и др.) |
System.Web.Caching |
Поддержка кэширования при работе web -приложений |
System.Web.Configuration |
Настройка web -приложения в соответствии с файлами конфигурации проекта |
System.Web.Security |
Реализация системы безопасности web -приложений |
System.Web.Services |
Организация работы web -сервисов |
System.Web.Services.Description |
Организация работы web -сервисов |
System.Web.Services. |
Организация работы web -сервисов |
System.Web.Services.Protocols |
Организация работы web -сервисов |
System.Web.UI |
Построение графического интерфейса пользователей web -приложений |
System.Web.UI.WebControls |
Построение графического интерфейса пользователей web -приложений |
System.Web.HtmlControls |
Построение графического интерфейса пользователей web -приложений |
В свою очередь пространство имен System.Web включает в себя пространства имен, названия которых знакомы разработчикам веб-приложений на ASP:
| Пространство имен | Содержание |
|---|---|
HttpApplication |
Данный класс определяет общие для всех web-приложений члены |
HttpApplicationState |
В данном классе содержится общая информация web -приложения для множества запросов, сеансов и каналов передачи данных |
HttpBrowserCapabilities |
Этот класс используется для получения информации о возможностях клиентского браузера, обращающегося к web -серверу |
HttpCookie |
Поддержка HTTP cookie |
HttpRequest |
Предоставляет доступ к информации, переданной web-клиентом |
HttpResponse |
Используется для формирования HTTP -ответа сервера |
В основу разработки веб-приложений на ASP.NET положена модель разделения кода представления и кода реализации, рекомендуемая Майкрософт при создании динамических документов на с помощью программных кодов. Это делается путем размещения программного кода либо в отдельный файл, либо внутри специального тэга для сценариев. Файл такого рода обычно имеет расширение *.aspx.cs (*.aspx.vb) и имеет имя, совпадающее с именем основного ASPX файла. В принципе такой подход позволяет веб-дизайнеру сконцентрироваться работе с кодом разметки документа с минимальными изменениями программного кода, в обычном ASP внедряемого непосредственно в код разметки.
Взаимодействие пользователя с веб-приложением, реализованном на ASP.NET включает в себя следующие процессы:
ASPX инициируется событие Page_Init, производящее начальную инициализацию страницы и ее объекта.Page_Load, которое может быть использовано, например для установки начальных значений для элементов управления. При этом также можно определить была ли загружена страница впервые или обращение к ней осуществляется повторно в рамках обратной отсылки в ответ на события, связанные с элементами управления, размещенными на странице; т.е. проверить свойство Page.IsPostBack.Для сохранения данных веб-страницы в промежутках между обращениями к ней в ASP.NET используются состояния отображения ( view state ).
Если данные, введенные в Application и Session. Объекты Application доступны всем пользователям приложения и могут рассматриваться как глобальные переменные, обращение к которым возможно из любых сеансов. Объекты Session доступны только в рамках одного сеанса, и поэтому они оказываются доступными только одному пользователю.
Важной особенностью ASP.NET является использование серверных элементов управления на веб-странице (элементы WebForm ), которые являются фактически тэгами, понятными веб-серверу. Эти элементы определены в пространстве имен System.Web.UI.WebControls.
Принято выделять три типа
HTML - обычные HTML тэги.ASP.NET.Преимущества от использования таких элементов при разработке веб-приложений:
*.aspx файл..NET, что позволяет писать для них такой же код как и для любых других классов.WebForm определен набор событий, обрабатываемых на веб-сервере.WebForm предоставляется возможность для проверки ввода данных пользователем.По умолчанию HTML в ASP.NET файлах рассматриваются как текст. Для их программирования требуется добавление атрибута runat="server" в соответствующий HTML элемент. Кроме того, все HTML должны быть размещены внутри области действия тэга <form> , также имеющего атрибут runat="server".
Подобно серверным элементам управления HTML элементы управления веб-сервера также создаются на веб-сервере и предполагают добавление атрибута runat="server". Однако они могут и не соответствовать конкретным элементам HTML, но представлять более сложные элементы.
Общий синтаксис для описания таких элементов:
<asp:тип_элемента id="идентификатор" runat="server"/>
Серверные элементы
Имеют следующий синтаксис:
<asp:тип_элемента id="идентификатор" runat="server" />
В ASP.NET используются два элемента управления WebForm для управления отображением данных, получаемых из источника данных:
DataGrid - элемент управления, отображающий содержимое объекта ADO.NET DataSet в виде таблицы.DataList - элемент управления для выбора значений, заполняемых из источника данных.Если необходимо отобразить данные, полученные по запросу пользователя из источника данных, в виде таблицы на веб-странице, то ASP.NET предоставляет в распоряжение веб-программиста удобный элемент управления .
Безусловно, каждый разработчик, проектирующий, сложную графическую систему, сталкивался с проблемами компоновки, дизайна и реализации бизнес-логики в рамках имеющихся ресурсов. В связи с чем, используя стандартные подходы и методики реализации бизнес-приложений, когда логика встраивается непосредственно в код программы, программистам становится сложно поддерживать внутренний интерфейс таких сложных систем, в особенности если спроектированная система требует постоянных обновлений и изменений. Порой, чтобы изменить незначительную деталь в каком-то компоненте, программисту требуется переписать код других компонентов, не задействованных в процессе. Разработчики модулей для поддержки графического интерфейса в языке столкнулись с такой проблемой, им удалось найти удачное решение в виде подхода к проектированию MVC, который и стал центральной основой для всего графического интерфейса приложений, построенных с использованием языка .
Подход к проектированию программных систем Модель-Вид-Контроллер ( MVC ) основан на разделении программы на три части.
Model ) отвечает за хранение данных и обеспечение интерфейса к ним.View ) отвечает за представление этих данных пользователю.Controller ) управляет компонентами, получая сообщения в виде реакции на действия пользователя, и уведомляя об изменениях компоненту Модель.Такая внутренняя структура в целом разбивает систему на самостоятельные части и распределяет ответственность всего приложения на различные компоненты. Архитектура такого взаимодействия представлена на рис.12.2
(рис 12.2) Архитектура взаимодействия MVC Важно отметить, что как представление, так и поведение зависят от модели. Однако модель не зависит ни от представления, ни от поведения. Это одно из ключевых достоинств подобного разделения. Оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
- продукт выпущенный в апреле 2009 г. компанией Microsoft, призванный упростить разработчикам создание веб-приложений, использующих шаблон MVC (model-view-controller) . Фактически это готовый framework для языка ASP.NET.
обеспечивает полный контроль за HTML -разметкой, структурой URL -адресов, упрощает TDD (.
доступен как в виде отдельного пакета, так и через инсталлятор Microsoft Web Platform Installer.
На рис.12.3 представлена структура проекта, созданного на основе шаблона в Visual Web Developer 2008 Express.
(рис 12.3) Структура проекта, созданного на основе шаблона ASP.NET MVC Система управления контентом ( ) - компьютерная программа, используемая для создания, редактирования, управления и публикации контента некоторым систематическим образом. Обычно такие системы используются для хранения и публикации большого количества документов, изображений, музыки или видео.
Система управления веб-контентом ( Web или Web ) - програмное обеспечения класса, реализованное обычно в виде веб-приложения, и предназначенное для создания, и управления HTML содержимым. обычно используется для управления и контроля большими, динамически изменяемыми коллекциями веб-материала ( HTML документами и связанными с ними картинками). Такая система упрощает процесс создания, управления, редактирования контента и многие другие важные задачи, связанные с поддержкой этих процессов.
предоставляет следующие возможности:
HTML или XML формате), автоматически применяемых к новому или существующему контенту. Тем самым вид всех документов может задаваться из одного места.WCMS В зависимости от способа применения шаблонов для генерации веб-страниц принято выделять три основные типа -систем: с автономной обработкой, он-лайн обработкой и гибридные системы.
On-line системы применяют шаблоны в момент посещения сайта пользователями (либо извлекают страницы и кэша).HTML страниц генерируют исполняемые коды ( JSP , PHP, Perl ), избавляя от необходимости установки WCMS -системы на каждом веб-сервере.В качестве примера системы рассмотрим .
Drupal - это система, разработанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются и другие). Архитектура Drupal позволяет применять его для построения различных типов сайтов - от блогов и форумов, до информационных архивов или сайтов новостей.
Функциональность обеспечивается API Drupal. Стандартный набор модулей включает, например, такие функции как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и др.
Наиболее важные функции, предоставляемые модулями входящими в поставку Drupal:
XML -форматов:RDF/RSS ;BlogAPI для публикации материалов с помощью внешних приложений;Существует огромное множество систем как коммерческих, так и бесплатных. Например, Microsoft предлагает реализацию системы на базе Windows SharePoint Services.
Каркасная система управления контентом ( ) - это инструментарий для создания систем управления контентом, а также отдельных веб-приложений. Некоторые , предоставляющие API для расширения своей функциональности, можно рассматривать как CMF, например .
В многих компаниях уже сложилась тенденция предоставлять своим сотрудникам, партнерам и клиентам доступ ко всем типам информации и сервисов посредством сети Веб. Однако в корпоративных сетях компаний функционирует огромное число разнородных бизнес-приложений, созданных в различное время, различными организациями, на базе различных технологий. Задача веб-интеграции заключается в том, чтобы объединить разнородные веб-приложения и системы в единую среду на базе сети Веб.
Практикуются следующие подходы к веб-интеграции:
API (программному интерфейсу приложений) или же взаимодействием посредством веб-сервисов.Использование веб-интеграции выгодно по многим причинам:
Веб-интеграция позволяет развертывать информационные системы на базе сторонних приложений без необходимости разбираться в их родительских системах, программных средах и архитектурах баз данных.
и веб-сервисы используют программный язык и платформо-независимые интерфейсы между приложениями корпоративной инфраструктуры ИТ. Это дает очевидные преимущества в поддержке, управляемости, развертывании информационных сетей.
Для веб-интеграции обычно используется коммерческое ПО или популярные технологии, такие как PHP/Python/Perl, XForms, и т.д.
Большое количество систем, стандартов и технологий приводит к тому, что эффективно связать разные источники данных в одну систему не получается. Даже такие, на первый взгляд однородные источники, как системы управления базами данных, применяют языки запросов и форматы представления выбираемой информации, которые редко полностью совместимы между собой. Как следствие, проекты интеграции в таких условиях требуют больших усилий - требуется вникать в детали различных баз данных, протоколов, операционных систем и так далее. В результате интеграция нескольких приложений или систем реализуется по схеме, представленной ниже:
(рис 12.4) Традиционная схема интеграции приложений Заставить разные системы работать вместе - чрезвычайно трудоемкая задача. Идея использования XML в интеграции информационных систем сводится к созданию общего XML -языка, которым могла бы пользоваться каждая из них.
Такое решение сразу же намного упрощает проект. Вместо реализации взаимодействия между каждой парой систем следует всего лишь научить каждую из них "говорить" на XML языке. Иначе говоря, все сводится к разработке нескольких врапперов (XML -языка интегрированной системы на язык, понятный каждой системе в отдельности.
XML существуют практически на всех платформах и для большинства популярных языков программирования;XML достаточно стандартны для того, чтобы в разных системах можно было пользоваться одинаковыми приемами;XML, может обрабатываться не только машинами, но и человеком (что намного облегчает отладку).В принципе, интеграция по XML -схеме не отличается коренным образом от интеграции на основе любого другого общего стандарта. Вместе с тем, она имеет целый ряд весомых преимуществ:
XML языки не зависят от аппаратных и программных платформ, что позволяет связывать разнородные системы;выразительная мощность XML достаточно велика для того, чтобы описать данные практически любой сложности;
(рис 12.5) Схема интеграции приложений на основе XML Интеграция на основе XML практически реализуется в рамках протоколов:
XML-RPC. Это протокол удаленного вызова процедур с передачей данных в формате XML через TCP -порт 80, т.е. HTTP -порт.WDDX (Web Distributed Exchange) . Представляет собой механизм обмена сложными структурами данных по протоколу HTTP. Протокол базируется не на структурах, а на событиях.ebXML (electronic buisiness XML) - XML для XML -инфраструктуры, обеспечивающей безопасное глобальное использование информации Веб-сервис - программная система, имеющая идентификатор URI, и общедоступные интерфейсы которой определены на языке XML. Описание этой программной системы может быть найдено другими приложениями, которые могут взаимодействовать с ней в соответствии с этим описанием посредством сообщений, основанных на XML, и передаваемых с помощью интернет-протоколов.
Реализация .NET осуществляется так же просто, как и активизация удаленной .NET Framework, которые позволяют создать полноценный и . При этом выполняются следующие действия:
.NET -класс с атрибутами, которые идентифицируют его как .NET автоматически создается документ WSDL , где описывается, как клиент должен взаимодействовать с веб-сервисом.Visual Studio .NET ..NET осуществляется автоматическая WSDL и генерируется прокси-класс, который позволяет потребителю взаимодействовать с веб-сервисом.SOAP и отправляет его веб-сервису.SOAP -ответ, преобразует его в соответствующий тип данных и возвращает его как обычный тип данных .NET.При работе .NET используется технология ASP .NET, являющаяся частью системы .NET Framework. Она также требует поддержки со стороны сервера Microsoft IIS.
Работа
XML - расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;SOAP - протокол обмена сообщениями на базе XML ;WSDL - язык описания внешних интерфейсов XML ;UDDI - Universal Discovery , Description, and Integration ). Каталог Каждый - язык описания веб-сервиса), в котором описывается все, что клиенту необходимо для работы с этим сервисом. -документ предоставляет простой и последовательный способ задания разработчиком синтаксиса вызова любого веб-метода. Более того, этот документ позволяет использовать инструменты автоматического генерирования прокси-классов, подобные включенным в среды и .NET Framework. Благодаря указанным средствам использование веб-сервиса является таким же простым, как и применение локального класса.
-документ имеет основанный на XML формат, в соответствии с которым информация подразделяется на пять групп. Первые три группы представляют собой абстрактные определения, не зависящие от особенностей платформы, сети или языка, а оставшиеся две группы включают конкретные описания.
Связь между веб-сервисами и их клиентами осуществляется посредством сообщений в формате XML.
- простой протокол доступа к объектам) представляет собой протокол сообщений для выбора
Основная идея стандарта заключается в том, что сообщения должны быть закодированы в стандартизированном XML -формате.
Кроме сообщений , для обмена данными с сервисами .NET можно использовать методы GET и POST протокола HTTP.
Преимущества применения формата перед другими форматами для передачи данных:
XML структуры данных и наборы DataSet с использованием SOAP так же легко, как и данные простых SOAP -сообщений предоставляются дополнительные инструменты, позволяющие легко добавлять, например, функции обеспечения безопасности или трассировки.SOAP для различных языков программирования (и даже для предыдущих версий Microsoft C++ и Visual Basic ). Иначе, для того чтобы обеспечить связь с сервисом посредством методов GET и POST протокола HTTP, придется, очевидно, самостоятельно конструировать строку запроса, а затем проводить Стандарт DISCO предоставляет простейший способ получения доступа к файлам
DISCO -файл может включать файлы различных веб-серверов и поддерживает "динамический поиск" - автоматический поиск каталога файлов
Файлы манифеста полезны тем, что объединяют множество
Спецификация ), включая Sun и Microsoft. Объединив свои усилия, эти компании разработали проект спецификации , которая по истечении 18 месяцев была стандартизирована.
Информация в этом репозитории должна обновляться вручную. С этой целью некоторые ". Эти компании обеспечивают хранение указанного репозитория и бесплатный доступ к нему для популяризации веб-серисов. Кроме того, Майкрософт включила версию в программное обеспечение сервера Windows .NET для использования в корпоративных сетях
В хранилище содержатся сведения о предприятиях, предоставляющих сам по себе представляет собой -сообщение.
Главными недостатками за счет использования текстовых XML -сообщений.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.