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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать файл)

Параметры

Параметр характеризуется  режимом передачи и своим типом. Режим определяет, должно ли передаваться значение параметра от клиента к  серверу (in), от сервера к клиенту (out) или в обоих направлениях (inout).

  • Возвращаемое значение.
  • Если есть возвращаемое значение, то оно рассматривается как параметр типа out.
  • Исключения.
  • Исключение свидетельствует о том, что операция не была успешно выполнена. Исключение может содержать дополнительную информацию, специфичную для конкретного исключения.
  • Контекст.
  • Контекст запроса обеспечивает передачу дополнительной, специфичной для операции информации, которая может повлиять на выполнение запроса.

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

Интерфейсы

Интерфейс - это  описание множества возможных операций, которые клиент может выполнять над объектом. Объект удовлетворяет интерфейсу, если он может быть указан как конечным объектом для каждого потенциального запроса, описанного в интерфейсе.

Типу интерфейса удовлетворяют только объектные  типы.

Интерфейс ORB-а

Интерфейс ORB-а  является функциям, вызываемым непосредственно  у Брокера Объектных Запросов и идентичным для всех ORB-ов, не зависящим  от конкретного объекта либо адаптера объектов. Но так как большинство  действий с объектами выполняется  посредством адаптеров объектов, существует всего несколько общих операций, которые могут быть выполнены над каждым объектом. Эти операции могут вызываться как клиентом, так и реализацией объекта.

11.3 IDL (Interface Definition Language - язык определения интерфейсов)

Язык описания интерфейсов (IDL), используемый OMG определяет типы объектов посредством спецификации их интерфейсов. Интерфейс состоит  из множества именованных операций и их параметров.

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

Отображение IDL в языки программирования

Различные объектно-ориентированные  или объектно-неориентированные  языки программирования могут получать доступ к объектам различным образом. Для объектно-ориентированных языков допускается отображение объектов, доступных ORB-у в объекты в смысле этих языков программирования. Даже для объектно-неориентированных языков декорирование настоящего представления ссылок на объекты будет полезным. Конкретное отображение IDL для языка программирования должно быть идентичным для всех реализаций ORB-ов. Отображение для языка программирования включает в себя определение специфичных для языка программирования типов данных и описания процедур доступа к объектам посредством ORB-а. Оно также включает в себя интерфейс для доступа клиента к заглушке, что может не требоваться для объектно-ориентированных языков, интерфейс динамических вызовов, скелет реализации, описание адаптеров объектов и прямой интерфейс к ORB-у.

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

Типы  данных

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

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

Определены  следующие основные (базовые) типы данных:

1.     16 и 32 разрядные знаковые и беззнаковые целые типы;

2.     32 и 64 разрядные типы с плавающей точкой в соответствии с IEEE;

3.     Символьный тип в соответствии с ISO Latin-1 (8859.1);

4.     Логический тип с множеством значений истина и ложь;

5.     8 разрядный тип, который гарантированно не подвергается никаким изменениям при передаче между различными системами;

6.     Перечислимые типы, состоящие из последовательности идентификаторов;

7.     Строковый тип, состоящий из последовательности символов переменной длины, длина строки доступна во время выполнения программы;

8.     Тип "any", который может принимать значения всех базовых и составных типов.

Также могут быть определены составные типы:

1.     структура, состоящая из упорядоченных пар (имя, значение);

2.     объединение, состоящее из дискриминатора и значения типа, связанного с дискриминатором;

3.     последовательность, которая является массивом переменной длины значений одного типа, длина последовательности доступна во время выполнения;

4.     массив фиксированной длины, элементами которого являются значения одного типа;

5.     тип интерфейс, который определяет множество операций, которое должен поддерживать экземпляр этого типа.

Параметры, представленные в запросе должны удовлетворять  одному из перечисленных типов, за исключением  типа интерфейс, как показано на рисунке 2-1.

Синтаксис Общего Представления Данных - CDR

CDR - это способ  представления всех типов данных, определенных в OMG IDL в виде последовательности восьмиразрядных величин, далее называемых байтами.

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

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

Кодирование базовых типов

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

Для того, чтобы  сделать возможным помещение  и извлечение значений базовых типов  в поток и из потока с помощью подпрограмм, предназначенных для работы именно с этими типами данных, все базовые типы данных при помещении в поток должны быть выровнены на свою естественную границу, то есть на число байт, которое нацело делится на число байт, необходимых для представления этого типа. Таким образом значение, имеющее размер n должно кодироваться с позиции m*n, где m - это целое число. В CDR n может принимать значения 1, 2, 4 или 8. Если необходимо, то выровненному значению предшествует область минимально возможного размера, необходимого для выравнивания. Значение байтов внутри этой области не определено.

Выравнивание  определяется относительно начала потока. Первый байт в сообщении или инкапсуляции имеет индекс 0.

Кодирование составных типов

Выравнивание  составных типов не налагает никаких дополнительных требований, кроме тех, которые применяются при кодировании их элементов.

Элементы структуры  кодируются в том порядке, в котором  они определены в описании на IDL. Каждый элемент кодируется образом, соответствующим его типу.

Объединение кодируется значением дискриминатора и членом объединения, соответствующим данному значению.

Массив кодируется как последовательность его элементов. Так как длина массива фиксирована, она не кодируется. Если массив имеет  несколько измерений, то первый индекс изменяется наиболее медленно, а последний - наиболее быстро.

Последовательность  элементов кодируется как величина типа unsigned long, за которым следуют  элементы последовательности. Это значение определяет количество элементов. Каждый элемент кодируется в соответствии со своим типом.

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

Значение перечислимого  типа кодируется в виде величины типа unsigned long, соответствующей данному  значению. Первому в порядке перечисления в определении на IDL значению соответствует 0, второму - 1 и так далее.

Кодирование инкапсуляции

Первый байт инкапсуляции кодирует порядок байт внутри нее - значение типа 0 означает кодирования  по принципу первым - старший байт, 1 - младший. Далее идут данные. Флаг порядка байт не включается в данные, но он включается в инкапсуляцию. Все значения внутри инкапсуляции выравниваются относительно ее начала, первый байт (с индексом 0) соответственно занимает флаг порядка байт. Если инкапсуляция кодируется как последовательность величин типа octet (байтов), то ей предшествует значение типа unsigned long, содержащее общий размер инкапсуляции. Никакого выравнивания для инкапсуляции не предполагается, но такой способ кодирования всегда гарантирует 4-байтное выравнивание для первого байта инкапсуляции.

Кодирование псевдообъектов

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

Операции

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

1.     спецификации параметров, требуемых для выполнения операции

2.     спецификации возвращаемого значения

3.     спецификации исключения, которые могут возникнуть во время выполнения операции и типов данных, которые соответствуют этим исключениям

4.     спецификации дополнительной контекстной информации, которая может повлиять на выполнение запроса

5.     индикации семантики, которую клиент должен учитывать при выполнении операции.

Хранилище описаний

Хранилище описаний представляет из себя сервис, который обеспечивается постоянным объектом, доступном из программы. Во время выполнения программы он дает доступ к информации, аналогичной той, что сохраняется в IDL описании объекта. Эта информация может быть использована для выполнения запроса - таким образом программа, которая не предусматривала использование объекта какого-либо типа, определить доступные у этого типа методы, типы его параметров и осуществить вызов.

11.4 Object Services - объектные сервисы

Само по себе ORB обеспечивает чистое взаимодействие объектов друг с другом, телефонные линии распределенной информационной среды. Сервисы, написанные на IDL, поставляют объектам дополнительные интерфейсы. Благодаря сервисам разработка прикладных программ упрощается едва ли не до уровня все той же игры с конструктором. В реальной системе не обязательно должны присутствовать все сервисы, их набор зависит от требуемой функциональности. На сегодня разработано всего14 объектных сервисов:

1.                 Naming, сервис наименований, позволяет компонентам системы по ссылкам легко находить друг друга в распределенной среде.

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

3.                 Security, сервис безопасности, ограничивает права доступа в распределенной среде.

4.                 Transactions, сервис транзакций, при работе с базами данных обеспечивает подтверждение или "roll back" всех изменений, сделанных по ORB.

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