Краткий очерк истории средств интеграции данных и приложений

реклама
Краткий очерк истории
средств интеграции
данных и приложений
Сергей Кузнецов
Корпоративные базы данных'2006
12 апреля 2006 г.
1
Введение (1)
Понятие корпоративной
информационной системы очень
широко
Конкретные функции различных
подобных систем могут весьма
различаться в зависимости от бизнесориентации компании
Корпоративные базы данных'2006
12 апреля 2006 г.
2
Введение (2)
Наиболее общим образом корпоративную
информационную систему можно
охарактеризовать как набор более или менее
связанных приложений, которые работают с
одной или несколькими базами данных,
содержащими информацию, существенную
для деятельности организации, и
позволяющими автоматизировать все или
некоторые бизнес-процессы этой
организации
Корпоративные базы данных'2006
12 апреля 2006 г.
3
Предыстория (1)
Развитие информационных технологий,
поддерживающих жизненный цикл
корпоративных информационных
систем, неразрывно связано с
процессом развития аппаратуры и
базового программного обеспечения
компьютеров
Корпоративные базы данных'2006
12 апреля 2006 г.
4
Предыстория (2)
В эпоху мейнфреймов в 60-70-е гг. XX века по
причине их исключительной дороговизны только
очень крупные компании могли позволить себе
использование компьютеров для автоматизации
своих бизнес-процессов
Ограниченный объем рынка не стимулировал
должным образом развитие информационных
технологий, способствующих массовому внедрению
корпоративных информационных систем
Предлагаемые поставщиками проприетарные
решения удовлетворяли потребности существующего
рынка
Корпоративные базы данных'2006
12 апреля 2006 г.
5
Предыстория (3)
Набравшая силу в 80-е гг. линия миникомпьютеров
несколько изменила ситуацию
Во-первых, стоимостные характеристики этих
компьютеров сделали их доступными для гораздо
большего числа компаний
Во-вторых, компания DEC разработала технологию
DECnet, позволяющую комплексировать
миникомпьютеры в локальную сеть, что, вообще
говоря, давало возможность масштабирования
корпоративных информационных систем
Однако в целом доступная технология оставалась
проприетарной и все еще слишком дорогой для
массового использования
Корпоративные базы данных'2006
12 апреля 2006 г.
6
Предыстория (4)
С середины 80-х гг. на рынке компьютеров и
программного обеспечения началась эпоха OC UNIX
Именно в мире UNIX возник стек сетевых протоколов
TCP/IP, и именно поддержка этого стека в ОС UNIX
позволила основателю компании Sun Биллу Джою
произнести знаменитое «Сеть - это компьютер»
Открытость интерфейсов ОС UNIX и наличие
поддерживающих их стандартов дало жизнь
направлению открытых систем, направленному на
поддержку переносимых с одной платформы на
другую и интероперабельных приложений.
Корпоративные базы данных'2006
12 апреля 2006 г.
7
Предыстория (5)
Именно в мире UNIX возникла идея клиентсерверных архитектур аппаратно-программных
систем
UNIX-ориентированные компьютеры позволяли
создавать масштабируемые корпоративные системы,
не привязанные с какому-либо одному поставщику
Возможность разработки переносимых программных
средств привела к резкому росту числа предложений
на софтверном рынке
Однако, при наличии всех этих благоприятных
обстоятельств, массовому распространению
корпоративных систем препятствовала
относительная дороговизна UNIX-рабочих станций,
которые требовалось приобретать для оснащения
рабочих мест информационной системы
Корпоративные базы данных'2006
12 апреля 2006 г.
8
Предыстория (6)
Примерно в те же годы компания IBM инициировала
направление персональных компьютеров
Исходной целью было создание рынка небольших,
простых и дешевых массовых компьютеров,
предназначенных, прежде всего, для решения
офисных задач
Благодаря усилиям компаний Intel и Microsoft эти
компьютеры непрерывно совершенствовались при
постоянном снижении стоимости
Важным обстоятельством, привлекавшим к
персональным компьютерам внимание компаний,
которые нуждались в автоматизации некоторых
видов своей деятельности (бухгалтерия, учет кадров,
управление складом и т.д.), являлась простота
организации аппаратуры и операционных систем
Корпоративные базы данных'2006
12 апреля 2006 г.
9
Предыстория (7)
Это позволяло использовать разработчиков не
слишком высокой квалификации для дешевого
решения сиюминутных потребностей предприятия
Притом, что базовое программное обеспечение
персональных компьютеров являлось полностью
проприетарным, создаваемые таким образом
приложения были также проприетарными и не
масштабируемыми
Тем не менее, именно появление персональных
компьютеров обеспечило возможность массовой
автоматизации деятельности средних и даже мелких
компаний
Корпоративные базы данных'2006
12 апреля 2006 г.
10
Предыстория (8)
Таким образом, к середине 90-х гг. во многих
компаниях сложилась ситуация, когда,
с одной стороны, многие бизнес-процессы
автоматизированы (часто с одновременным
применением технологии мейнфреймов,
миникомпьютеров, UNIX-серверов и рабочих
станций, а также персональных
компьютеров),
но, с другой стороны:
Корпоративные базы данных'2006
12 апреля 2006 г.
11
Предыстория (9)
образовавшуюся инфраструктуру очень
трудно администрировать и сопровождать
невозможно создавать новые приложения с
использованием данных, на которых
базируются существующие приложения
существующие приложения не справляются с
нагрузкой, возникающей при укрупнении
компании, и их невозможно масштабировать
при слиянии двух компаний существующие
приложения обеих компаний невозможно
использовать, и требуется полная переделка
и т.д.
Корпоративные базы данных'2006
12 апреля 2006 г.
12
Предыстория (10)
Именно тогда наступила современная эпоха,
которую можно назвать эпохой
интегрированных корпоративных
информационных систем, в которых все
приложения так или иначе связаны между
собой, и допускается сравнительно простое
масштабирование и даже модификация
системы
В идеале интегрированная корпоративная
система создается с нуля на основе
выбранной открытой или проприетарной
технологии.
Корпоративные базы данных'2006
12 апреля 2006 г.
13
Предыстория (11)
Однако в большинстве случаев
приходится иметь дело с некоторой
унаследованной корпоративной
системой, не являющейся
интегрированной (а если говорить
честно, то часто вообще являющейся не
системой, а набором несвязанных
приложений), и требуется решать
сложную задачу интеграции
Корпоративные базы данных'2006
12 апреля 2006 г.
14
Предыстория (12)
Сразу заметим, что никто не может
предложить общее решение этой задачи,
поскольку она проявляется в исключительно
разных формах
В самых тяжелых случаях может оказаться
более выгодным отказаться от интеграции
существующих приложений и данных и
заняться созданием новой интегрированной
системы на фоне продолжающейся
эксплуатации и сопровождения
существующей системы
Корпоративные базы данных'2006
12 апреля 2006 г.
15
Интеграция приложений (1)
Начнем с обзора средств интеграции приложений на
основе обеспечения их явного взаимодействия
Очевидно, что такое взаимодействие возможно
только при наличии соответствующих физических
возможностей: приложения выполняются на одном
компьютере или на компьютерах, объединенных
сетью
Хотя, вообще говоря, представляет интерес и задача
интеграции приложений, выполняющихся на одном
компьютере (если, например, они созданы в разных
программных средах), более интересен второй
случай
Корпоративные базы данных'2006
12 апреля 2006 г.
16
Интеграция приложений (2)
Реальные попытки создания
инструментальных средств поддержки
взаимодействия распределенных
приложений начались после создания и
первых реализаций стека протоколов
TCP/IP
Основывались на транспортных
протоколах передачи сообщений TCP и
UDP
Корпоративные базы данных'2006
12 апреля 2006 г.
17
Интеграция приложений (3)
Первым высокоуровневым механизмом
взаимодействия приложений стал протокол и
механизм удаленных вызовов процедур
(Remote Procedure Call, RPC), созданный
компанией Sun Microsystems в середине 80-х
Идея состояла в том, что с использованием
RPC в приложении могла быть объявлена
процедура , к которой могли обращаться
приложения, выполняющиеся на других
компьютерах сети, так, как если бы это была
обычная локальная процедура
Корпоративные базы данных'2006
12 апреля 2006 г.
18
Интеграция приложений (4)
На стороне сервера (приложения, реализующего
удаленную процедуру) и клиента (приложения,
использующего вызовы удаленной процедуры)
процедура описывается с использованием языка
IDL (Interface Definition Language - язык
определения интерфейсов)
На основании IDL-описания автоматически
строятся программные переходники-стабы (stub),
являющиеся локальным представителем
удаленной процедуры на стороне клиента и
представителем вызывающего клиента на
стороне сервера
Корпоративные базы данных'2006
12 апреля 2006 г.
19
Интеграция приложений (5)
Одной из функций клиентского стаба является
преобразование аргументов вызова процедуры в
машинно-независимую форму, а одной из функций
серверного стаба преобразование полученных
аргументов в машинное представление
Формат машинно-независимого представления
аргументов регламентировался специально
разработанным протоколом XDR (eXternal Data
Representation внешнее представление данных)
Реализации RPC положили начало развития нового
вида программных продуктов middleware,
программных средств промежуточного уровня,
находящихся между приложением и операционной
системой
Корпоративные базы данных'2006
12 апреля 2006 г.
20
Интеграция приложений (6)
Спецификации протокола RPC с самого начала были
открытыми, что допускало реализацию RPC не
только в среде ОС UNIX
Необходимость развития исходных спецификаций и
согласования разных реализаций RPC привели к
появлению в конце 80-х гг. консорциума OSF (Open
Software Foundation), который занялся разработкой
стандартов семейства DCE (Distributed Computing
Environment), включавшего, помимо RPC,
спецификации средств обеспечения безопасности,
управления распределенными транзакциями,
распределенных файловых систем и т.д.
Корпоративные базы данных'2006
12 апреля 2006 г.
21
Интеграция приложений (7)
Для всех компонентов профиля DCE имелись
доступные на рынке реализации, и их
сертификация на предмет соответствия DCE
гарантировала требуемую
интероперабельность
В 1996 г. консорциум OSF объединился с
консорциумом X/Open, отвечавшим за
стандартизацию и сертификацию UNIXсистем, и был образован новый,
существующий до сих пор консорциум
OpenGroup (www.opengroup.org).
Корпоративные базы данных'2006
12 апреля 2006 г.
22
Интеграция приложений (8)
К концу 80-х гг. в компьютерном сообществе резко
повысился интерес к объектным технологиям
Это относилось и к языкам программирования, и к
базам данных, и к операционным системам, и к
методологии проектирования программного
обеспечения
Возникло ощущение, что объектно-ориентированный
подход может качественно улучшить
информационные технологии
Это ощущение распространялось и на средства
построения распределенных систем и интеграции
приложений.
Корпоративные базы данных'2006
12 апреля 2006 г.
23
Интеграция приложений (9)
В 1989 г. по инициативе крупнейших
компаний-производителей программного
обеспечения был образован консорциум
OMG (Object Management Group,
www.omg.org), перед которым была
поставлена задача выработки спецификаций
промежуточного программного обеспечения,
позволяющего создавать распределенные
системы на основе объектноориентированного подхода
Подход получил название CORBA (Common
Object Request Broker Architecture).
Корпоративные базы данных'2006
12 апреля 2006 г.
24
Интеграция приложений (10)
Если отвлечься от особенностей терминологии,
подход CORBA являлся непосредственным
развитием идей RPC
Снова с использованием языка IDL ( объектного
варианта, разработанного в OMG) можно было
описать интерфейс объекта на стороне
реализующего его приложения-сервера и на стороне
использующих приложений-клиентов
В соответствии с этим описанием снова
автоматически генерировались переходники-стабы,
представляющие объект-сервер на стороне
клиентских приложений и объекты-клиенты на
стороне серверного приложения
Корпоративные базы данных'2006
12 апреля 2006 г.
25
Интеграция приложений (11)
За доставку аргументов вызываемому методу
объекта и возвращение результатов вызова
отвечал специальный компонент брокер
объектных заявок, опирающийся на
специальный транспортный протокол IIOP
Этот протокол строится на основе стека
TCP/IP и отличается, например, от протокола
HTTP тем, что в нем поддерживается
сохранение состояния сессии
взаимодействия объектов
Корпоративные базы данных'2006
12 апреля 2006 г.
26
Интеграция приложений (12)
При разработке спецификаций CORBA
большое внимание уделялось возможности
интеграции приложений, написанных на
разных языках программирования
Для этого разрабатывались компиляторы
языка IDL в соответствующие языки
В пакет спецификаций CORBA входили и
спецификации так называемых объектных
служб , которые должны были обеспечивать
средства поддержки безопасности,
транзакционности, постоянного хранения
объектов и т.д.
Корпоративные базы данных'2006
12 апреля 2006 г.
27
Интеграция приложений (13)
Как и в случае DCE, все спецификации CORBA были
(и являются) открытыми, и поддерживалось
несколько их реализаций
При наличии большого числа сторонников
технология CORBA (как и технология RPC) не
получила очень широкого распространения, главным
образом по той причине, что для использования этой
технологии требовались очень квалифицированные
разработчики
Кроме того, для включения приложения в новую
интегрированную среду требовалась модификация
текста его исходных программ, что далеко не всегда
возможно на практике
Корпоративные базы данных'2006
12 апреля 2006 г.
28
Интеграция приложений (14)
Еще одной особенностью технологии CORBA,
ограничивающей ее распространение, была
оторванность от технологии Web, хотя было время,
когда всерьез обсуждалась возможность замены
протокола HTTP на IIOP
И еще замечу, что наряду с открытой брокерной
технологией CORBA существовала (и существует)
проприетарная технология DCOM от компании
Microsoft, основанная на аналогичных принципах и
обеспечивающая близкую функциональность
Имеются даже мосты и шлюзы между CORBA и
DCOM
Корпоративные базы данных'2006
12 апреля 2006 г.
29
Интеграция приложений (15)
В конце XX века громадное распространение
технологии Web и бурное развитие различных
методов применения языка XML вывели
компьютерное сообщество на новый виток спирали
развития средств взаимодействия приложений
Консорциум W3C (World Wide Web Consortium,
www.w3c.org) опубликовал спецификации механизма
Web Services, который обеспечивает
функциональность, близкую функциональности
CORBA, но полностью интегрируется с остальными
технологиями Internet и гораздо проще используется
Если не вдаваться в технические подробности, то
технология Web-сервисов очень проста
Корпоративные базы данных'2006
12 апреля 2006 г.
30
Интеграция приложений (16)
Для определения интерфейса Web-сервиса на
соответствующем Web-сервере используется
язык WSDL (Web Service Definition Language)
На сервере (обычно за счет инструментальных
средств базового сервера приложений)
определяется связь операций Web-сервиса с
реализующими их приложениями
Каждому Web-сервису однозначно соответствует
уникальный в Internet идентификатор ресурса
(URI), неразрывно связанный с определением
интерфейса Web-сервиса на WSDL
Корпоративные базы данных'2006
12 апреля 2006 г.
31
Интеграция приложений (17)
Для обращения к операции Web-сервиса с
известными URI и интерфейсом клиент формирует
сообщение с использованием протокола SOAP,
определяющего способ представления аргументов
вызова операций Web-сервиса на языке XML
Это сообщение посылается по указанному адресу с
использованием протокола HTTP
Web-сервер разбирает сообщение, формирует
реальные аргументы вызова и обращается к
приложению
После получения результата вызова формируется
ответное SOAP-сообщение и посылается клиенту
Корпоративные базы данных'2006
12 апреля 2006 г.
32
Интеграция приложений (18)
Технология Web-сервисов является обобщением
существовавших ранее частных возможностей,
например, возможности формирования запроса от
клиента к серверу с использованием заполнения
форм
Технология Web-сервисов позволяет добиться всех
результатов, обеспечиваемых технологией CORBA,
оставаясь в рамках общей инфрастуктуры Internet
При применении Web-сервисов для интеграции
приложений, вообще говоря, не требуется доступ к
исходным текстам приложений
Естественно, технология Web-сервисов
поддерживается соответствующими средствами
обеспечения безопасности и т.д.
Корпоративные базы данных'2006
12 апреля 2006 г.
33
Интеграция приложений (19)
Все спецификации Web-сервисов, разрабатываемые
W3C и другими организациями (например, OASIS,
www.oasis.org), являются открытыми, и на рынке
имеется много реализаций различных
инструментальных средств
Однако в последнее время крупнейшие
производители программного обеспечения
предлагают интегрированные пакеты
инструментальных средств категории middleware,
основанные на концепции Web-сервисов и
удовлетворяющие все возможные потребности
Корпоративные базы данных'2006
12 апреля 2006 г.
34
Интеграция приложений (20)
Появление технологии Web-сервисов
активизировало еще одно направление интеграции
корпоративных приложений, основанное на давно
известной концепции потоков работ (workflow)
Базовая идея состоит в том, что даже при наличии
интегрированной корпоративной информационной
системы крайне неразумно зашивать специфику
бизнес-процессов предприятия в приложения
Тогда при появлении новых или отмирании
существующих бизнес-процессов потребуется
дорогостоящая переделка приложений
Корпоративные базы данных'2006
12 апреля 2006 г.
35
Интеграция приложений (21)
Подход потоков работ предполагает, что сценарии
бизнес процессов, определяющие порядок и правила
взаимодействия приложений и работников
предприятия в каждом бизнес-процессе,
описываются на специальном языке и
проигрываются специальной программной системой
Разработкой спецификаций стандартов, связанных с
потоками работ, занимается несколько консорциумов,
в том числе, OMG, OASIS и WfMC (Workflow
Management Coalition, www.wfmc.org)
Для различных спецификаций (они всегда были
открытыми) существовали реализации, но до сих пор
они не получали широкого распространения
Корпоративные базы данных'2006
12 апреля 2006 г.
36
Интеграция приложений (22)
В начале 2000-х гг. компании IBM, BEA Systems,
Microsoft, SAP AG и Siebel Systems (последняя
компания теперь принадлежит компании Oracle)
разработали спецификацию языка BPEL4WS
(Business Process Execution Language for Web
Services, язык выполнения бизнес-процессов для
Web-сервисов; более часто язык называют просто
BPEL)
Работа над развитием и стандартизацией BPEL
продолжается в консорциуме OASIS, но ряд
компаний уже предлагают его реализации
Интегрированность BPEL с технологиями XML и Webсервисов, очевидно, будут способствовать более
широкому распространению этой технологии
Корпоративные базы данных'2006
12 апреля 2006 г.
37
Заключение
В этом кратком очерке я не претендую
на полноту и объективность
В таком виде история средств
интеграции приложений отложилась в
моей памяти
Корпоративные базы данных'2006
12 апреля 2006 г.
38
Скачать