В основе любой интеграции лежит совместное использование данных в различных приложениях предприятия. Oracle Streams делает возможным распределение данных, транзакций и событий и управление ими в потоке данных или в пределах базы данных, или при передаче из одной базы данных в другую. Поток направляет опубликованную информацию по адресам подписки на нее. В результате получается опция, которая обеспечивает большие функциональные возможности и гибкость, чем традиционные решения для перехвата и управления событиями и совместного с другими базами данных и приложениями использования событий. В случае, если у пользователей изменяются потребности, они могут просто реализовать новую возможность Oracle Streams, не жертвуя имеющимися возможностями.
Как показано на следующей иллюстрации, Oracle Streams предлагает набор элементов, которые позволяют пользователям управлять тем, какая информация будет помещена в поток, как течет этот поток, или как он направлен от узла к узлу, что случается с событиями в потоке, пока они текут в каждый узел, и как заканчивается поток. Определяя конфигурацию элементов, действующих в потоке, пользователь может разрешить конкретные требования.
Oracle Streams поддерживает захват событий (изменения базы данных и сгенерированные приложением сообщения) в рабочую область. Эти события захватываются двумя способами. При неявном захвате сервер перехватывает события DML и DDL в исходной базе данных. Явный захват позволяет приложениям явно генерировать события и размещать их в рабочей области.
После захвата события помещаются в рабочую область. Рабочая область – это очередь, которая предлагает сервисы для записи захваченных событий и управления ими. В ней обеспечивается защищенная область хранения, а также аудит и отслеживание захваченных данных.
События, по обстановке, могут быть переданы в другие рабочие области: в пределах той же самой базы данных или в удаленной базе данных. Чтобы упростить сетевую маршрутизацию и уменьшить трафик WAN, события не следует посылать всем базам данных и всем приложениям. Скорее, они могут быть направлены через рабочие области для одной или более систем, пока не достигнут подписавшейся системы. Например, событие может распространяться через базу данных-концентратор, которая фактически не использует это событие. В одной рабочей области могут “складироваться” события из нескольких баз данных, что упрощает установку и конфигурирование.