Nechci být otravný, ale připadá mi to jako prostý PR na komerční produkt příp. školení. Z webu firmy se člověk toho moc nedoví, působí jako spíchnut za 2h pro tento účel. Žádné info z praxe o nasazení, referencích... Prezentaci SW pro firemní řešení si tedy představuji jinak, ne web nad Wordpressem.
Mohl, predstavte si ze mate DB ( dejme tomu Oracle ) ... vezmeme si treba telekomunikacniho operatora. No a vystavujete faktury ... takze pro jednoduchost budeme uvazovat uplne nejhloupejsi model 2 tabulky, v jedny hlavicku faktury, v druhy radky faktury ... ten operator ma za sebou nejakou historii, takze uzivatel "clickne" vystvai faktury a zmeni miliony zaznamu v databazi ;-) no a pak bude chtit zmenit policka zpet ? Trochu blbost ne ;-).
Navice tyhle super cuper frameworky funguji maximalne tak na skolnich prikladech .. "vypujcka knih" apod. :-).
Za svoji karieru, jsem videl takovejch zprasenejch navrhu db modelu ze v sypce neni tolik zrni ... tak uz jsem na tyhle synteticky clanecky asi mirne vysazenej, ja chapu ze autor to mysli dobre, ono obecne napsat "smysluplnej" clanek o RDBMS/OLAPu/NOSQL nebo necem podobnym neni jednoduchy a bohuzel je k tomu potreba najit clovek ktery ma 2 zakladni vlastnosti ... VI o cem pise a UMI to napsat ctivou formou a tech proste moc neni ;-)
Jo napr. oracle ma DBMS_FLASHBACK coz je neco co "univerzalne" resi "navrat zpet v case" a jeste jsem nevidel moc lidi co by to pouzivalo, tim nerikam ze neexistuji. Podobne je to s DBMS_AQ, lidi to pouzivaji ale o tom ze to existujue vi taky jenom nekteri ..
Kdyz jsme napriklad hledal nahradu za Oracle AQ v open source svete, tak jsem nasel PGQ pro Postgresql, asi to nejak funguje, ale kdyz clovek srovna to jak to resili chlapci od Oracle a chlapci od Postgre, tak ti chlapci od Oracle vedou 1:0.
OK. K 1. odstavci, tady se Vám to asi popletlo, protože poslední větě nerozumím:
"...ten operator ma za sebou nejakou historii, takze uzivatel "clickne" vystvai faktury a zmeni miliony zaznamu v databazi ;-) no a pak bude chtit zmenit policka zpet ? Trochu blbost ne ;-)."
Můžete to trochu rozvést, abych správně reagoval?
Pokusim se odpovedet za BrainLess:
Pokud se mam v db vratit zpet, je jediny konzistentni zpusob a to rollback. Ovsem kdyz neco blbe zmenim a zaroven probiha vyuctovani pro stovky tisic zakazniku, tak to znamena vratit komplet vsechno - a to nejen z te poorane databaze, ale i ze systemu, ze kterych se pocitaly faktury. Strucne: megapru...svih.
Myslím, že pod „vrátit zpět“ bylo myšleno odvolat změnu provedenou uživatelem – když si uživatel uvědomí, že udělal chybu. Určitě to neznamená rollback transakce (ta je dávno commitnutá), a určitě to neznamená obnovu databáze ke stavu před provedením transakce (protože všechny ostatní změny byly v pořádku). Řeší se to běžně, často se to dělá pomocí storna, tj. existuje záznam o změně a pak záznam o odvolání změny – tenhle způsob odvolávání změn byl vynalezen dávno před počítačovými databázemi.
Ovšem tohle neřeší aplikační framework, musí pro to být navržena struktura databáze. Aplikační framework může nanejvýš poskytnout podporu pro snazší práci s historií – ale musí umět pracovat s tou strukturou, kterou používáte ve své databázi.
>Kdyz jsme napriklad hledal nahradu za Oracle AQ v open source svete, tak jsem nasel PGQ pro Postgresql, asi to nejak funguje, ale kdyz clovek srovna to jak to resili chlapci od Oracle a chlapci od Postgre, tak ti chlapci od Oracle vedou 1:0.
no pokud člověk potřebuje message queuing tak by IMO měl použít specializovaný SW (RabbitMQ, ActiveMQ, Kafka, a desítky dalších) a ne "přiohnuté řešení" v podobě PGQ (Oracle AQ vůbec neznám, takže zde nehodnotím, jeslti je to přiohnuté řešení ač mi tak na první dobrou připadá)
Jinak souhlas
OracleAQ je option ( nezpoplatnena naprozdil napriklad od partitioningu ) Oralce. Je to integralni soucast jadra DB + navazany API a proste to funguje ( umi to vsechny takovy ty bezni veci co by clovek od messagingu ocekaval, mlutiproducer/multiconsumer/priority/correlation/message grouping atd. )
Priznam se RabbitMQ neznam, s ActiveMQ jsem koketoval ale jejich C/C++ API je i po dost dlouhe dobre vyvoje v plenkach ( a ma to buggy, tusim ze jsme pred lety s kolegou nejakej patch do ActiveMQ poslali ). Co citim jako problem je ze vetsina tech messagingu je dneska "java oriented".
Aha, takže autor ve svém frameworku vyřešil pár okrajových požadavků a teď se ho snaží prodat s tím, že to jsou zcela zásadní požadavky, které je potřeba řešit vždy a všude. Ten přístup znám, ten pán na prodejní akci mi taky tvrdil, že jak si nekoupím to jeho nádobí, tak budu nemocný, budu strádat a zůstanu sám.
ERP, WMS, MES, reporting apod. mě živí už od minulého tisíciletí. Tedy ne tak dlouho, jako autora. Ale stejně si troufám tvrdit, že řada z uvedených požadavků jsou nesmysly. V okrajových případech legitimní, ve většině případů zbytečné ale v některých situacích dokonce nebezpečně zavádějící. Už vidím, jak budou všichni nadšeni, až někdo změní ceník, jiný vystaví objednávku a ten první pak udělá undo na ceníku. Pár podobných use case a správci pak budou prosit, ať proboha tu "Rekonstrukci záznamů" vypneme a nacpeme si ji tam, kam slunce nesvítí. A univerzální historie změn? Ne, to opravdu ne.
cetl jsem zde radu Vasich prispevku a mam podle toho dojem, ze se skutecne ve Vami uvedenych oblastech vyznate. Citim i urcity nadhled, ktery vede k tomu, ze minimalne neprohlasite autora za blba, jak to zde delaji jini, ale ja bych ocekaval vice.
Nikde nemam dojem ze autor chce neco prodat. Ani jsem nikde necetl, ze by prohlasoval, ze pozadavky, ktere uvadi jsou pro vsechny dulezite a vzdy nutne.S vasim prvnim odstavcem tedy nesouhlasim.
Autor napsal svuj pohled na vec a ja musim za sebe prohlasit, ze tady chci takove nazory videt. Jestlize jsem zkuseny a po precteni clanku vidim, ze autor se v rade aspektu myli, tak to mohu nechat pro sebe a nebo na to upozornit, To jste udelal, ovsem pro mne s takovym odsuzujicim nadechem. Nevim , jestli je to opravnene.
Ja se za za svuj profesni zivot docela casto setkal s pranim zakazniku, zda by bylo mozno ukazat, kdo co kdy zmenil. A abch byl uprimny, mnohdy se to i realizuje bez nejakych framewoku, , napr. jednoduse nejakym snapshootem pro db-soubory nebo se to vytahuje z aplikacniho servru nebo to nabizi primo databaze.
I ta zminena zmena databaze neni nic nesmyslneho. Znam nazory, ze je treba vybrat jednu a s tou pak aplikace realizovat, s pouzitim specialnich dovednosti te zvolene databaze. Podpora vice databazi je pro mnohe jen nerealizovatelna pohadka. O tom je urcite mozno diskutovat. Jestlize autor pracuje s nejakym frameworkem, ktery to umoznuje, proc to nesdelit sirsi verejnosti.
a) Autor clanku naznacuje v nadpise ze nieco vybera. On ale rovno prezentuje jedine riesenie. Ziadne alternativy ziadne pozitiva negativa inych frameworkov.
b) Nezda sa mi ze by autor mal nejaky prehlad, ORM absolutne nesuvisi s tymto 'biznis' frameworkom. Presne rovnake funkcie sa daju budovat aj s ORM.
c) ziadny popis protokolu a technologii, nejake detaily ktore by si technologicky server zaslusil, skor je to iba biznis opis nejakeho produktu
d) ako sa to customizuje, kde je biznis logika, ako vyzera ta logika, ako riesit multiplatformovost, web rozhranie, ...
e) ... ale v podstate to nikoho nezaujima lebo je to jasny promotion hotoveho produktu ktory ma iba velmi specificke a velmi limitovane pouzitie a pristup ktory (podla mna) dnes uz nikto nepouziva
Ad a) smyslem zřejmě nebylo hanit vše ostatní. Jednotlivé požadavky si může aplikovat každý dle libosti. Ve Vašem připadku byste jistě došel k ORM. A bylo by to špatně? Asi ne.
Ad b) souhlas. ORM s tím absolutně nesouvisí. Nesouhlas. S ORM to NEJDE.
Ad c) to nebylo předmětem článku.
Ad e) viz. Ad c)
Ad e) máte pravdu. Na to, že Vás to nezaujímá, jste se hezky rozepsal.
Já bych řekl, že šlo o základní informaci. Jednu věc může 10 lidí udělat 10 způsoby. Dělá-li 100 lidí jednu věc jedním způsobem neznamená, že je způsobem nejlepším. Nebo že se to nedá udělat lépe. Abych Vám to přiblížil obrazně. Snažil jsem se těm, kdo jedí syrové maso ukázat, že existuje oheň, Papinův hrnec a sůl. To neznamená, že celá populace přestane jíst syrové maso:)
Ad b) Vždy mně fascinují lidé, kteří z náznaku dokáží odvodit, že problematice rozumí, chápou ji, dělají ji a ostatní jsou hlupáci. Velmi se Vám omlouvám, že jste byl nucen se se mnou zahazovat. Mrzí mne to.
Myslím, že si docela fandíte. Já jsem po přečtení článku nabyl dojem, že se snažíte lidem, kteří jedí vařené maso, ukázat, že maso se po okořenění dá jíst i syrové. Po přečtení článku jsem rozhodně neměl dojem, že by vaše řešení bylo lepší – a dokonce jsem v článku nenašel ani nic, co by ukazovalo, že dokážete porovnat, co je lepší a co horší. Protože jsou tam jen tvrzení, která nejsou ničím doložená. Některá ta tvrzení jsou dost kontroverzní (třeba to o přenositelnosti na jinou DB), a člověk, který je schopen to zhodnotit, musí o jejich kontroverznosti vědět a nějak se s ní vypořádat.
Obecne si myslim ze aplikace ktera o sobe tvrdi "ze je prenositelna" na jinou DB ... tu zdrojovou DB nemuze pouzivat efektivne. Pokud chci napsat aplikaci ktera bude fungovat dobre a maximalne vyuzivat moznosti DB nemuzu se schovat za zverstvo typu Hibernate. Je sice tuze "SEXY" vymenit JDBC driver a prejit z Oracle na MSSQL ale jako vzdy neco za neco ..
souhlasim, ze tato informace je urcite pro velkou vetsinu lidi dulezita. Ja to tak necitim, nebo je mi to spise jedno, ale bylo by chybou na zaklade vlastnich pocitu predepisovat vetsine, ktere informace pro ni nejsou tak dulezite.
Vubec by mi nevadilo, kdyby autor uvedl na zacatku, ze pouziva ten a ten framework a ze vidi ty a jine vyhody a ze se jedna o vlastni vyvoj. Usudek si delem stejne sam.
Nakonec, pan Stehule zde uz leta 'preferuje' postgresql a presto ji hned nenasadim, protoze za vyvojem postgresql nestoji jeho rodina. :-)
Clanek podle mne nabizi prostor pro diskuzi o nekterych aspektech jako je ta historie zmen a jak to dela s tou 'databazovou' neutralitou. To v clanku chybi a s touto kritikou se ztotoznuji. Ale dohadovat se, zda se jedna o PR clanek povazuji za nedulezite.
PS: Rozepisuji se tak obsirne, protoze jiz po nekolikate ctu v diskuzi, jaka je ta uroven bidna a co si to ta redakce nedovoluje. Jsem 100% presvedcen, ze redakce tu kvalitu jiste zna a vyskyt takovych clanku jen ukazuje, jak zoufala ta situace ohledne clanku asi je. Ale jak jsem jiz naznacil, i v nekvalitnim clanku jsou aspekty k diskuzi a tato je tou pridanou hodnotou , kterou portaly dnes mohou prinest. Pro zjisteni faktu a informaci jsou ty clanky dnes bezvyznamne - na to je google lepsi metodika. Kdo chce dnes na nejakem IT portali ziskat z clanku nejake vedomosti, ta si toho moc neprecte.
Je to i na nas, ctenarich.
Nemyslím si, že by šlo o pár okrajových požadavků nebo o nesmysly, jak píšete. Pokud ano a celé to jde mimo Vás, nedotýká se Vás to, pak nechápu Vaši reakci. Když čtu nějaké články na webu, tak mne buď zaujmou nebo nezaujmou. Nemám tolik času, abych komentoval něco, s čím nesouhlasím nebo co mne nezajímá :)
Jedná se jednoznačně o reklamní článek a měl by podle toho být označen nebo rovnou stažen.
Jak už několik diskutérů podotklo, autor dělá reklamu na framework za kterým stojí společnost ve vlastnictví jeho rodiny. Sice se nejedná přímo o porušení pravidel pro psaní článků na root.cz, ale jedná se minimálně o porušení etiky.
OMG, zaměstnanec změní příjmení a to původní je pryč. Zachrání nás jen spása v podobě proprietárního frameworku. Prosím nepište tímto stylem IS, nevynálezejte šišaté kolo. Takovéto prkotiny, jako historie změn, je v opravdových IS dávno vymyšlené a funkční. A tím myslím opravdové IS, ne žádné domacky spíchnuté jakože IS.
Psát IS s desktop klientem? To je článek z roku 96? Desktop klient má své místo, ale jako jedna z možností.
Zaměnitelnost DB? Dávno vymyšlené.
To je fakt tragický článek