Эволюция Паутины Появление web-страниц ASP было знаменательным событием. Они позволяли решить фундаментальную проблему функционирования World Wide Web. Возмож- ность создавать активные web-страницы на основе информации, извлекаемой из баз данных или других систем, расположенных на стороне сервера, была поистине революционной. Большинство сайтов продолжают использовать эту технологию и сегодня. Многие обратили внимание на то, что при выполнении сценариев на стороне сервера существуют некоторое фундаментальное ограничение. Поскольку такие страницы не компилируются, а создаются в динамике по мере поступления запроса от клиента, то время ожидания ответа может оказаться достаточно большим. А по- скольку на создание каждой страницы требуется достаточно много времени, сервер может оказаться не в состоянии справиться с нагрузкой, если к нему будет посту- пать тысячи обращений в секунду. По этой причине была разработана другая архитектура, в которой бизнес-логика и доступ к данным были разделены на независимые компоненты, которые выпол- нялись в виде откомпилированных СОМ-компонентов. Эта разработка получила название трехзвенной, поскольку приложение расщеплялось на три разные части: уровень клиента/представления, промежуточные СОМ-компоненты и хранилище данных на стороне сервера. Эта модель очень быстро превратилась в многозвен- ную модель, поскольку промежуточное звено начало разрастаться и включать в себя различные уровни СОМ-компонентов и приложений. 676 Глава 23 После выделения различных уровней появилась возможность независимой раз- работки каждого из них, поскольку интерфейсы между уровнями оставались неиз- менными. Это повлекло за собой разработку компонентов, которые в минимальной степени основывались бы на работе со сценариями Active Server Pages. ASP по-прежнему оставались необходимыми для вызова этих компонентов и для фор- матирования возвращаемых ими данных, поскольку они представляли собой уро- вень пользовательского интерфейса для web-приложений. Такая модель оказалась чрезвычайно эффективной для создания масштабируе- мых, легкодоступных web-приложений уровня отдельного предприятия: О— СОМ ? сом ? сом • о— о— I сом О— 1 СОМ База данных Oracle База данных SQL Server Уровень представления Уровень бизнес-логики Уровень базы данных Web-программирование в .NET Система .NET представляет собой очередной революционный шаг в разработке web-приложений уровня предприятия. С учетом того, что в ней особое внимание уделяется компонентам и совместному использованию, она представляет собой среду программирования следующего поколения. ASP.NET — это система .NET в приложении к активным серверным страницам. При помощи ASP.NET появляет- ся возможность создавать компилируемые управляемые данными web-страницы, у которых есть полноценный доступ ко всем аспектам .NET Framework и к тем функциональным возможностям, которыми она обладает. Для web-разработчика это означает, что ASP больше не является самым сла- бым звеном в цепочке разработки многозвенного приложения. Теперь есть воз- можность разрабатывать действительно понятные компилируемые web-приложения, которые возвращают клиенту непосредственно HTML, и при этом вести разработ- ку в среде, предоставляющей для таких разработок богатые возможности. ASP.NET В отличие от ASP, в ASP.NET не используется собственный язык программи- рования. Напротив, приложения ASP.NET создаются точно так же, как приложе- ния, которые мы создавали на протяжении всей книги,— на С#, на VB.NET или на любом другом языке программирования, который совместим с .NET Framework. Основы юеЪ'Программирования 677 Это позволяет web-программисту отделять содержимое от его представления, по- скольку приложение ASP.NET может использовать WebForms для вывода пользо- вательского интерфейса, а также применять весь имеющийся в .NET Framework инструментарий, с которым мы знакомились в этой книге, для создания програм- мируемой серверной части. Код, из которого состоит приложение ASP.NET, представляет собой компили- руемую программу .NET, следовательно, он будет выполняться значительно быст- рее, чем аналогичное ASP-приложение. Только одна эта особенность может привести к существенному увеличению быстродействия. Добавьте к этому преиму- щества модели автоматического кэширования и простоту использования системы управления состоянием, и вы поймете, какая это замечательная среда разработки. Ниже приводится краткий перечень некоторых преимуществ ASP.NET: • Компилируемый код, допускающий раннее связывание, строгую типизацию и своевременную (Just-In-Time, JIT) компиляцию в роднрй- код • Файлы конфигурации на основе XML • Полная совместимость с .NET Framework • Простота использования модели кэширования • Полностью автоматизированное управление состоянием WebForms WebForms — это Windows Forms для World Wide Web. Точно так же, как мы создавали приложение Windows Forms в главе 13, можно создать интерактивные, обладающие широкими возможностями web-страницы с использованием большей части того инструментария, который использовался нами для быстрого создания приложения Windows Forms. Такие web-страницы обладают многими преимуществами по сравнению со стандартными ASP-страницами. Одно из таких преимуществ состоит в том, что программисту не приходится беспокоиться о проблемах, связанных с зависимостью от конкретного браузера. ASP.NET оттранслирует WebForms в версию HTML, не зависимую от браузера и нейтральную по отношению к платформе. Кроме этого, у web-разработчика есть доступ к разнообразному набору событий и свойств, что во многом напоминает программирование в стандартной среде Windows. Эти собы- тия могут обрабатываться как на стороне клиента, так и на стороне сервера и, кроме того, они позволяют использовать интуитивный подход к web-разработке, при котором не приходится беспокоиться по поводу сложных аспектов обработки и интерпретации HTML-форм. Помимо этого, управляющие элементы .NET могут быть использованы для создания интерфейса, стандартного с точки зрения пользо- вателя, а ASP.NET позволяет разработчику определять события и свойства этих управляющих элементов. Все это, в конечном итоге, приводит к тому, что в распо- ряжении разработчика оказывается среда с полным набором возможностей, позво- ляющая создавать эффективные, масштабируемые и рациональные web-приложения. Ниже перечислены основные преимущества WebForms: Q Может выполняться на произвольном браузере и представляет корректную для данного браузера версию HTML • Допускает использование любого языка программирования, совместимого с .NET 678 Глава 23 • Обеспечивает полную поддержку инструментов разработки GUI • Предоставляет широкий выбор клиентских и серверных управляющих элементов • Позволяет легко разделять код, ответственный за представление от кода, реализующего бизнес-логику Итоги World Wide Web прошла долгий путь развития и теперь является стройной сре- дой с богатыми возможностями. ASP.NET — это инструмент, предназначенный для высвобождения всей мощи .NET Framework и использования ее для создания отличных web-сайтов. В настоящей главе мы познакомились с историей Интернета и World Wide Web, а также с тем, каким образом разработчики могли создавать замечательные web-сайты на протяжении всей истории Паутины. Мы изучили основы HTTP и HTML, а также узнали о множестве причин, по которым оказывается необходи- мым использование сценариев как со стороны клиента, так и со стороны сервера. Мы также разобрали пример использования JavaScript для выполнения на стороне клиента проверки допустимости данных и узнали, какую роль играют Active Server Pages. Кроме этого, мы обсудили, почему ASP.NET является шагом вперед в области web-разработки и какие преимущества дает использование ASP.NET и WebForms. В следующей главе мы будем изучать ASP.NET более детально и создадим работа- ющий пример
|