Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ГОСЫ / KIS_Romanova

.pdf
Скачиваний:
38
Добавлен:
15.02.2016
Размер:
680.65 Кб
Скачать

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

эффект грязного чтения возникает, когда транзакция2 может прочитать неподтвержденные обновления, выполненные транзакцией1

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

когда подтвержденные изменения транзакции1 видны в транзакции2, этот эффект называют неповторяющимся чтением

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

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

31

УРОВНИ ТРАНЗАКЦИИ

СУБД справляется со всеми тремя видами ошибок транзакций, изолируя транзакции друг от друга. Уровни изоляции можно сравнить с высотой ограды между транзакциями – они позволяют устанавливать критерии допустимости ошибок. В спецификации ANSI-SQL определены четыре уровня изоляции:

 

Уровень изоляции

 

 

Грязное чтение

 

 

 

Неповторяющееся

 

 

 

Фантомные строки

 

 

Блокировка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чтение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

записи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

возможность

 

 

 

возможность

 

 

 

 

отбор

 

 

 

 

 

 

 

 

 

первая операция

 

 

 

 

 

 

 

 

 

 

 

видеть

 

 

 

 

 

 

видеть

 

 

 

 

 

 

 

предложением

 

 

 

 

записи

 

 

 

 

 

 

 

 

 

 

 

 

 

неподтвержденные

 

 

подтвержденные

 

 

 

Select

 

 

 

 

 

 

 

 

блокируется

 

 

 

 

 

 

 

 

 

 

 

 

изменения другой

 

 

изменения другой

 

 

дополнительных

 

 

 

второй

 

 

 

 

 

 

 

 

 

 

 

 

транзакции

 

 

 

 

 

транзакции

 

 

 

 

 

 

строк, внесенных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

другой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

транзакцией

 

 

 

 

 

 

 

 

 

 

 

Read Uncommited

 

 

допустимо

 

 

 

допустимо

 

 

 

допустимо

 

 

 

нет

 

 

 

наименее жесткий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Read Сommited

 

 

 

 

 

 

запрещено

 

 

 

допустимо

 

 

 

допустимо

 

 

 

нет

 

 

 

принят

по

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

умолчанию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Repeatable Read

 

 

 

 

запрещено

 

 

 

запрещено

 

 

 

допустимо

 

 

 

нет

 

 

 

Serializable

 

 

 

 

 

 

 

запрещено

 

 

 

запрещено

 

 

 

запрещено

 

 

 

нет

 

 

 

наиболее жесткий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Snapshot

 

 

 

 

 

 

 

запрещено

 

 

 

запрещено

 

 

 

допустимо

 

 

 

да

 

 

SQL Server реализует уровни изоляции с помощью блокировок. Так как блокировки влияют на производительность, то следует искать компромисс между установленным уровнем изоляции и производительностью. Принятый по умолчанию уровень изоляции Read Commited является своеобразным балансом, подходящим большинству проектов.

Уровень 1. Read Uncommited - наименее строгий уровень изоляции не предотвращает никаких ошибок транзакций. Он подобен отсутствию забора, так как на самом деле не изолирует транзакции. Установка этого уровня транзакции является аналогом указанию SQL серверу не выполнять блокировки. Этот режим лучше всего подходит для отчетов и приложений чтения данных.

Уровень 2.

Read Сommited

- позволяет избежать самой опасной ошибки транзакций, но не нагружает

систему излишними блокировками.

 

Уровень 3.

Repeatable Read

- предотвращая грязное чтение и неповторяющееся чтение, этот уровень

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

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

32

Выйдя за пределы стандарта ANSI, разработчики SQL Server добавили еще один уровень изоляции – Snapshot, который создает еще одну копию данных в своем собственном физическом пространстве. Эта копия абсолютно изолирована от других транзакций. Уровень изоляции Snapshot реализует блокировку на уровне базы данных. Как правило, конфликт конкуренции происходит между процессами чтения и записи. В случае Snapshot изоляции создается мгновенный снимок данных для обновления, во время обновления операции чтения продолжают работать с исходными данными. Как только обновление будет подтверждено, будет записана измененная копия данных. Но если второй процесс записи попытается обновить ресурс, который в данный момент уже обновляется, то первый процесс будет заблокирован. Уровень изоляции Snapshot использует версионность строк, записывая их копии во временную базу.

ТРАНЗАКЦИИ в РБД

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

Для реализации распределенной транзакции предусмотрен протокол двухфазной фиксации (two-phase commit). Для описания протокола используется следующая модель.

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

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

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

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

Согласованность состояния баз данных при параллельном выполнении нескольких транзакций обеспечивается механизмами блокировок и временных отметок:

33

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

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

Основной проблемой является проблема возможных распределенных тупиков, которые могут возникнуть между несколькими распределенными транзакциями, выполняющимися параллельно. Тупик, как правило, является следствием взаимоблокировки транзакций. Например, транзакция1 должна выполнить обновление ресурсов A и B, блокирует ресурс A для транзакции2 и обнаруживает, что ресурс B уже заблокирован транзакцией2. В свою очередь транзакция2 тоже пытается выполнить операции с ресурсами A и B, блокирует B для транзакции1 и обнаруживает, что ресурс A уже заблокирован. Обе транзакции оказываются в состоянии взаимоожидания, которое может не разрешиться никогда. Для обнаружения распределенных тупиков применяется распределенный алгоритм, не нарушающий требования автономности узлов сети и минимизирующий число передаваемых по сети сообщений и необходимую процессорную обработку.

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

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

34

13. Информационное обеспечение КИС

ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ КИС

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

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

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

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

Наиболее вероятны следующие угрозы:

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

нарушение функционирования объектов корпоративной информационной системы в результате несанкционированных программных воздействий на оборудование и серверы локальных сетей.

Программное Обеспечение КИС можно разделить на два класса:

1.ПО поддержки жизнеобеспечения КИС (центральный сервер, распределенные серверы, СУБДсерверы, Web-сервер, ПО сетевых коммуникаций, штатные и сервисные службы и т.п.)

2.Корпоративные приложения, которые, как правило, имеют дело со сложными данными большого объема и бизнес-правилами, логика которых неоднозначна. Тем не менее, разработчик КИС должен стремиться к типовым решениям. КП подразумевают необходимость долговременного (иногда в течение десятилетий) хранения данных. Данные нередко переживают несколько поколений прикладных программ, предназначенных для их обработки, аппаратно-технических средств, ОС и компиляторов. Даже в тех случаях, когда компания осуществляет революционные изменения в парке ВТ, коммуникаций и сопутствующего ПО, данные не только не уничтожаются, но тщательно переносятся в новую среду, в конечном итоге в систему баз данных, и становятся актуальными корпоративными данными.

------------------------------------------------------------------------------------------------------------------

35

Базовые подходы к автоматизации деятельности корпорации (предприятия)

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

При реализации второго подхода регистрация и обработка информации выполняются на нескольких серверах БД, установленных на каждом узловом «территориальном» объекте – это способ

распределенной обработки информации.

1.Централизованный подход - удаленная обработка информации

Основным достоинством первого подхода (удаленная обработка данных) является то, что он подразумевает наличие лишь одного центрального сервера БД. Централизованный подход можно реализовать в нескольких вариантах:

Работа через стандартную клиентскую часть (двухзвенная архитектура клиент-сервер:

центральный сервер - толстый клиент)

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

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

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

Специалисты дают несколько рекомендаций по использованию такой схемы. Независимо от технических параметров СУБД и рабочих станций эффективность удаленной работы в значительной мере зависит от количества одновременно действующих удаленных пользователей и от «качества» формируемых ими запросов. Чем меньше записей отбираются при обработке в КИС наиболее популярных запросов, тем меньше данных передаются по каналу связи. Повышению быстродействия системы способствует не только увеличение пропускной способности канала, но и уменьшение числа потребителей, одновременно использующих общий канал.

Работа через терминальный сервер (трехзвенная архитектура: центральный сервер – терминальный сервер - тонкий клиент)

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

36

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

С этого момента пользователь работает непосредственно с терминальным сервером. В окне терминала он может запустить приложения КИС и задействовать все информационные и функциональные ресурсы системы. Основная нагрузка переносится на участок подсети центрального офиса «терминальный сервер — сервер БД», на рабочую же станцию пересылаются лишь обновления экрана.

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

Вместе с тем, при большом количестве пользователей аппаратно-программные требования к терминальному серверу (в первую очередь, мощность процессора и объем оперативной памяти) резко возрастают.

Для оценки требований к производительности процессоров, их числу, а также к объему памяти сервера можно руководствоваться линейной зависимостью. Чтобы предоставить ресурсы многопроцессорной системы вдвое большему числу пользователей, нужно удвоить число процессоров и размер оперативной памяти.

Работа через Web-сервер (режим On-Line) - естественная ориентация на тонкого клиента

При этом варианте организации удаленного доступа работа пользователей осуществляется через Webсервер. На рабочем месте минимально достаточно установить ОС и браузер. Какое-либо дополнительное ПО, относящееся к КИС, не требуется.

Структурная схема удаленного доступа через Web практически не отличается от сценария терминального доступа, но технологические принципы взаимодействия терминального и Web-сервера с сервером БД существенно разнятся. На Web-сервере размещаются специальные программные компоненты, формирующие Web-интерфейс (механизмы программных расширений сервера - CGI, ASP, Web API – ISAPI, NSAPI, WSAPI Common Gateway Interface, Active Server Pages, Internet Server API, Netscape Server API, Web Server API)/

С точки зрения архитектуры КИС, система состоит из трех уровней. Первый из них включает в себя сервер управления данными и методами их обработки. Второй представляет собой сервер приложений, включающий Web-сервер. Сервер приложений отвечает за взаимодействие с СУБД-хранилищем данных (с помощью универсальных механизмов доступа к данным – ODBC, ADO+OLE DB, Express DB и др.) и обеспечивает форматирование требуемых для визуализации данных. Третий — универсальные программы просмотра содержимого Web-узлов (браузеры).

37

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

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

applet Небольшая прикладная программа на языке Java, которая может быть встроена в HTMLстраницы, передаваемая из Сети вместе с документом как присоединение для его надлежащего представления у пользователя (напр., "Календарь"). Аплеты отличаются от полных Java-приложений тем, что имеют ограничения по доступу к определенным ресурсам локального компьютера (таким как файлы, модемы и др.) и запрет коммуникаций с другими компьютерами в сети (кроме того, с которого данный аплет послан). Такие приложения конфигурируются под собственный набор свойств (напр., принтеры, драйверы видео, звука и т. д.)

Отметим основные достоинства Web-решения:

минимум программных и аппаратных средств: на удаленном рабочем месте достаточно иметь компьютер с Web-браузером и средства связи – универсальный доступ к данным

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

независимость от местоположения – глобальный доступ

простой и удобный интерфейс пользователя

низкие затраты на обучение пользователей

быстрая разработка корпоративных Web-приложений

Недостатки применения он-лайнового решения таковы:

1.ограничение функционала, доступного через Web,

2.проблемы безопасности,

3.трудности управления транзакциями,

4.возможные сбои в работе компонентов данной архитектуры.

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

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

38

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

Управление транзакциями должно быть обеспечено на уровне сервера баз данных.

Предупреждение потери данных обеспечивается резервным копированием.

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

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

Одна из наиболее популярных сегодня бесплатных Web-архитектур организации удаленного доступа к ресурсам КИС:

Браузер

 

Web-сервер Apache

 

 

 

PHP

СУБД-сервер

MySQL

Часто ПО Web-сервера, интерпретатор PHP и сервер баз данных находятся на одном компьютере. Но из соображений безопасности, а также для повышения производительности всей системы в целом, СУБДсервер лучше разместить на выделенном компьютере.

P.S.

CGI – Common Gateway Interface. Cтандартный шлюзовый интерфейс. Интерфейс прикладного программирования, используемый в Internet. Определяет взаимодействие программы создания динамических WWW-документов и HTTP-сервера. Программа CGI – это консольное приложение, выполняющееся на сервере как отдельный процесс, и осуществляющее обмен данными через стандартные потоки ввода/вывода. Такое приложение загружается в оперативную память сервера только по явному запросу пользователя. Окончив обработку запроса пользователя, программа CGI завершает свою работу и выгружается их памяти сервера. CGI-программы можно писать на любом языке программирования допускающем создание исполняемых модулей, например C++. Чаще всего их пишут на скриптовых языках Perl или PHP.

39

ASP – Active Server Pages. Активные серверные страницы, протокол ASP. Технология, с помощью которой Web-мастер может динамически формировать автоматически обновляемые Web-страницы. Предполагает интенсивное использование серверных сценариев и объектов COM. При применении данной технологии на web-сервере Microsoft Internet Information Server (IIS) располагаются текстовые файлы с расширением asp, содержащие операторы языка HTML, и сценарии, составленные на языках Jscript,VBScript и др. Когда пользователь обращается к странице ASP, Web-сервер интерпретирует расположенный в ней сценарий. При этом анализируются параметры, переданные этой странице. Далее страница модифицируется (или создается заново), а затем отправляется обратно пользователю.

Web API – ISAPI Internet Server API. Интерфейс прикладного программирования Internet-сервера. Интерфейс программирования Web-сервера для вспомогательных прикладных систем, разработанный корпорациями Microsoft и Process Software. Выполняет те же функции, что и программы CGI. Приложения ISAPI реализуются в виде библиотек динамической загрузки DLL. Главным отличием является то, что ISAPI загружается в адресное пространство Web-сервера, но не работает как отдельный процесс. Причем такая загрузка выполняется один раз, когда к ISAPI обращается первый пользователь. В дальнейшем расширение ISAPI остается в оперативной памяти и может быть задействовано без повторной загрузки. В результате расширения ISAPI работает быстрее, чем программы CGI, но ошибки реализации обходятся для Web-сервера много дороже.

Web API – NSAPI Netscape Server API. Интерфейс прикладного программирования сервера Netscape, спецификация программирования для Web-серверов Netscape, обеспечивающая доступ к прикладным системам через Web-сервер с помощью браузера

Web API – WSAPI Web Server API. Интерфейс прикладного программирования сервера O’Reilly, спецификация программирования для Web-серверов O’Reilly, обеспечивающая доступ к прикладным системам через Web-сервер с помощью браузера

------------------------------------

Автоматизированный обмен данными с помощью SDU

Автоматизированный обмен файлами между компьютерами розничной торговой сети — задача, осложненная требованиями безопасности, многообразием способов и скоростей подключения к Internet, разноуровневой квалификацией персонала и другими факторами. Требуется обеспечение возможности автоматизированной отправки в магазины торговой сети документов на перемещение товарноматериальных ценностей и их переоценки, а также справочника дисконтных карт. Кроме того, необходимо было организовать возможность приема из магазинов файлов с отчетами за смену с информацией о продажах и возвратах. Для реализации этой задачи была создана программа SDU (Send Download Universal), универсальная программа для отправки и загрузки.

Всего доступно три режима работы: «Центральный сервер», «Сервер розницы» и «Магазин». Программа работает по принципу клиент-сервер и является многопоточной, то есть может обрабатывать несколько входящих подключений одновременно, работая в режиме «Центральный сервер». Процесс обмена абсолютно безопасен, поскольку программа может передавать только файлы определенных типов, а при установке сеанса связи происходит передача специальных служебных сообщений, которые являются своего рода ключами. Общая схема работы программы представлена на рисунке. Теперь подробно рассмотрим каждый из трех режимов работы программы.

1. «Центральный сервер». В этом режиме программа выступает в роли связующего звена между

40

Соседние файлы в папке ГОСЫ