Примеры систем распределенной обработки данных




Пример структуры информационной системы крупного коммерческого банка приведен на рис. 8.7.

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

 

 

Рис. 8.6. Организация связи Java-программ с базами данных

 

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

1. Сервер СУБД на компьютере-сервере.

2. Серверный программный комплекс (сервер приложений), функционирующий на компьютере-сервере. В общем случае этот сервер может не совпадать с сервером, на котором работает сервер СУБД. Серверный комплекс принимает и обрабатывает запросы клиентской программы. В такой схеме серверная программа берет на себя сложную обработку данных, а клиентская – управляет пользовательским интерфейсом. Серверы приложений работают на Unix-компьютерах и связаны сетевым протоколом ТСРЛР с клиентскими компьютерами, работающими под MS Windows. Такая схема позволяет совместить высокую надежность и эффективность обработки данных, так как отвечающая за работу с данными серверная часть расположена на Unix-платформе с простым и привычным клиентским местом под управлением Windows.

 

 

Рис. 8.7. Структура информационной системы крупного московского коммерческого банка

 

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

В последнюю версию автоматизированной банковской системы (АБС) вошли отдельные модули, созданные по Java-технологии, для реализации, например, системы клиент–банк. Разработчики проекта считают, что Java является перспективным направлением в банковских технологиях.

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

1. Наилучший результат получается при работе меньшего числа специалистов. Если обеспечить соответствующими условиями работы небольшой коллектив высококвалифицированных специалистов и организовать взаимодействие между ними, то работать они будут существенно эффективнее, чем большое число средних программистов. При большом количестве работников сложность управления коллективом умножается на сложность самого проекта и превышает мыслимые размеры. Могут позволить себе задействовать сотню и больше программистов в одном проекте лишь фирмы масштаба и опыта IBM, AT&T или Novell. При меньших возможностях фирмы попытка создать проект силами такого большого коллектива приведет к неуправляемости и неустойчивости проекта и к малой производительности труда разработчиков.

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

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

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

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: