9 Июнь 2008

1. Объектная модель Word

Приложение Word предназначено для создания документов, которые затем могут быть распечатаны или помещены на странице в Интернет. В приложении все вращается вокруг концепции документа, которым может быть все, что угодно — от 2-строчной записки, до 500-страничного многотомного отчета. Ос­новными функциями приложения Word является ввод и редактирование текста, форматирование внешнего вида текста и его размещения на странице, помеще­ние текста в колонки и таблицы. Также поддерживаются особые элементы, такие как верхние и нижние колонтитулы, номера страниц, индексы, и таблицы. Word также имеет встроенный словарь для проверки правописания и орфогра­фии и тезаурус для нахождения синонимов. Если ваше приложение должно ра­ботать с текстом, вам следует, прежде всего, посмотреть на среду приложения Word.

Истории в документе

Каждый документ Word состоит из некоторого количества историй, которые представляют разные части документа: основной текст, первую страницу, заго­ловок, примечания и т.д. Каждая история представлена объектом Range, содер­жащим ее. Доступ к историям можно получить посредством коллекции sto-ryRanges, которая принадлежит объекту Document. В отличие от других кол­лекций, StoryRanges не имеет метода Add. Истории создаются автоматически и помещаются в коллекцию, когда в них появляется некоторое содержание. Одна­ко главная текстовая история существует независимо от того, содержит она текст или нет. Для ссылок на разные истории служат следующие константы.

WdCommentsStory (комментарии);

WdEndNotesStory (примечания);

WdEvenPagesFooterStory (нижний колонтитул нечетных страниц);

WdEvenPagesHeaderStory (верхний колонтитул нечетных страниц);

WdFirstPageFooterStory (нижний колонтитул первой страницы); WdFirstPageHeaderStory (верхний колонтитул первой страницы); WdFootNotesStory (сноски); wdMainTextstory (основной текст);

WdPrimaryFooterStory (основные нижние колонтитулы); WdPrimaryHeaderStory (основные верхние колонтитулы); WdTextFrameStory (рамки).

Ссылку на конкретную историю можно получить следующим образом:

Dim StoryRange as Word.Range

Set StoryRange=MyDoc.StoryRanges (StoryType)

Здесь StoryType — одна из вышеперечисленных констант. Но если заданная история не присутствует в документе, возникает ошибка. Эту ошибку можно пе­рехватить но все же во избежание этой потен­циальной проблемы следует пройти в цикле по коллекции StoryRanges, чтобы проверить, существует ли данная история:

Dim StoryRange as Word.Range

Dim R As Word.Range

Dim StoryExists As Boolean

StoryExists=False

For Each R In MyDoc.StoryRanges

If R.StoryType=wdPrimaryHeaderStory Then Set StoryRange=R StoryExists=True

End If Next R If Not StoryExists Then

MsgBox (”The Primary Header Story does not exists.”) End If

А вот фрагмент программы, который добавляет текст “Compiled by R.Smithв конец существующего текста в основных нижних колонтитулах:

Dim R As Word.Range

Dim S As String

For Each R In ActiveDocument.StoryRanges

If R.StoryType=wdPrimaryFooterStory Then

S=R.Text End If Next R

ActiveDocument.Selections (1).Footers _ (WdPrimaryFooterStory). _ Range.Text=S & “Compiled by R.Smith”

10. Апплеты и сервлеты Java как средства расширения возможностей браузера и Web-сервера.

Апплеты и сервлеты Java

Java- это оригинальный язык программирования, разработанный корпорацией Sun Microsystems. Сегодня язык Java быстро становится фактически стандартным языком программирования для сложных Web-приложений. Java является объектно-ориентированным языком программирования со строгим контролем типов, который интересен, прежде всего, возможностью построения Web-приложений, или апплетов (applet), и серверных приложений, или сервлетов (servlet). Java- это простой, объектно-ориентированный, распределенный, интерпретируемый, устойчивый, безопасный, архитектурно-нейтральный, переносимый, высокопроизводительный, многопоточный и динамический язык.

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

Концепция мобильных Java байт-кодов (апплетов) была специально разработана для использования в WWW. Для использования апплетов в язык гипертекстовой разметки HTML был введен тег APPLET, указывающий имя апплета и параметры его вызова. При этом обработка HTML-документов выполняется браузером также, как и при обработке встроенной в документ графики. Сначала запрашивается документ, анализируется его содержание, а потом, если имеются теги APPLET, подгружаются апплеты. После получения всех апплетов они могут быть выполнены. Из этой схемы ясно, что браузер является одновременно и интерпретатором байт-кодов. Используя библиотеку классов, можно разработать эффектные динамические мультимедийные страницы. Кроме того, применение байт-кодов позволяет организовать распределенные процедуры вычислений с использованием различных серверов, с которыми можно взаимодействовать по разным протоколам. Сервлеты, в отличие от апплетов, выполняется на стороне сервера и служат для обработки запросов от обозревателя.

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

написано в рубрике: Базы данных +УБД (Т) — Метки: , , — Михаил @ 21:13

PHP-страницы разрабатываются с помощью одноименного языка обработки сценариев PHP (Personal Home Page tools – средства персональных домашних страниц).

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

Что касается собственно языка РНР, то это кросс-платформенный интерпретируемый на стороне Web-сервера язык программирования, предназначенный для создания активных Web-страниц. Синтаксис языка РНР основан на принципах построения языков С, Perl, Java. Код скрипта (сценария) на языке РНР встраивается непосредственно в HTML-текст. При запросе клиентом HTML-страницы со скриптом на языке РНР Web-сервер выполняет интерпретацию операторов языка. Обычно указанная интерпретация предусматривает изменение исходного HTML-текста, и этот измененный текст отправляется клиенту.

ASP и PHP-страницы обрабатываются Web-сервером, в результате сервер генерирует Web-страницу, содержащую информацию из БД, которая отсылается обозревателю.

8. ISAPI-сценарии как средство организации взаимодействия сервера и клиента.

написано в рубрике: Базы данных +УБД (Т) — Метки: , , — Михаил @ 21:12

Расширения ISAPI

Интерфейсы ISAPI/NSAPI (Internet Server API/Netscape Server API) предназначены для разработки дополнительных модулей расширения Web-сервера. В случае их использования модули расширения реализуются в виде библиотек DLL. Взаимодействие между сервером и модулем расширения осуществляется с помощью специальных объектов (Request, Response).

Спецификация ISAPI/NSAPI, так же как и CGI, определяет правила взаимодействия между Web-сервером и другими приложениями. Главное отличие ISAPI-расширения от CGI-сценария заключается в том, что приложение ISAPI представляет собой динамически связываемую библиотеку DLL, которая при вызове загружается не как отдельный процесс, а как поток, принадлежащий Web-серверу. Приложения могут принадлежать к двум типам - ISAPI-расширение и ISAPI-фильтр.

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

Расширение, наоборот, является адресатом запроса и не может влиять на его параметры и путь обработки. ISAPI-расширения IIS - это альтернатива CGI-приложениям. Расширения (и фильтры) реализуются в виде dll. IIS загружает dll при первом запросе к расширению и выгружает ее либо при выгрузке веб-приложения (если включено кэширование ISAPI), либо после окончания обработки запроса (если кэширование выключено).

Зачем нужны ISAPI-расширения, если есть CGI, ASP и т.д.? Ответ - они быстрее и требуют меньших ресурсов. В отличие от CGI, ISAPI-раширения многопоточны, т.е. для обработки еще одного запроса не требуется загрузки еще одной копии приложения. По сравнению с ASP, они имеют гораздо больше возможностей (использование множества функций Win32 API без необходимости писать для этого COM-объекты) и существенно выигрывают по скорости, т.к. код уже откомпилирован и оптимизирован. Правда, наряду с преимуществами имеются и недостатки, такие как большая сложность программирования и отсутствие поддержки сессий. Тем не менее, ISAPI-расширения наиболее хорошо подходят для написания критичных по времени приложений для IIS.

7. CGI-сценарии как средство организации взаимодействия сервера и клиента.

написано в рубрике: Базы данных +УБД (Т) — Метки: , , — Михаил @ 21:11

CGI-сценарии и приложения WinCGI

Для создания модулей расширения Web-сервера могут использоваться интерфейсы CGI (Common Gateway Interface –общий шлюзовый интерфейс) или интерфейсы программирования API (Appication Program Interface –интерфейс прикладного программирования). Интерфейс CGI является стандартным протоколом взаимодействия между Web-сервером и модулями расширения, которые могут применяться для выполнения дополнительных функций, не поддерживаемых сервером. Например, такие модули используются для обработки получаемой от пользователя информации, для динамического формирования Web-докумкета, публикации БД на Web-странице и т.д. Интерфейсу CGI соответствуют обычные консольные приложения операционной системы DOS. Обмен информацией между сервером и модулем расширения осуществляется с помощью стандартного потокового ввода / вывода, передача управляющих параметров организуется через переменные окружения операционной системы или через параметры URL-адреса модуля расширения.

Существует адаптированный вариант общего интерфейса для среды Windows 3/1 – WinCGI. Этот интерфейс отличается от интерфейса CGI тем, что управляющие параметры передаются через INI-файл, а входной и выходной потоки данных перенаправлены в специальные файлы.

Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, многие больше любят названия скрипт или CGI-программа.

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

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

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

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

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

< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 >

© Проект «Студенты-Программеры»., 2008. Все права защищены.
Перепечатка материалов только при наличии активной ссылки на источник.
Powered by WordPress