[python] python + XMLRPC/SOAP/REST

azurIt azurit na pobox.sk
Neděle Leden 17 00:43:18 CET 2010


Co sa tyka verzii 2.0 a 2.1, ani som ich velmi nepouzival, pretoze uz zo zakladu sa spravali dost cudne. Typ Any sa da prepnut do dvoch modov, aslist=1 / aslist=0 . Podla dokumentacie toto sposobi, ze data budu rekurzivne premenene na pole resp. na slovnik. Do verzie 1.7 toto fungovalo celkom fajn, prakticky to znamenalo, ze sa na pole/slovnik zmenila len vonkajsia struktura rozparsovanych dat. Od verzie 2.0 to naozaj funguje rekurzivne a zmeni to komplet cele data bud na pole alebo slovnik - tzn. je jedno, co sa na druhej strane poslalo, vzdy z toho bolo bud jedno alebo druhe (a ak pole premienal na slovnik, tak klucne samozrejme vygeneroval). Tu upozornim, ze tento problem je zrejme sposobeny tym, ze vsade pouzivam typ Any a nevytvaram si vlastne typy - to nerobim, lebo na to nevidim dovod a cela komunikacia a aj kod sa tym dost komplikuje.

Verzia 1.7 ma hlavne problemy pomocou typu Any rozparsovat vsetko, co sa nevola Array (pripadne este par podobnych nazvov, najdes v kode). Problem bol dokonca aj s obycajnym polom zaslanym cez SOAP z PHP. Tu pomohla jedna z nasich uprav kodu ZSI, kde som typ Any urobil trochu inteligentnejsim, aby proste zo vsetkeho robil pole/slovnik nezavisle na to, ako sa to vola (prakticky ma nenapada situacia, kde sa XML data nedaju premenit na pole alebo slovnik, nechapem, preco to Any nedokaze urobit samo o sebe).

Problem je tiez so standardnym XML parserom, ktory je naozaj extremne pomaly, toto ale zbadas iba pri vacsich XML datach. Nastastie ho je mozne prinutit pouzivat aj iny parser, bez toho by to pre nas nebolo pouzitelne.

Inak nam nad ZSI funguju dva vcelku komplexne systemy (subregistratorsky system pre kompletnu spravu .sk domen a informacny a administracny system pre webhosting).

azur


>-----Pôvodná správa-----
>Od: Tomas Pelka [mailto:tompelka na gmail.com]
>Komu: Konference PyCZ <python na py.cz>
>Predmet: Re: [python] python + XMLRPC/SOAP/REST
>
>
>azurIt napsal(a):
>> Ahoj,
>>
>> my pre nase API pouzivame SOAP, konkretne ZSI ( http://pywebsvcs.sourceforge.net/ ). Musim s tebou ale suhlasit, ze implementacia ako taka je dost zvlastna, navyse verzie 2.0 a 2.1 boli pre nas nepouzitelne takze sme zostali pri 1.7 + nejake custom upravy. Ale problemy mame mozno tym, ze si to vsetko trochu ulahcujem a vsade pouzivam typ Any :) v kazdom pripade, nevidim dovod pouzivat komplexne typy, kedze vzdy prenasam len standardne boolean/integer/string/array.
>>
>> azur
>>
>
>Mohl bych se jeste pozastavit nad ZSI, jake konkretne problemy s nim
>mate, treba mi to pomuze v rozhodovani.
>
>>
>>> -----Pôvodná správa-----
>>> Od: Tomas Pelka [mailto:tompelka na gmail.com]
>>> Komu: Konference PyCZ <python na py.cz>
>>> Predmet: [python] python + XMLRPC/SOAP/REST
>>>
>>>
>>> Zdravim konferenci, chtel bych se vas vsech zeptat na nazor na
>>> nasledujici problematiku.
>>>
>>> Vyvstal prede mnou problem tvorby webove sluzby, respektive potrebuji
>>> zajistit RPC. Proto predpokladam tvorbu serverove a klientske casti
>>> otazkou ale zustava jakou technologii zvolit.
>>>
>>> Zatim se jako nejlepe v pythonu implementovana jevi klasicka XML-RPC,
>>> tato technologie ma vsak sva omezeni, ze kterych mam obavy.
>>>
>>> Jako dalsi prichazeji v uvahu SOAP a REST, ktere mne svymi
>>> implementacemi nenadchli. Muzete se s emnou podelit o vase zkusenoasti
>>> s REST a SOAP v pythonu? Tyto technologie by se jako nove a komplexni
>>> hodily daleko vice.
>>>
>>> O co se vlstne bude jednat ve vysledku, tato sluzba by mela ovladat
>>> linuxovou distribuci ve smyslu spousteni nejakych skriptu a navraceni
>>> hodnot/vysledku operaci.
>>>
>>> Dekuji za nazory.
>>> --
>>>
>>> Tom
>>> _______________________________________________
>>> Python mailing list
>>> Python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>
>--
>
>
>Tom
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python


Další informace o konferenci Python