Прежде всего речь пойдет о сетевых архитектурах, так как корпорация – распределенная структура. Будут рассмотрены устройство сетевых архитектур и принципы их функционирования. Второе ограничение – архитектуры, основанные на БД. В определении программной инженерии по Липаеву было сказано, что в КИС, как правило, используются БД. Корпоративные БД – это отдельная большая тема.
Корпоративные информационные системы можно назвать открытыми лишь в определенном смысле этого слова. Корпорации не хотят открывать свои конфиденциальные данные внешним заказчикам. Корпорация не может доверить оценку рисков внешнему разработчику, и разработчик, и заказчик должны быть внутри системы. Но принципы объединения ИС должны базироваться на открытых стандартах. Далее речь пойдет о них.
БД в корпорациях содержат тера– или даже петабайты данных. Уже в 2005–2006 гг. объемы данных в корпорации Intel превысили 3 петабайта. Объемы данных растут экспоненциально, приблизительно в 2 раза за пять лет. Таким образом, к настоящему времени этот показатель удвоился. Управление такими БД – масштабная проблема, но останавливаться на ней мы сейчас не будем.
Говоря о корпоративных системах, их стоит разделять на две части – клиентскую и серверную. Клиент запрашивает информацию, сервер ее обрабатывает и предоставляет. Другое дело, как именно они взаимодействуют. Простой случай – файл – сервер. Более сложный подход – клиент-серверная архитектура. Отдельно выделяется сервер БД – в ряде случаев это оправданно, причем серверы нас интересуют с логической, а не аппаратной стороны.
Как происходит разделение функций между клиентом и сервером? Здесь, как в любой сложной промышленной системе, речь идет о специализации и кооперировании. Мы выделяем функциональные роли все более и более тонкие, точные. Детализируя понятие «сервер», сначала происходит классификация клиент и сервер. Далее происходит уточнение: есть серверы баз данных, серверы шифрования, телекоммуникационные серверы. На этой основе происходит классификация системных архитектур.
Существуют разные организации клиент-серверного взаимодействия. Далее подробно будет рассмотрено, как осуществляется обработка информации в БД, какой существует CASE-инструментарий для работы с БД, что такое реинжиниринг БД и SQL-запросы. Потом будут описаны более сложные структуры на основе клиент-серверного подхода.
Рассмотрим двух– и трехуровневый клиент-сервер, где сервер приложений явно выделяется как отдельный операционный слой. Чем большая производительность необходима, тем большая нужна специализация. По сути, речь идет о программном обеспечении. То, как операционный слой распределяется по аппаратному обеспечению, зависит от топологии сети, от задач, администраторов БД и сетевых администраторов корпорации, здесь возможен достаточно широкий спектр решений. Далее будет рассмотрено, какие расширения серверной части программной реализации имеются в современных сетевых архитектурах, какие существуют распределенные БД различных уровней.
Под корпорацией в широком смысле мы понимаем не только производственную, но и разветвленную структуру, например госструктуру, которая также решает какие-то общие задачи. Можно говорить о федеративных БД, о БД масштаба государства, об интегрированных БД, которые объединяют различные системы и подходы к организации данных.
Еще один интересный пример крупномасштабных систем – это GRID-системы. Он не очень часто используется в корпорациях. Это системы, в которых взаимодействуют большое количество необязательно мощных компьютеров, но обеспечивается масштабирование и в короткие сроки обрабатываются терабайты данных.
Важно отменить значимость клиент-серверной архитектуры. Она обеспечивает достаточно простой и довольно дешевый коллективный доступ к данным в сетевых средах, не обязательна локальная вычислительная сеть.
Появлению семейств клиент-серверной архитектуры мы обязаны последовательной реализации концепции открытых систем. На основе открытых стандартных протоколов взаимодействия можно, как на заводе, собирать комплексные системы высокой сложности, причем дешево осуществлять сборку этих систем, даже если компоненты реализуются в разных странах. Один из подходов к такому проектированию – это компонентный подход, который реализован Microsoft. Сборка осуществляется из компонентов с открытым интерфейсом. Подобный подход предлагает Sun в Enterprise JavaBeans.
Читать дальше
Конец ознакомительного отрывка
Купить книгу