Технология
Технология. NET является новейшей разработкой компании Microsoft и заявлена как новый этап в развитии средств взаимодействия между приложениями. Платформа. NET упрощает разработку приложений и повышает надежность кода. В частности, она обеспечивает автоматическое управление временем жизни объектов, нейтральные к языкам библиотеки классов и пересекающие границы языков наследование, обработку исключений и отладку.
Основа. NET - Common Language Runtime (общая среда исполнения языков) опирается на системные службы операционной системы и управляет выполнением кода, написанного на любом современном языке программирования. Набор базовых классов дает доступ к сервисам платформы, которые разработчики могут использовать из любого языка программирования. Common Language Runtime и базовые классы вместе составляют основу. NET платформы. NET предлагает также высокоуровневые сервисы:
- - новое поколение ADO, которое использует XML и SOAP для обмена данными; - новая версия ASP, позволяющая использовать любой (.NET
совместимый) язык для программирования Web страниц; Windows Forms и Web Forms - набор классов для построения пользовательского интерфейса локальных и Web-ориентированны приложений.
Развертывание систем на платформе. NET осуществляется особым образом. Исходные коды компилируются не в команды процессора х86 или другие машинные коды. Вместо этого компилятор создает код на Промежуточном Языке Microsoft (Microsoft intermediate language - MSIL). Файл, содержащий MSIL, может выполняться на платформе любого процессора, если операционная система, предоставляет. NET CLR.
Важной составляющей частью платформы. NET является новая среда . В ее основе лежит новая платформа, и основными языками программирования для нее выбраны С# и Visual Basic, вместо бывших скриптинг языков. В то же время, новая технология позволяет писать ASP страницы на любом подходящем языке.
В заложено все, для того, чтобы сделать весь цикл разработки web - приложения более быстрым, а поддержку проще. Ниже приведены основные возможности и принципы работы :
- Компилирование кода при первом обращении. Широкий выбор библиотек компонентов, поставляемых с. NET. Поддержка мощного средства разработки - Visual . Языковая независимость в пределах платформ для которых реализована общая языковая среда исполнения CLR. Возможности расширения с помощью мультипроцессорных и кластерных решений. Новые возможности по обработке ошибок. Объектно-ориентированные языки разработки (новый язык С#). Расширенные возможности повторного использования компонент.
Очевидно, что платформа. NET и предоставили новые возможности по разработке Web - систем. Они отвечают всем современным требованиям и позволяют значительно ускорить и упростить разработку сложных приложений. Однако, на данный момент, .NET в полном объеме существует только для платформы Windows. Разработки по переносу на другие системы ведутся, но еще не завершены и их будущие результаты трудно оценить. Что касается разработки сайтов, то сильно привязана к серверу IIS, и, хотя архитектура. NET позволяет перенести приложения на другую платформу, на данный момент реальная возможность отсутствует. Таким образом важнейшее - многоплатформенность пока еще не может быть удовлетворено платформой. NET, а значит ее использование для такой системы пока не оправдано. Однако необходимо отметить, что такая система должна иметь возможности интеграции с платформой. NET (особенно Web-сервисы), поскольку ее будущее широкое использование не вызывает сомнений [3].
В Web Forms разработчики Microsoft попытались сокрыть как протокол HTTP (с его неизбежным отсутствием состояния), так и язык HTML (который на тот момент был незнаком многим разработчикам), моделируя интерфейс пользователя в виде иерархии серверных объектов, представляющих элементы управления. Каждый такой элемент управления отслеживает собственное состояние между запросами (с помощью средства View State (состояние представления)), по мере необходимости визуализируя себя в виде HTML-разметки, и автоматически подключая события клиентской стороны (например, щелчки на кнопках) с соответствующим кодом их обработки на стороне сервера. Фактически Web Forms — это гигантский уровень абстракции, разработанный для воссоздания классического, управляемого событиями графического пользовательского интерфейса в веб-среде.
Идея состояла в том, чтобы веб-разработка выглядела подобно разработке Windows Forms. Отныне разработчикам не нужно иметь дело с сериями независимых запросов и ответов HTTP; теперь можно мыслить терминами сохраняющего свое состояние интерфейса пользователя. Можно забыть о веб-среде и ее не поддерживающей состояние природе, а вместо этого строить пользовательские интерфейсы с помощью визуального конструктора, использующего технологию перетаскивания, и полагать — или, по меньшей мере, делать вид — что все происходит на сервере.
Платформа MVCВажно различать архитектурную модель MVC и платформу MVC. Модель MVC (model-view-controller — модель-представление-контроллер) не нова — ее появление относится к 1978 г. и связано с проектом Smalltalk, выполнявшемся в компании в Xerox PARC — но сегодня она завоевала огромную популярность в качестве архитектуры для веб-приложений по следующим причинам.
- Взаимодействие пользователя с приложением MVC осуществляется в соответствии с естественным циклом: пользователь предпринимает действие, в ответ на которое приложение изменяет свою модель данных и доставляет обновленное представление пользователю. Затем цикл повторяется. Это очень удобно укладывается в схему веб-приложений, предоставляемых в виде последовательностей запросов и ответов HTTP. Веб-приложения, нуждающиеся в объединении нескольких технологий (например, баз данных, HTML и исполняемого кода), обычно разделяются на ряд слоев или уровней, и полученный в результате шаблон естественным образом вписывается в концепции MVC.
Платформа MVC реализует модель MVC и при этом обеспечивает значительно улучшенное разделение ответственности. Фактически в MVC реализован современный вариант MVC, который особенно подходит для веб-приложений.
Сравнение платформ Web Forms и MVC
В Microsoft неустанно утверждают, что обе технологии активно разрабатываются и поддерживаются, и что не существует никаких планов отказа от Web Forms. Во многих отношениях выбор между этими двумя платформами — вопрос философии разработки. Примите во внимание следующие соображения.
- Философия Web Forms исходит из представления, что интерфейс пользователя должен содержать информацию о состоянии. Для этого поверх HTTP и HTML добавляется сложный уровень абстракции, а для создания эффекта сохраненного состояния используются концепции View State и обратных отправок. Такой подход хорош для визуальной разработки в стиле Windows Forms, когда на рабочую поверхность помещаются виджеты (графические элементы) пользовательского интерфейса, а их обработчики событий заполняются соответствующим кодом. Философия MVC принимает как данность истинную природу отсутствия информации о состоянии протокола HTTP, и вместо того, чтобы преодолевать ее, приспосабливается к ней. Платформа MVC требует от разработчика понимания фактической работы веб-приложений. При наличии такого понимания она предоставляет простой, мощный и современный подход к написанию веб-приложений с аккуратным кодом, который впоследствии проще расширять и сопровождать, и который свободен от непредвиденных сложностей и болезненных ограничений.
В определенных случаях Web Forms оказывается, по крайней мере, не хуже, а может быть, и лучше, чем MVC. Очевидный пример — небольшие, ориентированные на внутреннюю корпоративную сеть, приложения, которые в основном напрямую связывают таблицы данных с таблицами базы данных либо проводят пользователей по страницам мастера. Преимущества разработки путем перетаскивания, предоставляемые платформой Web Forms, могут перевешивать ее недостатки, когда не нужно беспокоиться о занимаемой полосе пропускания или поисковой оптимизации.
С другой стороны, если вы создаете приложения для Интернета или для крупной корпоративной сети, вас должны привлечь эффективность использования полосы пропускания, лучшая совместимость с браузерами и более совершенная поддержка автоматизированного тестирования, предоставляемые платформой MVC [4].
Обзор языка программирования JavaScript
Язык JavaScript, имея в названии упоминание известного языка программирования и даже схожесть с ним, к нему никак не относится. Этот язык, появившись в 1995 году, прошел долгий путь развития, поменял много названий и, в конце концов, превратился в стандартизированный сценарный браузерный язык.
Язык был придуман специально для того, чтобы «оживить» веб-страницы и получить доступ к встроенным объектам различных веб-приложений. Типичная программа представляет собой текстовый скрипт, который находится в тексте HTML-страницы. В отличие от скриптов на PHP, этот скрипт видит любой желающий, стоит лишь открыть браузерное окно в исходном виде. Скрипты могут располагаться в секциях head, body и в отдельных файлах. Встраивание языка в HTML, да еще объектно-ориентированного, требует пересмотра всей модели представления документа в браузере. Таким образом, то, что нам представляется простым «экраном», на самом деле имеет сложную структуру, где участвуют фреймы, технические параметры физического и логического экрана, структура видимости объектов и средств управления, а также правил безопасности. Так как страницы со скриптами на JavaScript поступают в браузер извне, они должны быть лишены возможности навредить компьютеру. К примеру, в языке нет средств для работы с файловой системой (изменение файлов), нет стандартных путей обработки бинарных потоков и других опасных средств. Вместе с тем, в языке остаются опасные возможности, вызывающие зацикливание, межсайтовый скриптинг, редиректы и т. д. – все это устраняется политикой безопасности самого браузера или вмешательством в объектное ядро документа внешних утилит-расширений (к примеру, NoScript для FireFox).
Язык был разработан настолько простым, что пользоваться им должны были уметь даже непрограммисты. Вот они им и пользуются в меру сил, не вникая особо в смысл действий, а глядя только на внешний результат. Сам же язык активно используется во многих прикладных пакетах, в браузерных операционных системах, играх, расчетных задачах [5].
Обзор технологии AJAX
AJAX – новый подход к тому, как браузер должен общаться с сервером. Впервые этот подход в полном объеме озвучил в 2005 году Джесси Гаррет, и с тех пор ведутся постоянные споры о том, является ли AJAX новой технологией передачи данных или просто оригинальным подходом. В пользу второго утверждения говорит то, что для использования AJAX не нужно устанавливать на компьютер специфический софт, а в пользу первого – применение нового подхода позволяет в отдельных случаях резко ускорить работу с серверами.
Чтобы понять это, нужно вспомнить, как общаются браузер с сервером. Если в окне браузера находится страница со ссылкой, и вы нажимаете ее, то браузер передает URL ссылки на сервер. В зависимости от результата, сервер возвращает готовую страницу целиком или шлет сообщение об ошибке. Но дело в том, что страница может представлять собой огромный набор материала, обновление которого полностью нежелательно: расходуется трафик, уходит время и т. д. AJAX предлагает другой подход: браузер передает данные не напрямую серверу, а клиентскому скрипту браузера, и тот уже в фоновом режиме обновляет только ту часть информации, которая действительно нуждается в замене. Кроме того, скрипт может общаться с сервером даже тогда, когда пользователь не проявляет активность. Выгода здесь очевидна: скорость реакции повышается, расход трафика падает.
Общение браузера с сервером строится на целом ряде технологий, которые обязательно включают в себя скрипты JavaScript, особенности стандарта DHTML для изменения страниц, использование формата XML для передачи данных. В целом, эти технологии позволяют создавать в отображаемом документе динамические поля и фреймы посредством вновь внедряемых скриптов. Важно понять, что AJAX не существует сам по себе – его использует каждое веб-приложение в расчете “на себя”, если такая возможность требуется. Популярность AJAX значительно увеличилась с выходом многих продуктов от Google, активно использующих эту технологию. Одновременно нужно иметь в виду, что у технологии есть и недостатки, связанные, по большей части, с невозможностью правильного отображения счетчиков динамических обновляемых страниц, с тем, что они не индексируются, с них невозможно вернуться кнопкой «назад». При этом требуется обязательное включение JavaScript в браузере, что повышает риск подхватить с сайта какую-нибудь заразу. Но достоинства перевешивают недостатки, о чем говорит массовое появление приложений, поддерживающих AJAX [6].
Основные критерии выбора СУБД
При разработке приложений одним из самых важных этапов является выбор Системы Управления Баз Данных (СУБД). Выбранный программный продукт должен удовлетворять как текущим, так и будущим потребностям организации, при этом следует учитывать финансовые затраты на приобретение самой системы, необходимого оборудования, разработку необходимого программного обеспечения на основе этой системы, а также обучение персонала. Кроме того, необходимо убедиться, что новая СУБД способна принести реальные выгоды организации.
Существует множество методик выбора СУБД. Простейшая из них основана на оценке того, насколько существующие системы удовлетворяют основным требованиям создаваемого проекта информационной системы. Более сложным и дорогостоящим вариантом является создание испытательного проекта на основе нескольких систем и последующий выбор наиболее подходящего из кандидатов. Но даже в этом случае необходимо ограничивать круг возможных систем, опираясь на некие критерии отбора.
Основные требования к СУБД, или, другими словами, критерии выбора, которые мы используем при анализе той или иной системы, могут отличаться в зависимости от целей, которые перед ней ставятся. Условно можно выделить несколько групп:
- Моделирование данных Особенности архитектуры и функциональные возможности Контроль работы системы Особенности разработки приложений Производительность Надежность Требования к рабочей среде Смешанные критерии
2.5 Обоснование выбора базы данных, среды разработки и языка программирования
Согласно техническому заданию средой разработки выбран продукт компании Майкрософт - Microsoft Visual Studio 2010 Ultimate, который включает развитый набор инструментов для проектирования, в том числе инструменты для отладки и механизм IntelliSense, способный перехватывать ошибки и предлагать варианты по мере ввода. Кроме того, в Visual Studio поддерживается мощная модель отделенного кода, которая позволяет разделять создаваемый код. NET и дескрипторы разметки веб-страницы. И, наконец, в Visual Studio имеет встроенный тестовый веб-сервер, который значительно упрощает процесс отладки веб-сайтов.
Технологией создания веб-сайта выбран Web Forms, который является частью платформы. NET Framework, а потому обеспечивает доступ к классам этой платформы. Языком программирования выбран язык C#.
Базой данных выбран продукт компании Майкрософт – Microsoft SQL Server 2008 R2, который идеально подходит для разработки и наращивания функциональности веб-приложений.


