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

Технология «клиент-сервер» (Понятие технологии)

Содержание:

Введение

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

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

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

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

По мере роста популярности систем «клиент-сервер» набирала силу и технология объектно-ориентированного программирования, которая предлагала перейти к системной архитектуре с тремя слоями: слой представления отводится пользовательскому интерфейсу, слой предметной области предназначен для описания основных функций приложения, необходимых для достижения поставленной перед ним цели, а третий слой представляет источник данных.

Объект исследования – интернет-технологии.

Предмет исследования – технология «клиент-сервер»

Целью данной работы является изучение технологии «клиент-сервер».

В соответствии с целью была определена необходимость постановки и решения следующих задач:

– дать понятие технологии «клиент-сервер»;

– описать модели взаимодействия «клиент-сервер»;

– описать архитектуру «клиент-сервер»;

– дать характеристику современным технологиям «клиент-сервер»;

– описать практику использования технологий «клиент-сервер».

1.Описание технологии «клиент-сервер»

1.1.Понятие технологии «клиент-сервер»

«Клиент–сервер» представляет собой вычислительную или сетевую архитектуру, в которой задания или сетевая нагрузка распределяется между активными поставщиками услуг, которые называются серверами, и заказчиками услуг, клиентами [3, с. 19]. Фактически клиент и сервер – это специальное прикладное программное обеспечение.

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

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

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

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

Поэтому, в любом прикладном программном приложении можно выделить следующие компоненты: компонент представления данных; прикладной компонент; компонент управления ресурсом.

Связь между компонентами осуществляется по определенным правилам, которые называют «протокол взаимодействия».

1.2.Модели информационного взаимодействия «клиент-сервер»

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

Исторически первой появилась модель распределенного представления оперативных данных, реализованная на универсальной ЭВМ с обеспечением непосредственного подключения к ней терминалами. Управление оперативными данными и организация их непосредственного взаимодействия с пользователем при этом объединялись в одной прикладной программе, на терминал выполнялась передача только «картинки», которая была сформирована на основном компьютере [8, с. 86].

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

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

С появлением первых специализированных серверов баз данных была реализована уникальная модель доступа к удаленным базам данных. При использовании такого подхода ядро системы управления базами данных работает на сервере, протокол обмена обеспечивается при помощи использования языка структурированных запросов SQL. Такой подход в сравнении с файловым сервером ведет к значительному снижению загрузки вычислительной сети и практически полной унификации интерфейса «клиент-сервер» [13, с. 74]. Однако, в таком случае сетевой трафик остается высоким, кроме того, по прежнему является невозможным хорошее администрирование программных приложений, в связи с тем что, в одной прикладной программе совмещаются разные функции обработки данных.

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

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

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

– простейшие прикладные программные функции выполняются хранимыми процедурами на сервере;

– более сложные реализуются на клиенте непосредственно в прикладной программе [24, с. 54].

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

1.3.Архитектура технологических решений «клиент-сервер»

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

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

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

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

Рис. 1. Двухуровневая модель взаимодействия клиент-сервер

Если говорить про многоуровневую архитектуру взаимодействия клиент-сервер, то в качестве усредненного примера можно привести любую современную систему управления базами данных (за исключением, SQLite, которая не использует технологию клиент-сервер) [4, с. 89].

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

Если посмотреть на представленную архитектуру с позиции web-сайта. То первый уровень данной архитектуры можно считать браузером, при помощи которого посетители заходят на web-сайт, второй уровень – это технологическая связка Apache + PHP, а третий уровень – это определенная база данных. Преимуществом практического использования данной модели является то, что программный код некоторого клиентского прикладного программного приложения и серверного разделен.

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

Рис. 2. Многоуровневая архитектура взаимодействия клиент-сервер

Типичный пример практической реализации трехуровневой модели клиент-сервер можно представить следующим образом. Если говорить в контексте систем управления базами данных, то первый уровень – это клиент, позволяющий писать необходимые SQL запросы к определенной базе данных. Второй уровень – это движок системы управления базами данных, интерпретирующий структурированные запросы и реализует необходимое взаимодействие между файловой системой и клиентом, а третий уровень – это непосредственное хранилище данных оперативных данных [2, с. 415].

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

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

2.Современные технологии «клиент-сервер»

2.1.Технологии обработки страниц web-сайта.

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

Существует два способа создания активного сервера Web на базе Microsoft Internet Information Server – с использованием программ расширения CGI или ISAPI или при помощи активных серверных страниц ASP.

Первый способ предполагает составление сложных программ на языке программирования C++ или типа Perl. Программы по расширению сервера Web являются обычными приложениями, которые исполняются на сервере Web. Они могут выполнять обращение к БД таким же образом, как и стандартные автономные приложения [6, с. 470].

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

Использование активных серверных страниц ASP, является значительно проще, хотя позволяют решать тот же самый комплекс задач, что и программное расширение сервера Web. Активные серверные страницы ASP являются текстовыми файлами с конструкциями языка HTML и необходимыми сценариями, которые были составлены на языках программирования, как JScript и VB Script [10, с. 185].

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

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

Результатом работы серверных сценариев ASP является динамически сформированный текст документа HTML, который отсылается пользователю. Данный текст загружается в окно браузера. Если созданный документ HTML будет содержать клиентские сценарии, они будут выполнены браузером [12, с. 260].

Технология ASP предполагает широкое использование серверных сценариев и объектов СОМ для создания динамических web-серверов. Средствами технологии ASP можно легко создавать интерактивные web-страницы, выполнять обработку данных введенных пользователем через формы, обращаться к базам данных.

Наиболее интересными и полезными качествами, которыми обладает технология ASP, можно считать:

– наличие удобного способа соединения серверных сценариев и HTML;

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

– поддержка концепции «Session» – переменные для всех пользовательских соединений, как решение проблем с протоколом HTTP;

– возможности организации распределенной архитектуры на основе инфраструктуры COM, DCOM, COM+. Дополнительные возможности, предоставляемые технологией MTS – контекст объектов, пул и т.д.;

– наличие удобного набора объектов-утилит: Server, Application, Request, Response, Session, ObjectContext [9, с. 120].

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

2.2.Реализация бизнес-задач на базе использования web-сайта.

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

Active Server Pages представляет собой среду программирования, обеспечивающую возможности по комбинированию HTML, скриптов, и компонент для разработки динамических web-приложений. Обеспечивает необходимые возможности по встраиванию в web-страницы скриптов, позволяет логичным образом выполнить объединение оформления с данными которые были получены из разнообразных источников, например, из баз данных.

Реализация бизнес-задач на web-сайте с активными серверными страницами представляет собой специализированный физический процесс, посредством которого выполняется передача информации в пространстве. Данный процесс можно охарактеризовать наличием следующих компонентов: использование среды передачи информации; использование определенного носителя информации; наличие приёмника информации; наличие источника информации [11, с. 104].

Обработка ключевых бизнес-задач на web-сайте с активными серверными страницами может быть представлена в виде следующей схемы, рис. 3.

Рис. 3. Обработка бизнес-задач на web-сайте

В структуре операций информационного обмена на определенном web-сайте с использованием активных серверных страниц можно выделить следующее:

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

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

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

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

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

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

– транспортировка оперативных данных представляет собой прием и непосредственную передачу данных между участниками информационных процессов [15, с. 95].

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

Информационный обмен на web-сайте с активными серверными страницами обеспечивает взаимодействие потребителей-поставщиков информации. Решение всякой проблемы в общем случае может включать такие этапы:

– выполнение поиска необходимой информации. Данный этап характеризуется обработкой информации в информационной системе или взаимодействии с ней;

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

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

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

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

Типовая схема информационного обмена на web-сайте с активными серверными страницами представлена на рис. 4.

Управление информационным обменом на макроуровне может быть разделено на три типа задач, соответствующих данным каналам, которые можно описать следующим образом:

– организация работ и взаимодействия соисполнителей при выполнении работ;

– маркетинг – поиск заказчиков;

– управление документальными потоками – распространение информации в документальной форме по каналам на web-сайте с активными серверными страницами [19, с. 35].

Рис. 4. Типовая схема информационного обмена на web-сайте с активными серверными страницами

Обобщенными информационными системами в рассматриваемом случае могут являться:

– информационно-аналитические подразделения организаций;

– информационные службы или институты информации;

– специалисты-аналитики или информаторы;

– мировые информационные системы и сети информационного обмена.

2.3.Описание сетевых систем управления базами данных.

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

Основными понятиями сетевой модели базы данных в рамках системы управления базами данных являются: элемент (узел); уровень; связь.

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

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

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

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

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

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

– возможности непосредственного перехода от потомка к предку по некоторой связи;

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

– возможности создания новой записи базы данных;

– возможности уничтожения записей базы данных;

– возможности модифицирования записей базы данных;

– возможности включения в связь базы данных;

– возможности исключения данных из связи базы данных;

– возможности изменения связей базы данных [26, с. 42].

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

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

– обработка больших объемов информации (наличие возможностей построения на базе такого рода систем управления базами данных «хранилищ данных»);

– поддержка аналитической обработки данных системы управления базами данных;

– эффективная реализация обработки данных по показателям затрат памяти и оперативности [1, с. 230].

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

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

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

Возможности непосредственного управления данными во внешней памяти.

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

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

Возможности управления буферами оперативной памяти.

Сетевые системы управления базами данных в большинстве случаев работают с базами данных достаточно большого размера; по крайней мере, непосредственный размер базы данных может быть значительно больше доступного объема оперативной памяти вычислительной системы [7, с. 850].

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

Возможности управления транзакциями.

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

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

Возможности ведения журнализации.

Одним из базовых требований к системе управления базами данных является высокая надежность хранения оперативных данных во внешней памяти вычислительной системы. Под надежностью хранения оперативных данных можно понимать то, что система должна быть в состоянии восстановить последнее согласованное состояние своей базы данных после любого возможного программного или аппаратного сбоя [14, с. 410].

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

MongoDB (от англ. humongous - огромный) представляет собой документоориентированную систему управления базами данных с открытыми исходными кодами, и не требует описания схем таблиц. Данную систему управления базами данных можно классифицировать как NoSQL, которая использует JSON-подобные документы и специальную схему базы данных.

СУБД MongoDB разработана на базе использования средств объектно-ориентированного языка программирования C++, в связи с чем она может быть достаточно легко портирована на самые различные технологические платформы. MongoDB можно развернуть на следующих платформах Linux, MacOS, Windows, Solaris. Можно также выполнить загрузку исходного кода и самостоятельно выполнить компиляцию MongoDB, но в тоже время рекомендуется использовать исключительно библиотеки, закачиваемые с официального сайта [18, с. 87].

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

MongoDB может достаточно эффективно работать с набором реплик. Набор реплик включает несколько копий данных. Каждый новый экземпляр такого рода набора реплик может в необходимый момент времени выступить в роли вспомогательной или основной реплики. Все операции чтения и записи по умолчанию выполняются с базовой репликой. Вспомогательные реплики поддерживаются в актуальном состоянии копии обрабатываемых данных [20, с. 110]. Если основная реплика даст сбой, набор реплик будет проводить выбор, какую именно из реплик нужно будет сделать основной. Второстепенные реплики могут быть использованы для выполнения операций чтения.

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

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

Данная функция, которая называется Grid File System, предоставляется совместно с установленным набором драйверов MongoDB. СУБД MongoDB может предложить разработчикам специализированные функции для работы с сетевыми файлами и их реквизитным содержимым. Технологию GridFS можно использовать в плагинах для lighttpd и NGINX. GridFS позволяет разделить файл на составные части и хранить каждую отдельную часть как уникальный документ [22, с. 163].

В фреймворках для выполнения операций агрегации данных существует аналог SQL-инструкции GROUP BY. Операторы такого рода агрегации могут быть связанными в специальный конвейер как это выполнено в UNIX-конвейерах. В фреймворках так же имеется специальный оператор $lookup, который может быть использован для выполнения операций связки обрабатываемых документов в процессе выгрузке и выполнения статистических операций, например, среднеквадратическое отклонение.

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

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

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

В большинстве случаев выполнение хранения оперативных данных выполняется по средствам использования базах данных реляционного типа, к которым можно отнести MS SQL, MySQL, Oracle, PostgresSQL. И при этом, не является столь важным, подходят ли определенные реляционные базы данных для выполнения операций хранения данного типа данных или не подходят.

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

3.Практика использования технологических решений «клиент-сервер»

3.1.Система «Банк-Клиент»

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

Удобная система «Банк-Клиент» способна избавить представителей организации от поездок в банк практически полностью.

Целесообразность использования системы дистанционного доступа к счету определяется, как правило, количеством операций организации. Удаленный доступ к счету – дополнительная услуга банка, которая оплачивается отдельно.

Преимущества системы «Банк-Клиент»:

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

– снижение вероятности операционных ошибок – не нужно заполнять платежные поручения вручную, что позволяет избежать механических ошибок;

– система поддерживает полный спектр банковских документов и реализована с учетом всех требований Национального банка;

– гарантированный уровень безопасности (используются сертифицированные криптографические средства);

– гибкое управление правами клиентов и их сотрудников.

Функциональные возможности системы «Банк-Клиент»:

– работа с документами в национальной валюте (платежные поручения в национальной валюте);

– работа с документами в иностранной валюте (платежные поручения в иностранной валюте, заявления на покупку/продажу/конверсию иностранной валюты);

– контроль за кредитными договорами;

– контроль и операции по депозитным договорам;

– формирование и отправка зарплатных ведомостей;

– работа с корпоративными картами;

– формирование выписок по счетам.

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

– система «Клиент-Банк» (remote banking, PC-banking, direct banking, home banking);

– интернет-Клиент (Online banking, тонкий клиент; Интернет-банкинг (Internet banking), WEB-banking);

– система «Банк-Клиент»;

– система «Телефон-Банк» (Телефонный банкинг (phone-banking), телебанкинг, SMS-banking);

– использование с обслуживанием банкоматов (ATM-banking) и устройств связанных с банковским самообслуживанием [25, с. 88].

Рассмотрим более подробно особенности информационной системы «Банк-Клиент».

Классический тип системы «Банк-Клиент», который часто называют «толстый клиент». Данный тип системы предполагает, что на компьютере пользователей будет установлена отдельная программа-клиент. Программа-клиент обеспечивает хранение на персональном компьютере всех своих оперативных данных, к которым относятся платёжные документы и различные выписки по счетам. Программа-клиент может выполнять соединение с банком по разным каналам связи, например, по средствам сети Интернет.

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

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

Рис. 5. Состав типовой конфигурации системы «Банк-Клиент»

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

Фактически система превратится в универсальную станцию внешнего документооборота, или EDI-станцию. Ее основными задачами станут следующие:

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

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

– обеспечение комплекса возможностей обработки документов различного типа;

– обеспечение непосредственного взаимодействия с разными транспортными системами телекоммуникаций, в том числе, с системами off-line и on-line.

– обеспечение взаимодействия с разными транспортными вычислительными системами телекоммуникаций, в том числе, с системами off-line и on-line, рис. 6.

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

Рис. 6. Обработка документов в системе «Банк-Клиент»

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

3.2.Система «ИНИСТ Банк-Клиент»

Компания «ИНИСТ» занимается разработкой систем «Банк-Клиент» с 1992 года. Программный комплекс «ИНИСТ Банк-Клиент» использует передовые технологии и богатый опыт эксплуатации системы российскими банками.

Система «ИНИСТ Банк-Клиент» позволяет клиентам получать информацию и управлять своими счетами в банке, используя специализированное рабочее место под Windows («Толстый клиент») или стандартный Интернет-браузер («Тонкий клиент»), а также осуществлять доступ к информации посредством телефонного банкинга и SMS сервисов, рис. 7.

Рис. 7. Структурная схема работы программного комплекса

«ИНИСТ Банк-Клиент»

Основными достоинствами программного комплекса «ИНИСТ Банк-Клиент» являются:

– возможности развития системы и расширение ее возможностей;

– наличие простого и понятного интерфейса;

– полная совместимость со сторонними банковскими продуктами;

– возможности по настройке меню групп пользователей системы;

– соответствие протоколов системы с изменениями в законодательстве;

– наличие возможностей по работе с любыми каналами связи;

– возможности по работе неограниченного числа филиалов банка через главный центр системы «ИНИСТ Банк-Клиент»;

– возможности расширения информационной безопасности, параллельное и одновременное использование специальных ФСБ криптосистем;

– возможности кроссбраузерной совместимости;

– возможности настройки индивидуального дизайна системы [27, с. 413].

Базовые функции системы «ИНИСТ Банк-Клиент»:

– возможности по обслуживанию организаций и физических лиц;

– возможности по поддержке разнообразных криптобиблиотек;

– возможности по поддержке разнообразных форматов документов;

– наличие интерфейсов к разным АБС;

– возможности обмена данных с системами клиентов.

Система «ИНИСТ Банк-Клиент» реализована на основе архитектуры клиент-сервер, что обеспечивает высокую эффективность работы системы с надежность хранения данных и высокую защиту данных.

Дизайн системы «ИНИСТ Банк-Клиент» включает:

– наличие возможностей по выбору вариантов дизайна;

– наличие возможностей по замене цветов в оформления;

– наличие возможностей по разработке индивидуального дизайна;

– наличие возможностей по оформлению в стиле сайта банка.

Интерфейс системы «ИНИСТ Банк-Клиент» представлен на рис. 8.

Безопасность передачи информации и целостность доставляемых данных в системе «ИНИСТ Банк-Клиент» обеспечивается использованием современных разработок, к которым относятся:

Безопасность в системе «ИНИСТ Банк-Клиент» включает следующие компоненты:

– наличие защищенного SSL-соединения;

– использование электронного аналога собственной подписи обрабатываемых данных;

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

– использование ключевой регистрации;

– использование генератора одноразовых паролей;

– использование виртуальной клавиатуры.

Рис. 8. Интерфейс системы «ИНИСТ Банк-Клиент»

В настоящее время систему «ИНИСТ Банк-Клиент» используют более 20 банков и их филиалов, среди которых: Банк Российский Капитал; Юг-Инвестбанк, Краснодар; Нордеа Банк; Коммерческий банк ДельтаКредит; Росбанк; Банк «Национальный Клиринговый Центр».

Заключение

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

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

При этом взаимодействие всегда начинает клиент, а правила, по которым выполняется непосредственное взаимодействие описывает используемый протокол. Существует два вида архитектуры взаимодействия клиент-сервер: первый это двухзвенная архитектура клиент-серверного взаимодействия, второй – многоуровневая архитектура клиент-сервер.

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

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

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

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

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

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

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

  1. Архитектура и проектирование программных систем : монография / С.В. Назаров. – 2-е изд., перераб. и доп. – М. : ИНФРА-М, 2018. – 374 с.
  2. Архитектура ЭВМ и вычислительные системы : учебник / В.В. Степина. – М.: КУРС: ИНФРА-М, 2018. – 384 с.
  3. Блюмин А.М. Информационные ресурсы: Учебное пособие для бакалавров / А.М. Блюмин, Н.А. Феоктистов. – 3-е изд., перераб. и доп. – М.: Издательско-торговая корпорация «Дашков и Ко», 2015 – 384 с.
  4. Валитов Ш.М. Современные системные технологии в отраслях экономики: Учебное пособие / Ш.М. Валитов, Ю.И. Азимов, В.А. Павлова. - М.: Проспект, 2016. – 504 c.
  5. Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c.
  6. Гаврилов М.В. Информатика и информационные технологии: Учебник / М.В. Гаврилов, В.А. Климов. - Люберцы: Юрайт, 2016. – 383 c.
  7. Грошев А.С. Информационные технологии : лабораторный практикум / А. С. Грошев. – 2-е изд. – М.-Берлин: Директ-Медиа, 2015. – 285 с.
  8. Грошев А.С., Закляков П. В. Информатика: учеб. для вузов – 3-е изд., перераб. и доп. – М.: ДМК Пресс, 2015. – 588 с.
  9. Грофф, Джеймс Р., Вайнберг, Пол Н., Оппелъ, Эндрю Дж. SQL: полное руководство, 3-е изд.: Пер. с англ. - М.: ООО «И.Д. Вильямс», 2015. – 960 с.
  10. Дарков А.В. Информационные технологии: теоретические основы: Учебное пособие / А.В. Дарков, Н.Н. Шапошников. - СПб.: Лань, 2016. – 448 c.
  11. Ерохин В.В. Безопасность информационных систем: учеб пособие / В.В. Ерохин, Д.А. Погонышева, И.Г. Степченко. - М.: Флинта, 2016. – 184 c.
  12. Жданов С.А. Информационные системы: учебник / С.А. Жданов, М.Л. Соболева, А.С. Алфимова. - М.: Прометей, 2015. – 302 с.
  13. Замятина О.М. Вычислительные системы, сети и телекоммуникации. моделирование сетей.: Учебное пособие для магистратуры / О.М. Замятина. - Люберцы: Юрайт, 2016. – 159 c.
  14. Информатика: программные средства персонального компьютера : учеб. пособие / В.Н. Яшин. – М. : ИНФРА-М, 2018. – 236 с.
  15. Информатика : учебник / И.И. Сергеева, А.А. Музалевская, Н.В. Тарасова. – 2-е изд., перераб. и доп. – М. : ИД «ФОРУМ» : ИНФРА-М, 2018. – 384 с.
  16. Информатика (курс лекций) : учеб. пособие / В.Т. Безручко. – М. : ИД «ФОРУМ» : ИНФРА-М, 2018. – 432 с.
  17. Информатика и информационно-коммуникационные технологии (ИКТ) : учеб. пособие / Н.Г. Плотникова. – М. : РИОР : ИНФРА-М, 2018. – 124 с.
  18. Информационные системы и технологии: Научное издание. / Под ред. Ю.Ф. Тельнова. - М.: ЮНИТИ, 2016. – 303 c.
  19. Информационные технологии: Учебное пособие / Л.Г. Гагарина, Я.О. Теплова, Е.Л. Румянцева и др.; Под ред. Л.Г. Гагариной - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2015. – 320 c.
  20. Информационные технологии в профессиональной деятельности : учеб. пособие / Е.Л. Федотова. – М. : ИД «ФОРУМ» : ИНФРА-М, 2018. – 367 с.
  21. Колисниченко Д.Н. PHP и MySQL. Разработка веб-приложений. Профессиональное программирование / Д.Н. Колисниченко. - СПб.: BHV, 2015. – 592 c.
  22. Корпоративные информационные системы управления : учебник / под ред. Н.М. Абдикеева, О.В. Китовой. - М. : ИНФРА-М, 2014. – 563 с.
  23. Кучинский В.Ф. Сетевые технологии обработки информации: учеб. пособие. – СПб: Университет ИТМО, 2015. – 115 с.
  24. Лапшина С.Н. Информационные технологии в менеджменте : учебное пособие / С. Н. Лапшина, Н. И. Тебайкина. – Екатеринбург : Изд-во Урал. ун-та, 2014. – 84 с.
  25. Олифер В., Олифер Н. Компьютерные сети (принципы, технологии, протоколы). - СПб.: Питер, 5-е изд., 2016. – 992 с.
  26. Таланов В. М., Федосин С. А. Проектирование информационных систем и баз данных. Учеб. пособие. Изд.3. Переработанное и дополненное – Саранск: Изд-во СВМО, 2013. – 72 c.
  27. Хаббард Дж. Автоматизированное проектирование баз данных / Дж. Хаббард. - М.: Мир, 2015. – 296 c.