Файл: Технология клиент-сервер (1. Технология «клиент-сервер»).pdf
Добавлен: 04.07.2023
Просмотров: 91
Скачиваний: 4
СОДЕРЖАНИЕ
1.1 Понятие технологии «клиент-сервер»
1.2 Модели взаимодействия «клиент-сервер»
1.3 Архитектура «клиент-сервер»
2. Современные технологии «клиент-сервер»
2.1 Технологии обработки страниц на web-сайте
2.2 Реализация бизнес-задач на web-сайте с активными серверными страницами
2.3 Сетевые системы управления базами данных
3. Практика использования технологий «клиент-сервер»
– обработка больших объемов информации (наличие возможностей построения на базе такого рода систем управления базами данных «хранилищ данных»);
– поддержка аналитической обработки данных системы управления базами данных;
– эффективная реализация обработки данных по показателям затрат памяти и оперативности [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].
Рассмотрим более подробно особенности информационной системы «Банк-Клиент».