Open Manta Designer

Photo by manta.io

Zjednodušení data lineage

Petr Smil

Segment data lineage je rychle se rozvíjející oblast, která umožňuje velkým korporacím s rozsáhlými a složitými datovými architekturami provádět analýzy dopadů, zlepšovat kvalitu dat a identifikovat závislosti dat.

Jednou z předních firem v této technologické oblasti je Manta Tools, která nabízí špičkovou platformu pro data lineage. Umožní automaticky skenovat vaše datové prostředí a vytvoří detailní mapu všech datových toků. Zobrazí ji prostřednictvím nativního uživatelského rozhraní a dalších kanálů jak technickým, tak netechnickým uživatelům.

V srpnu 2022 jsme zahájili spolupráci s Manta Tools na vývoji Open Manta Designer. To je grafický softwarový nástroj, který umožňuje klientům Manty lépe vizualizovat data lineage metadata, jež jsou automaticky vytvářena skenery Manty. Tím se zvýší flexibilita celé platformy Manta. Společnost Coding Bear byla vybrána jako společnost, která má dodat produkt od prvních analýz až po důkladně otestovaný a použitelný nástroj.

O devět měsíců později jsme dodali produkt, který se stal součástí oficiálního vydání Manty R42.

Coding Bear byl skvělým partnerem pro Mantu a pomohli nám připravit velmi důležitý nástroj, který nazýváme OpenManta Designer. Cílem tohoto projektu bylo vytvoření grafického rozhraní, které umožní i méně technicky založeným uživatelům snadno modelovat, navrhovat a nebo pochopit, jak putují data v jejich organicích. Vývojáři z Coding Bear úzce spolupracovali s technickým a produktovým managementem Manty a dodávali. včas efektivně napsaný kód přesně podle požadavků a specifikací. Nabídli kreativních přístup k řešení obtížných problémů. Společnost Coding Bear překročila veškerá očekávání a Manta s jistotou doporučuje Coding Bear pro důležité projekty, zejména v oblasti zpracování dat a uživatelského rozhraní.

Ernie Ostic

Hlavní evangelista ve firmě Manta Software a bývalý výkonný viceprezident produktů

Přehled řešení

V rychle se měnícím prostředí datového původu a s ohledem na rychlý vývoj samotné platformy Manty bylo od počátku jasné, že potřebujeme vytvořit nástroj, který umožní flexibilní přizpůsobení a rozšíření v budoucnosti.

Proto je chování celého vizualizačního a návrhového nástroje ovládáno snadno upravitelnými konfiguračními daty, aniž by bylo nutné měnit kód. Když Manta vyvine nový typ skeneru datového zdroje, jsou nutné úpravy v Open Manta Designeru otázkou minut. Stejně tak není problém okamžitě začít podporovat nové technologie, pro které Manta aktuálně nemá automatizované skenery.

Jelikož značná část celého nástroje spočívá v vizualizaci uzlů a vytváření datových toků mezi nimi, provedli jsme důkladnou rozsáhlou analýzu a proof of concept stávajících vizualizačních knihoven, které bychom mohli použít. Z možností jsme nakonec vybrali knihovnu Konva.js, která umožňuje velkou flexibilitu, ačkoli to znamená, že mnoho funkcí, které nabízejí jiné vysokoúrovňové knihovny ve základu, musíme implementovat sami.


Tento výběr se ukázal být vhodnou volbou i z hlediska výkonu.

Některé z funkcí Open Manta Designer:

  • možnost vytvářet vlastní hierarchie uzlů zobrazující datové zdroje (různé DBMS, ETL a reporting nástroje, programovací jazyky atd.)
  • flexibilní vytváření datových toků mezi datovými zdroji prostým přetažením a položením na kreslící plátna
  • podpora více kreslících pláten s automatickou synchronizací dat, podpora funkce undo a redo
  • plná integrace s platformou Manta včetně importu a exportu vlastních metadat
  • připravené řešení pro službu SAAS 

Open Manta Designer poskytuje uživatelům grafické uživatelské rozhraní pro vytváření lineáží, které rozšiřují standardní skenery Manta. Aby se snížila překážka pro začlenění kompletní lineáže, Open Manta Designer umožňuje uživatelům rychleji a efektivněji integrovat vlastní zdroje.

OpenManta Designer také umožňuje vytvářet ruční datovou lineáž pomocí rozhraní s funkcí přetažení a položení a/nebo tabulátoru, což uživatelům umožňuje vytvářet spojení mezi souvisejícími položkami.

Jak jsme dodali řešení

Projekt začal s podrobnějším specifikováním požadovaných funkcionalit a návrhem celkové architektury řešení. Jelikož byly požadavky specifikovány podrobněji včetně návrhu uživatelského rozhraní, tato fáze trvala přibližně 4 měsíce od září do prosince 2022. Výstupem byla kompletní specifikace, zahrnující prioritizaci požadavků a podrobné odhady úsilí potřebného k jejich implementaci.

Agilní vývoj řešení začal na přelomu roku, s prvním významným milníkem v dubnu 2023, kdy bylo první MVP řešení dodáno vybraným klientům Manty jako součást vydání Manta 41. Tito klienti z řad větších amerických korporací poskytli počáteční zpětnou vazbu a potvrdili předpoklad, že celý tým projektu se pohybuje požadovaným směrem a že podobný nástroj usnadní koncovým uživatelům správu metadat.

Během dalších 4 měsíců jsme implementovali další pokročilé funkcionality a začlenili zpětnou vazbu k první verzi MVP.

Finální produkt jsme dodali koncem srpna 2023 a stal se součástí oficiální verze Manta R42, jak bylo původně plánováno.

Q&A s Ernie Osticem

Rozhovor s Erniem Osticem, hlavním evangelistou ve firmě Manta Software a bývalým výkonným víceprezidentem produktů

Who is Manta?

Ernie Ostic: Manta je nezávislý dodavatel softwaru a lídr na trhu v oblasti datového původu. Podporujeme zákazníky, jejichž potřeby zahrnují (ale nejsou omezeny na) analýzu dopadů napříč systémy, správu informací a rychlejší a efektivnější migraci aplikací. Jednotná platforma Manta Unified Lineage analyzuje zdrojový kód a poskytuje podrobnou analytiku o datových potrubích, které jsou reprezentovány korporátními systémy.

Jaký byl hlavní cíl projektu?

Ernie: Manta také poskytuje možnost kreativně přidat svou "vlastní" lineáž do Jednotné platformy lineáže. To znamená mít schopnost definovat vlastní procesy a jejich datové toky nebo přidat hodnotu (nové charakteristiky) tokům, které Manta již analyzovala. Metodologie pro provedení tohoto využívá .csv soubory jako základ, a pro určité typy uživatelů to může být obtížné implementovat. Výzvou bylo vytvořit grafické uživatelské rozhraní, které umožní méně technickým uživatelům snadněji generovat své vlastní lineážní prvky a vytvářet vlastní datové toky a specifikace toků dat.

Jak mají zákazníci společnosti Manta prospěch ze řešení?

Ernie: Bylo požádáno společnost Coding Bears, aby navrhla uživatelské rozhraní, které by nakonec generovalo .csv soubory potřebné "pod pokličkou", aby Manta mohla přijmout lineážní artefakty vytvořené méně technickými uživateli. Obecně jsou tito uživatelé architekti a datoví analytici, kteří jsou zčásti techničtí, ale nejsou formálními vývojáři. To znamenalo vytvoření modelu pro návrh uživatelského rozhraní, který by se přizpůsobil architektuře Manty a zároveň poskytoval flexibilitu pro vytváření modelu, zatímco splňuje existující Manta API. Jakmile je projekt dokončen, projekt, na kterém pracuje Coding Bears (OpenManta Designer), umožní zákazníkům Manty rozšířit jejich řešení lineáže na zděděné technologie, nové interní aplikace a stávající a budoucí nové webové aplikace.

Jaká byla spolupráce mezi Mantou a Coding Bears?

Coding Bears je nezávislý subjekt, ale pracuje společně tak, jako by byl přímo součástí týmu. Mají skvělou interakci s týmy Manta Engineering a Product Management, společně se účastní všech sprintů a poskytují vynikající a včasné zpětné vazby na všechny požadavky. To zahrnuje aktuální programování, ale sahá to až do začátku projektu, kdy se týmy vzájemně vracely k porozumění specifikace a vytvoření počátečního návrhu.

Spolupráce s týmem Coding Bear byla skvělá. Jsou kreativní, pracovití, oddaní a plně se ztotožňují s hodnotami a metodologií Manty.

Jaké byly technologické výzvy?

Technologické výzvy zahrnují, ale nejsou omezeny na:

  • Navržení kreativních způsobů, jak reprezentovat existující modely Manty tak, aby je uživatelé mohli přizpůsobit, včetně pravidel pro specifikaci chování prvků v modelu a jejich vzájemné interakce
  • Výběr vhodných ovládacích prvků uživatelského rozhraní a také volba správné knihovny pro OpenManta Designer a budoucí nabídky Manty
  • Experimentace s různými grafickými funkcemi zobrazení kritickými pro projekt, jako je přetahování zakřivených čar mezi objekty.
Manta
data lineage
Zpět →