Диплом: Автоматизация и обучение информационной безопасности обработок заявок в АО "Тинькофф Банк"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
68
коммерческих разработчиков, так и при создании открытых бесплатных
проектов.
Технология JSP не привязана к конкретной аппаратной или
программной платформе благодаря работе на основе Java. То есть JSP
являются отличным решением для использования в гетерогенных средах.
Ruby (англ. ruby - рубин,) — динамический, рефлективный,
интерпретируемый высокоуровневый язык программирования. Язык обладает
независимой от операционной системы реализацией многопоточности,
сильной динамической типизацией, сборщиком мусора и многими другими
возможностями.
Языка программирования Ruby являются: ООП в стиле Smalltalk;
простой и удобный синтаксис; поддержка новейших перспективных подходов
в программировании; большое количество готовых решений.
К недостаткам Ruby можно отнести: плохая поддержка для Windows, так
как Ruby разрабатывался, в основном, для Linux, то не в Unix-подобной
системе будет сложнее работать с IDE, устанавливать дополнительные
библиотеки и т.д; отсутствие вакансий, если это не Ruby on Rails; мало
документации на русском; потребление памяти.
Таким образом, определив плюсы и минусы представленных выше
языков, выбор был таков: HTML – для разметки страниц сайта, CSS – для
оформления стиля страницы, JavaScript и базирующийся на нем AJAX – для
быстрой работы сайта и проверки переданных данных на корректность, PHP
как основного языка проекта, так как он предназначен для создания подобных
разработок, а также по нему всегда можно найти большое количество
информации в интернете, и при этом сам язык не является сложным,
существует достаточное количество сред для разработки на нем, результат
работы можно видеть в режиме реального времени на своем ПК без обращения
к удаленному серверу.
Для разработки проекта будем использовать html-редактор PhpStorm.
Реализуя поставленную задачу, можно применять любую современную
69
СУБД. Для удобного взаимодействия пользователя с системой целесообразно
тщательно продумать интерфейс системы для простоты и функциональности.
Базы данных могут быть:
пространственная (англ. spatial database): БД, в которой поддерживаются
пространственные свойства сущностей предметной области, широко
используются в геоинформационных системах;
временная, или темпоральная (англ. temporal database): БД, в которой
поддерживается какой-либо аспект времени, не считая времени,
определяемого пользователем;
пространственно-временная (англ. spatial-temporal database) БД: в
которой одновременно поддерживается одно или более измерений в аспектах
как пространства, так и времени;
спиральная (англ. round-robin database): БД, в которой объём хранимых
данных не меняется со временем, так как в процессе сохранения новых данных
они заменяют более старые данные. Одни и те же ячейки для данных
используются циклически.
При разработке данного проекта необходимо использовать
пространственно-временную базу данных.
Базовые идеи современных IT базируются на концепции, в соответствии
с которой данные помещаются в БД для отображения верного измерения
реального мира и удовлетворения потребностей потребителей в информации.
Базы данных разрабатываются и работают под управлением специальных
программных средств, которые принято называть СУБД.
Любая СУБД позволяет выполнять 4 базовые операции с данными:
добавление в таблицу одной и более записей; удаление из таблицы одной и
более записей; обновление значения некоторых полей в одной и более записях;
нахождение одной или нескольких записей, удовлетворяющих заданному
условию.
Реализация этих операций осуществляется через механизм запросов.
Итогом удовлетворения запросов является либо отобранное по нескольким
70
критериям множество, либо корректировка в таблицах.
Любая современная СУБД состоит из следующих компонентов: ядра,
отвечающего за управление информацией во внешней памяти и ОЗУ, а также
фиксирование изменений; процессора языка БД, позволяющего
оптимизировать запросы на извлечение и изменение данных, а также
применение машинно-независимого исполняемого внутреннего кода;
компонента поддержки времени исполнения, преобразующего программы
манипуляции данными, реализующие взаимодействие пользователя с СУБД;
внешних сервисных утилит, поддерживающих ряд дополнительных
возможностей по обслуживанию ИС.
СУБД разделяют по нескольким моделям: объектно-ориентированные;
объектно-реляционные; реляционные; иерархические; сетевые.
Произведём описание применяемых и существующих на сегодняшний
момент СУБД.
Microsoft Office Access является реляционной СУБД от компании
Microsoft, включающей широкий спектр функций, таких как связанные
запросы, взаимодействие с внешними таблицами и БД. Благодаря встроенному
языку VBA, Access сам поддерживает создание приложений, работающих с
БД.
dBase относится к семейству часто применяемых СУБД, и считается
языком программирования используемым в этих СУБД.
Firebird (FirebirdSQL) является компактной, кроссплатформенной и
свободной СУБД, работающей на Linux, Microsoft Windows и различных Unix
платформах.
PostgreSQL является свободной объектно-реляционной СУБД.
SQLite позиционируется как компактная встраиваемая реляционная БД,
с открытым исходный код библиотеки.
Существует большое количество СУБД, написанных для различных ОС
и платформ, к ним можно отнести Oracle, MySQL, mSQL, PostgreSQL, IBM
DB2, SQL Server, Teradata, Interbase, Universe, GNU SQL Server, Sybase, Ingres,
71
Informix, Empress, LEAP RDBMS, FirstBase, Typhoon, SQL/DS, Daffodil DB,
Cloudscape, Compad Non-Stop SQL MX и SQL/MP, Ocelot, Progress, Linter
RDBMS SQL.
Использование той или иной СУБД зачастую является субъективным и
зависит от различных параметров, важным из которых так или иначе является
стоимость. Язык описания данных (ЯОД) характеризуется средствами
описания данных в БД и их связями друг с другом. С помощью средств языка
определяется структура БД, пароли, форматы записей, защищающие данные.
Язык манипулирования данными (ЯМД) является языком реализации
операций над данными, дающий возможность изменять их строение.
Для разных СУБД создание этих уровней языков может быть различно.
В одних случаях ЯОД и ЯМД реализация пользователем программы
осуществляется только «вручную», в других (что характерно на сегодняшний
день) в СУБД с помощью инструмента наглядной разработки программ, для
чего в современных СУБД имеются редакторы экранных форм, отчетов и т.п.
В таких редакторах механизмами (инструментами) становятся различные поля
(ввода, вывода и т.д.), процедуры обработки разных типов (запросы, таблицы,
отчеты, формы). Опираясь на созданные пользователем объекты программы
генераторы создают программный код на языке отдельной машины или на
промежуточном языке.
Для примера возьмем три СУБД, среди которых имеются бесплатные и
платные: MS SQL Server, MySQL, Oracle. Кратко опишем каждую из трех
систем.
MS SQL Server. Исходный код MS SQL Server (до версии 7.0)
базировался на коде Sybase SQL Server, что позволило Microsoft выйти на
рынок БД для бизнеса, где конкурировали Oracle, IBM, и затем Sybase.
Microsoft, Sybase и Ashton-Tate сначала создали и выпустили совместно на
рынок первую версию программы - SQL Server 1.0 для OS/2 (около 1989 года),
ставшая почти аналогом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft
SQL Server 4.2 был полностью готов в 1992 году и входил в состав ОС
72
Microsoft OS/2 версии 1.3. Официально Microsoft SQL Server версии 4.21 для
ОС Windows NT представили одновременно с релизом самой Windows NT
(версии 3.1). Microsoft SQL Server 6.0 стал первой версией SQL Server,
разработанной только для архитектуры NT и без помощи в разработке самой
Sybase.
Сервер БД Microsoft SQL Server использует в роли языка запросов
версию языка SQL, названную Transact-SQL (сокращённо T-SQL). Язык
поддерживал дополнительный синтаксис для хранимых процедур. Он
реализует поддержку транзакций (непосредственное взаимодействие БД с
управляющим ПО).
В момент взаимодействия с сетью Microsoft SQL Server и Sybase ASE
применяется протокол уровня приложения, именуемый Tabular Data Stream
(TDS, протокол передачи табличных данных). Протокол TDS также был
создан в проекте FreeTDS с целью обеспечения некоторым приложениям
стабильного взаимодействия с БД Microsoft SQL Server и Sybase.
С целью доступа к данным Microsoft SQL Server имеется поддержка
Open Database Connectivity (ODBC) – это интерфейс для работы предложения
с СУБД. Версия SQL Server 2005 даёт возможность подключаться
пользователям через веб-сервисы, работающие на протоколе SOAP. Это даёт
возможность клиентским программам, произведённым не для применения в
среде Windows, без проблем соединяться с SQL Server. Microsoft также создала
и опубликовала сертифицированный драйвер JDBC, позволяющий
приложениям под управлением Java (например, BEA и IBM WebSphere) без
проблем взаимодействовать с Microsoft SQL Server 2000 и 2005.
В SQL Server имеется возможность зеркалирования и кластеризации БД.
Кластер сервера SQL есть некоторая совокупностью одинаково составленных
серверов, упрощающая распределение рабочей нагрузки между двумя и более
серверами. Все сервера содержат одно виртуальное имя, и данные по IP-
адресам машин кластера отправляются во время рабочего цикла, а в случае
отказа или сбоя на одном из серверов кластера имеется автоматический
73
перенос всего потока данных на рабочий сервер.
SQL Server поддерживает избыточное дублирование данных, описанное
в 3 сценариях.
Снимок: делается «снимок» БД, пересылаемый сервером получателям.
Журнал изменений: все изменения БД всегда передаются
пользователям.
Синхронизация с другими серверами: БД двух и более серверов
синхронизируются между собой. Изменения всех БД протекают независимо
друг от друга на всех серверах, в момент синхронизации осуществляется
сверка данных. Такой тип дублирования позволяет поддерживать разрешения
противоречий между БД.
SQL Server 2005 имеет встроенную поддержку NET Framework,
позволяющую написать хранимые процедуры БД на любом языке платформы
NET, применяя при этом весь набор библиотек, доступных для NET Framework
вместе с Common Type System (система обращения с типами данных в
Microsoft.NET Framework). NET Framework, выступающий как базисная
системой SQL Server 2005, в отличии от других процессов, требует
дополнительной памяти и выстраивает механизмы управления SQL Server и
не использует встроенные средства Windows. Такой подход дает
дополнительную производительность по сравнению с общими алгоритмами
Windows, так как алгоритмы распределения ресурсов точно настроены для
использования в структурах SQL Server.
MySQL – свободная реляционная система управления базами данных.
Обычно MySQL используется в качестве сервера, к которому обращаются
локальные или удалённые клиенты, однако в дистрибутив входит библиотека
внутреннего сервера, позволяющая включать MySQL в автономные
программы.
Гибкость СУБД MySQL обеспечивается поддержкой огромного
количества типов таблиц. Пользователями выбираются как таблицы типа
MyISAM, имеющие полнотекстовый поиск, так и таблицы InnoDB,
74
поддерживающие транзакции на уровне отдельных записей. Более того, СУБД
MySQL поставляется со специальным типом таблиц EXAMPLE,
демонстрирующим принципы создания новых типов таблиц. Благодаря
открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно
появляются новые типы таблиц.
Группой разработчиков MySQL реализованы разные ответвления кода,
такие как Drizzle, OurDelta, Percona Server, и MariaDB, уже существовавшие в
тот момент, когда компании Sun и MySQL AB были куплены Oracle.
Нынешние версии MYSQL имеют следующие возможности.
Сегментирование - это возможность разделения одной большой таблицы
на несколько частей, помещенных в разные файловые системы,
руководствуясь определенной пользователем функции. При определённых
условиях это может достаточно увеличить производительность и уменьшить
масштабирование таблиц.
Изменение поведения ряда операторов для реализации большей
совместимости со стандартом SQL 2003.
Построчная синхронизация, при которой в бинарный лог записывается
исключительно информация о реально отредактированных строках таблицы
вместо оригинального (и чаще более медленного) текста запроса. При этом,
построчную репликацию лучше применять только в интересах определенных
типов sql-запросов, а говоря терминологией MySQL – реализовывать
смешанную репликацию.
Встроенный планировщик периодически выполняемых работ, который
по синтаксису добавление задачи схоже с добавлением триггера к таблице, по
идеологии - на crontab.
Включенный набор функций для обработки XML, реализация
поддержки XPath.
Удобные средства диагностики проблем и утилиты для подсчета
производительности. Увеличены возможности по управлению содержимым
лог-файлов. При этом логи сохраняются и в таблицах general_log и slow_log.
75
Инструмент mysqlslap дает возможность провести нагрузочное тестирование
БД и указать время реакции на каждый запрос.
Встроенная утилита mysql_upgrade, перед обновлением выполняет
проверку всех существующих таблиц на возможность совместимости с новой
версией, и при необходимости сделает все корректировки.
MySQL Cluster теперь используется как отдельный продукт, основанный
на MySQL 5.1 и хранилище NDBCLUSTER.
MySQL Cluster претерпело изменения в специфике работы, после
которого имеется возможность хранения табличных данных на диске.
Используется встроенная библиотека libmysqld, отсутствовавшая в
MySQL 5.0.
API для плагинов, позволяет загружать сторонние модули,
увеличивающие функциональность (например, полнотекстовый поиск) без
перезагрузи сервера.
Создание парсера полнотекстового поиска в виде plug-in.
Oracle Database - объектно-реляционная система управления базами
данных компании Oracle. СУБД Oracle имеет большое количество различных
версии и типов. Для интернет-систем (public) и систем масштаба крупной
организации (enterprise) предлагается продукт Oracle9i Database Enterprise
Edition (корпоративная редакция), для которого имеется целый набор опций,
архитектурно и функционально расширяющих возможности сервера.
Основной акцент в СУБД Oracle сделан на невысокую стоимость, простоту
установки и сопровождения.
При этом все варианты сервера Oracle имеют в своей основе один и тот
же исходный код и функционально идентичны, за исключением некоторых
дополнительных опций, которые необходимы для специфических
конфигураций (например, для поддержки кластерных архитектур необходима
опция Oracle9i Real Application Clusters).
Основное преимущество такого подхода к построению СУБД — это
идентичность кода для всех вариантов сервера баз данных. Для всех
76
компьютерных платформ и архитектур существует единая СУБД Oracle,
поставляемая в различных версиях, которая ведет себя одинаково и
предоставляет одинаковую функциональность вне зависимости от платформы,
на которой она установлена.
Важным является и то, что совместно с СУБД, компания Oracle
предоставляет очень важный инфраструктурный продукт - Internet Application
Server - сервер приложений, работающий в среде Internet/Intranet, а также
CASE-средства, средств разработки ПО, средства построения хранилищ
данных, оперативного анализа информации, нахождения сложных
зависимостей в данных (Data Mining), что помогает поставлять не отдельные
продукты, а уже полноценные комплексные технологические решения для
заказчиков.
Таким образом, чтобы оптимально функционировала база данных,
необходимым является правильность определения логической взаимосвязи
между таблицами и поэтому, на разработку самой базы данных и основы
клиентского приложения может быть затрачено значительное время.
Определив какие именно данные нам нужны и каким образом, они будут
храниться в памяти, а также какая должна быть система доступа к данным, мы
тем самым решим вопрос управления данными. Кроме этого, нужен ещё
простой способ автоматизации решения предстоящих типовых задач.
Для эффективного выбора СУБД необходимо руководствоваться
несколькими группами критериев, таких как: моделирование данных;
особенности архитектуры и функциональные возможности; контроль работы
системы; особенности разработки приложений; производительность;
надежность; требования к рабочей среде; смешанные критерии.
Основным принципом при выборе СУБД должно являться определение
программного продукта, наиболее соответствующего предъявляемым
требованиям. Но эту задачу решить не так и просто. Во-первых, к СУБД
предъявляется большое число требований, меняющееся с течением времени;
во-вторых, СУБД имеют большое число параметров, затрудняющих их
77
сравнение. Кроме того, информация о СУБД часто носит рекламный характер,
не позволяющий сделать правильное заключение.
На уровне технических характеристик разнообразие СУБД еще больше,
чем на качественном уровне. К техническим характеристикам относятся:
общие параметры (операционная среда, потребность в оперативной памяти,
ограничения на максимальный объем БД и др.); ограничения на операции над
данными; типы данных; возможности средств формулировки и выполнения
запросов; работа в многопользовательских средах; инструментальные
средства разработки приложений.
Оценка производительности осуществляется методом тестирования при
помощи эталонных тестов из набора AS3AP (ANSI SQL Standard Scalable and
Portable). При тестировании осуществляется контроль за широким спектром
часто встречающихся операций БД и моделируются однопользовательские и
многопользовательские среды.
В таблице 1.6 представлена сравнительная таблица трех
распространенных систем управления базами данных, конкурирующих на
рынке программного обеспечения поосновным показателям.
Таблица 1.6
Сравнение СУБД.
Факторы
(показатели)
Microsoft SQL
Server 2008
MySQL 5.1
PostgreSQL 8.4
Вес каждого
фактора
Производительность
0,8
0,6
0,5
0,33333333
Защищенность
0,7
0,8
0,6
0,26666667
Простота использования
0,2
0,9
0,3
0,2
Наличие графического
средства проектирования
0,7
0,9
0,4
0,13333333
Поддержка ОС
0,2
0,9
0,5
0,06666667
Итого
2,6
4,1
2,3
1
Рассчитывая обобщенный показатель качества фактора, получаем
результаты выбора, представленные в таблице 1.7.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)