Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Хранится большое количество корпоративного видео – летописи, различные события. «Итера» недавно открыла новое Пырейное месторождение и ввела его в эксплуатацию. Существует большой фото– и видеоархив, где присутствуют упоминания и сюжеты о важных событиях в жизни корпорации, отдельных компаний, о юбилеях компании, юбилеях топ-менеджеров и о корпоративных праздниках, связанных с профессиональными праздниками, скажем Днем работника нефтяной и газовой промышленности. Кроме фото и видео существует большое количество отсканированных документов, в которых на самом деле тоже не всегда четко определяются поля, т. е. примерно понятно, какого рода поля там должны быть, но каких-то полей может не хватать, какие-то поля могут быть не заполнены по ряду причин, и в связи с этим информация также получается не совсем строго структурированной или не совсем полной. Это еще одна ось, которую нужно добавить к архитектурам.
Кроме этого, естественно, существует ось технологическая. В компаниях работают системы производства Microsoft, Oracle, других производителей, в частности было упомянуто о системе Unic, которая была внедрена. Поскольку она полностью соответствовала по функциональности тем требованиям, которые выдвигались руководством компании, с одной стороны, нельзя было ее игнорировать, а с другой – нужно было встроить в такой большой и разнообразный спектр систем, который уже эксплуатируется. И очень важным здесь является замечание о критичности приложений, Mission Critical Applications, когда существуют приложения или программные системы в рамках корпоративного программного комплекса, которые нельзя просто так приостановить, перекачать информацию куда-то еще и затем запустить заново, просто потому что в них постоянно заносятся производственные показатели, ведется мониторинг этих показателей и ключевые бизнес-процессы функционируют на основе данных из этих систем. Не говоря уже о том, что существуют автоматизированные системы, которые управляют, скажем, бурением, разведкой месторождений и т. п. Но это немного другой класс систем, и здесь о нем не будет подробного рассказа. Важно, что интегрировать корпоративные системы достаточно сложно, и для того, чтобы это сделать, нужен достаточно универсальный подход. Здесь помогают в том числе и математические модели или подход, который связан с концептуализацией предметной области. Это своего рода формальное описание того, что происходит, это и статика, и динамика, и процессы, и факты, и сущности, которые присутствуют и взаимодействуют в предметной области.
Следующий этап – проектирование архитектур и интерфейсов. Зачастую могут выстраиваться конгломераты из разных архитектур. Это могут быть и системы на основе мейнфреймов, которые сейчас переживают второе рождение в банках. На какое-то время мейнфреймы были забыты. Это, конечно же, клиент-серверные системы, опять-таки можно вспомнить клиент-банковские системы. Это системы, которые связаны с интернет-приложениями и тонкие клиенты которых – веб-браузер. Используются веб-сервисы, тонкие клиенты, причем корпоративные сотрудники могут использовать различные устройства доступа к данным. Это могут быть не только персональные компьютеры, не только сетевые рабочие станции, не только ноутбуки, но и мобильные устройства доступа к данным, которые тоже дают возможность получения информации в оперативном режиме практически из любой точки пространства при условии поддержки спутниковой связи. Естественно, все эти составляющие корпоративных информационных систем должны быть интегрированы в рамках различных архитектур, и поэтому используются как специфические, так и традиционные интерфейсы. И хорошим общим знаменателем, хорошим средством интеграции в этом смысле являются интернет-порталы, которые дают возможность доступа из любой точки к информации с учетом профиля пользователя. В профиль заложены как его личные предпочтения, так и особенности тех инструментальных средств и аппаратного обеспечения, которые он использует, и, конечно, заложен его уровень доступа с точки зрения безопасности. Например, вице-президент по персоналу имеет возможность отслеживать динамику персонала по любой компании корпорации, по корпорации в целом, но его доступ к финансовой информации, наверное, не так велик, как у вице-президента по финансам. С другой стороны, если говорить о линейном менеджере по кадрам, то, вероятно, он не может подняться на такой уровень, чтобы видеть динамику, скажем, текучесть кадров по корпорации и даже по компании, наверное, только по какому-то подразделению и только по своему направлению.
Естественно, следующим этапом является реализация, которая происходит при помощи CASE-средств, средств автоматизированного проектирования, средств разработки программного обеспечения. И существенную роль здесь играют средства быстрого прототипирования, в том числе достаточно эффективно можно использовать Visual Studio.NET. Мы уже говорили о том, что необходимо вести интеграцию программных систем. Если говорить о корпоративных программных комплексах, то интеграция производится на основе портальных технологий. Исходя из описания предметной области и общей задачи построения интегрированной системы с возможностью получения консолидированной отчетности нужно сформулировать основные требования к корпоративной информационной системе, к корпоративному программному комплексу, объединяющему ряд таких систем для нефтегазовой группы «Итера». Это прежде всего индустриальная масштабируемость, т. е. возможность относительно плавного снижения производительности при резком возрастании нагрузки на систему, что вызвано, как правило, возрастанием количества одновременно работающих пользователей или сложности запросов, которые одновременно генерируются этими пользователями. Нужно обеспечивать устойчивую работу, а производительность при этом должна падать плавно. То есть пользователь должен иметь возможность получать результаты в комфортном режиме, без каких-то продолжительных задержек, не говоря уже о критических сбоях, потерях данных и т. д.
Другое важное требование – интеграция элементов, или информационных систем, которые составляют корпоративный программный комплекс. Здесь важно отметить то, что эти элементы принципиально являются гетерогенными, т. е. функционируют в рамках различных архитектур, различных вендоров и различной степени структурированности данных. При этом хорошим для интеграции является компонентный подход, который был описан в главе о компонентном подходе от Microsoft, где было упомянуто, каким образом строить компоненты на основе сборок, что такое контракт, как он описывает сборку, что такое манифест, описание метаданных сборки. Таким образом, осуществляется взаимодействие программных систем, построенных на компонентной основе. Это может быть близким подходом, и имеет смысл ограничиться в рамках решаемой задачи построения корпоративного программного комплекса возможностью получения консолидированной отчетности.