Сеансовый уровень Сетевой уровень Пользовательские процессы и уровни управления в ИВС Прикладной уровень Стек TCP/IP Представительный уровень

Информационно-вычислительные системы и сети

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

Прикладной уровень

Прикладной уровень процессов в вычислительной сети регламентируется стандартами ISO IS 8649/1, 8649/3, IS 8650/1, 8650/3. Основной целью прикладного уровня является выполнение всех информационно-вычислительных процессов, предоставляемых пользователем через транспортную сеть. Функции, реализуемые вычислительной сетью на этом уровне, делятся на (см. рис. 6.2) две большие группы: прикладные процессы пользователей и прикладные процессы системного управления.

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

Следует отметить, что все прикладные процессы, рассматриваемые архитектурой открытых систем, являются (см. рис. 6.3) распределенными.

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

Отличие промышленных систем от игрушечных

Методика обеспечения целостности распределенной БД - лишь один из аспектов, определяющих упомянутое различие. Если попробовать сформулировать основной его критерий в общем виде, то, пожалуй, можно предложить следующую формулировку: в промышленной системе всегда можно дать однозначный ответ на вопрос "А что будет, если..?". Другими словами, промышленная система должна обеспечивать своими внутренними средствами предсказуемость своего состояния независимо от внешних условий. Безусловно, любое общее определение страдает неполнотой (в самом деле, формально наиболее предсказуемым является состояние системы, которая вообще никогда не работает), однако, по мнению автора, оно все-таки дает идею, необходимую для понимания сути утверждения о том, что Oracle предоставляет технологию для создания именно промышленных систем.

В качестве поясняющего примера вернемся к проблеме синхронизации тиражируемых данных. Рассмотрим вопрос об организации связи между серверами в распределенной БД. Очень соблазнительной является идея: если уж мы не требуем, чтобы целостность данных (в частности соответствие тиражированных копий друг другу) обеспечивалась в любой момент времени, нельзя ли организовать указанную связь на основе электронной почты? На первый взгляд, ничего опасного в этом нет, но вспомним, что электронная почта не гарантирует, что "письма" будут получены адресатом в той же последовательности, в которой они были посланы и даже что все они вообще будут получены. Даже если с помощью специального контроля на приеме последствия данной неоднозначности сводятся к минимуму, все равно оказывается невозможным предсказать, скажем, момент времени, когда информация об изменении одной из копий объекта дойдет до других его копий, и в каком состоянии к этому моменту эта изменившаяся копия будет находиться. Означает ли это, что электронной почтой в распределенной БД пользоваться вообще нельзя? И да, и нет. Все зависит от требований к системе. Если "свежесть" тиражированных данных требуется, допустим, в пределах суток, а последствия непредсказуемости системы и потери ее целостности не слишком разрушительны, то почему бы и нет? Но если все-таки требуется действительно промышленная система, то необходимо очень тщательно оценить все возможные последствия применения выбранного механизма взаимодействия и ввести в использование того же тиражирования такие ограничения, которые обеспечили бы требуемый уровень целостности системы.

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

Допустимо ли временное рассогласование тиражированных данных?

Если да, то в каких временных пределах должна осуществляться процедура их согласования, и каким образом она должна инициироваться?

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

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

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