В настоящее время пакет MySQL доступен в соответствии с лицензией Open Source, но в случае необходимости можно получить и коммерческие лицензии.
Приступая к созданию информационного сайта, можно использовать множество различных продуктов.
Возникает необходимость в выборе следующих компонентов:
· оборудование для Web-сервера;
· операционная система;
· программное обеспечение Web-сервера;
· система управления базами данных;
· язык программирования или создания сценариев.
Выбор некоторых из этих компонентов будет зависеть от уже произведенных выборов. Например, не все операционные системы могут работать на любом оборудовании, не все языки создания сценариев могут обеспечить подключение ко всем базам данных и т. д.
Одно из замечательных свойств РНР состоит в том, что он доступен для операционной системы Microsoft Windows, для многих версий UNIX и выполняется на любых полнофункциональных Web-серверах. Система MySQL обладает такой же степенью гибкости.
В число конкурентов РНР входят Perl, Active Server Pages (ASP) от Microsoft, Java Server Pages (JSP) и Allaire ColdFusion.
PHP обладает множеством преимуществ по сравнению с этими продуктами которых наиболее значительными являются:
· высокая производительность;
· наличие интерфейсов ко многим различным системам баз данных;
· встроенные библиотеки для выполнения многих общих задач, связанных с Web;
· низкая стоимость;
· простота изучения и использования;
· переносимость;
· доступность исходного кода.
Система РНР исключительно эффективна. Используя единственный недорогой сервер, можно обслуживать миллионы обращений в день. Результаты тестирования, опубликованные компанией Zend Technologies на своем официальном сайте http://www.zend.com, подтверждают более высокую производительность РНР по сравнению с конкурирующими продуктами.
РНР обладает встроенной возможностью подключения ко многим системам управления базами данных. В дополнение к MySQL, помимо прочих, можно непосредственно подключаться к базам данных PostgreSQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase и Sybase.
Используя стандарт открытого интерфейса связи с базами данных (Open Database Connectivity Standard— ODBC), можно подключаться к любой базе данных, для которой существует ODBC-драйвер. Это распространяется на продукты Microsoft и множества других компаний.
Поскольку РНР был разработан для использования в Web, он имеет множество встроенных функций для выполнения большого разнообразия полезных задач, связанных с Web. С его помощью можно на лету генерировать GIF-изображения, подключаться к другим сетевым службам, отправлять сообщения электронной почты, работать с cookie-наборами и генерировать PDF-документы — и все это при помощи всего нескольких строк кода.
Пакет РНР является бесплатным. Наиболее новую версию можно в любой момент, причем совершенно бесплатно, выгрузить из сайта по адресу http://www.php.net.
Синтаксис РНР основан на других языках программирования, в первую очередь С и Perl.
Пакет PHP можно использовать под управлением множества различных операционных систем. PHP-код можно разрабатывать в среде таких бесплатных Unix-подобных операционных систем, как Linux и FreeBSD, коммерческих версий Unix типа Solaris и IRIX или различных версий Microsoft Windows.
Как правило, программы будут работать без каких-либо изменений в различных средах, в которых установлен пакет РНР.
Пользователь имеет доступ к исходному коду РНР. В отличие от коммерческих закрытых программных продуктов, если нужно что-либо изменить или добавить в этом языке, то это всегда можно сделать.
Не следует дожидаться, пока компания-изготовитель выпустит пакет исправлений. Нет необходимости беспокоиться о том, что изготовитель покинет рынок или перестанет поддерживать продукт.
К конкурентам MySQL, помимо прочих, относятся PostgreSQL, Microsoft SQL Server и Oracle.
MySQL обладает многими преимуществами, в том числе высокой производительностью, низкой стоимостью, простотой конфигурирования и изучения, переносимостью и доступностью исходного кода.
MySQL, вне всяких сомнений, работает исключительно быстро. Результаты сравнительных тестов производительности, выполненных компанией-изготовителем, можно посмотреть на странице по адресу http://web.raysql.com/benchmark.html. Многие из этих сравнительных тестов показывают, что MySQL работает на порядок быстрее конкурирующих продуктов.
Пакет MySQL доступен бесплатно в соответствии с лицензией на программное обеспечение с открытым исходным кодом или, если это необходимо для приложения, за небольшую сумму можно приобрести коммерческую лицензию.
В большинстве современных баз данных используется язык SQL. Если ранее вы работали с другими СУРБД, переход к этой системе не должен вызывать какие-либо затруднения. Установка MySQL столь же проста, как и установка многих аналогичных продуктов.
MySQL может использоваться в среде многих UNIX-подобных систем, а также в среде Microsoft Windows.
Как и в случае РНР, исходный код MySQL можно свободно выгружать и изменять. [1]
Глава 2. Подсистема организации документооборота «InfoBeacon»
2.1. Архитектура и функциональность подсистемы
Давайте предположим, что в группу Web-разработчиков онлайн-издания некоторой компании входят хороший администратор-оформитель, редакторы тематических разделов и авторы статей. Сайт содержит регулярно обновляемые страницы новостей со всего мира, новостей и обзоров из сферы высоких технологий, спортивной и музыкальной рубрик. Главная страница отображает заголовки новейших статей по каждой из четырех категорий.
В этом онлайн-издании администратор-оформитель обеспечивает привлекательный вид содержимого, а также контролирует содержание материалов и безопасность системы в целом. С другой, стороны авторы пишут замечательные статьи, но не умеют толком оформлять свои работы для представления в Web.
Задача состоит в том, чтобы позволить каждому сконцентрироваться на своей работе и объединить результаты усилий, чтобы получилась оперативная служба новостей.
Основные требования, которые будут предъявляться к этой системе:
· увеличение продуктивности работы, позволив авторам сконцентрироваться на статьях, а дизайнеру - на оформлении;
· позволить редактору просматривать статьи и выбирать те, которые будут публиковаться;
· создать единообразный внешний вид сайта с использованием шаблонов страниц;
· предоставить авторам доступ только к предназначенным для них областям сайта;
· предотвратить изменение актуального содержимого.
Первым делом, необходимо продумать способ ввода содержимого в систему. Для этого существует три возможности.
1. FTP
Авторам и дизайнерам можно предоставить FTP-доступ к областям Web-сервера. Это позволит им загружать на сервер файлы со своих локальных компьютеров. Для загружаемых файлов потребуется выработать строгий стандарт именования (который позволит четко идентифицировать принадлежность изображений к тем или иным статьям). С другой стороны, можно воспользоваться основанной на Web системой, которая будет решать упомянутые задачи отдельно от загрузки файлов через FTP.
Использование FTP порождает проблему, связанную с выдачей полномочий. Необходимая степень гибкости не дает возможность применять FTP-протокол для предоставления пользователям функциональности по передаче файлов.
2. Метод загрузки файлов
HTTP-протокол предоставляет метод загрузки файлов при помощи Web-браузера. Язык РНР позволяет решать эту задачу очень просто и эффективно.
Кроме того, метод загрузки файлов дает возможность хранить текст в базе данных вместо файлов. Для этого выполняется чтение во временный файл и сохранение его содержимого в базе данных, а не копирование в другую область файловой системы.
3. Интерактивное редактирование
Пользователи должны иметь возможность, создавать и редактировать документы без задействования FTP-протокола либо другого метода загрузки файлов. Вместо этого авторам, например, можно предоставить большое текстовое поле, в котором они смогут редактировать содержимое своих статей.
Несмотря на относительную простоту этого метода, он зачастую оказывается весьма эффективным. Web-браузер не предоставляет каких-либо возможностей по редактированию текста, кроме лишь функций копирования и вставки, за реализацию которых отвечает операционная система. Однако, когда требуется внести лишь небольшие изменения, скажем, исправить орфографическую ошибку, при помощи подобных функций подобное осуществляется достаточно быстро. [1]
Как и при методе загрузки файлов, данные формы можно записать в файл либо сохранить в базе данных.
В нашем проекте реализуется как раз последний метод ввода содержимого в систему.
Итак, после того, как статья введена, ее можно отправить на редактирование. Для этого выбирается тематика статьи (в нашей системе это новости, компьютеры, спорт и музыка) и после этого материал отсылается соответствующему редактору. При входе редактора в систему у него появляется список статей, предназначенных для редактирования. Он может начать редактирование, написать сообщение автору статьи либо написать свою статью. При написании статью в чужой раздел у него будут права обычного автора на эту статью. Кстати, статью может редактировать и автор, пока редактор не нажмет ссылку «Готово». После нажатия этой ссылки статья становится недоступной ни для редактора, ни для автора. Она переходит в распоряжение администратора. Он может ее редактировать, удалить либо, что наиболее вероятно, опубликовать ее на сайте.
Из рис.3 видно, что на протяжении своего маршрута документ попадает к трем участника процесса документооборота. То есть весь процесс обработки документа можно условно разделить на три этапа: создание, редактирование и публикация. Однако это разделение, как и названия этапов, достаточно условны потому, что границы между этими этапами не такие конкретные, как может показаться с первого взгляда. Например, администратор имеет доступ к документу еще на этапе редактирования. Он может следить за ходом редактирования, а также имеет право сам править или даже удалить документ. На схеме это никак не указано, так как в общем-то это дополнительная функция системы и принципиально ничего не изменяет в архитектуре системы. Она только дает больше прав администратору.