Добавлен: 28.06.2023
Просмотров: 131
Скачиваний: 2
СОДЕРЖАНИЕ
1. Обзор средств разработки серверных web-приложений
1.2. IIS и Visual Studio фирмы Microsoft
2. Разработка серверного web-приложения
2.1 Выбор и обоснование средств реализации
2.2. Проектирование базы данных
2.2. Разработка алгоритмов реализации системы
Введение
Выбор архитектуры Web-сервера определяется не только параметрами производительности – немаловажными являются также факторы доступности и качества технологий разработки ПО, особенно если планируется вести бизнес с помощью Web-приложений.
Некоторые технологии разработки Web-приложений прилагаются к Web-серверу, при этом они могут быть независимы от языка программирования, как, например, технология CGI (Common Gateway Interface). Часть из них сильно зависит от доступных средств разработки, как, например, компоненты ActiveX, разрабатываемые в основном с помощью Microsoft Visual Studio.
Существует множество превосходных средств разработки Web-приложений и помимо тех, что рассматриваются в данной работе. В работе было решено сосредоточить свое внимание на Web-серверах и связанных с ними продуктах.
Какое же средство подойдет именно нам? На этот вопрос нет однозначного ответа. Информационным системам, работающим на базе продукции Microsoft, несомненно, подойдет превосходный набор средств разработки сервера IIS, зато более независимые в своих пристрастиях программисты предпочтут бесплатный Apache Server с PHP, обладающий широчайшей поддержкой. Разработчикам, работающим на Java, трудно будет найти среду лучше Netscape (iPlanet) с ее поддержкой самых современных Java-средств.
Цель работы заключается в разработке серверного web-приложения.
Для достижения поставленной цели нужно выполнить следующие задачи:
- рассмотреть средства разработки серверного web-приложения;
- выбрать средство разработки;
- реализовать веб-приложение.
1. Обзор средств разработки серверных web-приложений
В качестве средств разработки приложений мы бы предпочли выбрать Apache Server и PHP. Документация к ним имеется в изобилии, а поддержка со стороны пользователей просто феноменальная. Надежность продукта, особенно на Unix-сервере, не имеет себе равных. Средство контроля исходного кода Source Code Control может работать совместно со свободно доступными средствами CVS. Если ваш информационный центр никак не связан с IIS и Java, то вам стоит серьезно подумать о возможности использования Apache, PHP и mySQL на Linux-сервере.
Web-сервер Apache обеспечивает несколько опций разработки программного кода приложений любой степени сложности. Старомодный интерфейс CGI (Common Gateway Interface) в соединении с Perl, Си и прочими языками программирования позволяет без проблем справиться с простыми задачами для узлов с низким уровнем трафика. Все эти программы генерируются в отдельных процессах, что обычно сильно увеличивает вычислительную нагрузку на машину, где запущены Web-приложения.
Сервер Apache, как и Netscape и IIS, имеет API, позволяющий справиться с трудностями работы с CGI. При помощи Apache API программисты могут написать фрагмент программы в требуемом формате на языке Си. Этот фрагмент, называемый модулем, затем подключается к серверу Apache или же загружается динамически в момент исполнения. Используя вызовы Си-функций, программист получает прямой доступ к функциям ядра Apache. Такая же возможность доступна и для Netscape (через NSAPI) и для IIS (через ISAPI), но разработчики во всем мире чаще всего пользуются ею при работе с Apache. Если вы хотите использовать этот механизм и ваши приложения имеют дело с большими объемами данных, то, прежде чем приступать к работе, просмотрите файл mod_example.c, находящийся в каталоге текстов исходных модулей. Специальный модуль под названием mod_perl позволит вам писать собственные модули на языке Perl вместо Си.
Кроме того, язык PHP и сам по себе достаточно прост. Написать с его помощью Web-приложение, использующее базу данных, не представляет особого труда. У такого приложения на HTML-странице имеется форма ввода данных, которая инициирует исполнение PHP-сценария; тот, в свою очередь, открывает соединение с базой данных одним оператором, задающим имена сервера и пользователя, а при необходимости и пароль. Потом такая программа может выполнить SQL-запрос и в результате получить все адреса, отвечающие заданным в форме условиям. Кроме того, при помощи PHP-цикла запускается итерационный процесс обработки извлеченного из БД набора данных. Выбранная информация с использованием встроенных функций echo() и print() печатается на итоговой HTML-странице. Необходимый для этого текст PHP-сценария состоит всего из шести строк. Конечный пользователь увидит только HTML-страницу со списком имен и адресов, так как весь программный PHP-код заранее обрабатывается на сервере.
Более сложным Web-приложениям, особенно полномасштабным Web-клиентам, которые идут на замену существующим традиционным, или «толстым» клиентам, требуется уже применение сеансов. Технология ASP уже давно определила концепцию сеанса, и в PHP4 она теперь тоже реализована. При использовании сеансов не нужно постоянно записывать и считывать специальные маркеры (cookies) для выяснения того, где побывал данный пользователь, - необходимая информация сохраняется в соответствующей переменной сеанса. Эти переменные вместе с уникальными идентификаторами сеанса позволяют писать сложные приложения, которые, выполняя запросы пользователей, одновременно отслеживают их действия.
1.2. IIS и Visual Studio фирмы Microsoft
Платформа Microsoft обладает наилучшим набором средств разработки, но и наименьшей надежностью. И тем не менее, если вы работаете в организации, использующей продукцию Microsoft, а ваши клиенты и серверы работают под управлением Windows, то, вероятно, вы выберете IIS и Visual Studio. Данный тандем позволит вам разрабатывать самые сложные Web-приложения.
Крупные клиент-серверные приложения IIS, как правило, имеют трехуровневую архитектуру. Уровень представления разрабатывается с помощью HTML, Java-аплетов и JavaScript. Средний уровень строится средствами Active Server Pages (ASP) и ActiveX (Dynamic Link Libraries). А серверная СУБД, например MS SQL Server, содержит обычно таблицы, хранимые процедуры и представления. IIS силен своим средним архитектурным уровнем. Компоненты ActiveX разрабатываются с помощью поставляемого отдельно пакета Visual Studio 6.0, в который входят Visual Basic, Visual C++ и Visual J++. Средства этого крупномасштабного пакета сред разработки позволят вам разрабатывать компоненты ActiveX, которые вызываются из ASP-кода и устанавливают связь с серверной базой данных. ASP – это уже не просто язык, а скорее базовая связующая среда, позволяющая подключать любые совместимые машины сценариев серверной стороны. Так, для написания ASP-кода мы с успехом использовали машину сценариев фирмы PerlScript, но ниже мы сосредоточим свое внимание на VBScript, который встроен в IIS. Клиентский браузер никогда не видит ASP-код, так как он обрабатывается на Web-сервере (в данном случае это IIS), а результирующая Web-страница передается браузеру. ASP легко использовать для простых примеров, однако применение его в более сложных проектах уже становится трудоемким.
Управление базой данных и установление с ней соединений, выполнение запросов к базе данных, обработка полученных в результате наборов данных – все это невероятно просто сделать средствами Visual Basic. Например, для компонентов установления соединения с базой данных требуется всего две-три строчки кода ADO (ActiveX Database Objects). Компоненты ActiveX могут получать большие массивы результатов и сохранять их в динамических структурах данных. К этим массивам данных может быть применена сложная бизнес-логика, что облегчает разработку интеллектуальных приложений. ASP, выступая в роли моста между браузером и компонентами ActiveX, увязывает бизнес-логику с пользовательским интерфейсом. IIS и ASP также позволяют управлять сеансом посредством задаваемых пользователем переменных, время жизни которых ограничивается продолжительностью сеанса. А сеанс заканчивается, как только вы закрываете свой браузер или же программным путем явно обнуляете все переменные сеанса. Управление сеансом оказалось настолько удачной идеей, что в последней бета-версии PHP и в Enterprise Server фирмы Netscape оно уже фигурирует в качестве встроенного средства.
Однако надежность технологии ASP напрямую связана с Windows, поскольку она не предназначена для работы в какой-либо другой среде Web-разработки. В отличие от более зрелых ОС сервер под управлением NT может оказаться неожиданно парализованным из-за небольших изъянов в логике приложения.
Netscape Enterprise Server фирмы Netscape и язык Java
Если вы тесно связаны с Java, то лучше всего вам подойдет Netscape Enterprise Server (NES), который поддерживает самые современные Java-технологии, включая серверные приложения Java, Java Server Pages (JSP) и Server Side JavaScript. Документация фирмы Netscape, когда дело касается ее собственных технологий, очень обширна. Язык же Java все еще находится в процессе развития, и поэтому относящаяся к нему документация не соответствует тому уровню, на котором должно осуществляться программирование критически важных задач на серверной стороне, но в этом недостатке нельзя упрекать серверы Netscape. Когда технология Java для сервера станет более зрелой, NES окажется на голову выше остальных в плане поддержки различных возможностей Java для разработки приложений серверной стороны.
В продукте NES предлагается самый широкий набор опций для разработчиков Web-приложений, включая CGI для форм различной сложности, Netscape API (NSAPI) для представления более сложной пользовательской информации, серверные приложения Java, JSP и Server Side JavaScript. Вооружившись средствами Java, JavaScript и HTML с целью разработки внешнего интерфейса, программисты посредством NES смогут строить приложения любой сложности.
Для организации взаимодействия с базами данных мы использовали JSP, серверные приложения Java и JDBC API. Для разработки Java-кода программистам необходимы средства, не входящие в NES. Такие средства поставляются по большей части компанией Sun Microsystems, к ним относится, например, Java Development Kit (JDK). Фирмы Sun и Netscape работают в тесном контакте над внедрением Java-решений в серверы Netscape.
Для создания простейшей программы типа “Hello World” на ASP или PHP нам достаточно было написать одну-две строки, а вот переписать ее в виде серверного приложения Java оказалось задачей куда более утомительной. После того как программный код написан, вы должны его откомпилировать и разместить в специальном, заранее сконфигурированном каталоге для серверных приложений. Имеющиеся средства написания серверных приложений Java очень разные – от SDK фирмы Sun, базирующегося на командной строке, до более проработанных с точки зрения интегрированной среды разработчика, таких, как Visual Cafeў фирмы Symantec и Visual Age for Java компании IBM.
Технология JSP, как и ASP, представляет собой смесь HTML со специальным синтаксисом сценариев, обрабатываемых на серверной стороне и выглядящих как чистый HTML для клиентов. В этом языке сценариев нет ничего особенно привлекательного, хотя компоненты JavaBeans могут выделить его среди прочих. В среде NES вы сможете разрабатывать сложные приложения при помощи JSP, благодаря которой компоненты Enterprise JavaBeans будут защищаться на серверной стороне. Это позволит вам облегчить процесс разработки и снизить вычислительную нагрузку на клиентскую часть. NES поддерживает JavaScript для серверной стороны, однако код должен быть заранее откомпилирован на сервере, причем для его работы требуются специальные установки и конфигурирование. Инструментарий JSP, работа которого во многом похожа на ASP и PHP, скорее всего, вообще избавит разработчиков от необходимости в использовании JavaScript.
2. Разработка серверного web-приложения
2.1 Выбор и обоснование средств реализации
Разрабатывать информационную систему было решено с использованием .NET технологий. Инструментом и средством разработки была выбрана Microsoft Visual Studio 2012. Для создания базы данных был выбран другой продукт Microsoft – Microsoft SQL Server 2012.
Microsoft Visual Studio – это продукт компании Microsoft, в состав которой входит интегрированная среда разработки программного обеспечения и ряд других инструментальных средств. Данный продукт позволяет разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, так же с помощью Microsoft Visual Studio можно разрабатывать веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Microsoft Silverlight.
ASP.NET – это часть технологии .NET, используемая для написания мощных клиент-серверных интернет приложений. Она позволяет создавать динамические страницы HTML. ASP.NET возникла в результате объединения более старой технологии ASP (активные серверные страницы) и .NET Framework. Она содержит множество готовых элементов управления, используя которые можно быстро создавать интерактивные web-сайты.