Скачать презентацию Лекция 9 Архитектуры корпоративных информационных систем Проф Замятин Скачать презентацию Лекция 9 Архитектуры корпоративных информационных систем Проф Замятин

Архитектура КИС 9-2012.ppt

  • Количество слайдов: 46

Лекция 9 Архитектуры корпоративных информационных систем Проф. Замятин Николай Владимирович zam@fet. tusur. ru 1 Лекция 9 Архитектуры корпоративных информационных систем Проф. Замятин Николай Владимирович zam@fet. tusur. ru 1

Вопросы на лекцию 9 “Архитектуры корпоративных информационных систем” 1. Архитектура клиентсервер 2. Толстый клиент Вопросы на лекцию 9 “Архитектуры корпоративных информационных систем” 1. Архитектура клиентсервер 2. Толстый клиент 3. Тонкий клиент 4. Двухзвенная архитектура 5. Трехзвенная архитектура 6. Достоинства 7. Недостатки 8. Архитектура Интернет/Интранет 9. CGI – взаимодействие 10. JAVA - технология 11. Распределенные архитектуры КИС 12. Технология COM и DCOM 13. Технология CORBA 14. Функциональные подсистемы 2

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

Для того чтобы построить правильную и надежную архитектуру и спроектировать интеграцию программных систем необходимо Для того чтобы построить правильную и надежную архитектуру и спроектировать интеграцию программных систем необходимо следовать современным стандартам в этих областях. Без этого велика вероятность создать архитектуру, которая неспособна развиваться и удовлетворять растущим потребностям пользователей ИТ. В качестве законодателей стандартов в этой области выступают такие международные организации как SEI (Software Engineering Institute), WWW (консорциум World Wide Web), OMG (Object Management Group), организация разработчиков Java – JCP (Java Community Process), IEEE (Institute of Electrical and Electronics Engineers) и другие. 4

классификация информационных систем по их архитектуре 1. Централизованная архитектура; 2. Архитектура классификация информационных систем по их архитектуре 1. Централизованная архитектура; 2. Архитектура "файл-сервер"; 3. Двухзвенная архитектура "клиентsервер" 4. Трехзвенная архитектура "клиентсервер"; 5. Архитектура распределенных систем; 6. Архитектура интернет/интранет; 7. Сервис-ориентированная архитектура 5

Централизованная архитектура 6 Централизованная архитектура 6

Централизованная архитектура • Достоинства: – пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные Централизованная архитектура • Достоинства: – пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства – централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы – отсутствует необходимость администрирования рабочих мест пользователей • недостатки: – пользователи полностью зависят от администратора хост-ЭВМ 7 7

Архитектура «файл-сервер» 8 8 Архитектура «файл-сервер» 8 8

недостатки • Помимо потенциальной опасности утраты или несанкционированного просмотра данных, решение на основе файл-серверной недостатки • Помимо потенциальной опасности утраты или несанкционированного просмотра данных, решение на основе файл-серверной архитектуры имеет серьезные ограничения по производительности. • Эти ограничения проистекают из-за самой природы построения файл-серверных систем. Обработка данных в таких системах полностью сосредоточена на клиенте, а данные в виде отдельных файлов хранятся на сервере. • Поэтому для получения, например, очередного баланса банка в конце рабочего дня требуется переслать по сети практически весь объем данных, накопленный за день. В этом случае пропускная способность сети ограничивает 9 производительность системы. .

Клиент-сервер (Client-server) – вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены Клиент-сервер (Client-server) – вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемых серверами, и заказчиками услуг, называемых клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением. 10

Особенностью архитектуры клиент-сервер является • использование выделенных серверов баз данных, понимающих запросы на языке Особенностью архитектуры клиент-сервер является • использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL и выполняющих поиск, сортировку и агрегирование информации. • Отличительная черта серверов БД - наличие справочника данных, в котором записана структура БД, ограничения целостности данных, форматы и серверные процедуры обработки данных по вызову или по событиям в программе. Объектами разработки в таких приложениях помимо диалога и логики обработки являются реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов к базе данных. • Двухуровневое определение архитектуры клиент-сервер использует вариант: приложение работает у клиента, 11 СУБД – на сервере.

Двухуровневая архитектура «клиент-сервер» 12 12 Двухуровневая архитектура «клиент-сервер» 12 12

Двухуровневая архитектура «клиент-сервер» • Достоинства: – возможность распределить функции вычислительной системы между несколькими независимыми Двухуровневая архитектура «клиент-сервер» • Достоинства: – возможность распределить функции вычислительной системы между несколькими независимыми компьютерами – все данные хранятся на защищенном сервере – поддержка многопользовательской работы – гарантия целостности данных • Недостатки: – неработоспособность сервера может сделать неработоспособной всю вычислительную сеть – сложное администрирование – высокая стоимость оборудования – бизнес логика приложений осталась в клиентском ПО 13 13

Трехуровневая архитектура «клиент-сервер» 14 Трехуровневая архитектура «клиент-сервер» 14

Достоинства трехуровневой архитектуры • клиентское ПО не нуждается в администрировании; • масштабируемость; • конфигурируемость Достоинства трехуровневой архитектуры • клиентское ПО не нуждается в администрировании; • масштабируемость; • конфигурируемость – изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней; • высокая безопасность; • высокая надежность; • низкие требования к скорости канала (сети) между терминалами и сервером приложений; • низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости 15

Недостатки трехуровневой архитектуры • растет сложность серверной части и, как следствие, затраты на администрирование Недостатки трехуровневой архитектуры • растет сложность серверной части и, как следствие, затраты на администрирование и обслуживание; • более высокая сложность создания приложений; • сложнее в разворачивании и администрировании; • высокие требования к производительности приложений и сервера серверов базы данных, а, значит, и высокая стоимость серверного оборудования; • высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений. 16

Архитектура распределенных систем 17 17 Архитектура распределенных систем 17 17

Архитектура Веб-приложений 18 18 Архитектура Веб-приложений 18 18

Архитектура интернет • Отсутствие необходимости использовать дополнительное ПО на стороне клиента • Возможность подключения Архитектура интернет • Отсутствие необходимости использовать дополнительное ПО на стороне клиента • Возможность подключения практически неограниченного количества клиентов • Централизованное место хранения данных • Недоступность при отсутствии работоспособности сервера или каналов связи • Достаточно низкая скорость Веб-сервера и каналов передачи данных 19 19

Сервис-ориентированная архитектура (SOA) • модульный подход к разработке программного обеспечения, основанный на использовании сервисов Сервис-ориентированная архитектура (SOA) • модульный подход к разработке программного обеспечения, основанный на использовании сервисов со стандартизированными интерфейсами • Принципы SOA: – архитектура не привязана к какой-то определенной технологии – независимость организации системы от используемой вычислительной платформы – независимость организации системы от применяемых языков программирования – использование сервисов, независимых от конкретных приложений, с единообразными интерфейсами доступа к ним – организация сервисов как слабосвязанных компонентов для построения систем 20 20

SOA Программные средства, реализующие компоненты бизнеспроцессов, оформляются как сервисы. Сервис - это программный компонент, SOA Программные средства, реализующие компоненты бизнеспроцессов, оформляются как сервисы. Сервис - это программный компонент, реализующий законченную функцию Предо-тавления или обработки данных, переводя их из одного целостного состояния в другое, целостное же. Основным отличием сервиса от обычного компонента является стандартный и платформенно-независимый интерфейс. Клиент, обращающийся к сервису, не обязан ничего знать о подробностях реализации сервиса: на каком языке и в какой модели программирования он создан, на каких аппаратных средствах, в какой операционной среде, на какой платформе промежуточного программного обеспечения он выполняется. Сервисно-ориентированная архитектура, таким образом, позволяет компоновать бизнес-процессы из компонентов, выполняющихся на разных платформах (корпоративных бинов J 2 EE, компонентов. NET, отдельных приложений), представлять в виде сервисов и повторно использовать в новых бизнеспроцессах унаследованные компоненты. В последнем случае сами 21 унаследование компоненты не изменяются, но для них только

Взаимодействие в SOA 22 Взаимодействие в SOA 22

Многоуровневая архитектура стала развитием архитектуры клиент-сервер и в своей классической форме состоит из трех Многоуровневая архитектура стала развитием архитектуры клиент-сервер и в своей классической форме состоит из трех уровней: • нижний уровень – приложения клиентов; • средний уровень – сервер приложений; • верхний уровень – удаленный специализированный сервер базы данных, выделенный для услуг обработки данных и файловых операций 23

три основных технологии создания интерактивного взаимодействия с пользователем в Web 1. Использование стандартного Интерфейса три основных технологии создания интерактивного взаимодействия с пользователем в Web 1. Использование стандартного Интерфейса Шлюза (Commom Gateway Interface) - CGI. 2. Включение Java. Script - сценариев в тело Web-страниц. 3. Применение технологии Java (ипользование Java-аплетов). 24

Термины интернет • • HTML HTTP TCP/IP CGI ISAPI Perl JAVA BRAUSER 25 Термины интернет • • HTML HTTP TCP/IP CGI ISAPI Perl JAVA BRAUSER 25

26 26

Толстый клиент Вся прикладная часть системы находится в клиенте, который взаимодействует с разнообразными серверами Толстый клиент Вся прикладная часть системы находится в клиенте, который взаимодействует с разнообразными серверами Internet (электронной почты, ftp и т. д. ) и серверами, управляющими файлами и/или базами данных. Клиент должен быть достаточно "толстым", чтобы быть в состоянии уметь работать с разными видами серверов (для каждого из них требуется индивидуальная клиентская часть) и одновременно выполнять прикладную обработку данных. Серверы могут быть разной толщины в зависимости от своей функциональной ориентированности 27

Толстый клиент 28 Толстый клиент 28

Тонкий клиент Ориентация на использование Web-технологии позволяет одновременно добиться двух эффектов. 1. За счет Тонкий клиент Ориентация на использование Web-технологии позволяет одновременно добиться двух эффектов. 1. За счет использования CGI или API можно перенести на сторону сервера часть логики приложения. 2. Используя технику шлюзования Web-сервера (CGI-шлюзы или API) можно взаимодействовать через Web-сервер (в стандартном интерфейсе) с другими серверами. Клиента можно сделать очень "тонким", Web-сервер будет достаточно "толстым 29

Тонкий клиент 30 Тонкий клиент 30

Функции web-сервера • ведение иерархической базы данных документов, • контроль за доступом к информации Функции web-сервера • ведение иерархической базы данных документов, • контроль за доступом к информации со стороны программ-клиентов, • предварительная обработка данных перед ответом на запрос, • взаимодействие с внешними программами через Common Gateway Interface, • реализация взаимодействия с клиентами и другими серверами в режиме посредника, • реализация встроенных или взаимодействие 31 с внешними поисковыми машинами.

32 32

33 33

JAVA – технология язык Java можно использовать для программирования Java-апплетов, которые выполняются на стороне JAVA – технология язык Java можно использовать для программирования Java-апплетов, которые выполняются на стороне клиента, и Javaприложений, выполняемых на стороне сервера. Клиент, приспособленный к выполнению Javaапплетов, становится несколько толще. Что же касается использования Java-программ на стороне сервера, то большее значение может иметь сравнительная надежность этого языка 34

java 35 java 35

Назначение СОМ - это сокращение от Component Object Model (модель составных объектов). 36 Назначение СОМ - это сокращение от Component Object Model (модель составных объектов). 36

СОМ создавалась для решение двух проблем: • Эта модель предоставляет в распоряжение программиста спецификацию, СОМ создавалась для решение двух проблем: • Эта модель предоставляет в распоряжение программиста спецификацию, на основе которой он может создавать объекты, способные функционировать в различной языковой и операционной средах. • Модель определяет способы взаимодействия клиентских приложений, работающих на одной машине, с 37 приложением-сервером,

Цели и задачи технологии СОМ Основная цель технологии СОМ — обеспечение возможности экспорта объектов. Цели и задачи технологии СОМ Основная цель технологии СОМ — обеспечение возможности экспорта объектов. Идея экспорта объектов заключается в том, что один модуль создает объект, а другой его использует посредством обращения к методам или сервисам. 38

Понятия COM • Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на Понятия COM • Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный идентификатор и может одновременно использоваться многими программами. • Компонент взаимодействует с другими программами через COM - интерфейсы — наборы абстрактных функций и свойств. Каждый COMкомпонент должен, как минимум, поддерживать стандартный интерфейс «IUnknown» , который предоставляет базовые средства для работы с 39 компонентом.

Приложение 1 Приложение Операционная система Библиотека Приложение 2 Операционная система 40 Приложение 1 Приложение Операционная система Библиотека Приложение 2 Операционная система 40

Формат интерфейса СОM Клиент Указатель 1 Указатель 2 Метод 1 Метод 2 Указатель N Формат интерфейса СОM Клиент Указатель 1 Указатель 2 Метод 1 Метод 2 Указатель N Метод N Указатель на интерфейс Внутренний указатель на виртуальную таблицу Объект СОМ 41

CORBA (Common Object Request Broker Architecture) • - многофункциональная, гибкая и достаточно сложная система, CORBA (Common Object Request Broker Architecture) • - многофункциональная, гибкая и достаточно сложная система, позволяющая создавать и выполнять масштабируемые распределенные приложения с использованием различных языков программирования. • Взаимодействие распределенных объектов имеет две стороны - клиента и сервера. Сервер обеспечивает удаленный интерфейс, а клиент вызывает этот интерфейс. При этом любой объект может быть клиентом, использующим удаленный объект как сервер, и одновременно выступать в роли сервера для третьего объекта 42

CORBA • Технология создана для поддержки разработки и развёртывания сложных объектно-ориентированных прикладных систем. • CORBA • Технология создана для поддержки разработки и развёртывания сложных объектно-ориентированных прикладных систем. • CORBA является механизмом в программном обеспечении для осуществления интеграции изолированных систем, который даёт возможность программам, написанным на разных языках программирования, работающих в разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса. 43

Функциональные подсистемы 44 Функциональные подсистемы 44

Основные этапы архитектурного процесса 45 Основные этапы архитектурного процесса 45

 • • • ERP (Enterprise Resource Planning) Корпоративная информационная система CRM (Customer Relationship • • • ERP (Enterprise Resource Planning) Корпоративная информационная система CRM (Customer Relationship Management) Управление взаимоотношениями с клиентами SCM (Supply Chain Management) Управление цепочками поставок BI (Business Intelligence) Интеллектуальный анализ бизнеса KM (Knowledge Management) Управление знаниями EAM (Enterprise Asset 46 Management) Управление активами