Введение в программирование на PHP5

Основы Web-дизайна

Разбить на страницы
Показывать лекцию целиком

Контекст разработки Web

Многие люди являются "авторами" страниц Web, немногие являются "разработчиками" сайтов Web. Возможно, вы также присоединитесь к сообществу разработчиков.

Создание страницы Web

Сегодня создание страницы Web является не слишком трудной задачей. Многие стандартные программные пакеты персональных компьютеров обладают встроенными средствами для преобразования документов текстовых процессоров, электронных таблиц, баз данных и т.д. в специально кодированные документы, которые могут быть доступны в Web. Специальные пакеты для создания страниц Web, такие, как Microsoft FrontPage и Macromedia Dreamweaver, позволяют легко создавать страницы Web с помощью технологии перетаскивания (Drag-and-Drop). В большинстве таких случаев даже не нужно знать о существовании специального языка кодирования HTML (язык разметки гипертекста), который неявно все это обеспечивает.

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

Разработка Web

"Разработка" Web, в противоположность "созданию" страниц Web, выходит далеко за пределы использования кодов разметки и нескольких подключаемых модулей или метода сценариев для создания привлекательных или информативных страниц Web. Этот термин относится к использованию специальных стратегий, инструментов и методов для создания страниц Web и сайтов Web, характеризуемых как трехуровневые, клиент/серверные системы обработки информации. Давайте рассмотрим эти термины более подробно, чтобы понять разнообразие задач, для которых разрабатываются страницы и сайты Web.

Системы обработки информации

Технологии Web используются не только для создания персональных или рекламных сайтов Web, содержащих информативный, интересный или развлекательный материал для публичного потребления. Скорее они становятся важным средством поддержки фундаментальных "бизнес-процессов" современных организаций — поддерживающие операционные и управленческие функции. Технические инфраструктуры поддержки этих задач упрощенно делятся на три типа систем на основе Web, называемых системами интранет, интернет и экстранет.

Системы интранет

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

Системы интернет

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

Системы экстранет

Системы экстранет являются системами бизнес-для-бизнеса (B2B), которые управляют электронным обменом данными (EDI) между деловыми предприятиями. Эти системы обеспечивают информационный поток между организациями – между компанией и ее поставщиками и между компанией и ее сбытовыми организациями – чтобы помочь в координации последовательности закупки, производства и распространения. Электронный обмен данными помогает исключить бумажный поток, сопровождающий бизнес-транзакции, используя технологии Web для пересылки электронных документов между компьютерами, а не между людьми.

Как системы на основе Web приложения EDI устраняют трудности передачи информации между различными программными и аппаратными платформами с изначально различными информационными форматами и различными протоколами обмена информацией.

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

На основе Web

Термин "на основе Web" относится к тому факту, что системы обработки информации полагаются на технологию Интернет, в частности, на так называемую Всемирную паутину (WWW). Поэтому системы на основе Web действуют в технологических рамках со следующими характеристиками.

Первое: системы действуют в публичных, а не в частных сетях данных. Они осуществляют коммуникацию через Интернет, т.е. через распространенные по всему миру, взаимосвязанные сети компьютеров, которые являются публично доступными.

Второе: коммуникационные сети основываются на открытых и публичных технических стандартах, таких, как архитектуры Ethernet, протоколы передачи TCP/IP и протоколы приложений HTTP и FTP. Они не являются частными или патентованными стандартами, но являются принципиально открытыми и свободными для публичного использования.

Третье: системы обработки на основе Web используют широко распространенное, часто бесплатное, программное обеспечение для разработки и работы. Деятельность по обработке происходит с помощью браузеров Web, а не специально написанного программного обеспечения для интерфейса пользователя и для внешнего сбора данных и обработки. Браузеры Microsoft Internet Explorer, Mozilla Firefox, Opera, Netscape Navigator и другие являются средством взаимодействия пользователей с системами обработки информации. Также широко распространенные компьютеры серверов Web выполняют основные функции бизнес-обработки, а серверы баз данных обеспечивают хранение информации, доступ к ней и извлечение.

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

Трехслойная, клиент/серверная архитектура

Термин "клиент/сервер" относится к применению сетей на основе серверов для управления общим доступом к ресурсам и для распределения задач между аппаратными и программными компонентами. В клиент/серверных сетях на основе Web распределение задач обработки происходит в трех слоях, которые соответствуют трем основным компонентам оборудования/программного обеспечения системы.(рис 1.1) Аппаратные и программные слои трехслойной системы обработки информации

В первом слое (Tier 1) клиентский настольный ПК выполняет работу интерфейса пользователя системы; во втором слое (Tier 2) сервер Web выполняет основные функции системы по обработке; и в третьем слое (Tier 3) сервер базы данных, и в некоторых случаях медиа-сервер, осуществляет требуемые системе функции хранения и извлечения информации.

В свою очередь, каждый из трех аппаратных компонентов содержит соответствующее программное обеспечение. Клиентским программным обеспечением является браузер Web. Сервер Web выполняет сетевую операционную систему (NOS), такую, как Windows Server, Unix Server или Linux Server, и с помощью дополнительного программного обеспечения, например, Internet Information Server или Apache Web Server, реализует службы Интернет, — WWW, FTP, SMTP mail и другие. Сервер базы данных выполняет систему управления базой данных (DBMS), такую, как MySQL, Oracle, Access и другие популярные пакеты. Таким образом, отдельные компоненты выполняют отдельные задачи обработки, которые интегрируются с помощью Web в законченную систему обработки информации.

Рассмотрим, например, посещение Web-сайта е-коммерции, например, Amazon.com. Браузер Web является интерфейсом с сайтом. В ответ на различные "входящие" запросы, которые вы отправляете при просмотре продаваемых товаров, создаются различные страницы "вывода". Запросы вводятся в систему через ссылки Web и посылаемые формы, ответы системы создают страницы HTML, передаваемые назад браузеру для вывода на экране. Браузер выполняет действия по вводу и выводу, необходимые для взаимодействия с сайтом.

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

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

Даже в самых маленьких коммерческих системах на основе Web присутствуют такие же функции. Браузер Web предоставляет интерфейс пользователя с системой, специальные страницы обрабатывают бизнес транзакции, а одна или несколько баз данных поддерживают информацию, перемещающуюся в системе. Главное состоит в том, что в системах на основе Web любого размера существуют три основных слоя функциональности. Поэтому, с точки зрения разработчика Web, задача состоит в создании трех отдельных компонентов – интерфейса пользователя, процедур обработки бизнес-операций, и компонентов поддержки базы данных — и последующей интеграции в полностью функциональную систему обработки информации.

Навыки разработки Web

Разработка Web относится к использованию технологий Web для создания клиентских и серверных компонентов обработки, к интеграции их в качестве приложений в системах обработки интранет, интернет или экстранет, и к развертыванию их в Web для реализации частной и публичной деятельности организаций. Набор навыков для реализации этих задач простирается далеко за пределы способности сохранить страницы Web из программы текстового процессора, за пределы создания простого сайта Web с помощью перетаскивания в программном пакете настольного компьютера или даже за пределы жестко закодированных с помощью XHTML страниц c вкраплениями подключаемых модулей.

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

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

Модели систем Web

Исторически Всемирная паутина WWW функционировала просто как "система доставки информации". Люди привыкли использовать ее для сбора информации по всевозможным вопросам, для которых миллионы сайтов Web предоставили доступ. Однако со временем Web стала чем-то большим, чем просто электронной библиотекой информации. Она стала платформой коммуникации, информации и транзакций, на которой реализуется экономическая, социальная, политическая, образовательная и культурная деятельность.

Модель доставки информации

При функционировании в качестве системы доставки информации деятельность по разработке Web — достаточно простая и прямолинейная. Прежде всего, информационное содержимое вводится в документ, который со временем станет страницей Web. Это содержимое окружается специальными кодами компоновки и форматирования Языка разметки гипертекста (HTML) — в последнее время Расширяемого языка разметки гипертекста (XHTML) – для управления его структурой и представлением в браузере Web.

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

Существуют определенные последствия построения доступа к Web на модели доставки информации и в следовании традиционному процессу разработки Web. Прежде всего, информационное содержимое страницы Web "фиксируется" или "замораживается" в определенном месте. Оно становится встроенным и тесно связанным с кодами форматирования XHTML, которые его окружают. В связи с этим становится трудно изменять содержимое страницы, не переписывая и не редактируя его форматы представления. Поэтому затрудняется сохранение актуальности страниц, особенно если содержимое постоянно изменяется.

В то самое время авторам страниц Web зачастую необходимо быть знакомым с кодированием XHTML. Даже при использовании визуальных инструментов, таких, как FrontPage или Dreamweaver, автору может понадобиться специалист по кодированию, чтобы страница выглядела требуемым образом. "Эксперту" Web часто также бывает необходимо работать в тесном контакте с поставщиком контента, обеспечивая технические навыки для сопровождения страниц.

Для пользователей также имеются ограниченные возможности взаимодействия с традиционными страницами Web. Пользователь часто выступает в роли пассивного читателя контента, для которого сервер Web действует в качестве простого электронного "переворачивателя страниц". Поэтому сайт Web, создаваемый вокруг модели доставки информации, может стать статическим, пассивным хранилищем устаревшей информации. Страница Web рискует стать историческим архивом, а не своевременным, быстро реагирующим источником точной, самой свежей информации.

Модель обработки информации

Чтобы преодолеть это статическое, пассивное использование Web, возникает необходимость рассматривать Web не просто как систему доставки информации, но как полнофункциональную систему обработки информации. Это означает, что саму систему Web и составляющие ее сайты и страницы необходимо воспринимать как механизмы для выполнения полного набора действий по вводу, обработке, выводу и хранению, требуемых для создания динамического, активного контента, – короче, для обеспечения основных функций системы обработки информации.

(рис 1.2) Функции системы обработки информации

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

  • Функция ввода позволяет пользователям взаимодействовать с системой, запрашивая параметры обработки, управляя информационным доступом и определяя методы доставки. Кроме того, пользователь может стать источником данных, которые обрабатывает система и которые она поддерживает в своих репозиториях хранимой информации.
  • Функция обработки относится к деятельности по манипуляции данными и логике обработки, необходимых для выполнения работы системы. Этот термин предполагает, что система может "программироваться" для выполнения арифметических и логических операций, необходимых для манипуляции данными ввода и для создания выводимой информации.
  • Функция вывода доставляет результаты обработки пользователю в правильном, своевременном и соответствующим образом форматированном виде.
  • Функция хранения гарантирует продолжительность существования и целостность обрабатываемой информации, поддерживая ее в течение длительного периода времени и позволяя добавлять, изменять или удалять систематическим образом. В конечном счете, хранимая информация становится основным контентом страниц Web, отражая самую современную и точную информацию, появляющуюся на этих страницах.
  • С точки зрения обработки информации сама сеть Web функционирует как гигантская открытая компьютерная система, и фактически такой и является. Деятельность по обработке информации происходит на различных аппаратных и программных компонентах, расположенных в одном месте или разбросанных по всему миру.

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

    Присваивание функций компонентам

    Возвращаясь к понятию трехслойной, клиент/серверной системы, посмотрим, как аппаратные компоненты, программные компоненты, и функции обработки связаны друг с другом с точки зрения обработки информации. Вспомните, что аппаратные компоненты в трехслойной среде состоят из компьютера клиента Web (настольного ПК), компьютера сервера Web, и сервера базы данных. Каждый из этих трех аппаратных компонентов выполняет соответствующее программное обеспечение. Теперь можно отобразить функции обработки информации на эти три слоя оборудования/программ.

    (рис 1.3) Функции системы обработки информации, отображенные в трехслойную систему клиент/сервер

    Все функции ввода и вывода попадают в основном в клиентскую машину Web. Такая деятельность интерфейса пользователя, как ввод данных, проверка данных, управление обработкой и форматирование вывода, выполняются на клиенте Web.

    Основная деятельность по обработке информации падает на сервер Web, называемый иногда сервером приложений Web. Здесь программируются арифметические и логические процедуры для выполнения задач системы по бизнес обработке.

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

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

    Разработка приложений Web

    Рассмотрение Web как трехслойной, клиент/серверной системы обработки информации имеет важные последствия для разработки приложений Web. Вчерашний "создатель страницы Web" становится сегодня "разработчиком системы Web". Теперь недостаточно иметь пакет разработчика, состоящий из редактора WYSIWYG и базовых навыков XHTML. Необходимо стать широко образованным в более разнообразном множестве технологий. Внизу на следующей расширенной схеме трехслойной системы указаны некоторые навыки и инструменты, необходимые для проектирования и программирования систем на основе Web, которые обслуживают деятельность по обработке информации.

    (рис 1.4) Навыки разработки Web, требуемые для создания трехслойных клиент/серверных приложений на основе Web

    Системный ввод и вывод

    Так как функция интерфейса пользователя осуществляется через браузер Web, выполняющийся на клиентском ПК, необходимо использовать инструменты разработки приложений, которые позволяют программировать браузер для выполнения задач форматирования вывода, ввода данных и проверки данных. Для этого требуются, конечно, языки разметки, такие, как XHTML и CSS (Каскадные таблицы стилей), для структуризации и представления системного ввода и вывода. Растет важность расширений языков разметки, например, DHTML (Dynamic HTML) для взаимодействия пользователей со страницей Web и XML (Расширяемый язык разметки) для представления структур данных, которые доставляются сервером для обработки в браузере. Также основным языком программирования для браузера является JavaScript, который используется для манипуляции языками разметки и структурами данных для выполнения задач браузера по обработке.

    Системная обработка

    На стороне сервера Web необходимо иметь возможность писать приложения для выполнения основных задач системы по обработке. Для кодирования этих процедур используются серверные языки, такие, как PHP. С одной стороны, эти языки применяются как полноценные языки программирования для кодирования арифметических и логических операций обработки, с другой — они используют встроенные компоненты серверной обработки для выполнения основных и вспомогательных задач системы. PHP является широко распространенным языком сценариев общего назначения, который особенно хорошо подходит для разработки Web и может встраиваться в XHTML.

    Управление базой данных

    На стороне сервера базы данных такие языки, как SQL (Язык структурированных запросов), выполняют функции сохранения данных, их обслуживания и доступа. Кроме того, языки программирования базы данных используются для кодирования командных процедур, которые являются функциями обработки, хранимыми в базах данных, для извлечения, обновления и создания отчетов о содержимом баз данных. Серверные языки могут вызывать эти встроенные процедуры баз данных для выполнения соответствующей обработки, а не кодировать их непосредственно. Все большую важность в хранении данных и электронном обмене данными приобретают структуры данных XML.

    Иногда на разработку Web смотрят упрощенно с чисто технической точки зрения, забывая, что это является также разработкой системы. Разработчик должен понимать организационные структуры и процессы. Прежде всего, система на основе Web является бизнес-процессом. Если не понимать суть процессов, то маловероятно, что можно будет разработать системы для их реализации или поддержки. Разработка Web является также реализацией некоторой интеграции. Задача состоит в том, чтобы объединить совокупность оборудования, программного обеспечения, людей и процедур для выполнения некоторой деятельности. Поэтому системный подход является критически важным для соединения всех частей вместе во что-то функциональное, продуктивное, экономичное и дружественное. Наконец, разработка Web является в большой степени творческим предприятием. Очень часто работа состоит в разработке чего-то нового там, где ничего перед этим не существовало. Вместо следования директивам хорошо продуманных планов, ваше воображение создает эти планы, а художник внутри вас их воплощает. Управляемый полет фантазии хорошо служит разработке Web.

    Разработчику Web требуется поэтому творческое воображение, организаторское чутье и обширный набор навыков для создания приложений Web, которые обслуживают потребности информационной обработки. Разработчик не обязан быть экспертом высокого уровня во всех языках и программных инструментах; но необходимо иметь хорошее представление об их использовании.

    Программное обеспечение учебника

    В этом учебнике представлено основное подмножество инструментов, необходимых для создания динамических, интерактивных сайтов Web. На стороне браузера применяются и описываются XHTML, CSS, JavaScript для редактирования данных, и динамический HTML. В качестве языка сценариев сервера используется PHP. Также описываются встроенные функции PHP, необходимые для выполнения функций ввода, обработки, вывода и хранения. На стороне базы данных представлены примеры для Microsoft Access, и описаны основные принципы использования языка SQL.

    Даже при отсутствии достаточного доступа к этим технологиям, необходимо уметь следовать инструкциям и начать создавать свои собственные динамические приложения Web. Необходимо, конечно, разбираться в программировании: разработчик Web, прежде всего, является программистом. Предполагается, что читатель хорошо знаком с Visual Basic. Необходимо также иметь навыки работы с XHTML и быть знакомым с каскадными таблицами стилей.

    Язык PHP

    PHP означает Препроцессор гипертекста PHP. Это серверный язык программирования, созданный специально для динамических страниц Web. Язык был первоначально разработан в 1994 г. Расмусом Лердорфом и был с тех пор расширен, чтобы стать одним из наиболее популярных языков сценариев WWW. Согласно статистике Netcraft в 2005 г. PHP использовался более чем на 23000000 доменах. Подобно другим типам серверных языков, таких, как ASP, ASP.NET и JSP, код PHP обрабатывается на сервере Web и создает код XHTML или другой вывод, который можно увидеть в браузере. В отличие от других серверных языков, PHP является продуктом с открытым исходным кодом — это означает, что каждый имеет доступ к исходному коду и может использовать, изменять и распространять его полностью бесплатно.

    Текущая версия PHP, рассматриваемая в учебнике, имеет номер 5. Этот учебник, несомненно, не является полным изложением языка PHP. Он должен только продемонстрировать некоторые наиболее широко используемые свойства и приложения PHP.

    Систему PHP5 можно применять практически с любым типом операционной системы и сервера Web. Однако, чтобы сценарии PHP были обработаны, должен быть установлен интерпретатор PHP. Это программное обеспечение доступно в двух формах – полный исходный код и исполняемые двоичные файлы. Большинство систем Linux поставляются с исходным кодом PHP. Для систем, отличных от Unix/Linux, двоичные файлы можно загрузить по адресу http://www.php.net/downloads.php.

    Дополнительную информацию о PHP можно найти на сайте http://www.php.net.

    Страницы:

    Контекст разработки Web

    Многие люди являются "авторами" страниц Web, немногие являются "разработчиками" сайтов Web. Возможно, вы также присоединитесь к сообществу разработчиков.

    Создание страницы Web

    Сегодня создание страницы Web является не слишком трудной задачей. Многие стандартные программные пакеты персональных компьютеров обладают встроенными средствами для преобразования документов текстовых процессоров, электронных таблиц, баз данных и т.д. в специально кодированные документы, которые могут быть доступны в Web. Специальные пакеты для создания страниц Web, такие, как Microsoft FrontPage и Macromedia Dreamweaver, позволяют легко создавать страницы Web с помощью технологии перетаскивания (Drag-and-Drop). В большинстве таких случаев даже не нужно знать о существовании специального языка кодирования HTML (язык разметки гипертекста), который неявно все это обеспечивает.

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

    Разработка Web

    "Разработка" Web, в противоположность "созданию" страниц Web, выходит далеко за пределы использования кодов разметки и нескольких подключаемых модулей или метода сценариев для создания привлекательных или информативных страниц Web. Этот термин относится к использованию специальных стратегий, инструментов и методов для создания страниц Web и сайтов Web, характеризуемых как трехуровневые, клиент/серверные системы обработки информации. Давайте рассмотрим эти термины более подробно, чтобы понять разнообразие задач, для которых разрабатываются страницы и сайты Web.

    Системы обработки информации

    Технологии Web используются не только для создания персональных или рекламных сайтов Web, содержащих информативный, интересный или развлекательный материал для публичного потребления. Скорее они становятся важным средством поддержки фундаментальных "бизнес-процессов" современных организаций — поддерживающие операционные и управленческие функции. Технические инфраструктуры поддержки этих задач упрощенно делятся на три типа систем на основе Web, называемых системами интранет, интернет и экстранет.

    Системы интранет

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

    Системы интернет

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

    Системы экстранет

    Системы экстранет являются системами бизнес-для-бизнеса (B2B), которые управляют электронным обменом данными (EDI) между деловыми предприятиями. Эти системы обеспечивают информационный поток между организациями – между компанией и ее поставщиками и между компанией и ее сбытовыми организациями – чтобы помочь в координации последовательности закупки, производства и распространения. Электронный обмен данными помогает исключить бумажный поток, сопровождающий бизнес-транзакции, используя технологии Web для пересылки электронных документов между компьютерами, а не между людьми.

    Как системы на основе Web приложения EDI устраняют трудности передачи информации между различными программными и аппаратными платформами с изначально различными информационными форматами и различными протоколами обмена информацией.

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

    На основе Web

    Термин "на основе Web" относится к тому факту, что системы обработки информации полагаются на технологию Интернет, в частности, на так называемую Всемирную паутину (WWW). Поэтому системы на основе Web действуют в технологических рамках со следующими характеристиками.

    Первое: системы действуют в публичных, а не в частных сетях данных. Они осуществляют коммуникацию через Интернет, т.е. через распространенные по всему миру, взаимосвязанные сети компьютеров, которые являются публично доступными.

    Второе: коммуникационные сети основываются на открытых и публичных технических стандартах, таких, как архитектуры Ethernet, протоколы передачи TCP/IP и протоколы приложений HTTP и FTP. Они не являются частными или патентованными стандартами, но являются принципиально открытыми и свободными для публичного использования.

    Третье: системы обработки на основе Web используют широко распространенное, часто бесплатное, программное обеспечение для разработки и работы. Деятельность по обработке происходит с помощью браузеров Web, а не специально написанного программного обеспечения для интерфейса пользователя и для внешнего сбора данных и обработки. Браузеры Microsoft Internet Explorer, Mozilla Firefox, Opera, Netscape Navigator и другие являются средством взаимодействия пользователей с системами обработки информации. Также широко распространенные компьютеры серверов Web выполняют основные функции бизнес-обработки, а серверы баз данных обеспечивают хранение информации, доступ к ней и извлечение.

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

    Трехслойная, клиент/серверная архитектура

    Термин "клиент/сервер" относится к применению сетей на основе серверов для управления общим доступом к ресурсам и для распределения задач между аппаратными и программными компонентами. В клиент/серверных сетях на основе Web распределение задач обработки происходит в трех слоях, которые соответствуют трем основным компонентам оборудования/программного обеспечения системы.(рис 1.1) Аппаратные и программные слои трехслойной системы обработки информации

    В первом слое (Tier 1) клиентский настольный ПК выполняет работу интерфейса пользователя системы; во втором слое (Tier 2) сервер Web выполняет основные функции системы по обработке; и в третьем слое (Tier 3) сервер базы данных, и в некоторых случаях медиа-сервер, осуществляет требуемые системе функции хранения и извлечения информации.

    В свою очередь, каждый из трех аппаратных компонентов содержит соответствующее программное обеспечение. Клиентским программным обеспечением является браузер Web. Сервер Web выполняет сетевую операционную систему (NOS), такую, как Windows Server, Unix Server или Linux Server, и с помощью дополнительного программного обеспечения, например, Internet Information Server или Apache Web Server, реализует службы Интернет, — WWW, FTP, SMTP mail и другие. Сервер базы данных выполняет систему управления базой данных (DBMS), такую, как MySQL, Oracle, Access и другие популярные пакеты. Таким образом, отдельные компоненты выполняют отдельные задачи обработки, которые интегрируются с помощью Web в законченную систему обработки информации.

    Рассмотрим, например, посещение Web-сайта е-коммерции, например, Amazon.com. Браузер Web является интерфейсом с сайтом. В ответ на различные "входящие" запросы, которые вы отправляете при просмотре продаваемых товаров, создаются различные страницы "вывода". Запросы вводятся в систему через ссылки Web и посылаемые формы, ответы системы создают страницы HTML, передаваемые назад браузеру для вывода на экране. Браузер выполняет действия по вводу и выводу, необходимые для взаимодействия с сайтом.

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

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

    Даже в самых маленьких коммерческих системах на основе Web присутствуют такие же функции. Браузер Web предоставляет интерфейс пользователя с системой, специальные страницы обрабатывают бизнес транзакции, а одна или несколько баз данных поддерживают информацию, перемещающуюся в системе. Главное состоит в том, что в системах на основе Web любого размера существуют три основных слоя функциональности. Поэтому, с точки зрения разработчика Web, задача состоит в создании трех отдельных компонентов – интерфейса пользователя, процедур обработки бизнес-операций, и компонентов поддержки базы данных — и последующей интеграции в полностью функциональную систему обработки информации.

    Навыки разработки Web

    Разработка Web относится к использованию технологий Web для создания клиентских и серверных компонентов обработки, к интеграции их в качестве приложений в системах обработки интранет, интернет или экстранет, и к развертыванию их в Web для реализации частной и публичной деятельности организаций. Набор навыков для реализации этих задач простирается далеко за пределы способности сохранить страницы Web из программы текстового процессора, за пределы создания простого сайта Web с помощью перетаскивания в программном пакете настольного компьютера или даже за пределы жестко закодированных с помощью XHTML страниц c вкраплениями подключаемых модулей.

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

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

    Модели систем Web

    Исторически Всемирная паутина WWW функционировала просто как "система доставки информации". Люди привыкли использовать ее для сбора информации по всевозможным вопросам, для которых миллионы сайтов Web предоставили доступ. Однако со временем Web стала чем-то большим, чем просто электронной библиотекой информации. Она стала платформой коммуникации, информации и транзакций, на которой реализуется экономическая, социальная, политическая, образовательная и культурная деятельность.

    Модель доставки информации

    При функционировании в качестве системы доставки информации деятельность по разработке Web — достаточно простая и прямолинейная. Прежде всего, информационное содержимое вводится в документ, который со временем станет страницей Web. Это содержимое окружается специальными кодами компоновки и форматирования Языка разметки гипертекста (HTML) — в последнее время Расширяемого языка разметки гипертекста (XHTML) – для управления его структурой и представлением в браузере Web.

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

    Существуют определенные последствия построения доступа к Web на модели доставки информации и в следовании традиционному процессу разработки Web. Прежде всего, информационное содержимое страницы Web "фиксируется" или "замораживается" в определенном месте. Оно становится встроенным и тесно связанным с кодами форматирования XHTML, которые его окружают. В связи с этим становится трудно изменять содержимое страницы, не переписывая и не редактируя его форматы представления. Поэтому затрудняется сохранение актуальности страниц, особенно если содержимое постоянно изменяется.

    В то самое время авторам страниц Web зачастую необходимо быть знакомым с кодированием XHTML. Даже при использовании визуальных инструментов, таких, как FrontPage или Dreamweaver, автору может понадобиться специалист по кодированию, чтобы страница выглядела требуемым образом. "Эксперту" Web часто также бывает необходимо работать в тесном контакте с поставщиком контента, обеспечивая технические навыки для сопровождения страниц.

    Для пользователей также имеются ограниченные возможности взаимодействия с традиционными страницами Web. Пользователь часто выступает в роли пассивного читателя контента, для которого сервер Web действует в качестве простого электронного "переворачивателя страниц". Поэтому сайт Web, создаваемый вокруг модели доставки информации, может стать статическим, пассивным хранилищем устаревшей информации. Страница Web рискует стать историческим архивом, а не своевременным, быстро реагирующим источником точной, самой свежей информации.

    Модель обработки информации

    Чтобы преодолеть это статическое, пассивное использование Web, возникает необходимость рассматривать Web не просто как систему доставки информации, но как полнофункциональную систему обработки информации. Это означает, что саму систему Web и составляющие ее сайты и страницы необходимо воспринимать как механизмы для выполнения полного набора действий по вводу, обработке, выводу и хранению, требуемых для создания динамического, активного контента, – короче, для обеспечения основных функций системы обработки информации.

    (рис 1.2) Функции системы обработки информации

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

  • Функция ввода позволяет пользователям взаимодействовать с системой, запрашивая параметры обработки, управляя информационным доступом и определяя методы доставки. Кроме того, пользователь может стать источником данных, которые обрабатывает система и которые она поддерживает в своих репозиториях хранимой информации.
  • Функция обработки относится к деятельности по манипуляции данными и логике обработки, необходимых для выполнения работы системы. Этот термин предполагает, что система может "программироваться" для выполнения арифметических и логических операций, необходимых для манипуляции данными ввода и для создания выводимой информации.
  • Функция вывода доставляет результаты обработки пользователю в правильном, своевременном и соответствующим образом форматированном виде.
  • Функция хранения гарантирует продолжительность существования и целостность обрабатываемой информации, поддерживая ее в течение длительного периода времени и позволяя добавлять, изменять или удалять систематическим образом. В конечном счете, хранимая информация становится основным контентом страниц Web, отражая самую современную и точную информацию, появляющуюся на этих страницах.
  • С точки зрения обработки информации сама сеть Web функционирует как гигантская открытая компьютерная система, и фактически такой и является. Деятельность по обработке информации происходит на различных аппаратных и программных компонентах, расположенных в одном месте или разбросанных по всему миру.

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

    Присваивание функций компонентам

    Возвращаясь к понятию трехслойной, клиент/серверной системы, посмотрим, как аппаратные компоненты, программные компоненты, и функции обработки связаны друг с другом с точки зрения обработки информации. Вспомните, что аппаратные компоненты в трехслойной среде состоят из компьютера клиента Web (настольного ПК), компьютера сервера Web, и сервера базы данных. Каждый из этих трех аппаратных компонентов выполняет соответствующее программное обеспечение. Теперь можно отобразить функции обработки информации на эти три слоя оборудования/программ.

    (рис 1.3) Функции системы обработки информации, отображенные в трехслойную систему клиент/сервер

    Все функции ввода и вывода попадают в основном в клиентскую машину Web. Такая деятельность интерфейса пользователя, как ввод данных, проверка данных, управление обработкой и форматирование вывода, выполняются на клиенте Web.

    Основная деятельность по обработке информации падает на сервер Web, называемый иногда сервером приложений Web. Здесь программируются арифметические и логические процедуры для выполнения задач системы по бизнес обработке.

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

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

    Разработка приложений Web

    Рассмотрение Web как трехслойной, клиент/серверной системы обработки информации имеет важные последствия для разработки приложений Web. Вчерашний "создатель страницы Web" становится сегодня "разработчиком системы Web". Теперь недостаточно иметь пакет разработчика, состоящий из редактора WYSIWYG и базовых навыков XHTML. Необходимо стать широко образованным в более разнообразном множестве технологий. Внизу на следующей расширенной схеме трехслойной системы указаны некоторые навыки и инструменты, необходимые для проектирования и программирования систем на основе Web, которые обслуживают деятельность по обработке информации.

    (рис 1.4) Навыки разработки Web, требуемые для создания трехслойных клиент/серверных приложений на основе Web

    Системный ввод и вывод

    Так как функция интерфейса пользователя осуществляется через браузер Web, выполняющийся на клиентском ПК, необходимо использовать инструменты разработки приложений, которые позволяют программировать браузер для выполнения задач форматирования вывода, ввода данных и проверки данных. Для этого требуются, конечно, языки разметки, такие, как XHTML и CSS (Каскадные таблицы стилей), для структуризации и представления системного ввода и вывода. Растет важность расширений языков разметки, например, DHTML (Dynamic HTML) для взаимодействия пользователей со страницей Web и XML (Расширяемый язык разметки) для представления структур данных, которые доставляются сервером для обработки в браузере. Также основным языком программирования для браузера является JavaScript, который используется для манипуляции языками разметки и структурами данных для выполнения задач браузера по обработке.

    Системная обработка

    На стороне сервера Web необходимо иметь возможность писать приложения для выполнения основных задач системы по обработке. Для кодирования этих процедур используются серверные языки, такие, как PHP. С одной стороны, эти языки применяются как полноценные языки программирования для кодирования арифметических и логических операций обработки, с другой — они используют встроенные компоненты серверной обработки для выполнения основных и вспомогательных задач системы. PHP является широко распространенным языком сценариев общего назначения, который особенно хорошо подходит для разработки Web и может встраиваться в XHTML.

    Управление базой данных

    На стороне сервера базы данных такие языки, как SQL (Язык структурированных запросов), выполняют функции сохранения данных, их обслуживания и доступа. Кроме того, языки программирования базы данных используются для кодирования командных процедур, которые являются функциями обработки, хранимыми в базах данных, для извлечения, обновления и создания отчетов о содержимом баз данных. Серверные языки могут вызывать эти встроенные процедуры баз данных для выполнения соответствующей обработки, а не кодировать их непосредственно. Все большую важность в хранении данных и электронном обмене данными приобретают структуры данных XML.

    Иногда на разработку Web смотрят упрощенно с чисто технической точки зрения, забывая, что это является также разработкой системы. Разработчик должен понимать организационные структуры и процессы. Прежде всего, система на основе Web является бизнес-процессом. Если не понимать суть процессов, то маловероятно, что можно будет разработать системы для их реализации или поддержки. Разработка Web является также реализацией некоторой интеграции. Задача состоит в том, чтобы объединить совокупность оборудования, программного обеспечения, людей и процедур для выполнения некоторой деятельности. Поэтому системный подход является критически важным для соединения всех частей вместе во что-то функциональное, продуктивное, экономичное и дружественное. Наконец, разработка Web является в большой степени творческим предприятием. Очень часто работа состоит в разработке чего-то нового там, где ничего перед этим не существовало. Вместо следования директивам хорошо продуманных планов, ваше воображение создает эти планы, а художник внутри вас их воплощает. Управляемый полет фантазии хорошо служит разработке Web.

    Разработчику Web требуется поэтому творческое воображение, организаторское чутье и обширный набор навыков для создания приложений Web, которые обслуживают потребности информационной обработки. Разработчик не обязан быть экспертом высокого уровня во всех языках и программных инструментах; но необходимо иметь хорошее представление об их использовании.

    Программное обеспечение учебника

    В этом учебнике представлено основное подмножество инструментов, необходимых для создания динамических, интерактивных сайтов Web. На стороне браузера применяются и описываются XHTML, CSS, JavaScript для редактирования данных, и динамический HTML. В качестве языка сценариев сервера используется PHP. Также описываются встроенные функции PHP, необходимые для выполнения функций ввода, обработки, вывода и хранения. На стороне базы данных представлены примеры для Microsoft Access, и описаны основные принципы использования языка SQL.

    Даже при отсутствии достаточного доступа к этим технологиям, необходимо уметь следовать инструкциям и начать создавать свои собственные динамические приложения Web. Необходимо, конечно, разбираться в программировании: разработчик Web, прежде всего, является программистом. Предполагается, что читатель хорошо знаком с Visual Basic. Необходимо также иметь навыки работы с XHTML и быть знакомым с каскадными таблицами стилей.

    Язык PHP

    PHP означает Препроцессор гипертекста PHP. Это серверный язык программирования, созданный специально для динамических страниц Web. Язык был первоначально разработан в 1994 г. Расмусом Лердорфом и был с тех пор расширен, чтобы стать одним из наиболее популярных языков сценариев WWW. Согласно статистике Netcraft в 2005 г. PHP использовался более чем на 23000000 доменах. Подобно другим типам серверных языков, таких, как ASP, ASP.NET и JSP, код PHP обрабатывается на сервере Web и создает код XHTML или другой вывод, который можно увидеть в браузере. В отличие от других серверных языков, PHP является продуктом с открытым исходным кодом — это означает, что каждый имеет доступ к исходному коду и может использовать, изменять и распространять его полностью бесплатно.

    Текущая версия PHP, рассматриваемая в учебнике, имеет номер 5. Этот учебник, несомненно, не является полным изложением языка PHP. Он должен только продемонстрировать некоторые наиболее широко используемые свойства и приложения PHP.

    Систему PHP5 можно применять практически с любым типом операционной системы и сервера Web. Однако, чтобы сценарии PHP были обработаны, должен быть установлен интерпретатор PHP. Это программное обеспечение доступно в двух формах – полный исходный код и исполняемые двоичные файлы. Большинство систем Linux поставляются с исходным кодом PHP. Для систем, отличных от Unix/Linux, двоичные файлы можно загрузить по адресу http://www.php.net/downloads.php.

    Дополнительную информацию о PHP можно найти на сайте http://www.php.net.

    Вернуться к учебному плану