Технические решения банковских технологий
Любое решение в сфере ИТ должно быть поддержано имеющимся информационно-технологическим окружением. Сети, серверы, рабочие станции и прочее техническое оборудование входят в список системных требований любого программного продукта.
Системные требования обычно определяются техническими параметрами следующих аппаратных и программных средств:
• процессоров – устройств, выполняющих управление системой и осуществляющих обработку данных;
• памятью системы – многими устройствами, предназначенными для хранения информации;
• интерфейсов – механизмов взаимодействия технических устройств между собой и с внешней средой;
• системой коммуникаций или сетью – структур и механизмов, осуществляющих обмен информацией между компонентами системы;
• операционной системой – программным обеспечением, обеспечивающим базовый набор функций для управления техническими компонентами системы.
Для простейших систем определяются требования только к одному компьютеру. Обычно это персональный компьютер, который может обеспечить работу всей системы. Такая архитектура носит название централизованной системы. В зависимости от мощности компьютера, на котором они базируются, централизованные системы могут решать и более глобальные задачи. Замена персонального компьютера на многопользовательскую большую, супермини- или мини-ЭВМ позволит централизовать множество задач в рамках одной центральной системы. Однако высокая стоимость данных решений, а также отсутствие достаточного количества специалистов и малое количество программных решений, базирующихся на центральном компьютере, ограничивают использование таких систем.
В результате с ростом сложности, объемов информации и количества одновременно выполняемых процессов технические требования выходят за рамки одного устройства и приводят к созданию распределенной системы.
В зависимости от типа распределяемых ресурсов современные технологии предлагают три вида архитектур распределенных систем.
1. Распределенные вычисления – компьютерная система, в которой обработка выполняется несколькими компьютерами, подсоединенными к сети. При этом имеется в виду любая компьютерная система, в которой каждый компьютер решает свою задачу, а сеть поддерживает функционирование системы как единого целого.
2. "Клиент-сервер" – модель построения распределенной вычислительной среды, в которой интерфейсная часть задачи выполняется на машине пользователя, а требующая больших ресурсов обработка запросов осуществляется одним или несколькими серверами.
3. Кластеры – вычислительная система, представляющая совокупность относительно автономных систем (компьютеров) с общей дисковой памятью (общей файловой системой), средствами межмашинного взаимодействия и поддержания целостности баз данных. Применение кластеров увеличивает производительность и надежность системы, так как в случае сбоя одного компьютера его работу берет на себя другой. С точки зрения пользователя, кластер действует как единая система.
Эти архитектуры не являются взаимоисключающими, использование для части ресурсов архитектуры "клиент- сервер" может быть совмещено с проведением распределенных вычислений для других ресурсов.
Первая задача, которая должна быть решена при создании распределенной системы, – это определить, какие виды ресурсов будут распределены. В случае, если необходимо разделение вычислительных мощностей, рассматривается система распределенных вычислений или архитектура "клиент-сервер". Если система выполняет обработку больших потоков данных и их хранение, то анализируются механизмы кластера.
Технология "клиент-сервер" базируется на принципе специализации составляющих информационной системы. При этом определяются два типа компонентов: сервер и рабочее место пользователя (Desktop).
Сервер – специализированное устройство или программное обеспечение, которое служит для решения общей задачи.
Рабочее место пользователя – компоненты информационной системы, которые служат для решения задач конкретного пользователя, например реализации пользовательского интерфейса системы.
Термин "сервер" может трактоваться двояко: и конкретно как мощный выделенный компьютер, либо как программное обеспечение, реализующее одну из служб. В данной главе сервером будет называться программа, которая обеспечивает независимое выполнение некоторой задачи. При этом задача может выполняться как на выделенном компьютере, так и на рабочей станции. Последнее решение часто используется разработчиками систем.
При выборе архитектуры "клиент-сервер" в первую очередь необходимо определить весь перечень задач, решения которых будут перенесены на серверы. Как правило, это задачи, требующие общего доступа или больших вычислительных мощностей. Ниже приведен список служб информационных систем, наиболее часто используемых как серверы.
Сервер домена определяет список пользователей сегмента сети, а также их права доступа. Осуществляет мониторинг соединений. Является ядром любой сетевой операционной системы, работающей по принципу "клиент-сервер".
Файл-сервер служит для хранения информации в виде файлов для распределенного доступа к ним. Осуществляет контроль доступа к каждому из них. В качестве файл- сервера может служить любой компьютер, который разрешает использовать собственное дисковое пространство. Однако многие сетевые операционные системы предлагают большое количество дополнительных сервисов для управления файл-сервером.
Сервер базы данных служит для хранения, обработки и обеспечения доступа к структурированной информации. Сегодня наиболее часто для решений используются серверы реляционных баз данных, поддерживающие язык запросов SQL. К ним относятся СУБД ORACLE, Microsoft SQL, DB2, SYBASE.
Интернет-сервер предоставляет информацию в соответствии с соглашениями и правилами Интернета. В простейшем случае – то же, что и файловый сервер. Однако понятие интернет-сервера включает набор дополнительных сервисов, связанных, как правило, с преобразованием информации. Наиболее распространенными являются серверы APACHE и Internet Information Server (IIS).
Сервер приложения служит для выполнения специализированных задач. Многие банковские системы имеют серверы приложений, которые обеспечивают выполнение бизнес-логики приложения. При этом за хранение данных и контроль доступа к ним отвечает сервер базы данных.
Сервер архивации осуществляет хранение архивов – больших объемов редко используемой информации. Обычно от файл-сервера данный тип серверов отличают собственные механизмы компрессии, индексации хранимой информации и хранения истории вносимых изменений.
Сервер печати управляет печатью на общий принтер. Если не является специализированным устройством, то входит в состав сетевой операционной системы. Основой сервера печати является механизм управления очередями заданий на печать.
При рассмотрении решений на основе архитектуры "клиент-сервер" определяется и список задач, решаемых рабочими станциями и определенных как клиентские задачи. К ним обычно относятся:
• управление пользовательским интерфейсом. Это наиболее распространенная задача для рабочей станции, включающая обслуживание различных элементов пользовательского интерфейса, таких как изображение на экране, кнопки, ноля ввода, списки. Управление пользовательским интерфейсом и является той задачей, которая фиксирует четкое разграничение между архитектурой "клиент-сервер" и терминальным доступом;
• офисные приложения. Здесь представлен список задач, обеспечивающих редактирование данных. Это различные редакторы, текстовые и табличные процессоры. Обычно процесс ручного ввода при редактировании данных не является распределенной задачей и для экономии ресурсов серверов переносится на клиентское место;
• печать. В крупных информационных системах функция печати может быть реализована на сервере и на клиентской станции. Как правило, печать через сервер обеспечивает вывод на бумагу больших объемов данных, например выписок по счетам. Это объясняется повышенными требованиями к высокопроизводительному принтеру, который невозможно поставить на каждое рабочее место. С клиентской станции осуществляется печать документов, необходимых только конкретному пользователю;
• загрузка и выгрузка данных также может выполняться и на клиентском месте, и на сервере. Обычно в случае, если данные загружаются в автоматическом режиме и не требуют администрирования загрузки, указанные операции выполняет сервер. Если загрузка или выгрузка данных случайна, то их выполнение происходит на клиентском месте.
Кнастеры. В отличие от архитектуры "клиент-сервер" кластер имеет принципиально другие составляющие. Это не законченные задачи, а отдельные функции, выполняемые различными компонентами системы – как отдельным устройством, так и совокупностью составляющих различных вычислительных систем.
Решения на основе кластерной архитектуры дают ряд преимуществ:
• Абсолютная масштабируемость. Архитектура позволяет создавать кластеры любых размеров.
• Инкрементная масштабируемость. Кластер создается таким образом, что можно наращивать мощность добавлением новых компонентов без полной замены всей системы.
• Устойчивость к сбоям, когда в случае выхода из строя одного из компонентов система продолжает работать, поскольку все функции дублируются.
• Хорошее соотношение цена/производителъностъ, при котором использование широко распространенных компонентов в качестве составляющих в общем случае требует меньших затрат, чем покупка одного сверхмощного компьютера.
В настоящий момент практически все операционные системы имеют дополнительные решения для реализации кластерных архитектур. Но указанные выше решения составляют лишь основу кластера. Распределение служб между отдельными устройствами может определяться и программным обеспечением серверов приложения.
Таким образом, кластерную архитектуру могут иметь и серверы баз данных, и серверы приложений, если они поддерживают данную функцию.