Keresés

Hirdetés

Új hozzászólás Aktív témák

  • cucka

    addikt

    válasz Speeedfire #13176 üzenetére

    Hogy lehet 2 rendszert összekapcsolni?
    Nehezen. Vagy átalakítod az egyik adatbázist a másik formátumra, vagy készítesz egy köztes réteget, ami az egyik kérést átfordítja a másik rendszer számára.

    Mivel gyanítom, a két rendszer funkciólistája nem egyezik meg 100%-osan, mindkét megoldásban benne van a szívás rendesen, plusz mindkét rendszert tökéletesen ismerned kell.

    [ Szerkesztve ]

  • Sk8erPeter

    nagyúr

    válasz Speeedfire #13176 üzenetére

    Migrálni a saját meglévő tábláid adatait az új táblákba, a kritériumoknak megfelelően, úgy, hogy az új webshopba megfelelően bekerüljenek a termékek, most így konkrétumok nélkül csak általánosságokban lehet tanácsot adni. :) Ha van a migrálásra/importálásra valami jóféle, rugalmas "keretrendszer" (mint a Drupalos Migrate modul), akkor az a legjobb. De nézz utána, van-e valami "híd" a két rendszer összehozására. Pl. Drupal esetén volt a Drupal saját táblái és a Gallery2 összehozása esetén, tudtommal ott kicsit gányolósan úgy működött, hogy minden felhasználói adaton történő változás mentődött a másik táblában is, ez mondjuk nem a legjobb megoldás, nem biztos, hogy egy hiba esetén szinkronban lesz a két adat. Szóval a legjobb talán az lenne, ha azonos felhasználói adatbázisban dolgozna a kettő.

    Melyik webshop ez?

    Sk8erPeter

  • modder

    aktív tag

    válasz Speeedfire #13176 üzenetére

    Kijelölöd az egyik rendszer felhasználói adatbázisát, mint a felhasználói adatbázis, és közösen azt használod mindkét rendszernél.
    A másik rendszer authentication&authorization rétegét le kell cserélned, hogy "az adatbázist" használja, ne a sajátját. Ez rendszertől függően lehet egyszerű és bonyolult is, de mindenképpen bele kell nyúlni a kódba, és módosítani kell, hogy amikor a másik rendszer egy felhasználót autentikálni szeretne, azt ne a saját adatbázisból próbálja meg, hanem "az adatbázisból".

    Többféleképpen lekérdheted a felhasználói adatokat "az adatbázisból":
    -- kapcsolódhatsz közvetlenül az adatbázis kiszolgálóhoz
    -- csinálhatsz egy service réteget ahhoz a rendszerhez, amelyiknek az adatbázisát használni fogod (SOAP vagy REST), és a másik rendszer ezt hívja minden egyes alkalommal, amikor egy felhasználót be kell jelentkeztetni/regisztrálni.

    Az előbbi egyszerűbb, szerintem, de ha változik az adatbázis struktúra egy update során, akkor kínos minden rendszer implementációját frissíteni, plusz nehezen megoldott az auditálás.
    Az utóbbi azért jó, mert a kód könnyebben, módosítható, mint az adatbázis struktúra, és anélkül lehet az autentikáció implementációját változtatni, hogy a service interfészt megváltoztatnád. (pl. ha az adatbázis struktúrán változtattál). Én ezt választanám egy REST interfésszel. Arra ügyelni kell, hogy a két rendszer közötti kommunikáció SSL-en keresztül menjen.

    Amit még meg kell említeni, hogy a felhasználó azonosításán kívül valószínűleg be lehet állítani egy csomó más felhasználói preferenciát is a különféle rendszereken. Én ezeket megtartanám rendszerfüggően, az adott rendszer saját adatbázisát. Azon a rendszeren, amelyik nem a saját felhasználói adatbázisát használja autentikációra, a service hívásból visszajött valamilyen user id-hoz kötném ezeket az adatokat.

Új hozzászólás Aktív témák