Корпоративные информационные системы

Автор работы: Пользователь скрыл имя, 08 Января 2013 в 15:24, доклад

Описание работы

Основы и основные понятия корпорации и КИС
Термин корпорация происходит от латинского слова corporatio - объединение. Корпорация обозначает объединение предприятий, работающих под централизованным управлением и решающих общие задачи. Как правило, корпорации включают предприятия, расположенные в разных регионах и даже в различных государствах (транснациональные корпорации).

Содержание работы

1 Основы и основные понятия корпорации и КИС
2 Общие вопросы проектирования и внедрения КИС
2.1 Что даёт внедрение КИС?
2.2 Принципы построения КИС
2.3 Этапы проектирования КИС:
3 Классификация и характеристики КИС
3.1 Классификация КИС
3.2 Классификация автоматизированных систем
3.3 Характеристики КИС
4 Архитектура КИС
5 Требования, предъявляемые к КИС
6 Выбор аппаратно-программной платформы КИС
7 Международные стандарты планирования производственных процессов. MRP/ERP системы
Внедрение
Достоинства
Недостатки
Зарубежные ERP-системы
Российские ERP-системы

Файлы: 1 файл

КОРПОРАТИВНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ.doc

— 1.45 Мб (Скачать файл)

Механизм распространения  изменений в Oracle встроен в ядро системы и не требует использования  никаких дополнительных программных  продуктов. Любое изменение тиражированного  объекта приводит в действие специальный  триггер, который формирует вызов  удаленной процедуры, необходимый для воспроизведения изменения во всех оставшихся копиях объекта. Далее в случае использования синхронного тиражирования сформированный вызов немедленно начинает выполняться, в случае же асинхронного тиражирования он помещается в специальную очередь отложенных вызовов, ожидая наступления момента своей передачи.

Очередь отложенных вызовов является объектом БД, а  стало быть, ею можно управлять  наряду с прочими объектами, после  сбоев сервера она восстанавливается  также вместе с другими.

Без дисциплины работать трудно

Теперь, когда  общий механизм тиражирования ясен, попробуем разобраться в некоторых  аспектах его применения.

Как уже упоминалось, возможны два режима тиражирования: синхронный, когда все изменения  данных распространяются немедленно, и асинхронный, когда по отношению к этим изменениям применяется алгоритм "запомнить и передать" (store and forward), а момент передачи выбирается по заданному правилу (или явно инициируется, например, после восстановления связи).

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

Другой важный пример использования синхронного  тиражирования - поддержка "зеркальной" БД на резервном сервере, причем оба  сервера (основной и резервный) в  этом случае могут работать параллельно.

Что касается асинхронного тиражирования, то оно применимо тогда, когда нет возможности поддерживать постоянную связь между серверами, а временным рассогласованием данных можно поступиться (опять-таки в предположении, что состояние БД во времени предсказуемо). Если на Западе в качестве примера чаще всего приводят торгового агента, разъезжающего со своим ноутбуком и имеющего возможность лишь время от времени подключаться к сети, то в российских условиях, увы, аналогичная ситуация весьма типична. В тех регионах нашей могучей страны, где до сих пор самое надежное средство связи - это трактор, реализация даже предсказуемо работающего тиражирования данных представляется нелегкой задачей.

Впрочем, задача эта непроста и в случае, когда  со связью все в порядке. Серьезной  проблемой при проектировании системы является обеспечение ее корректного функционирования в условиях возможных конфликтов по обновлению различных копий одних и тех же данных на разных серверах. Здесь мы сталкиваемся с ситуацией, когда универсального решения попросту не существует, поэтому все, что может предоставить СУБД, - это средства для реализации различных вариантов решений и рекомендации по их использованию.

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

Самый простой  вариант архитектуры, заведомо гарантирующий отсутствие конфликтов, предполагает, что для любого тиражированного элемента данных среди всех равноправных хранителей его копий выбирается один, так сказать, самый равноправный. Ему одному разрешается этот элемент данных изменять, всем остальным дозволяется только наблюдать за этим. Вариантов реализации такой схемы может быть множество: от самого простого - звездообразного (филиалам банка разрешается видеть данные центрального отделения, но не изменять их) до гораздо более изощренных со сложной сетью неизменяемых снимков.

Более развитый вариант архитектуры, также дающий гарантию отсутствия конфликтов, разрешает  динамическую передачу права модификации (в англоязычных материалах обычно употребляется термин, буквально  переводимый как "документооборот") от сервера к серверу. Каждый элемент данных снабжается специальным атрибутом "разрешена запись", и вводится процедура передачи этого атрибута. Варианты реализации опять-таки могут быть различными. Характерным примером может служить информационная система торговой фирмы, где для каждого заказа эстафета последовательно передается от отдела продаж к управлению складом и далее к отделу доставки. Аналогичная схема в принципе решает упомянутую выше проблему "многократного закрытия счета" в банке.

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

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

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

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

Поддержка резервной копии БД

Oracle предлагает  еще один механизм, напоминающий  тиражирование. Это предназначенная  для повышения устойчивости системы  к сбоям поддержка резервной  копии БД (standby database). Смешивать данный  механизм с тиражированием, пожалуй,  не стоит, ибо резервная БД недоступна для пользователей одновременно с основной. Зато отсутствует дополнительная нагрузка на ядро основного сервера, связанная с распространением изменений. Дело в том, что для поддержания соответствия резервной и основной баз данных используются журнальные файлы изменений, вообще говоря, предназначенные для восстановления БД после сбоев. Собственно, резервная БД как раз и функционирует в режиме перманентного восстановления, считывая журнальные файлы основной БД, переданные тем или иным способом на резервный сервер.

Свой  среди чужих

Чтобы завершить  тему, осталось сказать несколько  слов о возможностях использования Oracle в гетерогенных распределенных БД. Выбор варианта решения задачи во многом зависит от составляющих гетерогенную систему СУБД.

Если это  реляционные СУБД (MS SQL Server, Informix, Sybase, DB2, CA Ingres), можно использовать так  называемые прозрачные шлюзы для  объединения их с Oracle. Для пользователя такого шлюза полностью имитируется  функциональная среда сервера Oracle при доступе к данным, хранящимся в "чужих" СУБД.

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

Сложнее обстоит дело, если необходимо получить доступ к данным, хранящимся в нереляционных СУБД (ADABAS, VSAM и пр.). В таком случае, как правило, невозможно формально однозначно отобразить эти данные в реляционные структуры Oracle, поэтому подход прозрачных шлюзов не применим. Тем не менее Oracle предлагает решение для таких ситуаций в виде процедурных шлюзов. В них вместо стандартного SQL для взаимодействия с "чужими" данными предоставляется библиотека процедур, с помощью которых разработчик реализует необходимое отображение данных.

Другой вариант  решения проблемы в случае обращения  к экзотическим системам хранения данных - использование мониторов транзакций.

Надо отметить, что при работе со шлюзами данные других СУБД органически включаются в среду распределенных БД Oracle: реализуется полнофункциональная поддержка синхронной связи между серверами без тиражирования и даже некоторые варианты тиражирования данных.

10.2 Администрирование  распределенных систем на примере Oracle

Немного поговорим  о тех средствах, которые Oracle предлагает в помощь администратору распределенной информационной системы.

В принципе, такая  система может иметь (и обычно имеет) более одного администратора. Однако подобная организация имеет  много недостатков. Не говоря уж о  необходимости найти нужное количество высококвалифицированных специалистов, их деятельность нужно тесно координировать, например, для обеспечения единой политики защиты данных. Понятны неудобства пользователя, который должен помнить множество паролей для доступа к различным серверам. Если же пароли везде одинаковы, то увеличивается вероятность потери их секретности.

Полезность  централизации хотя бы части административных функций очевидна. На рынке программных  продуктов существует достаточно много  средств, направленных на решение именно этой задачи. К примеру, есть системы, реализующие централизованную идентификацию пользователей. Для некоторых из них (Kerberos, Sesame) Oracle предоставляет интерфейсы, что позволяет ввести их функциональность в распределенную БД на базе Oracle.

Что касается средств централизованного управления, то их на рынке тоже достаточно много, и значительная часть из них в той или иной степени способны работать с СУБД Oracle. Однако в данной области находиться в полной зависимости от технологии третьих фирм чересчур рискованно для крупных поставщиков передовых программных технологий, таких как Oracle: слишком большое значение приобретает данный аспект системы, чтобы игнорировать его в собственных разработках.

В значительной степени задачу централизованного  администрирования распределенной БД позволяет решить Oracle Enterprise Manager, поставляемый сейчас в комплекте с сервером БД. Этот программный продукт позволяет с помощью графического интерфейса управлять сколь угодно сложной конфигурацией распределенной БД, включая возможность определения удаленных заданий, выполняемых по заданному расписанию, извещения о различных событиях в системе и т. п.

Кроме этого, в  состав программного продукта включен  ряд утилит, выполняющих детальный  мониторинг серверов БД, оптимизацию их параметров. В их состав входит также Oracle Expert - экспертная система, позволяющая провести оптимизирующую настройку любого сервера.

Важно еще и  то, что Oracle Enterprise Manager предоставляет  открытый интерфейс, позволяющий дополнять  управляющую консоль администратора новыми средствами как третьим фирмам, так и самим пользователям. Можно рассчитывать поэтому на то, что в самое ближайшее время большая часть существующих на рынке средств централизованного администрирования систем на основе Oracle объединится в интегрированную управляющую среду.

11 OMG и её стандарт CORBA

CORBA (Common Object Request Broker Architecture) - это стандарт, набор  спецификаций для промежуточного  программного обеспечения (ППО,middleware) объектного типа. Задача ППО, как  известно, и заключается в связывании программных приложений для обмена данными. Эволюция ППО - это путь от программ передачи информации между конкретными приложениями, через средства импорта- экспорта данных и организацию мостов между некоторыми приложениями, через SQL, RPC (Remote Procedure Call), TP мониторы (Transaction Proceesing) обработки транзакций, Groupware - управление различными неструктурированными данными (тексты, факсы, письма электронной почты, календари и т.д.) и, наконец, MOM - Message-Oriented Middleware (асинхронный обмен сообщениями между сервером и клиентом), к созданию распределенных компьютерных систем. Элементы этих систем могут взаимодействовать друг с другом как на одной локальной машине, так и по сети. Уникальная полифоничность CORBA позволяет организовать единую информационную среду, элементы которой могут общаться друг с другом, вне зависимости от их конкретной реализации, "прописки" в распределенной системе, платформы и языка их реализации.

В стандарте CORBA звучат две основные темы:

1.   Точка отсчета (развития). В отличие от стандартов MS COM/DCOM (Component Object Model / Distributed COM), которые были созданы для объединения мелких офисных программ, CORBА возник в ответ на необходимость интеграции промышленных приложений.

2.   Объектность идеологии. CORBA - стандарт для объединения объектов.           

Информация о работе Корпоративные информационные системы