Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Общетеоретический сектор

Введение

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

Трудность воспроизведения и создание таких систем значительна, а методы и детали, используемые при воплощении таких проектных сфер, отличаются от используемых при воспроизведении "монолитных" систем не стоит предполагать, что используемые программные детали - изобретение последних лет.  Два- три десятилетия назад при построении ИС популярной была вид "хост-ПК+ терминалы", реализованная на базе мэйнфреймов (например, IBM-360/370или их отечественных аналогов - ПК серии ЕС ЭВМ), либо на базе так называемых мини-эвм (например, PDP-11, также имевших отечественный аналог -СМ-4). Характерный параметреной особенностью такой программные детали была полная "не интеллектуальность" терминалов, используемых в качестве рабочих мест - их работой управлял все тот же хост-ПК. Данный способ имел несомненными по тем временам достоинствами. В начале, пользователи такой программные детали могли совместно использовать различные детали хост- ПК (ОП, микропроцессор) и довольно дорогие для тех времен периферийные модули (принтеры, графопостроители, модули ввода с магнитных лент и гибких устройств, устройственые накопители).

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

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

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

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

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

Первоначально программные детали такого уровня базировались на классической двухуровневой клиент-серверной архитектурной системному средству (Two-tierarchitecture).

1. Общетеоретический сектор

    1. Введение в общетеоретический сектор

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

-пакет программ, установленные на ПК владельца, которая может осуществлять сетевой запрос с целью получения предмета, и предназначенная для его спец обработки (например, просмотра, изменения или печати документа);

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

-правила (протокол) взаимодействия между этими пакетами программ.

Технология взаимодействия, в которой одна пакет программ запрашивает выполнение какой-либо совокупности действий ("запрашивает услугу"), а другая ее выполняет, называется технологией "клиент-сервер". Участники такого взаимодействия называются соответственно пользователем (client) и сервером (server). Достаточно часто пользователем (или сервером) называют ПК, на которых функционирует то или иное клиентское (или серверное) ПО.

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

    1. Распознавание ПК сервера и владельца

При большом числе ПК (десятки, сотни и даже тысячи) предприятия чаще всего полагаются на локальной сети виды «клиент-сервер». Упрощенно можно считать, что в такой локальной сети отдельный ПК подключается к одному или нескольким мощным ПК, которые называются ПК серверами.

Сервер – это ПК, или выполняющаяся на нём пакет программ, которая предоставляет владельцам способ к общим ресурсам и управляет этими деталями.

Клиент – пользователь (получатель) услуг и/или средствов, которые предоставляет сервер.

СЕРВЕР

Рис. 2.1. Вид клиент-сервер.

В серверных сетях серверы оснащены микропроцессорами типа Intel Pentium 4 и сетевой операционной системой.

    1. Роль ПК сервера и владельца в архитектурной системному средству клиент-сервер

Роль серверов состоит в обеспечение централизованной защиты и управлении трафиком, а также в предоставление владельцам средствов: данных, программных средств и способа к модулям совместного пользования (например, к принтерам). В клиент – серверной среде в роли клиентов выступают настольные ПК (именно ПК, а не неинтеллектуальные терминалы!) под управлением операционной программные детали типа Windows 95 или Windows NT Workstation. Как правило, клиент использует собственные вычислительные мощности для спец обработки данных, полученной от ПК сервера, но полагается на сервер в части предоставления необходимых данных и программных средств. Такое распределение ролей в обработке данных носит название клиентской (front - end) и серверной (back - end) спец обработки.

Наряду с успешным работоспособностьм в собственной «родной» среде, локальной сети виды клиент – сервер могут работать с микро-ПК и мэйнфреймами. Именно эта гибкость в сочетании достаточно низкой (по сравнению с традиционными решениями) стоимостью и составляет привлекательность клиент – серверных сетей. Работая в такой среде на ПК – клиенте, можно «вкушать плоды» трех разных методов спец обработки данных: автономной работы, взаимодействия с другими ПК локальной сети и подключения к серверу или мэйнфрейму для способа к хранящейся там данных.

    1. Представление прикладных документах протоколов

Необходимо различать понятия сетевых программных средств и документах протоколов прикладного уровня. Документы протоколы прикладного уровня являются секторную (хотя и весьма большой) сетевых программных средств. Рассмотрим два примера. Web является сетевым программам, позволяющим владельцам получать web-документы по запросу и состоящим из множества деталей, включая стандарт формата документов (HTML), браузеры (Netscape Navigator, Microsoft Internet Explorer и др.), web-серверы (например, Apache, Microsoft или Netscape), документы протоколы прикладного уровня. Протокол прикладного уровня для web носит название протокола передачи гипертекста (HyperText Transfer Protocol, HTTP) и описывает формат и порядок обмена сообщениями между пользователем и сервером (RFC 2646). Таким образом, HTTP является лишь секторную web-приложения.

В качестве второго примера рассмотрим программа электронной почты. Электронная почта Интернета также состоит из множества деталей: почтовых серверов, содержащих почтовые ящики пользователей, программ для просмотра и создания электронных писем, стандартов, описывающих структуру электронных писем, документах протоколов прикладного уровня, регламентирующих порядок обмена сообщениями серверов между собой и с оконечными системами пользователей, а также интерпретацию полей, из которых состоят электронные письма. Основным протоколом прикладного уровня для электронной почты является протокол простой передачи сообщений (Simple Mail Transfer Protocol, SMTP). Как мы видим, SMTP (RFC 2821) — лишь сектор (хотя и достаточно большая) структуры программных средств электронной почты.

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

- типы используемых сообщений, например, запросы и ответы;

- синтаксис каждого из типов сообщений, описывающий поля сообщения и их секторители;

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

- правила, описывающие события, которые вызывают генерацию сообщений.

Некоторые из документов протоколов прикладного способа (HTTP, SMTP и др.) являются официально документированными в RFC. Это означает, что если разработчик нового браузера будет следовать стандарту, то браузер сможет получать документы с любого web-ПК сервера, построенного поэтому же стандарту. Тем не менее существует множество документах протоколов прикладного уровня, которые не стандартизированы и при этом используются для поддержки коммерческих продуктов. В частности, это характерный параметрно для Интернет-телефонии.

    1. Представление данных в системах спец обработки данных

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

Существует 3 уровня представления данных: логический степень, степень сохранения и физический степень.

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

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

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

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

На логическом уровне представления данных не учитывается техническое и математическое обеспечение программные детали (тип ЭВМ, типы памяти, язык программирования, операционная система).

На уровне сохранения оперируют со структурами сохранения − представлениями логической структуры данных в памяти ЭВМ. Структура сохранения должна полностью отображать логическую структуру данных и поддерживать ее в процессе функционирования СОД. Единицей данных на этом уровне также является логическая запись.

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

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

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

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

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

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

2. Архитектурная система «клиент-сервер»

2.1. Распознавания.

Архитектурная система информационной программные детали - Положение, определяющая вид, структуру, выполняемые функции и взаимосвязь деталей информационной программные детали. [3]

Клиент-сервер (Client-server) — вычислительная или сетевая архитектурная система, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми ПК серверами, и заказчиками услуг, называемыми владельцами. [4]

Сервер — это пакет программ, представляющая какие-то услуги другим пакет программ и обслуживающая запросы клиентов на получение средствов

определенного вида.

Клиент — это пакет программ, использующая услугу, представляемую программой ПК сервера.

Часто люди пользователем или сервером просто называют ПК, на

котором работает какая-либо из этих программ.

В сущности, клиент

и сервер — это роли, исполняемые пакета программ.

Пользователи и ПК сервера

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

2.3. Существенная история.

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

Как правило, владельцам ПК нужны и значительная вычислительная мощность, и прекрасные свойства персональных ПК. Поэтому там, где для выполнения сложных вычислений используются мощные изолированные центральные ПК с терминалами, их владельцам периодически приходится ходить на персональные ПК для редактирования текстов или выполнения задач, использующих электронные таблицы. Это заставляет пользователей освоить 2 различные операционные программные детали (на больших машинах обычно установлены OC MVS, VMS, VM, UNIX, а на персональных - MS DOS/MS Windows, OS/2 или Mac) и не решает задачи совместного использования данных.

В результате опроса представителей 300 крупнейших фирм США, использующих персональные ПК, выяснилось, что для 81% опрошенных необходим способ к информациям более чем одного ПК. Чтобы решить эту задачу, персональные ПК начали объединять в локальные локальной сети и устанавливать на них специальные операционные программные детали, например, NetWare фирмы Novell, для совместного использования ПК локальной сети информационный файлов, размещенных в различных узлах локальной сети. Эта технология называется информационный файл-сервер.

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

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

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

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

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

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

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

Архитектурная система клиент-сервер позволяет реализовать распределенную обработку, поскольку сектор работы (интерфейс с пользователем, финишная спец обработка) решается на ПК-клиенте, а сектор - на ПК- сервере. Это позволяет снизить загрузку ПК сервера и оптимизировать его работу, а также увеличить количество клиентов, одновременно работающих с сервером. Наиболее часто архитектурная система клиент-сервер применяется для программных средств, созданных с использованием систем управления базами данных (СУБД). Дальнейшим развитием архитектуры клиент-сервер явилось использование в локальной сети не одного, а нескольких серверов баз данных. Это позволило перейти от работы с локальной БД к работе с распределенной БД. Причем работа с распределенной базе данных (БД) "прозрачна" для владельца, т.е. он работает с ней так же, как с локальной БД, не задумываясь о том, на каком сервере лежат его данных. Пользователь обращается к одному из серверов, тот, не найдя у себя нужных данных, автоматически обращается к другим ПК серверам. Много серверная архитектурная система сегодня представляется очень перспективной. Она позволяет заменить одну мощную центральную машину на несколько менее мощных и, следовательно, более дешевых, и еще больше распараллелить обработку данных. Кроме того, такая архитектурная система повышает надежность программные детали, поскольку при выходе из строя одного из серверов все приложения, работающие с информациями других серверов, могут продолжать работу. При выходе из строя части локальной или глобальной локальной сети система может попытаться найти альтернативный путь к нужному серверу (по другим ветвям локальной сети). Кроме того, на локальных ПК серверах могут храниться данных, наиболее часто используемые в данном секторе, что позволяет свести к минимуму передачу данных по локальной сети от ПК сервера к серверу.

2.4. Существенные понятия архитектуры «клиент-сервер»

Вообще говоря, клиент-сервернаясистема характерный параметризуется наличием двух взаимодействующих самостоятельных процессов - владельца и ПК сервера, которые, в общем случае, могут выполняться на разных ПК, обмениваясь информациями по локальной сети. По такой схеме могут быть построены программные детали спец обработки данных на основе СУБД, почтовые и другие программные детали. Информационный файл-сервернаясистема тоже использует системуклиент-сервер, однако с точки зрения архитектуры прикладных программ важным является то, какого рода детали предоставляет владельцам сервер. В информационный файл-серверной системному средству данных хранятся на информационном файловом сервере (например, Novell NetWare или Windows NT Server), а их спец обработка осуществляется на рабочих станциях, на которых, как правило, функционирует одна из, так называемых, "настольных СУБД" - Access, FoxPro, Paradox и т.п.

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

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

  1. компонент представления (визуализации) данных;
  2. компонент прикладной логики;
  3. компонент управления базой данных.

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

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

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

2.4. Архитектурная система «клиент-сервер» использующая к БД

2.4.1. Существенные методы структурного способа

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

2.4.2. Разнородность средствов в назначенных системах

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

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

2.4.3. Положении и методы предметного способа (Классы и предметы)

Существенные понятия предметно-ориентированного способа - предмет, класс и экземпляр.

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

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

Таким образом, предмет - это типичный представитель класса, а термины "экземпляр предмета" и "элемент класса" равнозначны.

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

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

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

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

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

2.4.1. Особенности применения предметного способа

Предметы - сущности, инкапсулирующие данных, - это существенные элементы, видырующие реальный мир. В отличие от структурного способа, где основное внимание уделяется функциональной декомпозиции, в предметном способе предметная область разбивается на некоторое множество относительно независимых сущностей - предметов [5]. Предметная декомпозиция, отраженная в спецификациях и кодах программных средств, есть главное отличие предметного способа. Например, предмет "Покупатель" может представлять собой структуру данных, хранящую детализированную информацию о покупателе: его имя, адрес и состояние банковского счета.

Класс предметов, кроме структур данных, определяет функции (методы), применимые к этим структурам.

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

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

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

сервер клиент данных предметный

2.5. Двойная уровневая архитектурная система «клиент-сервер».

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

Схематически такую архитектурную системную часть можно представить, как показано на рис

Классическое представление архитектуры "клиент-сервер"

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

Классификация двухзвенных моделей взаимодействия клиентсервер.

Исторически первой появилась вид распределенного представления данных, которая реализовывалась на универсальной ЭВМ с подключенными к ней неинтеллектуальными терминалами. Управление информациями и взаимодействие с пользователем при этом объединялись в одной программе, на терминал передавалась только "картинка", сформированная на центральном ПК. Затем, с появлением ПК локальных сетей, были реализованы виды способа к удаленной базе данных. Некоторое время базовой для сетей ПКбыла архитектурная система информационный файлового ПК сервера. При этом один из ПК является информационный файловым сервером, на владельцах выполняются приложения, в которых совмещены компонент представления и прикладной компонент (СУБД и прикладная пакет программ). Протокол обмена при этом представляет набор низкоуровневых вызовов операций информационный файловой программные детали. Такая архитектурная система, реализуемая, как правило, с помощью персональных СУБД имеет очевидные недостатки - высокий сетевой трафик и отсутствие унифицированного способа к ресурсам.

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

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

Преимущества такого способа:

-возможно централизованное администрирование прикладных функций,

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

Недостаток - ограниченность средств создание хранимых процедур по сравнению с языками общего назначения (C и Pascal). На практике обычно используется смешанный способ: простейшие прикладные функции выполняются хранимыми процедурами на сервере; более сложные прикладные функции реализуются на клиенте непосредственно в прикладной программе;

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

В продуктах практически всех компаний сервер получает от владельца текст оператора на языке SQL. Сервер производит компиляцию полученного оператора. Далее (если компиляция завершилась успешно) происходит выполнение оператора.

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

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

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

Преимуществами данной архитектуры являются:

- возможность, в множестве случаев, распределить функции вычислительной программные детали между несколькими независимыми ПК в локальной сети;

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

- поддержка многопользовательской работы;

- гарантия целостности данных.

Недостатками данной архитектуры являются:

  • неработоспособность ПК сервера может сделать неработоспособной всю вычислительную сеть;
  • администрирование данной программные детали требует квалифицированного профессионала;
  • значительная стоимость оборудования;
  • бизнес логика программных средств осталась в клиентском ПО.

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

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

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

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

2.6. Многозвенная уровневая архитектурная система «клиент-сервер».

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

Среди многоуровневой архитектуры клиент-сервер наиболее распространена трехуровневая архитектурная система (трехзвенная архитектурная система, threetier), предполагающая наличие следующих деталей приложения: клиентское программа (обычно говорят "тонкий клиент" или терминал), подключенное к серверу программных средств, который в свою очередь подключен к серверу БД.

Схематически такую архитектурную системную часть можно представить, как показано на рис 2.2.3.1.

Рис. 2.2.3.1. Представление многоуровневой архитектуры "клиент-сервер"

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

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

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

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

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

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

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

Начало процессу развития корпоративного программного обеспечения в многозвенной архитектурной системному средству было положено еще в рамках технологии "клиент- сервер". В них наряду с клиентской секторную приложения и сервером баз данных появились серверы программных средств (Application Servers).

В идеале: пакет программ-клиент реализует GUI, передает запросы серверу программных средств и принимает от него ответ, сервер программных средств реализует бизнес-логику и обращается с запросами к серверу "третьего уровня" (например, серверу БД за информациями), сервер третьего уровня обслуживает запросы ПК сервера программных средств. Пакет программ-клиент, таким образом, может быть "тонкой".

Преимущества такой архитектуры очевидны: изменения на каждом из звеньев можно осуществлять независимо; снижаются нагрузки на сеть, поскольку звенья не обмениваются между собой большими объемами данных; обеспечивается масштабирование и простая модернизация оборудования и программного обеспечения, поддерживающего каждое из звеньев, в том числе обновление серверного парка и терминального оборудования, СУБД и т.д.; приложения могут создаваться на стандартных языках третьего или четвертого поколения (Java, C/C++).

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

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

Общим решением препятствия мобильности такого рода систем является использование технологий, реализующие документы протоколы удаленного вызова процедур (RPC - Remote Procedure Call) стандартизованным и платформа-независимым способом. При использовании таких технологий обращение к сервису в удаленном секторе выглядит как обычный вызов процедуры (методов удаленных предметов). Детали RPC, в которых, естественно, содержится вся информация о специфике аппаратуры локальной локальной сети и сетевых документах протоколов, переводит вызов в последовательность сетевых взаимодействий. Тем самым, специфика сетевой среды и документах протоколов скрыта от прикладного программиста.

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

Некоторые авторы представляют многозвенную архитектурную системную часть (трехзвенную) в виде пяти степеней

1.Представление;

2.Степень представления;

3.Степень логики;

4.Степень данных;

5.Данных.

Пять степеней многозвенной архитектуры "клиент-сервер"

К представлению относится вся информация, непосредственно отображаемая пользователю: сгенерированные html-страницы, таблицы стилей, изображения.

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

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

2.7. Виды клиент-сервер.

Существует, по меньшей мере, три виды клиент-сервер:

1.вид способа к удаленным информациям (RDA-вид);

2.вид ПК сервера БД (DBS-вид);

3.вид ПК сервера программных средств (AS-вид).

Первые две виды являются двухзвенными и не могут рассматриваться в качестве базовой виды распределенной программные детали. Третья вид — трехзвенная. Она (как и все многозвенные виды) хороша тем, что в ней интерфейс работы с пользователем полностью независим от компонента спец обработки данных. Собственно, трехзвенной ее можно считать постольку, поскольку в ней явно выделены: компонент интерфейса с пользователем; ПО промежуточному слою (middleware); компонент управления информациями.

Middleware — это главный компонент трехзвенных назначенных систем. Он выполняет функции управления транзакциями и коммуникациями, транспортировки запросов, управления именами и иные функции.

Существует фундаментальное различие между технологией типа "сервер запросов — клиент запросов" и трехзвенными технологиями. В первом случае клиент явным образом запрашивает данных, зная структуру БД (имеет место так называемая "поставка данных" клиенту). Клиент передает СУБД, например, SQL-запрос,а в ответ получает данных. Осуществляется жесткая связь типов, для воплощения которой все СУБД используют закрытый SQL-канал. Он строится двумя процессами: SQL/Net на ПК-клиенте и SQL/Net на ПК-сервере и порождается по инициативе владельца оператором connect. Канал называется закрытым в том смысле, что невозможно, например, написать программу, которая будет шифровать SQL-запросы по специальному алгоритму или другим образом будет вмешиваться в процесс передачи данных между клиентских и серверных программ.

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

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

Заключение

Наиболее бурно развивающимся направлением в области информационных технологий в последние годы стала разработка программного обеспечения на основе архитектуры клиент-сервер, связанного с сетью Internet и системами Intranet, опирающегося на Web-систему и язык Java. Предметные, используемые технологии консорциумов OMG и ODMG интегрируются в общие тенденции, расширяя и обобщая их. Примечательно, что все ведущие производители систем Internet/Intranet, включая Sun, IBM, Netscape, Microsoft, встраивают в свои продукты поддержку КС совместимых документах протоколов.

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

Литература

  1. Л. Калиниченко. Стандарт систем управления предметными базами данных ODMG 93: краткий обзор и оценка состояния. - СУБД, 1, 1996.
  2. Д. Брюхов, В. Задорожный, Л. Калиниченко и др. Интероперабельные ИС: архитектуры и технологии. - СУБД, 4, 1995.
  3. Вудворд Дж. «Технология совместной работы»
  4. Волков В.Б. Понятный самоучитель работы в Windows XP, СПб, Питер, 2004

Размещено на Allbest.ru