Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Новинки компьютерных книг Active Server Pages 3.0 на примерах


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Active Server Pages 3.0 на примерах

Николас Чейз

 
Библиография

Информацию, необходимую для изучения Active Server Pages (ASP), вполне можно найти в Web. Причем этого будет достаточно, чтобы понять основную суть технологии, а для действительного же освоения ASP лучше выполнить реальный проект. Именно это вам и предстоит сделать в процессе изучения материала данной книги. Вместо того чтобы заниматься отвлеченной теорией, вы создадите Web-узел для (воображаемого) журнала научной фантастики Primary Outpost. В ASP можно выполнят ь чрезвычайно сложные вещи, но это не значит, что настоящая книга охватывает абсолютно все. В процессе разработки проекта вы изучите основы электронной коммерции, получите основные сведения об объектах (в том числе встроенных объектах ASP), научитесь использовать компоненты ActiveX, узнаете, как получить доступ к базам данных, освоите язык VBScript и азы HTML, а также познакомитесь с cookies и другими не менее интересными технологиями.
Книга предназначена для пользователей с различным уровнем подготовки.

Об авторе

Николас Чейз (Nicholas Chase) работал над созданием Web-узлов для таких компаний, как Lucent Technologies, Sun Microsystems, Oracle Corporation и Tampa Bay Buccaneers. Свою первую учетную запись электронной почты он получил в 1989 году, а до того как погрузиться в Web, он работал физиком, преподавателем высшей школы, менеджером предприятия по переработке отходов с низким уровнем радиации, редактором электронного журнала научной фантастики, инженером мультимедиа и инструктором по продуктам O racle. В данное время, будучи независимым консультантом, он помогает компаниям в работе с Internet. Он идет по жизни рука об руку с очаровательной женой Сарой (Sarah), которая, возможно, даже не догадывается, насколько важную роль играет в его жизни. Они живут во Флориде вместе с сыном Сином (Sean).

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

Благодарности

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

Низкий поклон Сели Гроувз (Seli Groves) за поддержку и за то, что все эти годы она вела меня в нужном направлении.

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

И наконец, благодарю Мишеля Ньюкомба (Michelle Newcomb), который дал старт всей этой работе.

Введение

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

С автором этой книги подобное случалось три или четыре раза.

В последний раз это произошло, когда мне предстояло выполнить проект, связанный с Active Server Pages (ASP). Не то чтобы я не пытался изучить ASP ранее. Я просматривал информацию в Web и даже начал учебу по электронному курсу, однако когда я понял основную суть этой технологии (а это было несложно), то решил, что я слишком занят и, чтобы действительно освоить ASP, мне придется выполнить реальный проект. Именно это вам и предстоит сделать в процессе освоения материала данной книги. Вместо того чтобы зан иматься отвлеченной теорией, вы создадите конкретный проект от начала и до конца. Позднее у вас будет достаточно времени для того, чтобы изучить всевозможные нюансы.

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

Краткая история World Wide Web

На рисунках, имеющих отношение к WWW, чаще всего Internet изображается в виде тучи - неопределенного объекта, куда попадают и откуда исходят различные "штучки", но никто точно не знает, как именно это происходит. Возможно, такое представление о WWW в некотором смысле обоснованно. Web является частью Internet, которая состоит из миллионов компьютеров, соединенных друг с другом в один гигантский муравейник.

Предшественницей Internet послужила сеть ARPAnet, созданная Агентством по исследованиям в сфере обороны (Defense Advanced Research Project Agency, DARPA) в 60-е годы. ARPAnet (а следовательно, Internet) была организована таким образом, что каждый компьютер соединялся с двумя другими машинами. Сообщения можно было передавать с одного компьютера в сети на любой другой различными путями, так что одно-единственное нарушение системы не могло привести к большим проблемам.

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

Это было давно - в конце 80-х годов.

Идея "связанных" документов возникла за несколько десятилетий до того времени. В новаторской статье Ванневара Буша (Vannevar Bush) As We May Think ("Можете себе представить"), опубликованной в июльском номере журнала The Atlantic Monthly за 1945 год, была описана машина memex, которая позволит пользователям отслеживать прохождение информации. В начале 50-х Тэд Нельсон (Ted Nelson) описал систему Xanadu, в которой пользователи могли оставлять комментарии к существую щим связанным данным, или "гипертекст".

В 1980 году Тимоти Бернерз-Ли (Timothy Berners-Lee), консультант Европейской лаборатории физики частиц (European Laboratory for Particle Physics - CERN), создал программу под названием Enquire, которая использовала "горячие точки" для хранения данных. В 1989 году он написал статью, где предложил, чтобы CERN создала систему, основанную на гипертексте, для хранения огромного количества собранной информации.

Именно эта система стала всемирной сетью World Wide Web. Первое описание языка разметки гипертекста (Hypertext Markup Language - HTML) было опубликовано в августе 1991 года, однако большинство пользователей смогли испытать его на таких броузерах, как Lynx, которые могли выполнять основное форматирование текста, например выделение полужирным шрифтом или курсивом, а также позволяли пользователям "перескакивать" между связями. В 1993 году Национальным центром суперкомпьютерных приложений (Nation al Center for Supercomputing Applications - NCSA) при Университете Иллинойс-Урбана/Шампэйн был создан новый программный продукт. Приложение Mosaic имело все возможности Lynx. Оно работало с операционными системами Windows, Macintosh, UNIX и имело одно очень существенное преимущество: могло показывать изображения. Таким образом, к новой всемирной сети добавился элемент творчества.

К тому времени популярность Internet возросла. Задолго до Web в Internet существовала электронная почта, группы общения (в виде Internet Relay Chat - IRC) и дискуссионные группы (в виде Usenet).

Internet Relay Chat (IRC) - это система связанных между собой серверов, которые позволяют пользователям вести беседу между собой в режиме реального времени, при этом они не обязательно должны быть подключены к одному и тому же компьютеру.

Группа новостей (newsgroup) - это нечто подобное электронному дискуссионному форуму или доске объявлений. Пользователи оставляют сообщения, которые передаются с одного сервера на другой наподобие сообщений электронной почты. Но, в отличие от сообщений электронной почты, которые адресованы определенному человеку и доставляются без постороннего вмешательства, сообщения группы новостей сохраняются для всеобщего доступа. Чтобы получить сообщение, пользователь специально должен обратиться к гр уппе новостей.

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

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

Динамическое содержимое и Active Server Pages

Когда World Wide Web появилась на сцене Internet в начале 90-х годов, это было статическое средство. Web-страница представляла собой текстовый файл, отформатированный особым образом. Он не мог изменяться или настраиваться в зависимости от информации, вводимой пользователем, или в зависимости от изменяющихся условий.

HTML (Hypertext Markup Language - язык разметки гипертекста) представляет собой способ использования особых текстовых меток, таких как <В> для полужирного шрифта или <I> для курсива, с помощью которых помечается или описывается информация, чтобы указать броузеру, как ее отобразить. Рассмотрим простой пример кода HTML из листинга 1.

Листинг 1. Пример НТМL-страницы

<HTML>
<HEAD>
<TITLE>Наша личная страница</TITLE>
</HEAD>
<BODY>
<H1 align="center">Добро пожаловать!</H1>
Мы очень рады, что вы нашли нас в WWW. У нас есть много
<a href="info.html">информации</a> для вас!
</BODY>
</HTML>

Со временем возник новый способ отображения содержимого в Web - CGI (Common Gateway Interface). Он предоставил разработчикам возможность настраивать все элементы так, чтобы вместо простого обращения к статическому текстовому файлу Web-сервер выполнял сценарий и возвращал полученные результаты.

Большинство сценариев CGI писались (и до сих пор пишутся) на языке С или Perl. Сценарий CGI на языке Perl может выглядеть так, как показано в листинге 2.

Листинг 2. Пример сценария CGI на языке Perl

#!/user/bin/perl
use CGI qw(param)
 
$the_section = param("section")
if ($the_section eq "A" {
  $sitting_with = "с Бобом Джонсом."
} else {
  $sitting_with = "сейчас один."
}
 
print <<TOP_OF_PAGE
Content-type:text/html
 
<HTML>
<HEAD><TITLE>Организация заседания</TITLE></HEAD>
<BODY>
TOP_OF_PAGE
 
print "Вы будете сидеть $sitting_with"
 
Print <<BOTOM_OF_PAGE
</BODY>
</HTML>
BOTTOM_OF_PAGE

Статическое содержимое не изменяется. Большинство НТМL-страниц являются статическими. Всякий раз, когда их открывают в окне броузера, они выглядят одинаково.

Динамическое содержимое изменяется в соответствии с имеющимися условиями. Когда вы обращаетесь к Web-узлу банка и открываете баланс своего счета, то это динамическое содержимое. Оно изменяется в зависимости от того, сколько денег по данным банка имеется на счете в текущий момент.

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

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

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

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

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

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

Эта ситуация изменилась с появлением Active Server Pages (ASP). Вместо того чтобы выполнять программу, которая могла создать страницу HTML, Active Server Page представляет собой страницу НТМL, которая может содержать выполняемые команды. Кроме того, язык VBScript, который обычно используется для написания ASP, намного проще других языков, и новичку гораздо легче в нем разобраться. Не следует думать, что проще всегда означает лучше. Бывают случаи, когда нужно выполнить сложное задание, и сценарий CGI, написанный на языке С, будет на самом деле работать быстрее и проще, чем ASP. "Выбирайте подходящий инструмент для каждой работы", - этот девиз справедлив не только по отношению к аппаратному обеспечению.

Все это привело к тому, что начинающим программистам Web теперь легче создавать проекты.

Что вам предстоит сделать

Читая данную книгу, вы создадите Web-узел для (воображаемого) журнала научной фантастики под названием Primary Outpost. Этот журнал, конечно же, содержит новости и интервью, а также архивные материалы, небольшой магазин тематических сувениров, частные объявления о продаже (аукционы) и персонализированные начальные страницы. (Вы должны попытаться сделать этот узел как можно более привлекательным.)

Web-узел считается привлекательным, если люди к нему возвращаются.

В процессе этой работы вы изучите несколько тем.

  • НТМL. В этой книге не очень подробно описывается НТМL, однако будут приведены основные сведения для тех из вас, кто впервые с ним сталкивается.
  • Основные сведения об объектах. Что это такое и как их использовать.
  • Встроенные объекты ASP. ASP предоставляет набор объектов, с которыми можно делать практически все, что нужно для простейших и даже для более сложных Web-приложений.
  • Использование компонентов ActiveX. Возможно, вы столкнетесь с задачей, которую не сможете решить с помощью встроенных объектов. К счастью для вас, существует множество объектов независимых разработчиков, которые также можно использовать.
  • Доступ к базам данных. ASP облегчает перенос базы данных в Internet и наоборот. Будут также приведены основные сведения о языке SQL (Structured Query Language).
  • Язык VBScript. В Риме лучше говорить по-итальянски. Вы изучите язык, который чаще всего используется для создания ASP.
  • Cookies. Эти "штучки" нужны на тот случай, когда вам понадобится "узнавать" своих пользователей.
  • Операции с кредитными карточками. Основы электронной коммерции и вопросы, которые нужно учитывать при их использовании.

Чего вы не будете делать

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

  • Подробная настройка и поддержка Internet Information Server. (Если вы не системный администратор, то не придется этим заниматься, а если вы им являетесь, то должны знать несколько больше того, что могло уместиться в этой книге.)
  • CORBA.
  • СОМ.
  • Создание компонентов ActiveX.

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

По мере изучения материала данной книги вы столкнетесь с необходимостью выполнения двух совершенно разных задач: написание ASP и чтение ASP. К каждой из них предъявляются особые требования.

Разработка страниц

Все, что вам действительно необходимо для написания Active Server Pages, как и НТМL, - это текстовый редактор, например Блокнот (Notepad) или Simpletext. Если у вас имеется средство разработки, например Visual InterDev или Microsoft FrontPage, то это просто замечательно! Такое средство облегчит вашу жизнь (а также отладку!), однако это необязательное условие. Мы не сможем визуально отладить сценарий ASP без Visual InterDev и IIS 4.0 или IIS 5.0, однако существуют и другие способы определить, что происходит на наших страницах.

Подача страниц

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

  • Windows 2000. Как Windows 2000 Server, так и Windows 2000 Professional поставляются с Internet Information Services (IIS) 5.0, однако он не устанавливается автоматически, если только вы не устанавливаете систему поверх предыдущей версии. Данный компонент можно добавить к системе с помощью раздела Add/Remove Windows Components (Добавление и удаление компонентов Windows).
  • Windows NT. Операционная система Windows NT 4.0 поставляется с Internet Information Server (IIS) 3.0, который позволяет выполнять ASP. Для установки IIS 4.0 необходимо загрузить и установить пакет обновления Service Pack 4 или Service Pack 5, а затем загрузить и инсталлировать пакет Windows NT Option Pack 4. Корпорация Microsoft также планирует продавать IIS 5.0 в виде отдельного продукта, однако к моменту написания данной книги эти планы еще не были реализова ны.
  • Windows 95/98. Созданные вами страницы ASP можно выполнять с помощью Microsoft Personal Web Server (PWS) на всех компьютерах под управлением операционной системы Windows 95 или Windows 98. К моменту написания данной книги PWS можно было загрузить в качестве компонента Windows NT Option Pack, который находится на Web-узле корпорации Microsoft по адресу: http://www.microsoft.com/Windows/ie/pws/default .htm. Для работы необходим, как минимум, процессор 33 МГц или более быстрый, рекомендуется Pentium 90 МГц, 16 Мбайт оперативной памяти, рекомендуется также 32 Мбайт или более и 40 Мбайт доступного места на диске.
  • Unix/Linux. Теперь можно выполнять Active Server Pages не только на компьютерах под управлением одной из операционных систем семейства Windows, используя при этом преимущества продуктов других производителей, которые появились на рынке. Самый лучший из них - это ChiliASP фирмы Chilisoft, который позволяет добавлять поддержку ASP к различным операционным системам и Web-серверам. Обычно достаточно запустить Web-сервер, такой как Netscape Enterprise Server или Apache, и добавить ChiliASP для подде ржки ASP. Более подробную информацию о ChiliASP можно найти по адресу: http://www.chilisoft.com.
  • Macintosh G4 или другие платформы. Еще одним продуктом, позволяющим использовать ASP на любом Web-сервере, поддерживающем Java, является InstantASP. Более подробную информацию можно найти по адресу: http://www.instantASP.com.
  • Старые или менее мощные ПК (либо: что делать, если вы не хотите запускать сервер на собственном компьютере). Вы можете использовать внешний Web-сервер для размещения своих страниц. Если вы используете Macintosh, то это будет наилучший выбор. В таком случае все, что вам понадобится, - это броузер и FTP-клиент.

Web-хостинг. Лишь немногие пользователи (обладающие быстрым соединением с Internet по системе 24x7 - двадцать четыре часа в сутки, семь дней в неделю) могут размещать у себя на сервере собственные Web-узлы. В большинстве случаев они арендуют место на другом компьютере, оплачивая ежемесячный взнос за возможность публиковать в Web свою информацию таким образом. Компания, компьютер которой вы используете для получения доступа в Internet и размещения своих Web-страниц, называется провайдером услуг Internet, а способ такого размещения Web-хостингом.

FTP-клиент - это программа, которая позволяет передавать файл на другой компьютер в Internet с помощью стандартного протокола передачи файлов (File Transfer Protocol - FTP), например WS FTP (Windows) и Fetch (Macintosh).

Теперь, когда вы знаете, что вам предстоит и какого результаты вы должны добиться, приступим к делу!



http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное