T OOL FOR C OLLABORATIVE XML S CHEMA I NTEGRATION Jiří Meluzín
C ÍL PRÁCE Vyvinout metodu pro kooperativní tvorbu mapování dvou XML schémat Zhodnotit současné metody pro integraci XML schémat a kooperativní editaci Naimplementovat nástroj v rámci služby Google Wave a pomocí GWT knihovny
M APOVÁNÍ Transformace jedné instance XML na jinou Definuje zobrazení M: XML → XML M by mělo být obecné, nikoli pro jednu konkrétní instanci XML M definovat na základě definice struktury konkrétního jazyka XML M by mělo být možné vyjádřit jako XSLT < xsl:transform version ="2.0" xmlns:xsl =" xmlns:Vystup =" xmlns:Vymezeni =" exclude-result-prefixes ="Vymezeni"> ….
K OOPERACE UŽIVATELŮ Umožnit současný zásah více uživatelů do navrhovaného mapování Serializace úprav Co, jak a kdy posílat mezi uživateli Konflikty Editace mohou jít proti sobě Sdílení konzistentního stavu Cílem je, aby všichni uživatelé viděli stejné mapování Využít možnosti služby Google Wave
S OUČASNÉ PŘÍSTUPY Mapování XML Popsány dvě komerční aplikace Altova MapForce Stylus Studio Zdroj XML struktury z XSD, DTD, databáze, … Výstup – XSLT, C#/Java kód, … Automatické mapování Kooperace uživatelů Zamykání sdílených zdrojů Třícestné slévání Rozdílová synchronizace Operational Transformation
N AVRŽENÝ PŘÍSTUP Mapování Strom XML z XSD Propojení zdrojových a cílových uzlů XML Transformační funkce XSLT jako výstup Kooperace Každý klient má počáteční stav a uspořádaný seznam editací Stavový server Centrální bod vyhodnocující pořadí editací Konfliktní situace Řešeny optimisticky Google Wave Wave Robot State Server DB User
V ÝSLEDKY Popis existujících přístupů k mapování a kooperaci uživatelů Formální popis navrhovaného řešení Implementace v Google Wave pomocí GWT a Java; Pouze HTML 5 Podpora rekurzivních mapování Kooperativní model možno využít i v jiných aplikacích Výkonnostní testy implementace Možné rozšíření Automatické mapování Vyšší uživatelská přívětivost
Děkuji za pozornost