Online multivendor katalógus adatmenedzselése XML Web szolgáltatásokkal





Péteri Szilárd (zila@avalon.aut.bme.hu)

BME Automatizálási és Alkalmazott Informatikai Tanszék

Albert István (ialbert@avalon.aut.bme.hu)

BME Automatizálási és Alkalmazott Informatikai Tanszék

Balássy György (balassy@avalon.aut.bme.hu)

BME Automatizálási és Alkalmazott Informatikai Tanszék

Rajacsics Tamás (raja@avalon.aut.bme.hu)

BME Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Charaf Hassan (hassan@aut.bme.hu)

BME Automatizálási és Alkalmazott Informatikai Tanszék



A katalógus rendszerek egyik legfontosabb feladata a különbözõ szállítók termékeinek felvitele, módosítása ill. rendszerezése. E problémák megoldást segítheti elõ egy XML Web-szolgáltatásokon alapuló adatfeltöltést, módosítást támogató rendszer, amely az elõadás témája lesz.

Bevezetõ

A multivendor, vagyis több szállító termékeit, szolgáltatásait tartalmazó rendszerek a vevõk számára költség-hatékony megoldást jelenthetnek számos elõnyüknek köszönhetõen. A fizikai valójukban létezõ piacok, szuper- és hipermarketek virtuális megfelelõi szintén sikerre számíthatnak, hiszen az egy helyen levõ termékek a megadott attribútumok (ár, méret, stb.) alapján könnyedén összehasonlíthatóak. Online áruházak esetén a vevõk megkülönböztetésére is lehetõség van, ami vevõfüggõ árazást és termékkínálatot jelenthet.

A fõ probléma az adatok felvitele és módosítása.

A következõ szempontokat kell figyelembe venni a módszer, technológia kiválasztása során:

- Biztonságos adatfeltöltés és módosítás: mivel a megrendelések online alapúak, a téves árazás következményei nagyon súlyosak lehetnek, mind a szállítóra, mind a piactér üzemeltetõjére nézve.

- Tömeges feltöltés és módosítás lehetõsége: az adatokat a szállítók csomagokban töltik fel, de az adatok módosítását is nagy mennyiségben egyszerre végzik el.

- Minél szabványosabb interfész az adatok módosítására: a szállítók általában saját rendszerükben végzik el elõször a módosításokat, majd innen töltik át a megfelelõ információkat a piactér rendszerébe – ehhez szabványos interfészt kell biztosítani.

Webes áruházak

A kis- és nagykereskedelem, bármely megvalósulásáról van is szó, leginkább a marketing témakörébe tartozik. Bármilyen fejlett, nagy és drága információs rendszerre is épül egy virtuális áruház, nem szabad szem elöl tévesztenünk fõ célkitûzését, vagyis a termékek eladását. Az egyes termékek forgalmazásának mikéntje, a marketinges szakemberek irányítása alapján történik, amely tevékenységük támogatása fontos cél lehet egy ilyen áruház esetén.

A használhatóság és hatékonyság szempontjából kiszolgálandó ügyfelek tehát egyrészrõl a vevõk, másrészrõl az egyes szállítók marketinges szakemberei.

Vevõk

A vevõket természetesen nem tekinthetjük homogén csoportosulásnak. A marketing alapvetõen épít a vevõk bizonyos tulajdonságok alapján történõ szegmentálásra. Egy online rendszerben általában felhasználónév, jelszó párossal azonosítjuk az egyes használókat, ezáltal lehetõség van akár személyre szabott áruházzal fogadni a betévedt vásárlókat, amely már a direkt marketing eszközrendszerére is építhet.

Egy online áruházzal szembeni elvárások a vevõk részérõl a következõk lehetnek: biztonság, könnyû kezelhetõség, információgazdagság, információ hitelesség és személyre szabhatóság.

Szállítók

A szállítók számára a rendszernek biztonságosnak, átláthatónak, könnyen kezelhetõnek, hatékonynak és adott esetben a marketinges döntéseket támogató funkcionalitássokkal rendelkezõknek kell lenniük.

Minden egyes felhasználói interakció rögzíthetõ, ezért a valós világban levõ áruházaknál sokkal több információ eltárolható, és ezek speciális felhasználása lehetséges. Rendkívül pontos statisztikák készíthetõk, például az alapján, hogy mely termékeket nézték meg legtöbbször. Egyes termékekre megadhatjuk a pontos megnézés, vásárlás arányt stb. Ilyen és ehhez hasonló adatok alapján automatikussá tehetõk olyan, a valós világban már jól bejáratott kereskedõi fogások, mint a keresett termék polc aljára, a csak raktárterületet foglalók szemmagasságba helyezése. A polcot ez esetben az egyes termék táblázatokban elfoglalt sorrendje, esetleg a megjelenítés kiemeltté tétele jelentheti.

A szállítók valamennyien nyilvántartják valamilyen módszer alapján termékeiket, azok aktuális árait, valamint egyéb paramétereiket. A legtöbb esetben saját kategória rendszerrel is rendelkeznek, amely rendszerek általában eltérnek az egyes megvalósításokban. Egy multivendor rendszerben ezek egységesítése teszi a feladatot nehezen megoldhatóvá, és teszi szükségessé az emberi interakció beiktatását.

Termékek és termékkategóriák

Termékkategórián az azonos fogyasztói igényeket kielégítõ termékeket értjük. Egy kategórián belül több különbözõ tulajdonságokkal rendelkezõ termék (cikkelem) is található. A cikkelem a legalapvetõbb, a legrészletesebben specifikált termékváltozat, amely egy meghatározott mérettel, színnel, vagy bármilyen egyedi paraméterrel írható le.

A vásárlás folyamata egy online rendszerben leginkább a megfelelõ cikkelem felkutatásából, ill. a megtaláltak összehasonlításából áll, legalábbis az idõ nagy részét ezzel töltik. Természetes igény tehát a keresés és az összehasonlítás támogatása.

A keresést a keresõ motorok, valamint a megfelelõen hierarchizált termékkategória rendszer is meggyorsíthatják. A kategória rendszerben viszont elengedhetetlen, hogy egy típusú termék, csak egy termékkategóriában szerepeljen. Vagyis ha színes televíziót keresünk, akkor ne kerülje el figyelmünket, egy véletlenül a fogpiszkálók közé besorolt cikkelem.

Webes áruházak, a jelen

Az interneten jelenleg legelterjedtebb áruházak szinte kivétel nélkül egy szállító termékeit tartalmazzák. Ezek általában egyfajta témakörhöz kapcsolódó termékek, melyek az esetek túlnyomó többségében, a könnyed eligazodás kedvéért kategorizáltan kereshetõk. A talán legismertebb és egyik legrégebbi múltra visszatekintõ egyik ilyen webáruház az Amazon, mely jól példázza az egyes marketing fogások beépítését a rendszerbe. Egy bizonyos témakörû könyv kosárba tétele után például megjeleníti a választott kategóriához tartozó más könyveket is.

Egy tipikus multivendor katalógus a Marketline Requisite alapú rendszere, amely magas szinten konfigurálható keresõ motort, valamint UNSPSC alapú kategória fát tartalmaz. A rendszer vevõfüggõ árazást és mennyiségi árkedvezményeket egyaránt támogat.

A feltöltõ rendszer egy a Marketline által a szolgáltatott Excel fájlon alapul, melynek adatokkal történõ kitöltése a szállítók feladata. Ezek a fájlok tartalmazzák a termékek adatait, illetve az elvégzendõ funkciót is: felvitel, módosítás, törlés. A termékek tartalmaznak kötelezõen kitöltendõ attribútumokat, mint például ár, rövid leírás, gyártó neve továbbá opcionális attribútumokat is, mint a hosszú leírás, képfájl neve vagy egyéb kiegészítõ információk. Az egyes termékekhez ezen kívül megadhatók kategóriafüggõ attribútumok is, hogy a különbözõ szállítók által felkínált termékeket objektíven is össze lehessen hasonlítani (ilyen attribútum lehet például a monitor maximális vízszintes frekvenciája, stb.).

Ezeknek a fájloknak a formátuma elõre rögzített oly módon, hogy a szállítók egy elõre elkészített Excel sablont kapnak, amit ki kell tölteniük. A kitöltést makrók segítik, például a véges értékkészlet közüli választást, illetve az egyes termékek kategóriákhoz rendelését. A makrók különbözõ ellenõrzéseket is elvégeznek: például a megfelelõ mezõk ki vannak-e töltve, a nem szabadon módosítható mezõk választható értékeket tartalmaznak-e (például a mennyiség egysége: db, kg, …), stb. Az így elkészített fájl ellenõrzött állapotban egy mágneslemezen kerül a piactér üzemeltetõjéhez.

Az üzemeltetõ feldolgozza az Excel fájl sorait, attól függõen, hogy a sor új adat felvételét, módosítást vagy törlést jelent. A fájl feldolgozása során az Excel formátum konvertálása történik a Requisite XML formátumára.

Adatleírás

A katalógusok feltöltése információ áramlását igényli a szállítók és a katalógus között. A szállítóknál rendelkezésre álló adatok eltérõ rendszerekben vannak ábrázolva, míg a katalógus egységes formátumot igényel. E probléma feloldására, valamilyen köztes leírásmódra van szükség, mely a szállítók által könnyen elõállítható, míg a katalógusba egyértelmûen és hibamentesen feltölthetõ. Úgy véljük, nem tévedünk nagyot, ha megjegyezzük, hogy az XML-t pont erre találták ki.

Termékek esetén az adatleírás alapvetõen két típusú adatfolyamot követel meg. Egyrészt a termék definícióját, amelyet leginkább a termékek felvételekor adunk meg, és csak ritka esetekben változtatunk meg. Ilyenek például a termék neve, gyártási száma és a színe. A gyakran változó adatokra legjobb példa az ár. Ármódosításkor a teljes termékdefiníció újbóli elküldése felesleges, csupán a változó paraméter, valamint a cikkelemet egyértelmûen azonosító attribútumok átküldése szükséges. Egy szállítót tartalmazó rendszer esetén ez egyértelmû a termékek raktári számával, multivendor esetben azonban emellett a szállító azonosítóját is meg kell adnunk.

A multivendor katalógusok esetén egyéb problémák is felmerülhetnek. Ugyanazt a terméket több szállító is szerepeltetheti termékpalettáján, és nem ritkán eltérõ árakkal. A vevõk érdeke, hogy az azonos termékek felismerhetõk legyenek, viszont az eltérõ paraméterek is világossá váljanak. Ez nem feltétlenül vezet árharcra, hiszen az eltérõ árat egyéb plusz szolgáltatásokkal, például hosszabb garanciával, indokolni lehet. A katalógustól azonban megköveteli az egységes és egyértelmû termékleírást.

Ez újabb elven alapuló felosztást eredményez az adatok között, úgymint a termékfüggõ, és a szállítófüggõ attribútumok. Termékfüggõre példa a gyártó neve, gyártási száma és a méret. A szállítófüggõ terméktulajdonságok pedig az ár, a raktárkészlet ill. az ingyenes házhozszállítás. Egy terméktípust egyedileg azonosít a gyártó neve, valamint a gyártási száma. Egy ideális multivendor katalógusban tehát, az egyes gyártók megadnák termékeik gyártófüggõ paramétereit, az egyes szállítók pedig csupán a gyártónév, gyártási szám, valamint a szállítófüggõ paraméterek megadásán szorgoskodnának.

A termékleíró paraméterek más módon is kettéoszthatók. Lehetnek globálisak, vagyis minden termékre vonatkozóak, mint az ár, de lehetnek termékkategória függõek is, mint a televíziók esetén a képátmérõ. Egy szerteágazó termékkategória rendszer esetében e paraméterrendszerek megadása is jelentõs feladat, amely kategóriánként más-más szaktudást igényel.

Az adatok megadása ezen túlmenõen még tovább bonyolítható. A vevõfüggõ árazás és a mennyiségi árkedvezmények támogatása szintén meggondolandó bõvítési lehetõség. Az XML formátumnak ezeket jobb esetben mind támogatnia kell.

Az XML formátum azonban önmagában még nem oldja meg a különbözõ szállítók problémáját. Az egyes szállítók és a multivendor katalógus adatreprezentációja más-más XML formátumokra vezetnek. Most újabb alapigazság következik, de nem tehetünk mást, hiszen a Microsoft Biztalk Server-t pont erre találták ki, azaz eltérõ formátumú adatfolyamok kommunikációjára.

Egy lehetséges architektúra lehet egy multivendor katalógus, elõtte egy adatkonverziót végzõ Biztalk Server. A Biztalk Server bemenetei az egyes szállítói rendszerektõl származó XML formátumú termékadatok. A Biztalk Server és a szállítók eltérõ rendszerei közötti kommunikációra jó megoldás lehet az XML Web szolgáltatások használata.

Egy lehetséges megvalósítás

Az általunk ideálisnak elképzelt rendszer az XML Web szolgáltatásokra, mint kommunikációs alapra épít. A web szolgáltatásokat futtató szerver a multivendor katalógust üzemeltetõ cégnél található. A szolgáltatások meghívása viszont az egyes szállítóknál levõ kliens alkalmazások segítségével lehetséges. A választásnak számos oka van, amely szinte szóról szóra megegyezik egy, az XML Web szolgáltatások pozitív tulajdonságait felsoroló listával.

Az XML Web szolgáltatások egyszerûek, rugalmasak, és szabványos kommunikációt tesznek lehetõvé internetes alkalmazások között, a meglévõ infrastruktúra módosítási igénye nélkül. Kifejezetten alkalmas az esetünkben is fennálló, inhomogén rendszerek összefogására, egységes egésszé alakítására.

A kivezetett funkciók természetesen az adatok módosítását végzik, úgymint termékfelvitel, termékmódosítás vagy terméktörlés. Paraméterként a szállító függõ termékleíró XML fájl kerül át. A funkciókból látszik, hogy a függvényeket jelszóvédelemmel kell ellátni, és az egyes jelszavak, csak bizonyos szállítói azonosítóval rendelkezõ termékek változtatását engedélyezik.

Érdemes lehet a gyakran változó paraméterek beállítására, valamint azon funkciókra, melyek eltérõ biztonsági szintet igényelnek, külön függvényeket szánni. Ezáltal akár egy szállító cégen belül is megkülönböztethetõek az ellátandó funkciók, például bizonyos személyek, vagy programmodulok csak a raktárkészlet állását módosíthatják.

Érdemes lehet meggondolni, hogy a katalógus lekérdezéseket, ill. a vásárlást támogató funkciókat is kivezessünk. Ezáltal katalógusunk összekapcsolása más rendszerekkel rendkívül egyszerûvé válhat.

A probléma érdemi részét, vagyis különbözõ adatforrások egységes formátumra hozását a Biztalk Serverre bízzuk. Ekkor ugyanis csak kis költségû egy újabb szállító rendszerhez kapcsolása, hiszen a Biztalk Server magas szintû eszközt biztosít XML fájlok konverziójára. A szállítók feladata csupán saját adatbázisából egy megfelelõ formátumú XML legenerálása, majd a megfelelõ web szolgáltatásnak e fájl átadása.

Az egyetlen probléma az eltérõ kategória rendszer, amely feloldására a szállítóknak ismerniük kell a multivendor katalógus kategória rendszerét, és el kell tudniuk benne helyezniük saját termékeiket. Ezek helyességét korlátozott módon ugyan, de a gyártói számok segítségével automatikusan ellenõrizhetjük, és egyes hibásan kategorizált termékek esetén akár még javíthatjuk is.

Összefoglalás

A multivendor rendszerek számos buktatót tartalmaznak, és ezek kezelésére már az adatfeltöltéskor figyelnünk kell. Tulajdonképpen egy ilyen rendszer legkritikusabb része az adatfeltöltés, mivel alapvetõen befolyásolja a katalógus minõségét. Egy jól átgondolt, könnyen kezelhetõ és megfelelõ támogatást nyújtó feltöltõ rendszer elengedhetetlen egy ilyen katalógus esetén.

Az általunk elképzelt rendszer korszerû és szabványos kommunikációs eszközöket használ, mely garantálhatja hosszú élettartamát és a könnyû kapcsolódást külsõ forrásokból. A szállítók részérõl minimális kapcsolódási költséget, az üzemeltetõk számára pedig gondtalan adminisztrációt eredményezve.