Módosítások

NeptunLdapSyncImpl

2 389 bájt hozzáadva, 2010. február 25., 16:14
Architektúra
* az egyes webszolgáltatás-művelet paraméterezett meghívása, az eredmény rekordokra bontása (''szinkronizációs metódus'')
* a webszolgáltatás eredmény rekordjait (entry) LDAP bejegyzésekkel szinkronizálni (''bejegyzés leképezése'')
 
A keretrendszer mindkét fenti réteghez biztosít ősosztályokat, azonban az implementáció az intézményi réteghez tartozik. Általános esetben minden webszolgáltatás operációhoz külön szinkronizációs metódus tartozik, azonban az implementáció nagy része közös, ezt a keretrendszer képes elfedni (a <code>SyncManager</code> ősosztályban).
 
== LDAP bejegyzések leképezése ==
Minden szinkronizációs metódus eredménye egy, vagy jópár XML struktúra, melyek általában egy LDAP bejegyzéshez tartoznak. Például a személyes adatokat szolgáltató operáció válaszában jól elkülöníthetőek az egyes felhasználókhoz tartozó adatok.
 
A szinkronizációt nagyban egyszerűsíti ez a feltevés, így az egyes LDAP bejegyzéseket elég ezekkel az XML strukturákkal szinkronizálni, egy leképezést kell tehát biztosítani az LDAP attribútumok és az XML struktúra között.
 
Tegyük fel, hogy van egy XML strukturánk, amit szeretnénk egy LDAP bejegyzésre leképezni:
 
<source lang="xml">
<Szemely>
<Kod>XYZ123</Kod> <!-- pl. NEPTUN-kód -->
<Vezeteknev>Gipsz</Vezeteknev>
<Keresztnev>Natália</Keresztnev>
<Email>gipsz@somewhere</Email>
<Email>gipsz.nati@somewhere</Email>
<Lakcim>
<Irsz>0000</Irsz>
<Varos>Pest-Buda</Varos>
<Cim>Alma tér 2</Cim>
</Lakcim>
<Telefon>+36-1 123-1234</Telefon>
<!-- tovabbi elemek -->
</Szemely>
</source>
 
Az ehhez tartozó LDAP bejegyzés pedig legyen a következő:
 
dn: niifPersonOrgId=XYZ123,ou=people,o=BME,c=hu
objectClass: niifPerson
objectClass: person
niifPersonOrgId: XYZ123
givenName: Natália
givenName;en: Natalia
sn: Gipsz
sn;en: Gipsz
cn: Gipsz Natália
cn;en: Natalia Gipsz
mail: gipsz@somewhere
mail: gipsz.nati@somewhere
postalAddress: 0000 Pest-Buda, Alma tér 2
telephoneNumber: +3611231234
 
 
Az XML->LDAP leképezésnek tehát a következőket kell megoldania:
* egy létező LDAP bejegyzés megtalálása (pl Neptun-kód alapján)
* LDAP attribútum feltöltése egy XML elemben tárolt értékkel
* többértékűség támogatása (például több e-mail cím)
* attribútum érték konverzió (telefonszám, név angol változata)
* egy attribútum értékének több XML elemből történő összeállítása (lakcím, teljes név)
* LDAP bejegyzés módosítása
* új LDAP bejegyzés létrehozása
** objectClass-ok kezelése
** DN kezelése
= Részletes dokumentáció =
565
szerkesztés

Navigációs menü