Эта статья не для ИТ-специалистов, которые ищут способы решения известных инженерных проблем.
Эта статья для людей, далеких от ИТ, но желающих в этом разобраться, или для ИТ-специалистов, которые устали повторять одно и то же или не могут найти простых слов, чтобы объяснить тему интеграций.
В последнее время мне часто приходится рассказывать деловым людям, что такое интеграции, зачем нужен автобус и почему все так запутанно.
Поскольку эти люди далеки от ИТ-мира и смотрят на айтишников в лучшем случае как на чудаков, говорящих по-марсиански, я объясняю эти вещи на простых и понятных примерах.
А так как мне уже надоело повторять одно и то же, я решил эти мысли воплотить в статью и создать осознанные знания.
В этой статье я попытаюсь на простых примерах объяснить, что такое интеграция по шине, точка-точка и DB-link, в чем их преимущества и недостатки.
Итак, однажды в бар заходит менеджер.
Интеграция через шину.
Большинство людей бывали в баре и, скорее всего, легко могут назвать его основные составляющие – барную стойку и, собственно, самого бармена.
Барная стойка состоит из высокого деревянного стола и расположенных на нем кранов.
Сама барная стойка лучшая аналог шины данных, на которых расположены пивные краны - это опубликованные услуги .
И бармен механизм управления.
Общая схема взаимодействия представлена на Рисунок 1 .
Рис.
1 Интеграция через шину Давайте начнем с бармен .
Первая важная функция бармена, которую мы часто не замечаем в повседневной жизни – это авторизация пользователь.
По закону алкоголь можно продавать только лицу старше 18 лет, поэтому бармен сначала оценивает ваш возраст, прежде чем налить вам стакан пива.
А если вам посчастливилось выглядеть очень молодо, у вас могут попросить паспорт. Бармен всегда выполняет функцию авторизации, хотя для вас это не всегда очевидно.
В мире ИТ ситуация выглядит точно так же; в зависимости от настроенной политики безопасности вам может быть разрешено использовать сервис без дополнительной проверки или вас могут каждый раз просить подтвердить доступ.
Наше законодательство в этом случае максимально простое - любой напиток после 18 лет .
Однако в мире ИТ не всегда все так просто и поэтому разные сервисы могут требовать разного уровня доступа.
Если бы доступ к пиву имел меньше сил 4 градуса было бы разрешено с 16 лет , от от 4 до 10 градусов С 18 лет т и напитки сильнее 10 градусов от 21 год , то процесс явной авторизации происходил бы гораздо чаще, потому что разница во внешнем виде в этом диапазоне не очевидна.
Плюсы работы через автобус в данном случае в том, что бармен всего один и он проводит процедуру авторизации для всех представленных.
Услуги (стучит).
Следующая важная функция бармена – определять параметры контракта для обслуживания (Фигура 2) .
В типичном баре всегда имеется стандартный набор посуды, в которую наливаются напитки – 0,33; 0,5; 1 литр .
После авторизации бармен уточняет, какой напиток вас интересует, каков объем бокалов и их количество.
После чего напиток наливают и отдают вам, далее происходит оплата (учет, но мы не будем на этом останавливаться).
Крайне редко можно встретить бар, куда можно прийти со своей тарой и попросить налить в нее напиток.
Рис.
2 Определение параметров контракта И здесь дело не в инертности бармена или жлобстве хозяина.
Стандартная упаковка подразумевает понятную и простую ценовую политику – определенную цену за единицу товара.
Нестандартная тара приводит к необходимости тарификации по миллилитрам и установке расходомера, который бы показывал натуральный объем.
Теперь перейдем к фактическому шина .
Удобство барной стойки в том, что на ней можно разместить одинаковые краны, соединить их со штатной инфраструктурой (трубами и насосами), а затем подключить к бочонкам в подсобном помещении ( источники данные ).
То, что находится за задней стенкой, скрыто от потребителя и может быть организовано так, как удобно вам как владельцу бара.
В подсобном помещении может быть полный беспорядок и куча дополнительных устройств, требующих подключения.
Например, кеги могут иметь дюймовую и метрическую резьбу и для их подключения к шине потребуются специальные переходники — адаптеры (рис.
3) .
А вот на розетке будут стандартные краны, та же скорость наполнения и стандартные стаканы.
Рис.
3 шинных адаптера Те.
базовый плюсы интеграция через шину – это унификация и стандартизация услуг и возможность провести авторизацию в одном месте по разным параметрам (разный возраст в зависимости от степени напитка).
И, конечно же, шина чрезвычайно удобна, когда источников данных много и вам надоело организовывать доступ к каждому из них.
Минусы — это сложность обслуживания, необходимость упаковывать всех в одну логику, а также производительность.
Если открыть все краны сразу, не факт, что давления будет достаточно.
Можно, конечно, установить дополнительные насосы и решить эту проблему, но в то же время, если такие нагрузки будут происходить не часто, то у вас будет избыточная мощность, которая большую часть времени будет простаивать.
Но его необходимо поддерживать и поддерживать в рабочем состоянии, что приводит к дополнительным затратам.
Интеграция «точка-точка».
Учитывая плюсы и минусы шины, она не подходит для некоторых ИТ-ландшафтов.
По разным причинам: нет денег, мало ИТ-систем, нет компетенций, у айтишников еще много сил и энтузиазма и так далее.
Проводя аналогию с тем же баром, рассмотрим ситуацию, когда вы пришли в бар, в котором действует система самообслуживания и продается пиво в бутылках из холодильников.
В каждом холодильнике содержится только определенная марка пива или два-три сорта и пиво не дублируется в других холодильниках.
(Рис.
4) .
Рисунок 4. Двухточечная интеграция В баре целый зоопарк холодильников: от советских ЗиЛов до современных со встроенными биометрическими платежными терминалами.
У каждого холодильника своя система авторизации, на ЗИЛах стоит всем известная Галя с пачкой планшетных ключей и открывает нужный холодильник только если ее попросить, на некоторых считывается электронный паспорт, а на некоторых читаются данные пользователя лицом и обратиться в МВД для определения возраста и в банк для проверки наличия денег на карте (рис.
5) .
Рис.
5 Различные уровни зрелости системы Если вам кажется, что это надуманная история и IT-ландшафт выглядит не так, боюсь вас разочаровать; это достаточно типичная ситуация, и не только и не столько для России, но и в Европе или США это вполне реальная ситуация.
Рядом со старыми системами, написанными на Cobol, могут быть совершенно современные системы, написанные на C#, Python или Java. Вы как потребитель выбираете нужный вам холодильник, проходите авторизацию в зависимости от конкретного холодильника и получаете свое пиво.
Нет ни бармена, ни сложной системы подачи напитков из подсобки, все достаточно просто.
Теперь представим ситуацию, когда вам нужно очень популярное пиво, которое имеется только в одном холодильнике (высоконагруженная система).
Как это часто бывает в таких ситуациях, подходя к холодильнику, вы, скорее всего, столкнетесь с очередью.
(Рис.
6) .
Рисунок 6. Различные уровни нагрузки на системы А теперь представим, что вы пришли в бар не один, а с подругой, и она попросила вас принести ей пиво из другого популярного холодильника.
И, как назло, у них еще и другая модель доступа, через Галю.
и удостоверение личности, а кроме того, они используют разные способы оплаты: наличными и картой.
Теперь вам придется стоять в двух очередях, проходить две разные аутентификации и платить разными способами.
Конечно, использование автобуса не избавит вас от очередей, ведь в часы пик барная стойка тоже может работать в «горячем режиме».
Отличие в том, что в случае с шиной вы можете оставить свой заказ бармену и получить его, когда он будет готов, о чем вас уведомит сам бармен, а может быть, даже пиво принесет официант. В случае с интеграцией «точка-точка» вам придется ждать в двух очередях.
плюсы Двухточечная интеграция — это простота и скорость реализации по сравнению с шиной, что является следствием автономности.
Каждая система может иметь свою уникальную модель и свою команду, работающую над этой системой.
Нет необходимости договариваться с командой автобуса и вписываться в общий стандарт. Если у вас мало систем, то ограждение прослойки в виде шины может оказаться затратным и нерентабельным.
Минусы появляются, когда ИТ-ландшафт велик; если у вас много систем и к ним поступает много разных запросов, поддерживать все это многообразие становится сложно и дорого.
Гибкость решения больше не перевешивает его сложность.
Интеграция типа DB-link А теперь представим ситуацию, когда вы настолько устали от постоянных очередей, споров и жалоб возле холодильников, что решили сделать модель доступа к пиву еще проще.
А они просто поставили бочонки( База данных ), снял с них крышки и положил черпаки (Рис.
7) .
Теперь каждый может подойти к бочонку, зачерпнуть столько выбранного напитка, сколько ему нужно, а затем заплатить за него в другом конце зала.
Казалось бы, проблема решена и решение максимально простое и эффективное.
Рис.
7 Доступ к базе данных через DB-Link Действительно, с точки зрения производительности прямой доступ к базе данных является наиболее эффективным.
Ведь каждый посредник добавляет в цепочку время на свою работу, что замедляет процесс и добавляет дополнительные узлы сбоя.
Почему этот метод наименее популярен и не используется никем в здравом уме ни в жизни, ни в IT? Основным недостатком, который бросается в глаза, является контроль доступа.
В описанных выше методах интеграции каждый пользователь имеет строго ограниченный доступ к данным, которые также могут быть защищены дополнительными мерами безопасности.
Еще одним существенным недостатком является тот факт, что в двух описанных выше методах мы рассматривали односторонний поток данных от источника к потребителю.
Обратный доступ потребителя к данным не предоставлялся, если это не было специально предназначено.
Проще говоря, купив пиво, вы можете делать со своим стаканом все, что захотите, но вы не можете ничего менять в бочке или помещать что-либо в холодильник, если это не было специально разработано и разрешено.
В случае прямого доступа вы сможете не только получить свой напиток, но и добавить что-то свое.
Более того, если кто-то уничтожит вашу базу данных, а у вас, скажем, не было резервной копии, или она была устаревшей, то вам останется только сожалеть о случившемся.
Потому что ссылка на базу данных может использоваться в тестовых средах, когда нужно быстро перекачивать некритичные данные.
Иногда их можно использовать в промышленных решениях, когда необходима максимальная производительность и внешнее вторжение кажется маловероятным.
Однако даже в таких случаях от подобных решений все равно стараются избавиться.
плюсы реализация максимальной производительности и простоты внедрения.
Минусы слабая защита от несанкционированных действий пользователя и высокий риск потери всех данных.
Надеюсь, статья была вам полезна и помогла лучше ориентироваться в мире IT или донести эту информацию до ваших клиентов.
Теги: #Читальный зал #шина данных #просто о сложном #системная интеграция
-
Интернет-Отношения...работают Ли Они?
19 Oct, 24 -
Генерация Функций Из Временных Рядов
19 Oct, 24 -
App Store Достиг 25 Миллиардов Загрузок
19 Oct, 24 -
Медведев Понимает Албанский
19 Oct, 24 -
Стандарт Openajax Появится До Конца Года
19 Oct, 24