CASE-технологии. Современные методы и средства проектирования информационных систем



         

Алгебра в программе Mathematica

После изучения школьного курса информатики вы панически боитесь компьютеров, программ и всего, что связано с ними? Тогда вам нужно напрочь забыть этот школьный ужастик и прочесть сначала какую-нибудь совсем простую книгу, с помощью которой вы научитесь нажимать клавиши и будете относиться к монитору так же, как к телевизору. (Впрочем, считаю своим долгом предупредить об опасности телевизоров (и компьютеров): их так легко включить, а оторваться от них иногда просто невозможно.) Если захотите после этого познакомиться с азами программирования, советую прочитать начальные главы книги Программирование на языке C/C++. Самоучитель. Но знакомство с ней, как и с любым другим курсом программирования, совсем не обязательно для того, чтобы приступить к чтению данной книги.
Вы умеете включать компьютер, устанавливать программы, но никогда не слышали о системах компьютерной алгебры? Тогда эта книга для вас. В ней есть все, что нужно знать, чтобы приступить к освоению систем компьютерной алгебры и начать применять их для решения самых разнообразных задач.
У вас уже есть опыт применения компьютерной алгебры? Тогда эта книга научит вас применять лучшую из таких систем — систему Mathematica — для решения ваших задач. Впрочем, даже если вы студент, в книге, конечно, едва ли можно найти решения именно тех задач, которые вам преподаватель задал на дом, но здесь есть подробно разобранные примеры решения типовых задач по математике. Конечно, данная книга не может заменить всех учебников по математике, но, надеюсь, она сделает знакомство с ними гораздо более приятным, во всяком случае менее утомительным, чем при традиционном способе проведения выкладок с карандашом и ластиком.
Если же ваши проекты связаны с научными исследованиями и выходят далеко за рамки решения типовых задач, во многих главах вы найдете примеры решения довольно трудных задач и получения вполне современных результатов.

Введение
У вас уже есть опыт применения компьютерной алгебры? Тогда эта книга научит вас применять лучшую из таких систем — систему Mathematica — для решения ваших задач. Впрочем, даже если вы студент, в книге, конечно, едва ли можно найти решения именно тех задач, которые вам преподаватель задал на дом, но здесь есть подробно разобранные примеры решения типовых задач по математике. Конечно, данная книга не может заменить всех учебников по математике, но, надеюсь, она сделает знакомство с ними гораздо более приятным, во всяком случае менее утомительным, чем при традиционном способе проведения выкладок с карандашом и ластиком.
Если же ваши проекты связаны с научными исследованиями и выходят далеко за рамки решения типовых задач, во многих главах вы найдете примеры решения довольно трудных задач и получения вполне современных результатов.

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

Отличия систем компьютерной алгебры
Как начать
Что такое система Mathematica
Концепция системы Mathematica
Применение системы Mathematica
Кто использует систему Mathematica
Развитие системы Mathematica
Расширение системы Mathematica
Описание стандартных пакетов Mathematica
Новое в версии Mathematica 5

Знакомство с системой Mathematica
После того как запустим систему Mathematica 5, получится примерно то что изображено на 2.1. Большое белое окно слева- блокнот. Именно в него вводится информация, и именно в нем отображаются результаты. Окно в середине - заставка-приветствие и справка. Окно справа - панель для ввода математических символов греческих букв и т.п.

Арифметические действия над числами
Функции
Блокнот и меню
Алгебраические преобразования
Пример 1
Построение графиков
Построение графиков функций одной переменной
Пример 1
Пример 2
Пример 3

Что такое число
Что такое число? Однозначного ответа на этот вопрос нет. Например, комплексное число — это число или все-таки вектор? А действительное число — это число или сечение во множестве рациональных чисел? А если комплексные числа все-таки числа, то кватернионы — тоже числа или уже объекты другой природы? Ну а если даже кватернионы — все-таки числа, то разве не следует к числам причислить и октавы Кэли? Иногда очень удобно считать, что числа — это элементы любого кольца.

Представление вещественных чисел
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5
Пример 6
Разрядность при выполнении операций
Пример 1
Пример 2

Преобразование непрерывной дроби
Преобразование непрерывной дроби
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5
Мнимая единица
Вещественная часть функция Re
Мнимая часть комплексного числа функция Im
Сопряженное комплексное число - Conjugate

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

Факторизация чисел Мерсенна
Факторизация чисел вида 2n+1
Факторизация чисел вида 2n7
Факторизация чисел десятичная
Факторизация чисел вида 10n+1
Факторизация чисел Фибоначчи
Факторизация дробей
Факторизация гауссовых чисел
Факторизация очень больших чисел
Факторизация факториалов

Тест на простоту
Чтобы сказать, является ли простым заданное число из 15 или 20 цифр, не хватит всей жизни, даже если использовать все, что уже известно. Что задача различать простые и составные числа, а последние разлагать на простые множители, принадлежит к важнейшим и полезнейшим задачам во всей арифметике и что она занимала ум как древних, так и современных математиков, настолько известно, что было бы излишним тратить на это много слов.

Функция PrimeQ
Пример 1
Множество простых чисел Primes
Доказательство простоты заданного числа
Функции PreviousPrime и NextPrime
Наибольшее простое число PreviousPrime[n]
Пример 1
Наименьшее простое число NextPrime[n]
Пример 1
Случайное простое число в заданном

Наибольший общий делитель
Для нахождения наибольшего общего делителя чисел (целых, рациональных или гауссовых) в системе Mathematica предусмотрено две функции: GCD и ExtendedGCD.

Наибольший общий делитель
Наибольший общий делитель — функция GCD
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5
Пример 6
Линейное представление наибольшего
Пример 1

Деление с остатком
При выполнении операции деления с остатком получается частное и остаток. Для нахождения частного и остатка в системе Mathematica предусмотрены функции Quotient и Mod.

Деление с остатком
Пример 2
Пример 3
Возведение в степень в модулярной
Пример 1
Пример 2
Китайская теорема об остатках
Пример 1
Пример 2
Корни в системе остаточных классов

Функция Эйлера — EulerPhi Если в полной системе вычетов по модулю nоставить только вычеты, взаимно простые с модулем, получим приведенную систему вычетов по модулю n. Мощность приведенной системы вычетов по модулю n как множества обозначается ?(n), а функция ?:n-?(n) называется функцией Эйлера. Найдем, для примера, приведенную систему вычетов по модулю 10.

Функция Эйлера — EulerPhi
Пример 1
Пример 2
Функция Кармайкла ?(m) — CarmichaelLambda
Пример 1
Пример 2
Функция Мебиуса µ(m) — MoebiusMu
Пример 1
Функции связанные с делителями - Divisors
Пример 1

Удивительная механика

Проблеме создания совершенного накопителя энергии, образно названного автором «энергетической капсулой», посвящены сотни научных трудов и десятки книг Нурбея Гулиа – ученого, чьи работы получили признание как в России, так и за рубежом. Энергетика всегда была и остается приоритетным направлением науки и техники, а накопители энергии – важным и перспективным разделом энергетики. Эффективное накопление энергии «впрок» должно обеспечить такой же революционный скачок в энергетике, как банковское дело в экономике. Пока же, к сожалению, о сохранении энергии про запас серьезно говорить не приходится. Автор – один из тех энтузиастов накопительной энергетики, кто в своих книгах не только настойчиво об этом говорит, но и постоянно доказывает делами плодотворность самой идеи, которой он, «загоревшись» еще в юношеские годы, остается верным по сей день. Самое же удивительное то, что большинство сложных проблем создания «энергетической капсулы» автор решил, хотя бы принципиально, именно в юношестве и ранней молодости.

В поисках «энергетической капсулы»
Кто в юности не мечтает совершить выдающееся открытие, сделать ценное изобретение? Кто не хочет удивить современников и остаться в памяти потомков? Кто не хочет, чтобы его называли гением? Вот с этих честолюбивых замыслов и начался мой путь к «энергетической капсуле». Предыдущие мои попытки поразить мир – то игрой на скрипке, то сочинением стихов – кончались глубоким, почти летаргическим сном слушателей

Экологические источники энергии
Поднять, растянуть, накачать?
Задача, потруднее буридановой
Электрическая, или электрофорная, машина
Лейденская банка – первый конденсатор
Пружина и поднятый груз в часах
Вращающийся точильный круг
Груз и струна
Определение силы сопротивления
Эквиваленты работы в 25 МДж

Небольшая экскурсия в молодость
Как быстро пролетело время! Еще пятнадцатилетним юношей я принялся за поиск «энергетической капсулы», а сегодня мне уже страшно сказать сколько. Прошло полвека, пятьдесят лет непрерывной работы, но задача создания «энергетической капсулы», пожалуй, только сейчас встала передо мной во всей своей грандиозности. Энергия и топливо стали как никогда дорогими, экология – глобальной проблемой, запасание энергии впрок – насущной жизненной потребностью человека.

Работает супермаховик
Маховичный автомобиль Рабенхорста
Маховичный автомобиль Рабенхорста - 2
Гиротроллейбус фирмы «Локхид» (США)
Маховичная катапульта
Шотландский маховичный вертолет
Разведывательный маховичный вертолет
Маховичный лифт
Маховичная «безреактивная» дрель
Опыт с монетой - гироскопический эффект

CASE-технологии

Тенденции развития современных информационных технологий приводят к постоянному возрастанию сложности информационных систем (ИС), создаваемых в различных областях экономики. Современные крупные проекты ИС характеризуются, как правило, следующими особенностями:
* сложность описания (достаточно большое количество функций, процессов, элементов данных и сложные взаимосвязи между ними), требующая тщательного моделирования и анализа данных и процессов;
* наличие совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные задачи и цели функционирования (например, традиционных приложений, связанных с обработкой транзакций и решением регламентных задач, и приложений аналитической обработки (поддержки принятия решений), использующих нерегламентированные запросы к данным большого объема);
* отсутствие прямых аналогов, ограничивающее возможность использования каких-либо типовых проектных решений и прикладных систем;
* необходимость интеграции существующих и вновь разрабатываемых приложений;
* функционирование в неоднородной среде на нескольких аппаратных платформах;
* разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств;

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

Жизненный цикл по ИС
Жизненный цикл по ИС - 2
Модели жизненного цикла ПО
Модели жизненного цикла ПО - 2
Общие требования к методологии и технологии
Общие требования к методологии и технологии - 2
Общие требования к методологии и технологии - 3
Методология RAD
Методология RAD - 2
Методология RAD - 3

Применимость CASE-средств
В течение нескольких последних лет мы наблюдаем эволюцию языков моделирования программных систем, одним из результатов которой стало появление и развитие Унифицированного Языка Моделирования - UML (Unified Modeling Language) [], объединившего под своим названием фактически несколько методологий. Он стал основой для целого спектра различных средств поддержки разработки программного обеспечения - CASE-средств (Computer-Aided Software Engineering).

Применимость CASE-средств
Применимость CASE-средств - 2
UML-диаграммы состояний
Представления UML
Инструмент разработчика ПО: требования
Инструмент разработчика ПО: реализация
Инструмент разработчика ПО: реализация - 2
Инструмент разработчика ПО: реализация - 3
Инструмент разработчика ПО: реализация - 4
Заключение

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

Предмет реинжиниринга
Предмет реинжиниринга - 2
Алгоритм реинжиниринга
Алгоритм реинжиниринга - 2
Реинжиниринг и совершенствование: кто кого?
Реинжиниринг и совершенствование: кто кого? - 2
Программы на службе моделирования
Программы на службе моделирования - 2

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

Автоматизированное создание документов
Автоматизированное создание документов - 2
Автоматизированное создание документов - 3
Автоматизированное создание документов - 4
Автоматизированное создание документов - 5
Автоматизированное создание документов - 6

Использование языка макрокоманд в AllFusion ERwin Data Modeler
На современном этапе редко какое предприятие имеет единую информационную структуру. Как правило, информационный отдел организации имеет мозаичную структуру, где каждый элемент мозаики является решением отдельной задачи или подразделения и реализован в соответствии с параметрами этой задачи. Такая мозаика во многом определяется историческим развитием организации. К примеру, на гипотетическом предприятии первоначально был автоматизирован бухгалтерский учет при помощи собственной разработки, далее была внедрена сторонняя программа по учету заработной платы и т.д.

Макрокоманды в AllFusion ERwin Data Modeler
Макрокоманды в AllFusion ERwin Data Modeler - 2
Макрокоманды в AllFusion ERwin Data Modeler - 3
Макрокоманды в AllFusion ERwin Data Modeler - 4
Макрокоманды в AllFusion ERwin Data Modeler - 5
Макрокоманды в AllFusion ERwin Data Modeler - 6

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

Понятие системы
Программные системы как знаковые
Эмергентность свойств систем
Понятие объекта, модели
Понятие объекта, модели - 2
Понятие объекта, модели - 3
Декомпозиция
Синтез и анализ в изучении сложных систем
Обобщенное правило декомпозиции
Особенности проектирования программ

Ниша и внедрение CASE-средств
Если рассматривать CASE (Computer Aided Software Engineering) в первоначальном понимании — как средство компьютерной поддержки разработки программного обеспечения (ПО), то их польза в проектировании больших и сложных программных систем станет вполне понятной. В подтверждение этого тезиса можно сослаться на «Мифический человеко-месяц» Фредерика Брукса. Самой большой проблемой, которую приходится решать программной инженерии, является сложность ПО.

Моделирование программных систем
Проблемы внедрения CASE-средств
Процесс внедрения CASE-средств
Ожидаемые и неожиданные результаты
Ожидаемые и неожиданные результаты - 2
О выборе CASE-средства
Подытоживая сказанное
Подытоживая сказанное - 2

ЧТО? ГДЕ? КОГДА?
Давно канули в Лету те времена, когда один человек вполне мог справляться с реализацией программного проекта, обеспечивающего функциональность крупных предприятий. Постоянный рост сложности и комплексности не только целей проекта, но и инструментария их реализации приводит к тому, что уже трудно обойтись силами отдельных специалистов, а требуется слаженная работа целой команды.

ЧТО?
ЧТО? - 2
ЧТО? - 3
ЧТО? - 4
ЧТО? - 5
ЧТО? - 6
КОГДА?
КОГДА? - 2
КАК?
КАК? - 2

HyperText Transfer Protocol
Обмен данными в Web-технологии подразделяется в соответствии с типами методов доступа протокола HTTP и видами запросов в спецификации CGI. Основных методов доступа два: GET и POST. Помимо них часто используются HEAD и PUT. Виды запросов CGI разделяют на два основных MIME-типа: application/x-www-form-urlencoded и multipart/form-data. Второй тип запроса специально создан для передачи больших внешних файлов.

Общая структура сообщений
Методы доступа
Метод GET
Метод HEAD
Метод POST
Метод PUT
Оптимизация обменов
Виды интерфейса пользователя в Web-технологии
Спецификация Common Gateway Interface
Понятие CGI-скрипта

Структура bash-скрипта
Для того чтобы выполнить bash-скрипт, требуется интерпретатор bash. При этом скрипт запускается HTTP-сервером и, в общем случае, не определяет его операционное окружение (точнее, оно определяется окружением сервера). По этой причине в начале файла скрипта следует указать, что для его исполнения требуется интерпретатор bash: #!/usr/local/bin/bash echo Hello BASH

Стандартный поток вывода
Переменные окружения
Аргументы командной строки
Стандартный поток ввода
Типы данных и переменные
Управление потоком вычислений
If
While
For
Конвейеры

Структура Perl-программы
У программы на языке Perl нет жестко заданной структуры. Точнее сказать, программист не обязан ее соблюдать. Если же он захочет, чтобы интерпретатор контролировал объявление и использование переменных и конструкций языка, то при помощи класса strict он может такой контроль установить. Программа на Perl состоит из операторов языка, которые должны заканчиваться символом ";"

Стандартный поток вывода
Переменные окружения
Аргументы командной строки
Стандартный ввод
Типы данных и переменные
Скаляры
Одномерные массивы
Ассоциативные массивы
Указатели
Глобальные символы

Общая структура C-скрипта
Язык программирования C — это традиционный инструмент разработки программного обеспечения, используемый на протяжении последних 25 лет (с момента появления Unix). С учетом того, что Unix в настоящее время является основной серверной средой, умение программировать CGI-скрипты на C является одним из необходимых условий успешной работы Web-инженера.

Файлы
Файлы - 2
Препроцессор
Компиляция
Информация
Общая структура C-скрипта
Стандартный поток вывода
Переменные окружения
Аргументы командной строки
Стандартный поток ввода

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

FORM (mailto)
FORM (mailto) - 2
FORM (HTTP)
Метод GET
Метод POST
Кодирование
FORM (SSI)
INPUT
INPUT (text)
INPUT (password)

Метод доступа GET
Метод доступа GET долгое время был основным методом доступа из форм к CGI-скриптам. Это происходило по причине отсутствия при вводе большого количества данных и из-за прямого обращения к скриптам по их URL. В настоящее время ситуация меняется, но тем не менее данный метод занимает едва ли не главное место в программировании обработки данных из HTML-форм.

Запрос isindex
Запрос isindex - 2
Запрос form-urlencoded
Передача параметров через PATH_INFO
Метод доступа POST и другие методы доступа
Чтение данных из стандартного потока ввода
Передача присоединенных файлов
Стандартные библиотеки разбора данных
Метод доступа PUT и CGI-скрипт
Настройки сервера для работы с CGI-скриптами

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

Загрузка ресурса IMG
Настоящая публикация посвещена ряду вопросов CGI-программирования на языке Perl, а именно нетипичным ситуациям генерации выходных данных в среде броузера. Рассматриваются варианты возврата выходных данных с помощью контейнерных HTML элементов: APPLET, SCRIPT, OBJECT, IFRAME (ILAYER для Netscape), а также элемента IMG. Представлены примеры программирования реальных ситуаций (выборка новостной информации из БД

Загрузка ресурса IMG.
Загрузка CGI-сценариев в контейнере IFRAME.
Загрузка CGI-сценариев в контейнере IFRAME. - 2
CGI-JavaScript программирование.
CGI-JavaScript программирование. - 2
CGI-Java программирование.
CGI-Java программирование. - 2
CGI-Java программирование. - 3
CGI-Flash программирование.
CGI-Flash программирование. - 2

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

Проблема
Используем MVC
Вид отделяем от действий
Пример простого сценария
Действия помещаем в Command
В основу берем Dispatcher
Используем Mapper
Применяем Decorator
Собираем Content с помощью Composite
Получаем Content, трансформируя XML

Обзор статьи The Technology
Развивающийся интерес к Internet и World Wide Web как платформам приложений оказал значительное влияние на рынок реляционных систем управления базами данных (РСУБД). Поначалу казалось, что феномен Web сузил профиль приложений РСУБД. Производители стали обращать большее внимание на параллельное выполнение операций над базами данных, склады данных и репликацию данных. Однако пользователи, разрабатывающие Internet/Web-приложения быстро осознали потребность в масштабируемой и надежной среде хранения, манипулирования и управления динамическими мультимедиа данными и другими сложными типами данных. Для связывания СУБД с приложением Web посредством Web-сервера требуется эффективная поддержка трехзвенной архитектуры.

Обзор статьи The Technology
Обзор статьи The Technology - 2
Обзор статьи The Technology - 3
Обзор статьи The Technology - 4
Обзор статьи The Technology - 5
Обзор статьи The Technology - 6
Обзор статьи The Technology - 7
Обзор статьи The Technology - 8

HotMail своими руками, или Что может PHP
В этой статье я хотел бы продемонстрировать, что создание работоспособных и полезных динамических Web-узлов вовсе не такая сложная задача, как может показаться при чтении текстов, описывающих интерфейс CGI. На самом деле подобная работа (по крайней мере, при использовании Linux) больше всего напоминает игру The Incredible Machines, где нужно кремнем высечь искру, чтобы свет упал на солнечную батарею, от которой срабатывает сверхсовременный компьютер

HotMail своими руками, или Что может PHP
Компоненты
Коротко о PHP
Другие файлы
Чего мы не сделали
Чего мы не сделали - 2
Чего мы не сделали - 3
Чего мы не сделали - 4
Чего мы не сделали - 5
Ссылки

Status Code и Reason Phrase в протоколе HTTP/1.1
Status-Code это код результата попытки понять и выполнить запрос. Состоит из трех цифр. Полные определения значений Status-Code приведены в главе 10. Reason-Phrase - короткое текстовое описание Status-Code. Status-Code предназначен для программ, Reason-Phrase - для человека. Первая цифра Status-Code определяет класс кода. Две следующие цифры никак не категоризируются

Разбор данных HTML-форм
Большое количество World Wide Web приложений основано на использовании внешних программ, управляемых Web сервером. Использование данных программ позволяет строить Web приложения с динамически обновляемой информацией, хранящейся в базах данных или генерирующейся в зависимости от бизнес-правил решаемых задач. Для связи между Web сервером и вызываемыми программами широко используется Common Gateway Interface (CGI), имеющий реализации как для Windows-ориентированных программ, так и для приложений, функционирующих в среде Unix.

Разбор данных HTML-форм
Вызов CGI программ
Командная строка
Метод вызова
CGI файл данных
Секция [CGI]
Секция [CGI] - 2
Секция [Accept]
Секция [System]
Секция [Extra Headers]

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

Переменные среды CGI
Переменные среды CGI - 2
Переменные среды CGI - 3
Прекрасный язык Perl
Прекрасный язык Perl - 2
Прекрасный язык Perl - 3
Прекрасный язык Perl - 4
Прекрасный язык Perl - 5
Прекрасный язык Perl - 6
Прекрасный язык Perl - 7

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

CGI - Common Gateway Interface
Передача данных шлюзам
Передача данных шлюзам - 2
Передача данных шлюзам - 3
Вывод информации шлюзом
Примеры

Поля Заголовок-Содержания
Полный-Запрос и Полный-Ответ может использоваться для передачи некоторой информации в отдельных запросах и ответах. Этой информацией является Содержание-Запроса или Содержание-Ответа соответственно, а также Заголовок-Содержания.

Поля Заголовок-Содержания
Поля Заголовок-Содержания - 2

Синтаксис
FORM тэг определяет форму для заполнения в HTML документе. В одном документе может быть определено несколько форм для заполнения, но вложенные FORM операторы не разрешены. Формат оператора FORM выглядит следующим образом: FORM ACTION="url" METHOD="POST".../FORMgt

Тэг INPUT
Тэг SELECT
Тэг TEXTAREA
Подтверждение и посылка формы

Общая Структура
HyperText Transfer Protocol (HTTP) - это протокол высокого уровня (а именно, уровня приложений), обеспечивающий необходимую скорость передачи данных, требующуюся для распределенных информационных систем гипермедиа. HTTP используется проектом World Wide Web с 1990 года.

Цели
Общая Структура

Строка Статус
Запрос - это сообщение, посылаемое клиентом серверу. Первая строка этого сообщения включает в себя метод, который должен быть применен к запрашиваемому ресурсу, идентификатор ресурса и используемую версию протокола. Для совместимости с протоколом HTTP/0.9, существует два формата HTTP запроса: Запрос = Простой-Запрос | Полный-Запрос Простой-Запрос = "GET" SP Запрашиваемый-URI CRLF Полный-Запрос = Строка-Статус *(Общий-Заголовок | Заголовок-Запроса | Заголовок-Содержания ) CRLF [ Содержание-Запроса ]

Общие понятия
Строка Статус
Метод
POST
POST - 2
Поля Заголовок-Запроса

Структура ответа
Простой-Ответ должен посылаться только в ответ на HTTP/0.9 Простой-Запрос, или в том случае, если сервер поддерживает только ограниченный HTTP/0.9 протокол. Если клиент посылает HTTP/1.0 Полный-Запрос и получает ответ, который не начинается со , он должен предполагать, что ответ сервера представляет собой Простой-Ответ, и обрабатывать его в соответствии с этим. Следует заметить, что Простой-Ответ состоит только из запрашиваемой информации (без заголовков) и поток данных прекращается в тот момент, когда сервер закрывает сеанс связи.

Структура ответа
Строка Статус
Статус-Код и пояснение к нему
Статус-Код и пояснение к нему - 2

Что такое URL?
В World Wide Web для задания местоположения файлов на других серверах сети Internet используется URL - Uniform Resource Locator. URL включает в себя : метод доступа к ресурсу, т.е. протокол доступа (http, gopher, WAIS, ftp, file, telnet и др.) сетевой адрес ресурса (имя хост-машины и домена) полный путь к файлу на сервере