.:Публикации:. [www.karlson.ru]


Вперед: 1.2 Компоненты, используемые при Вверх: Глава 1. Среда разработки Назад: Глава 1. Среда разработки   Содержание

1.1 Компоненты, используемые при разработке информационной системы WebOs Frontpage

Abstract:

Прежде чем приступить к разработке самой системы, всегда следует выбрать базу. То есть те компоненты, которые можно считать подходящими к использованию в работе, опорную структуру разработки. В качестве такой базы были выбраны Linux, PHP, Perl, MySql. Далее дано обоснование выбора, а так же возможность легкой взаимозаменяемости компонент.

На самом деле создание работоспособных и полезных динамических WWW-сайтов -- вовсе не такая сложная задача, какой она может показаться при взгляде на работы, в которых описывается использование CGI. На самом деле подобная работа больше всего напоминает игру The Incredible Machines (по крайней мере при использовании ОС Linux). Если помните, то там кремнем высекают искру для того, чтобы свет упал на солнечную батарею и сработал сверхсовременный компьютер. Вот и при создании WWW-сайта вы, как правило, собираете все из компонентов, которые оказались под рукой. В качестве основного языка программирования для создания рабочих программ на www-сайтах был выбран PHP 4. PHP был задуман в конце 1994 года Расмусом Лердорфом. Первая версия вышла в начале 1995 года и называлась Personal Home Page Tools. Это был очень простой интерпретатор, понимающий только ограниченное число макросов и утилит, которые в те времена были часто используемы в домашних страничках. В середине 1995 года интерпретатор был переписан и назван PHP/FI Personal Home Pages and Forms Interpreter (ранее отдельный проект Расмуса -- интерпретатор HTML3 форм). В интерпретатор была добавлена поддержка mSQL, вследствие чего появился PHP/FI 2.0, и различные программисты со всего мира стали добавлять свои модули к нему. В 1996 году PHP/FI использовался примерно на 15000 сайтах по всему миру, в середине 1997 -- уже на 50000. В это же время PHP снова изменился -- он перестал быть проектом Расмуса и стал поддерживаться организованной группой программистов, среди которых были такие люди, как Зеев Сураский и Анди Гутманс. В середине 1998 года число серверов использующих PHP (теперь Professional Home Pages 3.x) выросло до 150000. Здесь многие зададут вопрос: а почему не perl ? Действительно, perl традиционно считается рабочей лошадкой для создания www-сайтов, но у него тоже есть свои недостатки. Прежде всего "интерпретатор" perl -- существенно более сложная программа, нежели интерпретатор PHP и требует больших ресурсов компьютера для своей работы. Далее, "интерпретатор" perl не является истинным интерпретатором: на самом деле он является компилятором, однако компилирует в специализированный псевдокод, который затем немедленно исполняется. Если в программе есть циклы, то это может являться существенным выигрышем, но если их нет (как это часто бывает в простых скриптах для www-сервера), то это будет являться уже скорее недостатком. Применение mod_perl позволяет избежать многократной перекомпиляции скриптов, но взамен еще больше возрастают потребности в памяти сервера. Из этого видно, что для наших web-систем в целом PHP даст выигрыш в производительности, и поэтому ту часть системы WebOS, которая является web-системой было решено разрабатывать на PHP. Итак, что такое PHP ? PHP -- язык для создания "активных" страниц. Как и JavaScript, VBScript или ASP, программа PHP вставляется в текст HTML файла заключенной специальные скобки (в случае client-side JavaScript это <script language="JavaScript"> и </script>, в случае server-side JavaScript это <server> и </server>, в случае VBScript это <script language="VBScript"> и </script>, в случае ASP это <% и %> и, наконец, в случае PHP это <?PHP и ?>). Все, что окажется вне этих скобок, не будет интерпретироваться PHP, а будет передано "как есть" и подвергнется интерпретации обозревателем Интернета. Синтаксис PHP основан на C, Java и Perl и достаточно подробно описан в документации, которая входит в комплект поставки, и также может быть найден на http://www.php.net/ ... Способ, с помощью которого можно заставить сервер воспринимать файл не просто как HTML файл, а как динамический HTML файл со вставками на PHP, может меняться в зависимости от сервера, но, как правило, для этого достаточно дать файлу расширение .php PHP может действительно многое. Работать с HTTP4 cookies5 и HTTP authentication, создавать на лету картинки (с модулем GD или ImageMagic, в том числе используя True Type шрифты (c модулем FreeType), работать с формами и закачкой файлов, работать с входящей почтой (с модулем Imap), а так же посылать исходящую, работать с файлами, поддерживать обработку ошибок, и многое другое. Однако основной силой PHP считается модуль поддержки баз данных. Поддерживаются (как напрямую, так и через ODBC):

  • Adabas D
  • Oracle
  • dBase
  • PostgreSQL
  • FilePro
  • Solid
  • Informix
  • Sybase
  • InterBase
  • Velocis
  • mSQL
  • Unix dbm
  • MySQL
Подробнее о PHP на русском языке можно прочитать обзор данный в публикации [6] и на web-сервере PHP [2]. Для хранения практически любой информации в наших программах будет использоваться SQL сервер. Это происходит в результате использования фактически одной программы на несколько пользователей. Применение файлов ОС для хранения данных практически не реально: функции разделения использования будет в нашем случае недостаточно. В качестве SQL сервера был выбран MySQL. MySQL -- это многопользовательский, многопоточный SQL сервер. Основными достоинствами MySQL являются быстрота, надежность и простота использования. Несмотря на то, что MySQL не предоставляет такой широкий набор возможностей, как, скажем, Oracle, тем не менее его использование представляется рациональным из-за значительно меньших требований к мощности оборудования и значительно более высокой скорости работы. Подробнее о MySQL можно прочитать на web-сервере MySQL [3] Так же следует подчеркнуть, что для Unix и OS/2 MySQL свободно-распространяем (хотя и не в рамках GPL -- GNU General Public License). PHP -- свободно распространяем в рамках лицензии GPL под все платформы, включая win32, как и www-сервер Apache. Заметим так же, что использование технологии PHP совместно с Apache и MySQL так же разумно с точки зрения переносимости. Традиционно считается, что лучшим языком программирования для обеспечения переносимости является Java, однако это больше результат массированной рекламной кампании Sun Microsystems, чем результат реальной переносимости языка Java. Хочется задать вопрос откуда и куда переносима Java, когда официальная версия выпускается только для Solaris и Win32. В отличие от этого все компоненты нашей системы свободно работают на практически всех клонах Unix, OS/2 и Win32. В рамках всего вышесказанного, использование www-сервера Apache оказывается уже совсем очевидным решением. Во-первых, это сервер очень надежен, легок и мал по размеру (конечно, все относительно, но дистрибутив последних версий Apache для Linux занимает около 1,5 Mb, то есть примерно столько же, сколько Microsoft Personal Web Server для Windows, но вот какова разница в возможностях -- Apache является профессиональным www-сервером с полноценными возможностями, а Personal Web Server умеет только передавать чистый HTML), переносим на большинство платформ и свободно-распространяем. Во-вторых, этот сервер опробован на большинстве www-серверов сети Интернет -- более 50 процентов по наиболее полной сетевой статистике от компании Netcraft http://www.netcraft.com. Подробнее о web-сервере Apache можно прочитать на web-сервере Apache [4] В качестве операционной системы на сервере была выбрана ОС Linux, из-за открытости, быстроты, компактности, надежности, свободности распространения, переносимости на различные платформы и растущей популярности системы. Существующие дистрибутивы этой ОС сильнейшим образом различаются по комплектации -- так что, возможно, выбранные выше компоненты придется самостоятельно получать из Интернет, компилировать и устанавливать самому, а возможно нет. В работе использовалась версия дистрибутива KSI Linux 3.0 (http://www.ksi-linux.com/), поскольку в нее входят все перечисленные компоненты и поскольку ознакомление с ним прошло наиболее полно (путем принятия участия в разработке).

Вперед: 1.2 Компоненты, используемые при Вверх: Глава 1. Среда разработки Назад: Глава 1. Среда разработки   Содержание

...домик на крыше...,поиск,гостевая книга,cv. Be free, use Linux!