Komentáře k článku

REST API jako rozhraní desktopové aplikace

Jedním z požadavků zákazníků na desktopový ekonomický systém WinStrom 10 bylo otevřené API. Původním zadáním rozhraní byla možnost importovat a exportovat data a provádět další operace. V tomto článku si ukážeme důvody, které nás vedly k implementaci technologií, které využívají čistě internetové servery, jako je Twitter či Google.

Zpět na článek

74 komentářů k článku REST API jako rozhraní desktopové aplikace:

  1. Jens.cz

    Reklama na WinStrom?

    Neměl byt tento článek být uveden jako „Komerční sdělení“, když to to víceméně reklama na komerční software WinStorm? Popis REST API lze určitě udělat i jinak …

    1. asi to jinak nejde

      Re: Reklama na WinStrom?

      Ono to asi nejde popisovat neco bez prikladu. Takhle to neni od teoretika, ale z praxe.

      A dnes se to nosi se predvadet. Napr. clanky pana Kravala o OOP a OOA na me posledni dobou delaji dojem, ze puvodne klasik pise clanky proto, aby v nich trikrat upozornil na sva skoleni, mimochodem dobra.

  2. ---

    Re: REST API jako rozhraní desktopové aplikace

    Tohle je opravdu reklama. Melo by to byt oznaceno jako PR clanek.

    1. Zorg

      Re: REST API jako rozhraní desktopové aplikace

      Podobné výkřiky mě nepřestávají udivovat. Je reklama/není reklama má jediné kritérium – jestli si vydání článku někdo zaplatil. Zbytek je čistě na posouzení redakce, která v tomhle případě zvolila podstatně zajímavější alternativu z reálného světa místo příkladů typu „přidáváme REST k našemu blogísku“.

      1. Martin Malý

        Re: REST API jako rozhraní desktopové aplikace

        Dodám: Nejen zajímavější, ale i poměrně unikátní.

    2. q

      Re: REST API jako rozhraní desktopové aplikace

      neni. Patrick Zandl na lupe rekl ze neni .. tak neni :) Ja si taky myslim ze je, ale nemame sanci to prosadit. Kdyz se zeptam Zandla na to jak se taky takto muzeme jako firma nenapadne prezentovat s nasi znackou, dostanu komercni nabidku produktu iinfo. Tak asi tak :) Je mi z toho na bliti a davam projektum iinfa velke minus. abclinuxu mi prijde fakt zajimavejsi.

      1. Martin Malý

        Re: REST API jako rozhraní desktopové aplikace

        Děkuji za nabídku. Váš článek o tom, jak jste ve svém komerčním produktu použili nějakou podobnou techniku (třeba OpenID, OAuth, nerelační databázi nebo webové rozhraní) spolu s popisem zvažovaných alternativ, rozhodování a implementace, by byl jistě zajímavý. Pošlete ho, prosím, na mail redakce@zdrojak.cz Děkuji.
        Tak asi tak.

        1. Prezdivky nikdy nebyly

          Re: REST API jako rozhraní desktopové aplikace

          No pokud bych ho psal podobnou formou, asi by se vam zde v diskuzi objevovaly podobne prispevky o tom ze to nekteri citi jako PR (nejsem sam). Kdybych na to mel vice casu a nebo ten cas zaplacen, proc ne. Nikde ale neni jistota, ze to zverejnite a ze muj cas nevyjde v nivec. Navic uz publikuji jinde.

          1. Martin Malý

            Re: REST API jako rozhraní desktopové aplikace

            V tom případě mi není jasné, na co si stěžujete…

            1. Přezdívka dvojtečka

              Re: REST API jako rozhraní desktopové aplikace

              Já na nic. Mě je to jedno. Já reagoval na to, že je to neoznačené PR a že u takových článků dostane většinou autor komerční nabídku iinfa za zveřejnění takového PR. Vy jste mi pak řekl ať tedy sám něco napíšu a já ale nepíšu protože píšu jinde a nemám na root čas.. No to ještě neznamená, že si nemůžu zaklet, že na lupě, na zdrojáku se propaguje komerce a není označena jako komerce… Šmarja vždyť je to jedno .. Já už si na nic nestěžuji:) Já jen řekl svůj názor a tím to končí :) Přeji pěkný den.

              1. cgi

                Re: REST API jako rozhraní desktopové aplikace

                14:28 – 14:54 – i za takovou dobu se dá napsat celkem slušný „PR článek“ a diskutování zde také není placené… Příjemný den i Vám.

  3. davidmach14

    Výborný článek z praxe!

    Díky autorovi mám řadu cenných poznatků z praxe, které v brzké době ve své firmě využiji. REST totiž zvažujeme ze stejných důvodů, které jsou uvedeny v článku. Málokterá firma dokáže psát o zajímavých věcech z vlastní kuchyně!

    1. alblaho

      Re: Výborný článek z praxe!

      Článek se mi líbil, v prvé řadě je to o technologii, teprve v druhé je to trochu reklama. No problem. díky.

  4. Martin

    Trapné PRko

    Tohle by se za Hassmana nestalo! Už chápu, proč jste ho odsud vykopli! Abyste mohli zanést jeho kvalitní magazín PR články, skrytou reklamou a Microsoftem. Už se těším na ten stodílný článek o .NET a super výhodách Windows Serverů!

    1. Petr FerschmannAutor příspěvku

      Re: Trapné PRko

      Příště napíšeme článek takto:

      Na náš software, jehož jméno vám nemůžeme prozradit, který je v oboru, který také nemůžeme prozradit, měli zákazníci požadavky, které vám také nemůžeme sdělit, protože byste se mohli dovtípit o jaký produkt se jedná (protože jsou dost specifické).

      A také vám neprozradíme jméno autora, protože byste si to mohli vygooglit.

      :-)

      1. Prezdivky nejsou

        Re: Trapné PRko

        Pripadate mi trosku jako Radovan Kalu*za, akorat jste zamestnanec, mate kontakty na iinfo a pisete PR. Nevim, piste ale nezaujate a nepreferujte jeden produkt. Pak to nevyzni jako PR ale jako skutecny popis REST API. Vy jste skutecne nepochopil stejne jako redakce rozdil mezi clankem ktery preferuje jeden jediny produkt (protoze jste zamestnanec dodavatele daneho produktu, tak vas asi i chapu, mozna mate neco ve smlouve jak mate jednat navenek) a ktery nezaujate popisuje rozhrani. Mejte se hezky :) Doufam ze nenapisete i na abicko.. to uz by bylo trosku moc.. Zamoreni internetu winstormem.

        PS: hehehe .. :) Ka*luza je na rootu zakazane slovo:) Nejde s tim odeslat prispevek :))))))) lol hehe .. skaceme do Kaluze a cakame vodu .. :) to uz jde .. dobry :)))

          1. Přezdívka nikdy povinná nebude.... :)

            Re: Trapné PRko

            tak preci jen je to PRko :))) Nebo ze by jste byl skutecne tak žádaný, všechny redakce se ptali jen vas a žádaly vás o článek a neexistovalo v ČR cokoliv jiného než winstorm ? :)) Tomu nevěřím :) Ale dobrá tedy :)

            1. Petr FerschmannAutor příspěvku

              Re: Trapné PRko

              Dobrý den,

              tak dobře. Slavnostně zde odpřísahávám, že firmě InternetInfo (servery zdrojak.cz, root.cz a lupa.cz) ani firmě StickFish (abclinuxu.cz) jsme nikdy nezaplatili za články ani korunu.

              Články vždy vydali zadarmo, protože redakcím připadali zajímavé a přinášeli něco nového. Musím vás ujistit, že jsme je vždy museli upravovat tak, aby se dali vydat (zvlášť zdroják.cz a root.cz jsou v těchto ohledech velmi přísní).

              Jediný komu jsme za články zaplatili je sdružení Liberix (http://www.openoffice.cz/…-i-pro-linux a http://www.linuxexpres.cz/…-i-pro-linux ). A tyto články jsou řádně označeny. Pokládali jsme prostě za rozumné podpořit toto neziskové sdružení v jejich činnosti (a získat tak trochu reklamy).

              Stejně tak proto plánujeme přispívat na konference „OpenSource řešení v sítích“ a „LinuxAlt“.

              Takže to napíši ještě jednou: firma InternetInfo od nás nedostala za tyto články ani korunu (a ani za ně není jiná náhrada) a nikdy nedostane.

              Prostě si myslíme, že nejlepší „PR článek“ je takový, který redakce vydají zadarmo. Ne proto, že bychom ušetřili, ale že mají takový obsah, že je redakce vydají. A to znamenají, že jej pak budou číst i čtenáři, protože k smrti nenávidím PR články ostatních firem. Není tam prostě nic zajímavého a tak je nechci číst.

              A musím říct, že někdy by bylo levnější si prostě článek zaplatit.

    2. Tomáš

      Re: Trapné PRko

      Martine, tak tuhle Vaši reakci nechápu. S největší pravděpodobností nepotřebujete kvalitní účetní program pro Linux, protože tím WinStrom opravdu je. A že je zároveň i pro majoritní OS je pochopitelná vlastnost, bez které by vůbec nebyl. Prodej linuxových verzí by firmu jistě neuživil.
      Za tuhle snahu jsem jim pořád vděčný, protože bez nich bych nemohl s čistým svědomím provozovat svoji živnost (virtualizace nebo Wine sice taky fungují, ale jsou to pořád jenom „berličky“).

    3. Martin Malý

      Re: Trapné PRko

      Je vidět, že komunita Strážců Tradičních Hodnot nespí! Jen škoda, že se místo komentáře se spikleneckou teorií nezmůže na celý článek o něčem zajímavém ze světa OpenSource…

      1. Přezdívky na rootu

        Re: Trapné PRko

        nezlobte se, jeste jeden koment.. winstorm je OpenSource? Muzu se nekde prosim podivat do zdroje? Diky…

        1. Martin Malý

          Re: Trapné PRko

          Není to opensource. Na Zdrojáku si na „hodný opensource“ a „zlou komerci“ nehrajeme. Až nějaký vývojář opensource programů napíše podobný článek, zveřejníme ho naprosto stejně.

          1. Prezdivky jednoduse povinne nejsou

            Re: Trapné PRko

            No a ted mi uprime reknete, kdyz uz jste psal o OpenSource, nebylo by lepsi sva ucetni data sverit skutecne OpenSource aplikaci? No vidite .. a winstorm neni opensource ale komerce. Pak tedy „…celý článek o něčem zajímavém ze světa ClosedSource“ :) a ja myslel ze jsem na zdrojak.cz :)) Tady bych fakt opensource cekal.

            1. Petr FerschmannAutor příspěvku

              Re: Trapné PRko

              Dobrý den,

              vydržte ještě několik dní. Právě připravujeme článek, kde Vám odpovím. Pošlu sem pak odkaz.

            2. Martin Malý

              Re: Trapné PRko

              Pravděpodobně neumíte pořádně číst, psal jsem o tom, že se dotyčný komentátor rozohňoval proti Microsoftu, a dodal jsem, že je „jen škoda, že se místo komentáře se spikleneckou teorií nezmůže na celý článek o něčem zajímavém ze světa OpenSource…“ (když už mu tak vadí closed source). Je vám to už jasnější?

              Ano, jsme na Zdrojáku. Zdroják je magazín o (převážně webovém) programování a technikách spojených s webem. Takže sem patří jak ASP.NET či Flex, tak třeba Django. Promiňte, ale dělení světa na „opensource“ a „komerci“ je mi cizí, a na Zdroják nepatří.

    4. Tomas

      Re: Trapné PRko

      Hranice PR versus odborný článek je subjektivní. Tento článek u mě padá do kategorie odborných článků. Podle mého vnímání PR články většinou vychvalují produkt bez jakéhokoliv srovnání či konkrétních faktů. Tento článek je na rozdíl od PR nabitý konkrétními informacemi a navíc z praxe. Článek dokonce hovoří i o možných problémech. Informaci o vlastních problémech v PR článku rozhodně nenajdete.

      To že se mluví o komerčním produktu přece nedělá z článku PR. Např. Qt lib můžete mít pod komerční licencí, a automaticky to neznamená že se články o Qt jsou PR.

      Martine, smiřte se s tím, že komerční produkty tu jsou a budou a ne všichni chtějí komerční produkty ignorovat. Myslím, že by bylo hodně škoda, kdyby nebyly takové články na zdrojáku zveřejňovány.

      +1 autorovi – článek je velmi inspirativní, díky

  5. Martin Malý

    Souhrnná odpověď

    Použití REST API u desktopové aplikace je poměrně unikátní, natož u aplikace tohoto typu. Takže téma mi připadalo velmi dobré, stejně tak jako vysvětlení procesu vybírání vhodného typu rozhraní a popis implementace. Můj požadavek na autora byl jasný: „Nechci, aby to byla reklama na produkt!“ Jméno produktu jsem nakonec připustil, ostatně zaznělo i ve zprávičce, která vyšla zde i na Rootu (a na dalších serverech), ale v jiných ohledech jde především o článek, který popisuje proces výběru architektury, sumarizuje výhody jednotlivých řešení a ukazuje, že REST nemusí být jen „čistě webová“ záležitost. Což je pro mne důležitější než to, že v něm zaznělo jméno komerčního produktu.

    A to, že v článku někteří lehkoocí čtenáři uvidí primárně PR nebo reklamu, mi připadá jako přiměřená daň za to, že článek popisuje celkem pěkně implementaci REST do desktopového SW.

    1. Ped

      Re: Souhrnná odpověď

      Zajimave ze kdyz se tady objevi spravicka o novem Firefoxu, wine nebo archlinuxu a gentoo, tak tam vykriky ze jde o PR neni videt… :D
      A to nemluvim o tom ze jejich informacni hodnota je casto nizsi nez u tohto clanku.

      1. jan.letko

        Re: Souhrnná odpověď

        Presne, popis novych vlastnosti Firefoxu nie je PR ??? Asi nie, lebo ho nepisal nikto zainteresovany (napr. z Mozilla Foundation), ale toto uz PR je, pokial je to z dielne priamo zainteresovaneho cloveka. Ale tato forma PR mi nevadi, pokial ma informacnu hodnotu.

        Hranica kde zacina PR a kde konci je tenka.

        Dakujem za clanok, podla mna to nie je PR a clanok ma informacnu hodnotu.

        1. Jens.cz

          Re: Souhrnná odpověď

          WinStrom je vyhradne komerecni software s uzavrenym zdrojovym kodem vyvijeny jednou konkretni firmou za ucelem zisku.

          Firefox je vyhradne nekomerecni software s otevrenym zdrojovym kodem vyvijeny vyhradne k distribuci zdarma pod svobodnou licenci za spolucasti prispevatelu z komerecni i nekomerecni oblasti.

          Opravdu nevidite ten rozdil?

          Nemam nic proti tomu, ze nekdo vyvyji software za ucelem zisku, sam delam to same a v tom rozhodne problem nemam. Informacni hodnota clanku muze byt klidne excelentni, ale stale je to jen reklama pana „vedouci vyvojare“ a „jeho produktu“. O tom lze jen tezko polemizovat. Redakce ROOTu si zaslouzi odmenu nebo alespon minimalne nekolik licenci na WinStrom zdarma :)

          1. Martin Malý

            Re: Souhrnná odpověď

            A vy v tom nějaký rozdíl vidíte? Vy se domníváte, že článek od vývojáře komerční aplikace je PR a reklama, zatímco článek na totéž téma od vývojáře aplikace nekomerční bude regulerní a v pořádku? Pokud ano, tak není o čem diskutovat…

          2. jan.letko

            Re: Souhrnná odpověď

            Vidim ten rozdiel, takto som sa na to nepozeral, nakolko sme v sekcii ZDROJAK a tu sa divam na technologie (programovanie), nie na komercny produkt vs. nekomercny produkt.

            1. Martin Malý

              Re: Souhrnná odpověď

              Přesně tak. Článek je v podstatě případová studie, v níž autor ukazuje, jak postupovali při implementaci otevřeného API, jaké možnosti zvažovali, proč vybrali „webový“ REST pro víceméně desktopovou aplikaci, jaké problémy a jaké výhody to přineslo a jak tuto architekturu API implementovali. To bylo rozhodující při zvažování, zda článek vydat nebo nevydat, nikoli to, jestli ho psal vývojář komerčního SW.

          3. Ped

            Re: Souhrnná odpověď

            Redakce ROOTu ma presne takovou odmenu jakou si vyjedna, t.j. je to jejich problem.
            A podle mne je soudite prilis jednostranne, ROOT nemusi jen hledat financni prostredky na provoz serveru, taky musi i zabezpecit dostatek hodnotnych clanku pro sve ctenare, aby se z nej nestal archiv starych clanku.
            Nemyslim ze by seriozni a relevantni informace pro vyvojare museli nutne oznacovat jako placene PR a zadat po autorech platbu – jen proto ze autorem informaci je nekdo kdo pracuje na komercnim produktu a mimo jine si dela danym clankem reklamu. Bylo by na povazenou kdyby se ted na rootu zacali zdarma objevovat spravicky o kazdem updatu Winstrom ktere pro vyvojare skoro zadnou hodnotu nemaji, ale porad je to vec redakce, snad umi pocitat a vi co je pro ne dobre.

            Mimochodem, myslite ze Mozilla Foundation nema zadne prijmy a zije jen z daru? Myslite ze PR Firefoxu vznika spontanne bokem o pauzach mezi kodovanim a delaji ho samotni vyvojari Firefoxu? Myslite ze M.F. do PR Firefoxu neinvestuje sve zdroje (lidi, technologie, penize)? Tak zijete v jinem svete.

            1. Martin Malý

              Re: Souhrnná odpověď

              WinStrom jako ekonomický SW je zcela mimo zaměření Roota i Zdrojáku, takže zprávičky o jejich nových verzích se zde skutečně objevovat nebudou. Tento článek zde vyšel proto, že popisuje použití techniky, která na Root i Zdroják patří (REST), navíc poměrně neobvyklým způsobem (v primárně desktopové aplikaci), a velmi pěkně ilustroval, že použití takové techniky není v „uzavřeném SW“ nejen nemožné, ale někdy i výhodné (a navíc i vysvětlil důvody, proč vybrali právě REST). Howgh.

              A pokřik o PR a komerci byl očekávatelný, někteří lidé holt vidí svět takto fundamentalisticky.

              1. Jaro

                Re: Souhrnná odpověď

                Ja som zasa komerčný programátor v Jave a pre mňa mal tento článok prínos. Je mi prd jedno, koľko „reklamovosti“ v ňom bolo, rozhodne je užitočnejší ako článok typu: a teraz si spravíme fórum v PHP. Privítal by som viac takýchto užitočnejších článkov z praxe.

          4. Ivan Nový

            Re: Souhrnná odpověď

            Firefox je komerční produkt, protože usiluje o podíl na trhu, konkuruje komerčním produktům. To, že je zadarmo nerozhoduje. IE je taky zadarmo. Něco jako nekomerční produkt neexistuje. Vývojáři OpenSource jsou placeni za tento vývoj renomé, které tímto získají. Vývoj OpenSource je PR vývojáře.

  6. Michal Augustýn

    pěkné

    Pěkný článek. Oceňuji, že autor prozradil něco málo z kuchyně, kde se vaří komerční produkt.

    Po přeečtení úvodních odstavců mě napadá, že by se mi líbil článek, který stručně představil a porovnal různé způsoby (chcete-li protokoly) komunikace mezi aplikacemi – web-services, rmi, http rest, MS Dynamic Data, … Dnes je toho hodně, různě se to překrývá, něco je podmnožinou něčeho jiného…takže nějaký článek, který by vnesl řád do tohoto chaosu, hm? :)

  7. uf

    priklad z praxe je v poradku

    A jak ma asi clovek zobecnit svuj problem na Hello World ?

    Ja se take chystam pouzit RESTove rozhrani z desktopu na aplikacni server. Myslim, ze k tomu svet speje – mam jedno rozhrani a je jedno, cim tam lezu.

    Diky hosi, jeste si to prectu.

  8. karmi

    Diky za realnou case-study a propagaci RESTful rozhrani u nas

    Díky za reálnou case-study z nasazení REST API, jsem rád, že ne všichni se u nás bojí jít s kůží na trh a psát o tom, jak co udělali a proč.

    Líbí se mi, jak vystavujete množství URL na jeden resource (včetně 302 přsměrování), moc se mi líbí trik s dry-run a samozřejmě zmínka o OAuth jako řešení problémů s autorizací přístupu k API od třetích stran. Vypadá to, že vaše API je jedno z mála, které jsou _skutečně_ RESTful a ne jen „pošleme si nějaké XML přes HTTP“ (jako to typicky dělá např. Flickr).

    Mám jeden dotaz: v článku zmiňujete, v jaké struktuře resource publikují Ruby On Rails – jak využíváte Ruby nebo Rails?

    1. Petr FerschmannAutor příspěvku

      Re: Diky za realnou case-study a propagaci RESTful rozhrani u nas

      Celý úspěch našeho rozhraní (a obecně aktivit pro vývojáře) závisí na jednoduchosti jeho použití.

      Proto aplikaci upravujeme tak, aby bylo snadné ji používat z různých jazyků/frameworků. Takže my RubyOnRails pro WinStrom nepoužíváme.

      Ale snažíme se, aby to bylo co nejjednodušší a proto máme podporu pro RubyOnRails a také jsme na tom vyzkoušeli, že rozhraní je použitelné.

      A také to má jednu další výhodu pro marketing: můžeme na konferencích a webech o RoR prezentovat WinStrom REST API a výsledný kód má opravdu jen pár řádků.

        1. Petr FerschmannAutor příspěvku

          Re: Diky za realnou case-study a propagaci RESTful rozhrani u nas

          Ano, přesně tak. Kompatibilitu s REST, který je součástí ActiveResource.

  9. backup

    snaha informatiky byt neco vice

    jak uz to v zivote chodi, vznikne nejaky obor a soucasne s tim se nekdo ukecne a rekne, ze to je budoucnost. A neuplyne ani 20 let a mame zde fakulty informatiky, ktere musi mit napln. Tak zacnou introventi vymyslet integalakticke blbosti a prohlasovat je za standard a budoucnost. Primicha se k tomu nekolik desitek zkratek a je vystarano – pisou se o tom clanky, produkuji bakalarske prace, pronasi se prednasky na konferencich a pod. A na konci se toho chytne firma, ktera dela ucetnictvi a implementuje to – a pritom chtel uzivatel jen vedet, kolik ma urcity zakaznik na pohledavkach.

    Vseobecne rozhrani je nesmysl, v zadnem jinem oboru se neco takoveho nedeje. Informatika si mysli, ze pro ni to neplati, nebot operuje nad nehmotnymi objekty, ale to je velky omyl.

    1. uf

      Re: snaha informatiky byt neco vice

      Myslenky zajimave a tak to opravdu chodi. Jeste jste zapomnel, ze nazvy technologii a zkratky jsou vetsinou OBCHODNI kec – podporujeme BFLM, Astru, Jizni Angolu atd. Kdo to nenapise, tak nic neumi. Stejne se nakonec ukaze, ze se toho jen dotkli a chce to jen par zakazniku (napada me treba Java v SQL serveru, i kdyz bych pro ni mel take pouziti).

      Na druhou stranu ITaci (myslim lidi, co to delaj, ne co to ridej) se snazi vzdy vymyslet neco lepsiho, sikovnejsiho, elegantnejsiho, uspornejsiho… Hej?

  10. Petr

    REST Knihovna a autentizace

    Děkuji za zajímavý článek.
    Zajímá mě, zda používáte pro RESTful rozhraní nějakou knihovnu a v případě že ano, tak jakou. Já mám dobré zkušenosti s knihovnou Jersey.
    Dále jsem si v článku všiml plánu na využití OAuth. Této technologii moc nerozumím, ale mám z ní pocit že se jedná spíše o autorizační službu vhodnou pro integraci různých aplikací a její přínos pro Váš produkt si neumím představit.
    Jakým způsobem máte nyní řešenou autorizaci? Řešil jsem podobný problém. Implementoval jsem POST metodu pro kontext /login která vrací v cookie session id. To předávám při následných REST voláních. Takže moje aplikace není čistě „stateless“. Jsou i jiné možnosti?

    1. karmi

      Re: REST Knihovna a autentizace

      To, že nějak autorizujete klienta pomocí tokenu, neznamená, že nejste „stateless“. „Stateless“ znamená, že se na serveru neudržuje „state“ / „stav“ resource – např. v server side session –, typicky například „obsah košíku“.

      Pro mnoho případů lze využít i „normální“ a „dřevěnou“ HTTP-Auth + SSL (jak to dělá třeba výše zmíněný ActiveResource). Nebo zmíněný OAuth etc.

    2. Petr FerschmannAutor příspěvku

      Re: REST Knihovna a autentizace

      Dobrý den,

      také používáme Jersey. Ale musím říct, že si nakonec myslím, že to moc výhod nepřineslo. O tomhle tématu se ještě rozepíšeme (asi u nás na blogu).

      Zatím používáme HTTP autorizaci. Proč uvažujeme o použití OAuth? Potřebujeme něco, co umožní widgetu u vás na ploše přístup k datům (aby mohl zobrazovat například obrat za den). Musí to umožnit bezpečně a musí umožnit jen toto – tj. nesmí to mít možnost odesílat objednávky či příkazy k úhradě (i když zde je explicitní potvrzování). A líbí se nám způsob jakým to řeší Android či Facebook. Android to má specifické (i když myšlenka je dobrá) a Facebook používá OAuth.

      Takže prostě zapnete komponentu, ta si přes OAuth požádá o autorizaci, zde ji schválíte a komponenta se pak autorizuje sama o sobě.

      1. Petr

        Re: REST Knihovna a autentizace

        Mě knihovna Jersey naopak nadchla. Zkoumal jsem verzi 1.1EA.
        https://jersey.dev.java.net/…r-guide.html
        Líbí se mi hlavně „routování“ entit a metod, parsrování parametrů ale především automatické transformace mezi JSON (případně XML) strukturami a Java objekty.
        Nemám ale žádné zkušenosti z komerčního projektu. Kdyby to bylo na mě, tak tuto knihovnu vyberu. Přijde mi, že vlastně ani nijaké další alternativy nejsou. Framework Spring 3.0 slibuje REST podporu. Springy neumí automatické transformace mezi JSON(XML) notací a Java objekty. Také se mi nelíbí, že když chci využít podporu pro REST ze Springu, musím používat celý framework.

        1. Petr FerschmannAutor příspěvku

          Re: REST Knihovna a autentizace

          Ta knihovna je výborná. Nicméně jsme narazili na pár problémů a bohužel jsme nemohli některé věci použít. Ale to bylo spíš proto, že máme trošku jiná specifika.

          U nás je většina věcí tvořena na základě metadat, které popisují datový model. A tak nemůžeme použít mapování na Java objekt, ale XML tvoříme ručně. Včetně převodu do JSON a zpět.

          Ještě se podívejte na RESTlet: http://www.restlet.org/

          Jinak Jersey je skvělá knihovna a doporučuji se na ní minimálně podívat.

  11. skrat

    Lokalnici

    pekny clanok, ale ta cestina v XML ma dostala. stavim sa ze aj zdrojaky mate v cestine. mne to pride velmi odpudive a kontraproduktivne pouzivat iny jazyk nez EN v zdrojovych suboroch a musim sa priznat, lokalizovane XML vidim prvy krat. pride mi to ako hulanizmus

  12. Jirka Hradil

    Poděkování za článek

    Petře, hezký článek, díky za něj.

    2 kecy o reklamním článku: nepřestávájí mě udivovat sdělení nějakých s.áčů, zda to je/není reklama. Vývoj podobného systému stojí hafo peněz a autor má můj respekt, že se podělil s komunitou. Vy to neplatíte, ale lízáte smetanu, tak kde je problém? :)

  13. uf

    pekne

    Opravdu pekny clanek a pro me prinosny i pro budouci planovani.

    Hlavne uz prestante odpovidat na nervozy. Ja jsem na PR vysazeny dost silne, ale tady mi to prislo normalni. A pak, tu trochu reklamy si za namahu vse usporadat a sepsat zaslouzi.

    Dnes ze sebe lidi delaji klasika nebo umelce jen proto, ze se snadno publikuje. Zacinaji se mnozit clanky, ktere jsou vytahem manualu, tutorialu nebo knihy. Ale uvedomte si, ze i to da praci. Sam mam pripravenou serii tutorialu v sufliku (teda flashiku), ale budu to muset predelat, protoze uz jsem zase o krok dal. A dalo to fakt praci a cas.

    1. uf

      Re: pekne

      Jeste me zaujala zminka o cestine ve zdrojacich. Pokud nejsem OpenSource, mezinarodni firma nebo nepredpokladam, ze se v tom bude hrabat cizinec, nechapu, proc by nemohly byt metody a promenne cesky (teda bez interpunkce, jsem ze stare skoly). A co KOMENTARE ?

      Mozna, ze nekomu dela potize psat cesky, jak jsem si tady vsiml (tim nemyslim autora dotazu o cestine).

      1. Karel

        Re: pekne

        Vaše připomínka je založena na tom, že „pokud vím, že“. U komerčního SW je takové rozhodnutí velmi překvapivé, protože ukazuje, co si vedení firmy myslí o tom, kde jejich SW bude za pár let.

      2. Ped

        Re: pekne

        „Pokud nejsem OpenSource, mezinarodni firma nebo nepredpokladam, ze se v tom bude hrabat cizinec“

        U SW tohle nefunguje. Bud pracujete na kvalitnim SW, ktery nakonec skonci pod kridly mezinarodni firmy nebo na nem bude pracovat i cizinec, nebo delate na necem co bude za par let mrtve. Taky nektere firmy v ramci agonie (nebo zmeny strategie) pusti svuj SW jako open source.

        Pro priklady ze zivota neni potreba chodit moc daleko, treba „602“ a NetBeans.
        Asi nejzajimavejsi prikladem by bylo najit ceske zdrojaky ktere jsou ted uspesnym open source nebo je vlastni a aktivne vyviji zahranicni firma. A nebo vydrzeli vic nez 10 let ve stavu jaky popisujete, t.j. cestina jim neublizila. Mozna neco takoveho existuje, ale myslim ze Cestina vyvoju SW nakonec z obchodniho hlediska ve velke vetsine pripadu znacne uskodi, hlavne v horizontu 5–20 let a je to IMO spatne obchodni rozhodnuti. Ani v komentari.

        Cestina pri popisu dat je myslim trochu jiny pripad, tam bych nesoudil az tak prikre a zbrkle. Kdyz jsou data dokonce primo vazane na ceske zneni zakonu, tak to ma zjevne vyhody. Presto nevyhody popsane vyse u samotnych zdrojaku zustavaji, takze to bude pokazde slozita volba.

  14. paranoiq

    díky

    děkuji autorovi za článek a martinovi malému za jeho zveřejnění. článek je o to cennější, že se zabývá skutečným problémem a ne, jak už někdo napsal výše, „implementací REST do vašeho blogísku“

    těm co v diskuzi hýkají na téma PR bych rád vzkázal, ať se zamyslí nad tím jaký je průnik cílové skupiny PR článků o účetním softwaru a cílové skupiny zdrojáku :]

  15. uf

    Dotaz: jak se resi autentifikace u RESTful ?

    Dodneska nechapu, jak se u RESTful (tedy u bezestavove) komunikace resi to, ze jsem jako uzivatel prihlaseny. Snad jen pokazde jinym hashem se specialni kontrolou? Uf

    1. uf

      Re: Dotaz: jak se resi autentifikace u RESTful ?

      Snad jen vytvorit pro kazdy odkaz hash, ktery bude platny rekneme hodinu.

  16. Jan Pejša

    HTTP autorizace a CSRF

    zajímala by mne podrobněji HTTP autorizace a jak řešíte obecný bezpečnostní problém CSRF?

  17. xurfa

    WebDAV

    A proč rovnou nepoužívat protokol postavený na WebDAV? Což je de-facto „REST“ + možnost vylistovat seznam objektů + možnost číst/nastavovat atributy objektů (PROPFIND/PROPSET). A když by to bylo málo, dá se udělat „REPORT“ šitý na míru; případně se dají použít další věci jako je zamykání, verzování, atd, atd.

    Viz třeba jak vypadá GroupDAV a podobné protokoly…

  18. michalekz

    Sem s takovými "PR články"

    Nedá mi to nepřipojit krátkou poznámku k této podnětné diskuzi.

    Až se pan Zandl a spol. rozhodne na nátlak čtenářů podobné články neotiskovat, velice rádi jejich autory vezmeme pod svá křídla a rádi založíme – vedle Světa hardware, TV Freaku a spol. – nový magazín, který bude plný takovýchto „PR článků“. A věřím, že bude hodně čtený.

    Osobně považuji tyto články – v podstatě „případové studie“ – za přínosnější oproti článkům typu „Hello World“. Proč? Neříkají jen – „možná by to takto šlo“. Ony říkají „Jde to i takto, u nás to máme vyzkoušeno“.

    Co se týče PRka/reklamy s tím spojeného: opravdu si někdo myslíte, že nějakému finančnímu řediteli prodáte pár Winstromů navíc jen kvůli tomu, že Zdroják uveřejní článek o REST API použitém jako rozhraní desktopové aplikace? To snad ne..

    A předem raději prohlašuji, že nikoho z Winstromu neznám a majetkovou spoluúčast neplánuji :-)

  19. Kamil

    Zabezpeceni

    Díky za hezký článek, málokdo se odhodlá odhalit něco z vlastní kuchyně. Chtěl bych se zeptat, jakým způsobem řešíte zabezpečení (identifikaci a autorizaci uživatele + integritu přenášených dat). Nějakým způsobem jednotlivé požadavky podepisujete?
    Kamil Zm.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3079