>

Лекции от Савостьянока Ю.А.

Альтернативные технологии

            Во времена зарождения World Wide Web технология CGI была существенным шагом вперед. Это была первая платформа, позволявшая создавать действительно интерактивные динамические Web-страницы. В то же время ей были присущи некоторые ограничения, прежде всего - посредственная производительность. Ведь каждый раз, когда пользователь обращается к CGI-приложению, сервер должен запустить его, а это требует процессорного времени. Если программа написана на интерпретируемом языке, необходимо предварительно загрузить интерпретатор и транслировать ее исходный код.

 

Еще одна сложность технологии CGI - довольно сложная процедура разработки приложений. Помимо соблюдения правильности алгоритма работы программы необходимо, чтобы она корректно выводила текст HTML для Web-страницы.

 

XML  - альтернатива HTML

            Несмотря на то что в наши дни практически все Web-сайты в Internet созданы при помощи HTML, этот язык обладает определенными недостатками, главный из которых - отсутствие инструментов для структурирования документов. HTML совершенно не свойственна гибкость, ведь новые возможности становятся доступны только с выходом новой версии, а до этого приходится обходиться доступными средствами. В качестве одной из возможных альтернатив рассматривается язык XML (eXtensible Markup Language - расширяемый язык разметки), разработка которого началась в 1996 году, а первая версия вышла два года спустя.

            По синтаксису XML немного похож на традиционный HTML, однако по сути - это разные языки. Прежде всего, XML - это очень гибкий язык. Если в HTML значение каждого тэга предопределено, то здесь все необходимые для описания страницы дескрипторы Web-дизайнер придумывает сам, фиксированного их набора не существует.

            Между элементами XML существует строгая иерархия типа родительский - дочерний. Структурированность языка накладывает свои строгие ограничения. В XML каждому открывающему тэгу соответствует закрывающий, и вместе они формируют XML-элемент.

            Помимо XML, разработчики могут применять целое семейство различных модулей для решения специализированных задач. Xlink описывает стандартный путь для добавления гиперссылок в XML- файл. Каскадные таблицы стилей CSS также применимы к XML, как и к HTML. Помимо CSS, в XML используется дополнительный язык для определения стилей, который называется XSL (eXtensible Style Language). Средства XSL позволяют не только форматировать, но и конвертировать XML-документ в практически любой вид - от форматов, используемых при описании текста, до звуковых и графических файлов.

            Следует заметить, что на сегодня еще не все современные браузеры одинаково трактуют XML и XSL, а некоторые их вообще пока не поддерживают. В этой связи можно прогнозировать, что в ближайшее время HTML не сдаст свои позиции, хотя уже появились Web-сайты, полностью написанные на XML. В то же время, не исключено, что благодаря XML обычный HTML превратится в XHTML. Этот новый язык содержит много элементов HTML, но синтаксис его немного изменен в соответствии с правилами XML.

 

Новые технологии направлены на решение вопросов, возникающих в CGI. Они увеличивают производительность, передавая запрос непосредственно серверу, не заставляя его вызывать внешнее приложение каждый раз, когда пользователь обратится к Web-странице. Кроме того, автоматизируются многие задачи. Большим преимуществом альтернативных технологий является то, что они специально разработаны для обеспечения доступа к реляционным базам данных. Ведь эта функция является одним из самых слабых мест CGI.

            Среди альтернативных платформ, которые со временем могут заменить CGI, можно выделить MS ASP, Allaire Cold Fusion, Java Server Pages и PHP. И хотя этим список далеко не ограничивается, среди вышеуказанных рассмотрим ASP и PHP.

 

ASP (Microsoft)

В технологии Active Server Pages для создания Web-приложений используются три основных составляющих: HTML, программы и компоненты ActiveX. Для разработки программ используются языки VBScript и JavaScript (версия Microsoft), кроме того поддерживается Activeware PerlScript, что позволяет применять код на Perl.

            При первой загрузке Web-страницы компилируется программа, и результат сохраняется до тех пор, пока исходный текст не изменится. Потом программа перекомпилируется и записывается вновь. Благодаря кэшированию, в данной технологии решена проблема низкой производительности, присущая CGI.

 

PHP (GNU)

            Разработка PHP была начата в 1994 году Расмусом Лерфордом. Впоследствии этот язык претерпел три редакции и к концу 2001 года использовался почти в 8 млн доменов во всем мире. Аббревиатура PHP первоначально означала Personal Home Page. Но потом PHP стали расшифровывать как PHP Hypertext Preprocessor в соответствии с рекурсивными правилами, принятыми в GNU.

            Основной текущей версией PHP является четвертая. PHP теперь можно использовать не только как модуль сервера Apache, но и в виде модуля ISAPI для MS Internet Information Server (IIS). PHP обладает многими достоинствами, среди которых высокая производительность, встроенные библиотеки для выполнения многих общих задач, связанных с Web, а также низкая стоимость и открытый исходный код. Помимо встроенной поддержки СУБД MySQL (которая также распространяется бесплатно), PHP может также подключаться к базам Oracle, Informix, InterBase, Sybase, mSQL и другим.

         PHP – это интерпретируемый скриптовый язык для web серверов. Он был разработан для поддержки простого и быстрого серверного расширения для разработки web страниц. Синтаксис PHP довольно прост и похож на синтаксис Perl с некоторыми элементами Bourne shell, Javascript и C .

Переменные в PHP слабо типизированы, этот язык программирования не поддерживает сильную типизированность. PHP поддерживает добавление примитивных типов данных: целых, с плавающей точкой и строк. Он также поддерживает разнородные многомерные массивы с очень удобным синтаксисом. PHP обладает объектно-ориентированными возможностями, позволяя программисту определять классы с переменными и свойствами, а также использовать простое наследование. Язык также включает расширяемый набор операторов и встроенных функций для работы со строками, числами и массивами.

Структуры управления, поддерживаемые в PHP, включают простые условия, плюс несколько видов условных и безусловных циклов. PHP не поддерживает модулей или библиотек, но он поддерживает простое включение файлов ( как и в C#).

В дополнение к основной web функциональности, PHP поддерживается обширными библиотеками, которые обеспечивают интерфейс к базам данных, а также поддержку многих общих форматов данных в web.

Выпущена 4.0 версия PHP. PHP является бесплатным и распространяется в исходных кодах и исполняется в операционных системах Unix, Linux и Windows.

Предназначенный для использования в web, PHP код естественно содержится в in HTML (или XML) документах. Имеется несколько методов включения PHP кода, но все они используют одинаковую структуру кода. Утверждения обычно разделяются точкой с запятой, но конец включения означает также и конец утверждения. Как и большинство скриптовых языков PHP поддерживает структуры управления для отделения включаемых блоков; это позволяет дизайнеру web страниц применять условные операторы и циклы к контенту web страницы.

PHP поддерживает синтаксис комментариев C и Unix Shell.

Документация по PHP легко найти в WWW.

4.0 версия PHP написана на системе исполнения скриптов Зенд (Zend).

Пример кода, печатающего содержимое таблицы базы данных mySQL, написанного Яхавом Боазом (Yahav Boaz).

 

<?

 mysql_connect("localhost","","") or die("Unable to connect to SQL server");

 @mysql_select_db("php3") or die("Unable to select database");

 $result = mysql_query("select * from customerTable limit 100");

 ?>

 <table border="1">

 <tr>

 <?

 while ($field=mysql_fetch_field($result)) {

     echo "<th>";

     echo "$field->name";

     echo "</th>";

 }

 echo "</tr>";

 while ($row = mysql_fetch_row($result)) {

     echo "<tr>";

     for ($i=0; $i<mysql_num_fields($result); $i  ) {

         echo "<td>";

         echo "$row[$i]";

         echo "</td>";

     }

     echo "</tr>\n";

 }

 echo "</table>";

Hosted by uCoz