Przewodniki po funkcjach

Centrum migracji

Centrum migracji to wspomagane przez AI narzędzia, które konwertują starszy majątek ETL Polkomtela — przepływy Informatica PowerCenter, Alteryx, SSIS i DataStage — na natywne potoki danych YAML DataFlow AI, ze zautomatyzowanym parsowaniem, konwersją opartą na regułach oraz wspomaganą przez LLM, oceną pewności dla poszczególnych obiektów i walidacją parzystości danych.


Kto korzysta z Centrum migracji

Z Centrum migracji korzystają przede wszystkim persona Data Engineer (Anna Kowalska) oraz persona administratora platformy (Katarzyna Zielińska). Inżynierowie prowadzą codzienne konwersje; administratorzy nadzorują cały program migracji.

W przypadku Polkomtela zakres jest duży — ponad 500 przepływów PowerCenter plus 50–100 przepływów Alteryx, co daje łącznie około 550–600 zasobów do migracji.

Co migrujePlik źródłowySilnik
Informatica PowerCenter.xmlsilnik reguł + rezerwowy LLM
Alteryx.yxmdsilnik reguł + rezerwowy LLM
SSIS.dtsxsilnik reguł + rezerwowy LLM
DataStage.dsxparser istnieje (podłączony do silnika reguł)

Uwaga

Centrum migracji migruje starsze narzędzia ETL, a nie dialekty SQL. Krok przesyłania akceptuje pliki PowerCenter XML, Alteryx YXMD i SSIS DTSX; w silniku istnieje także parser DataStage.


Układ modułu

Centrum migracji jest zamontowane pod /migration (przekierowuje do /migration/import; punkt wejścia src/pages/MigrationCenter.tsx, układ src/pages/migration/MigrationLayout.tsx). Lewy pasek boczny wymienia cztery ekrany; ślad nawigacyjny znajduje się u góry.

+------------------------------------------------------------------+
| Home > Migration Center > Import Wizard                           |
+------------------------------------------------------------------+
| Sidebar (240px)         | Main content area                      |
|  ARROW Migration Center | +-----------------------------------+  |
|   > Import Wizard        | |                                   |  |
|   > AI Conversion        | |   (Screen content renders here)   |  |
|   > Validation Suite     | |                                   |  |
|   > Progress Tracker     | |                                   |  |
+-------------------------+--+-----------------------------------+  |

Cztery ekrany:

EkranTrasaCel
Kreator importu/migration/importPrzesyłanie, analiza AI i raportowanie plików przepływów źródłowych
Pulpit konwersji AI/migration/conversionMonitorowanie wyników automatycznej konwersji według typu obiektu
Pakiet walidacji/migration/validationUruchamianie testów parzystości danych, porównanie źródła i celu
Śledzenie postępów/migration/progressŚledzenie faz migracji, tempa, harmonogramu i ryzyk

Potok konwersji — co dzieje się pod maską

Silnik migracji uruchamia stały cykl życia dla każdego przesłanego pliku: uploaded → parsing → parsed → converting → validating → validated → completed | completed_with_warnings | failed.

EtapCo robi
1. ParsowanieParser specyficzny dla narzędzia zamienia plik źródłowy we wspólne WorkflowAST mapowań, transformacji i konektorów.
2. KonwersjaDeterministyczny RuleEngine przechodzi przez każdą transformację; 13 typów transformacji PowerCenter ma jawne reguły konwersji. Typy bez reguły lub z pewnością poniżej 0,60 trafiają do konwertera LLM.
3. WalidacjaPipelineValidator uruchamia sześć kontroli wygenerowanego YAML — składnia, wymagane klucze, schemat węzłów, odwołania krawędzi oraz skanowanie pod kątem niebezpiecznego SQL.

Konwersja jest deterministyczna tam, gdzie to możliwe. Reguły transformacji PowerCenter i ich węzły docelowe:

Typ źródłowyCel DataFlowPewność
Source Qualifierprzekazanie SQL do konektora źródłowego0,90–0,95
Expressionsql_expression0,85
Lookup Proceduresql_join_pushdown0,65–0,85
Aggregatorsql_group_by0,95
Filtersql_where0,98
Joinersql_join0,90
Sortersql_order_by0,98
Routerconditional_branch (CASE WHEN)0,85
Update Strategyupsert_strategy0,80
Unionsql_union_all0,95

Bramka wydania: zadanie jest oznaczane jako completed tylko wtedy, gdy ogólna pewność wynosi co najmniej 0,85, żaden obiekt nie ma wyniku poniżej 0,80, żaden obiekt nie wymaga ręcznego przeglądu i nie ma problemów walidacji — w przeciwnym razie jest oznaczane jako failed.

Uwaga

Każdy wynik AI w Centrum migracji niesie ze sobą ocenę pewności w zakresie 0–1. Silnik rozróżnia rzeczywiste wyjście LLM od rozwiązań rezerwowych po awarii: gdy LLM jest niedostępny, konwersje zwracają conversion_source = "llm_unavailable", pewność 0.0 oraz requires_manual_review = true.


Ekran 1 — Kreator importu

Trasa: /migration/import — punkt wejścia src/pages/migration/ImportWizardPage.tsx.

Czterokrokowy kreator z poziomym wskaźnikiem kroków.

+------------------------------------------------------------------+
|  (1) Upload --- (2) AI Analysis --- (3) Report --- (4) Convert    |
+------------------------------------------------------------------+

Krok 1 — Przesyłanie plików

Strefa przeciągnij i upuść o pełnej szerokości (przerywana ramka, stany najechania i przeciągania) z opcją zastępczą Browse Files. Każdy upuszczony plik automatycznie wykrywa swój typ — PowerCenter XML (pomarańczowa plakietka), Alteryx Workflow (niebieska plakietka) lub Unsupported (czerwona plakietka) — a szybkie parsowanie raportuje liczbę obiektów („Detected: 7 mappings, 42 transformations"). Każdy plik jest pokazany jako kafelek ze swoją ikoną, nazwą, rozmiarem, plakietką typu, paskiem postępu przesyłania oraz przyciskiem Remove. Gdy dodano więcej niż jeden plik, wskaźnik wsadowy informuje, że wszystkie pliki zostaną przeanalizowane razem. Przycisk Analyze with AI uaktywnia się, gdy co najmniej jeden plik jest w stanie ready.

Krok 2 — Analiza AI

Pasek ogólnego postępu o pełnej szerokości oraz pionowa lista kontrolna czterech etapów — Parsing Source Files → Analyzing Objects → Checking Compatibility → Generating Report — gdzie każdy kafelek etapu pokazuje stan oczekujący / w toku (spinner) / ukończony (zielony znacznik). Działający na żywo, przewijalny Analysis Feed w stylu terminala strumieniuje kolorowane komunikaty (info/sukces/ostrzeżenie/błąd) w miarę jak silnik przetwarza kolejne przepływy. Kreator automatycznie przechodzi do Kroku 3, gdy analiza osiągnie 100%.

Krok 3 — Raport zgodności

Cztery karty podsumowania w górnej części — Total Objects, Auto-Convertible (liczba i %), Manual Required (liczba i %) oraz Estimated Effort (godziny). Poniżej nich:

  • Tabela Oceny przepływów — jeden wiersz na przepływ z plakietką złożoności (Low / Medium / Medium-High / High / Very High), liczbą obiektów, procentem automatycznej konwersji, szacowaną pracochłonnością w godzinach oraz systemami źródłowymi/docelowymi.
  • Object Type Breakdown — poziomy słupkowy wykres skumulowany, część automatycznie konwertowalna w kolorze indygo, część ręczna w bursztynowym; typy obiektów z automatyczną konwersją poniżej 50% są oznaczane na czerwono.
  • Panel Risk Items — zwijane karty z kodem wagi (high/medium/low), każda z opisem, dotkniętym przepływem oraz rozwijaną rekomendacją.

Przycisk Start AI Conversion przenosi na Ekran 2.

Co dzieje się w tle

Frontendowy api/migration.ts wysyła przesyłanie typu multipart do punktu końcowego /upload silnika migracji, który uruchamia wszystkie etapy konwersji w sposób wbudowany. Parsery silnika używają lxml dla XML/YXMD oraz autorskiego parsera tekstowego dla DataStage; limit max_upload_size_mb wynosi 50 MB.


Ekran 2 — Pulpit konwersji AI

Trasa: /migration/conversion — punkt wejścia src/pages/migration/ConversionDashboardPage.tsx.

+------------------------------------------------------------------+
| [Total Objects 150] [Auto-Converted 127 (85%)] [Manual 23 (15%)] |
+------------------------------------------------------------------+
| Conversion Status by Object Type (table)                          |
+------------------------------------------------------------------+
| Converted Pipeline List (cards)   | Confidence Distribution chart |
+------------------------------------------------------------------+

Trzy karty podsumowania otwierają ekran — Total Objects, Auto-Converted (z zielonym pierścieniem), Manual Required (z bursztynowym pierścieniem) — plus średnia pewność.

Tabela Conversion Status by Object Type rozbija wyniki na poszczególne typy transformacji (Source Qualifier, Expression, Lookup, Filter, Joiner, Custom Java, Router, Other): skonwertowane/łącznie, współczynnik konwersji z wbudowanym paskiem, średnia pewność oraz status complete / partial / flagged. Oznaczone wiersze (takie jak Custom Java polegające na autorskich bibliotekach Siebel CDMA) otrzymują czerwoną lewą krawędź, czerwone zabarwienie wiersza, ikonę ostrzeżenia oraz linię z powodem oznaczenia.

Converted Pipeline List pokazuje kafelek dla każdego skonwertowanego potoku danych — nazwa oryginalna → skonwertowana (np. df_sap_biuro_sprzedazy_plk.yaml), okrągła plakietka pewności (zielona ≥90, bursztynowa 70–89, czerwona <70), liczby obiektów, pigułki systemów źródłowych/docelowych, plakietka statusu oraz odnośnik Open in Design Studio.

Histogram Confidence Distribution grupuje potoki danych według zakresu pewności (0-50%, 50-70%, 70-85%, 85-95%, 95-100%).

Pulpit konwersji AI w Centrum migracji przedstawiający przepływ Alteryx skonwertowany na potok danych YAML DataFlow AI z oceną pewności
Pulpit konwersji AI po skonwertowaniu przepływu Alteryx — każdy skonwertowany potok danych niesie ze sobą plakietkę pewności oraz odnośnik Open in Design Studio.

Przepływy Alteryx konwertują się w taki sam sposób jak PowerCenter: silnik parsuje plik .yxmd do wspólnego WorkflowAST, silnik reguł mapuje każde narzędzie na węzeł DataFlow, a wszystko bez reguły lub poniżej pewności 0,60 trafia do konwertera LLM. Specyficzne dla Alteryx konstrukcje, takie jak makra środowiskowe (GetEnvironmentVariable używane do routingu PROD/Test), są oznaczane do ręcznego przeglądu zamiast automatycznej konwersji i pojawiają się jako wiersze z czerwoną ramką w tabeli Conversion Status oraz jako Risk Items w Raporcie zgodności. Skonwertowany potok danych Alteryx pokazuje niebieską plakietkę typu źródła Alteryx, aby odróżnić go od pomarańczowej plakietki PowerCenter.

Co dzieje się w tle

Konwersja generuje potoki danych YAML DataFlow AI. YamlGenerator klasyfikuje węzły na źródła/transformacje/cele, buduje powiązania depends_on z krawędzi i wstrzykuje trzy domyślne kontrole jakości danych (row_count, null_percentage, duplicate) plus kontrole walidacji schematu dla poszczególnych ujść oraz kontrolę uzgadniania niskiej pewności dla każdego mapowania poniżej pewności 0,80.


Ekran 3 — Pakiet walidacji

Trasa: /migration/validation — punkt wejścia src/pages/migration/ValidationSuitePage.tsx.

Pakiet walidacji udowadnia parzystość danych między starszym źródłem a skonwertowanym potokiem danych DataFlow AI.

Pasek sterowania Test Runner u góry udostępnia Run All Tests i Re-run Failed, kropkę statusu (bezczynny / działający / ukończony) oraz tekst postępu. Następnie cztery karty podsumowania — Total Tests, Passed, Failed, Pass Rate.

Tabela porównania potoków danych wymienia każdy potok danych z jego systemami źródłowymi i docelowymi, liczbą wierszy źródła vs cel, flagą zgodności liczby wierszy, flagą zgodności sumy kontrolnej, liczbą różnic kolumn, czasem wykonania oraz statusem zaliczony/niezaliczony. Niezaliczone wiersze są zabarwione na czerwono z czerwoną lewą krawędzią i rozwijają się, ujawniając szczegóły niepowodzenia dla poszczególnych kolumn — nazwę kolumny, wartość oczekiwaną vs rzeczywistą, indeks wiersza oraz typ różnicy (value_mismatch, null_mismatch, type_mismatch lub missing_row).

Co dzieje się w tle

api/migration.ts wywołuje punkt końcowy /jobs/{id}/validate silnika, który uruchamia sześciokontrolowy pakiet walidacji — składnia YAML, bezpieczeństwo SQL (skanowanie pod kątem DROP TABLE/DATABASE, TRUNCATE, ALTER TABLE, EXEC, xp_cmdshell), pokrycie transformacji na poziomie co najmniej 50%, pewność na poziomie co najmniej 60%, kompletność węzłów źródła i ujścia oraz kontrole problemów mapowań.


Ekran 4 — Śledzenie postępów migracji

Trasa: /migration/progress — punkt wejścia src/pages/migration/ProgressTrackerPage.tsx.

Śledzenie postępów daje widok całej migracji na poziomie programu: ogólne fazy, tempo konwersji, harmonogram oraz nierozwiązane ryzyka. Jest to ekran, którego administrator platformy używa do raportowania statusu migracji, z pracochłonnością szacowaną przez model osobogodzin (0,25 godz. bazowo na mapowanie, 2,0 godz. na ręczny przegląd, 1,0 godz. na konwersję wspomaganą przez LLM, 0,5 godz. na testowanie, 4,0 godz. na integrację).


Ścieżka kliknięć — migracja starszego przepływu Informatica od początku do końca

  1. Otwórz /migration/import.
  2. Przeciągnij eksport PowerCenter (np. wf_E112.XML) na strefę upuszczania. Kafelek pokaże pomarańczową plakietkę PowerCenter XML oraz wykrytą liczbę obiektów.
  3. Kliknij Analyze with AI. Kreator przejdzie do Kroku 2; obserwuj czteroetapową listę kontrolną oraz strumień komunikatów parsowania, klasyfikacji i zgodności na żywo w kanale analizy.
  4. Po ukończeniu analizy kreator automatycznie przejdzie do Raportu zgodności. Przejrzyj cztery karty podsumowania, plakietki złożoności dla poszczególnych przepływów, wykres rozkładu typów obiektów oraz panel Risk Items — rozwiń pozycje o wysokiej wadze (takie jak transformacje Custom Java wymagające przepisania na Python UDF), aby przeczytać rekomendację.
  5. Kliknij Start AI Conversion — kreator przejdzie do /migration/conversion.
  6. Na Pulpicie konwersji AI sprawdź tabelę Conversion Status by Object Type. Oznaczone typy obiektów (czerwone) wymagają ręcznej uwagi; typy częściowe i ukończone są w większości zautomatyzowane.
  7. W Converted Pipeline List kliknij Open in Design Studio na kafelku potoku danych, aby sprawdzić lub naprawić wygenerowany potok danych YAML.
  8. Przejdź do /migration/validation i kliknij Run All Tests, aby zweryfikować parzystość danych.
  9. Przejrzyj Tabelę porównania potoków danych — rozwiń dowolny niezaliczony wiersz, aby przeczytać szczegóły niepowodzenia dla poszczególnych kolumn, napraw konwersję w Design Studio, a następnie kliknij Re-run Failed.
  10. Śledź ogólny status programu w /migration/progress.

Mapa podstron migracji

PodstronaTrasa
Kreator importu/migration/import
Pulpit konwersji AI/migration/conversion
Pakiet walidacji/migration/validation
Śledzenie postępów migracji/migration/progress

Dokumentacja API

ObszarPunkt końcowy / moduł
Przesyłanie i konwersja wbudowanamigration-engine POST /upload przez api/migration.ts
Lista zadańGET /jobs
Status zadaniaGET /jobs/{id}/status
Raport zadaniaGET /jobs/{id}/report
Pobieranie skonwertowanego YAMLGET /jobs/{id}/download
Uruchomienie walidacjiPOST /jobs/{id}/validate
Ponowne wyzwolenie konwersjiPOST /jobs/{id}/convert

Migration-engine to usługa FastAPI (port 8091) zamontowana pod /api/v1/migration i /api/migration. Wykorzystuje dopasowywanie wzorców oparte na regułach dla deterministycznych transformacji i przełącza się na Anthropic SDK dla złożonych transformacji. Skonwertowane potoki danych YAML są konsumowane bezpośrednio przez Design Studio.

Poprzednia
Konsola administracyjna