Атоми, молекули та інша хімія. Огляд платформи Dell Boomi

Усім привіт, мене звати Микола. Два роки я працюю на позіції System Integration Engineer у компанії SoftServe, сертифікований Dell Boomi Architect. У цій статті пропоную розглянути платформу Dell Boomi. Якщо ви ще не ознайомлені з iPaaS-рішеннями, рекомендую прочитати статтю мого колеги Ярослава Клочника про те, для чого потрібні інтеграційні платформи, які їхні переваги та сфери застосування.

За тієї годину, що працюю з платформою Dell Boomi, я реалізував близько 20 різних інтеграцій. Інтеграція відбувається з HCM (Human Capital Management), в якій люди звітують про свою роботу, планують робочі дні чі беруть лікарняні. Такою системою користуються багато клієнтів: супермаркети, авіакомпанії, готелі тощо. Окрім основного функціонала, вони ще хотіли б бачіті звіти з агрегованими даними за відділами компанії. Або, наприклад, функцію, щоб певним працівникам додати додатковий вихідний. Таку логіку ми реалізовуємо саме через платформу Dell Boomi та клієнтські APIs, які дають змогу експортувати та імпортувати дані.

Згідно зі звітами , Gartner Dell Boomi вже 6 років поспіль один з лідерів на ринку iPaaS-рішень. З'єднання ясуймо, чому він такий популярний.

Dell Boomi Platform — це ESB-based iPaaS-рішення, яке дає змогу інтегрувати дані та аплікації як у межах компанії in-the-cloud, так і з On-Premise. Однією з особливостей платформи є гнучкість та простота у підключенні до різноманітних систем. Boomi пропонує широкий спектр готових конекторів для інтеграції з AWS, Salesforce, Google Cloud, Microsoft Azure, NetSuite та інших, незалежно від того, чи це Cloud, чи On-Premise. Якщо навіть знадобиться створити кастомний конектор, така можливість є.

Якщо розглядати Dell Boomi з технічного погляду, все крутиться навколо атомів, у деяких випадках — молекул. Що ж це за хімія і навіщо вона використовується в інтеграціях?

Atoms, Molecules

Boomi пропонує хмарну інтеграційну платформу, яка підтримує дві моделі розгортання: Cloud — коли всі endpoints містяться у хмарі, та On-Premis — якщо хоча б одна з integration endpoints міститься в межах корпоративної мережі. Під час використання хмарної моделі всі інтеграційні процеси можуть бути розгорнуті на Boomi Atom Cloud. Щоб забезпечити модель On-Premise, Boomi пропонує Atom — по суті розгорнуту Java-аплікацію.

Якщо, використовуючи On-Premise, ви хочете досягнути високодоступного та load balanced рішення, то в пригоді стані концепція Molecule.

Атом — це JRЕ, на якій розгортаються інтеграції. Коли інтеграція розгорнута, атом містить у собі весь список необхідних компонентів: логічні, трансформаційні блоки та конектори. Атоми можуть бути двох типів:

  1. Local Atom. Якщо потрібно отримати доступ до даних, що містяться поза фаєрволом, тоді цей тип вам підходить. Я завжди працюю з локальними атомами на своїх проєктах.
  2. Cloud Atom. Якщо всі потрібні дані розміщені зовні, Cloud Atom буде оптимальним рішенням. Це спрощує обслуговування атома, бо цим займається дата-центр Dell Boomi.

Atom

Molecule — це enterprise-версія атома, який розгорнутий на кількох локальних машинах для балансу навантаження та досягнення високої доступності. Одна з нод молекули називається head node, і цей статус може мігрувати між активними нодами в процесі відмов. Тобто, коли head node перестає працювати, інша активна нода стає head node, щоб підтримати виконання процесу.

Саме вона отримує повідомлення з Dell Boomi Platform, стежить за станом кожної ноди в межах молекули та розкидає процеси поміж іншими для балансу навантаження. Ця модель найкраще підходить для тих інтеграцій, які обробляють великий обсяг даних.

Forked Execution

Розподілене виконання є за замовчуванням активним в Atom Cloud, також це можна опційно активувати в Molecule. Це дає змогу виконувати кожен процес в окремій JVM. Завдяки цьому нода є більш стійкою, бо катастрофічні збої, які відбуваються з іншими процесами, не вплинуть на її виконання.

Принцип роботи Molecule

Environments

Всі молекули та їхні частини — атоми — існують у певному середовищі. Dell Boomi використав такий самий підхід: чи це Local Atom, чи Cloud Atom або Molecule — всі вони закріплені за певним середовищем. У платформі Dell Boomi вони можуть давати такі переваги:

Batch vs Real-Time Processing

Dell Boomi пропонує два типи виконання інтеграцій: Batch та Real-Time. Розгляньмо, яка між ними різниця.

Batch Processing. У цьому випадку Boomi буде запускати інтеграцію за певним інтервалом — від хвилини до річного кварталу. Ви можете це контролювати відповідно до потреб.

Real-Time Processing. Boomi також обробляє запити в режимі реального часу. Це допомагає перетворити процес в listeners, які очікують на тригер. Щойно тригер спрацьовує, починається інтеграція. Майже всі мої інтеграції — це Real-Time Processing. Вони реагують на клік кнопки в системі, зв'язку язаній з Dell Boomi.

Platform components

Для циклу розробки інтеграційних рішень (розробка, розгортання, тестування та підтримки) Dell Boomi пропонує три основні компоненти:

Розберімо кожну з них детальніше та сферу їх використання.

Build

Boomi використовує концепт Build для організації та контролю обробки даних. Щоб інтегрувати аплікації безпосередньо з вебу, Dell Boomi застосовує вбудований візуальний інтерфейс visual designer), де користувачі створюють process flow.

У Build ви можете:

Build tab

Deploy

Deploy-меню показує всю активність, пов'язану з розгортанням інтеграцій. Сюди входити деплоймент процесів або окремих компонентів і встановлення Integration Packs. Якщо ви зайдете в меню Deploy, то залежно від прав вашого акаунту побачите:

  1. Packaged Components дає змогу створювати та керувати пакетами для процесів і компонентів, які ви витворили.
  2. Deployments допомагає моніторити наявні розгортання та створювати нові.
  3. Integration Packs дає змогу користувачам розгортати або встановлювати інтеграції, спільні для їхнього облікового запису.

Корисна функція, якою я часто користуюсь, — Copy Deployment. Вона дає змогу перенести версію з одного атома на іншій в кілька кліків.

Manage

У Manage-меню містяться всі дані, пов'язані із запущеними інтеграціями, результати виконання, логи та помилки. Тут також можна переглянути дані, отримані з конекторів. Manage-меню не буде показуватися для всіх однаково, це залежить від прав і налаштування вашого акаунту:

Process Reporting

Component locking

Звичайно, якщо ви працюєте над інтеграцією самі, то ця функція найімовірніше не знадобиться. Альо коли кілька людей займається тією самою інтеграцією, та ще й в одному процесі, то стає складно зберігати всі зміни. Щоб ваше збереження не вплинуло на зміни іншого розробника, є функція Component locking. Вона дає змогу зробити компонент закритим до змін і відкритим лише для перегляду, поки ви працюєте над інтеграцією. Як тільки зберігаєте зміни, він знову стає доступним для змін. Звичайно, є нюанси зі статусом акаунта. Якщо це, наприклад, адмін, він може зняти локінг.

Subprocesses

Ще один компонент, який допомагає працювати автономно, — підпроцеси. Наприклад, якщо у вас з командою поділені завдання, ви можете працювати в окремих підпроцесах і зберігати зміни, не впливаючи на логіку колег. Наприклад, я займаюся витягненням даних через одне API, а мій колега — налаштуванням SFTP. У цьому разі ми використовуємо різні підпроцеси й наша логіка не перетинається.

Compare Deployments

Трапляється, що після певного розгортання інтеграція почала працювати по-іншому, а порівняння змін шкірного компонента займає чимало часу. Для таких випадків у Dell Boomi є функція Compare Deployments, яка показує різницю між версіями інтеграцій.

Недоліки

Варто згадати й про недоліки, з якими мені доводилося стикатись:

Підсумовуючи все написане, я не агітуватиму використовувати цю платформу. Але хотів би, щоб ви звернули увагу на iPaaS-рішення і Dell Boomi під час вибору технологічного стека, враховуючи ті переваги та недоліки, які вона пропонує.

Якщо вирішили спробувати Dell Boomi

Реєструйтесь на сайті, Dell Boomi пропонує 30-денний безкоштовний період користування платформою. Ви можете спробувати побудувати власні інтеграції. А завдяки безкоштовним онлайн-тренінгам — отримати багато цікавої інформації.

Якщо хочете докладніше ознайомитись з корисними функціями Dell Boomi та самою платформою, переходьте за посиланнями:

Опубліковано: 29/05/20 @ 10:00
Розділ Різне

Рекомендуємо:

Як почати програмувати з дитиною
Що таке Big Data Engineering і як розвиватися у цій сфері
7 викликів для бізнес-аналітика при виявленні вимог
Go дайджест #14: що буде в Go 1.15, Apple і Go
День вишиванки 2020: як ІТ-фахівці святкують на карантині