Adatfolyamatok / 06
JSON és XML átalakítása megbízható célmodellé.
Az adatok műszakilag olvashatók, mégis elutasítják őket. A mezőnevek, típusok vagy struktúrák nem illenek a célalkalmazáshoz. Olyan követhető leképezést fejlesztünk, amely az üres értékeket, különleges eseteket és forrásformátum-változásokat is kezeli.
Kiinduló helyzet
A szintaktikai érvényesség még nem jelent üzleti helyességet.
Egy XML-interfész attribútumokkal és namespace-ekkel ad át termékeket. A cél JSON-objektumokat, egyértelmű stringeket és minden variációhoz tömböt vár. Egyetlen XML-elem nem eredményezhet hirtelen más céltípust, mint több elem.
Külön határozzuk meg a forráskontraktust, célkontraktust és transzformációs szabályokat. A kötelező értékek, null és üres stringek üzleti jelentést kapnak; a számokat és időadatokat nem módosítjuk általános szövegkonverzióval.
A DataSource feladatai
Mezőútvonalak, típusok és validálás.
Modellezés
Mezők, attribútumok, listák és referenciák feltérképezése. Az XML-namespace-ek feldolgozása URI alapján; nem hagyatkozunk kizárólag a szabadon választott prefixekre.
Transzformáció
Mapping, típuskonverzió és normalizálás megvalósítása verziózott szabályokként. Decimális pontosság, ID-k és időzónák kifejezett megőrzése.
Validálás
Forrásformátum és célkontraktus ellenőrzése. Az üzleti szabályok kiegészítik a JSON Schema vagy XML Schema ellenőrzését; az érvénytelen eseteket informatív mezőútvonallal jelentjük.
Műszaki forgatókönyv / szemléltető példa
Egy XML-termékből egyértelműen típusozott objektum lesz.
Szemléltető példa namespace-szel és string-ID-val. A p prefix cserélhető; a namespace URI-ja határozza meg a hozzárendelést. Az ár itt szándékosan decimális string marad.
Példaadatok és javasolt szabályok. A konkrét interfészeket és üzleti szabályokat a projektjéhez ellenőrizzük.
<p:product xmlns:p="urn:example:catalog" id="004218">
<p:price currency="EUR">49.90</p:price>
</p:product>
→ {
"sku": "004218",
"price": "49.90",
"currency": "EUR"
}
Hibakezelés, biztonság és üzemeltetés
Sémaeltérések látható kezelése.
Parserbiztonság
Nem kontrollált külső XML-entitások és külső erőforrások letiltása. Méret, mélység és elemszám korlátozása; az importadatok nem megbízható programok.
Verzióváltás
A mappingverzió és forrásséma közös dokumentálása. Új kötelező mezők ellenőrzése reprezentatív tesztadatokkal és kontrollált bevezetése.
Hibahivatkozás
Az érintett rekord és mezőútvonal megnevezése. Érzékeny payloadok kizárólag kifejezetten jóváhagyott, védett diagnosztikai csatornákon használhatók.
Szakmai kérdések
Részletek, amelyek a megvalósítás előtt számítanak.
JSON · XML · Namespace-ek · Adattípusok · Mapping · Séma
Veszteségmentes a konverzió?
Csak egyeztetett modell mellett. Az XML attribútumokat, namespace-eket és vegyes tartalmat ismer; a JSON ezeket nem képezi le automatikusan egyenértékűen.
Mindig szükségünk van sémára?
Fontos az ellenőrizhető kontraktus. A formális séma segít, de nem helyettesíti az olyan szabályokat, mint az érvényes termékhivatkozások vagy megengedett állapotváltások.
Mi történik az ismeretlen mezőkkel?
A kontraktustól függően figyelmen kívül hagyjuk, megőrizzük vagy elutasítjuk őket. A viselkedést kifejezetten rögzítjük, és nem az éles üzemeltetés során döntjük el.
A műszaki egyeztetéshez
A konkrét folyamatból indulunk ki.
Kérjük, készítsen elő anonimizált forráspéldákat, célsémát, meződefiníciókat és problémás eseteket. Egy üres, egyetlen elemet és több elemet tartalmazó listastruktúra is segíti az ellenőrzést.
Az első beszélgetésen tisztázzuk az elérhető hozzáféréseket, az adatfelelősséget és egy körülhatárolt első adatfolyamot. Ezután egyeztetjük a terjedelmet, felelősségi köröket és feltételeket.
A kezdéshez anonimizált példák elegendők. Az első megkeresésben kérjük, ne küldjön jelszavakat, tokeneket vagy személyes adatokat tartalmazó éles adatokat.
Kapcsolódó feladatok
A következő integráció összefüggései.
CSV-import automatizálása
A fájl naponta megérkezik. Valaki javítja az oszlopokat, feltölti, majd ellenőrzi a hibaüzeneteket. A DataSource ezt az ismétlődő kézi feladatot dokumentált importtá alakítja, egyértelmű szabályokkal a hiányos és hibás adatokra.
REST API-integráció
A dokumentáció rendelkezésre áll, a tesztkérés működik. A napi működésben mégis hiányoznak adatok vagy duplikált rekordok keletkeznek. A DataSource a konkrét üzleti folyamathoz kapcsolja REST-API-ját, és a válasz elmaradásával is számol.
Termékadat-folyamatok automatizálása
Az ERP törzsadatokat, a PIM szövegeket, a szállító műszaki jellemzőket ad. A kézi listák csak átmenetileg kapcsolják össze őket. Meghatározott adatfolyamot hozunk létre a vezető mezőtől az ellenőrzött csatornaexportig.