Zadejte hledaný výraz...

Návrh aplikace

uzivatel1
verified
rating uzivatele
(7 hodnocení)
20. 11. 2014 09:30:05
Ahoj,
chtěl bych zrealizovat jednu webovou aplikaci a jelikož má rád automatizované věci, tak bych chtěl aby se po zaplacení zákazníkovi aplikace sama vytvořila. Představte si například Shoptet, po zaplacení/registraci se Vám vytvoří nový obchod.
Zajímá mě, jestli všechny obchody jedou na jedné aplikaci a pouze podle uživatele se otevře komunikace s databází podle konkrétního uživatele (+například css soubory a šablony vzhledu) nebo se každému zákazníkovi vytvoří nový ftp účet a tam se aplikace překopíruje?
U aplikace kde se mění pouze databáze podle uživatele vidím výhodu ve snadných aktualizacích.
Jako mínus vidím že k zákazníkovi nemůžu případně v budoucnu přistupovat více individuálně (nebo můžu ale složitěji). Další nevýhodu vidím ve výkonu, který se časem postupně bude snižovat.
Naopak jako mínus u druhé varianty vidím především ty aktualizace. Jak se v takovém případě řeší?
Za objasnění budu vděčný :-)
20. 11. 2014 09:30:05
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069891
unlucky
verified
rating uzivatele
(16 hodnocení)
20. 11. 2014 09:42:17
u jednoduchych aplikaci, vsechno spolecne. Vetsinou jdou o podstranky podobne jako jsou profily atd.
U vetsich vse vlastni jako to ma wordpress. Aktualizace -> nahrazeni souboru
20. 11. 2014 09:42:17
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069890
Nobleman
verified
rating uzivatele
(4 hodnocení)
20. 11. 2014 09:53:15
Myslím že z mnoha očividných důvodů je to vše centralizované. Nenapadá mě skoro žádný opravdu pádný argument proč decentralizovat - možná pokud bych chtěl více odpovědnosti přenést na klienta, což nebývá tak úplně zvykem.
20. 11. 2014 09:53:15
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069889
uzivatel1
verified
rating uzivatele
(7 hodnocení)
20. 11. 2014 10:15:17
Problém je hlavně výkon, htaccess, přesměrování domén apod. Proto zvažuji pro a proti.
20. 11. 2014 10:15:17
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069888
Macejko.sk
verified
rating uzivatele
(5 hodnocení)
20. 11. 2014 10:48:03
Ja som riesil v minulosti podobny projekt, kde sa stranky odlisovali akurat obsahom a ciastocne nastavenim CSS. Najprv to bolo riesene tak, ze kazda domena ktora smerovala na projekt mala vlastnu databazu, ktora sa nastavovala pri kazdom requeste podla domeny. To vsak sposobovalo problemy a zaroven to nebolo najstastnejsie a najrychlejsie riesenie. Nakoniec sa vsetko presunulo do jednej databazy, ktora pouzivala redis, sidekiq, cache na odhlacenie.. spravne databazove dotazy + indexy spolu s dedikovanym servrom a vsetko zacalo behat enormne rychlejsie. Takze za mna urcite jedna aplikacia ktora obsluhuje viacero domen/subdomen. Nastavenie CSS suborov, jednoducho ulozis do databaze a vytahujes pri nacitani (ulozis do cache a invalidujes len ked je potreba). + Ukladanie som vyriesil tak, ze som mal tabulku "domains", ktora mala name + id. Name bol vlastne nazov domeny a k tomu som si vytvoril unikatne ID, ktore bolo ukladane ku kazdemu riadku v DB pre akukolvek tabulku. Potom staci nejaky default scope nad databazou a pracujes len s datami ktore patria pre konkretnu domenu. atd.atd.
20. 11. 2014 10:48:03
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069887
Vladimír Smitka
verified
rating uzivatele
(4 hodnocení)
20. 11. 2014 11:31:00
Další faktor na zvážení je, zda má být aplikace jako produkt, nebo jako služba. Toto rozdělení je třeba zákazníkovi dopředu osvětlit. Pokud si koupí produkt, očekává, že je jeho a může si ho prakticky kdykoliv přenést jinam, což je u centralizovaného řešení problém. Při tvorbě aplikace bych se také zamýšlel nad možnostmi customizace - jak vyřeším, když jeden zákazník bude mít trochu odlišné požadavky. Aplikace by tedy měla být pluginovatelná (udělám mu jiný plugin na zobrazení článku) nebo overridovatelná (když najdu ve složce zákazníka soubor vypis.php, použiju ho a nepoužiju vypis.php v jádru).
Výkonu bych se nebál. Potřebný počet uživatelů se musí obsloužit tak jako tak. Koupit silnější železo/železa není problém. Je jen potřeba si ze začátku však realisticky odpovědět na otázku kolik bych mohl v následujících 3 letech zákazníků? Utáhne je jeden databázový server na který mám aktuálně peníze? Pokud ne, musím jen pečlivě promyslet jak databázi navrhnu, aby šla jednoduše provozovat na více serverech.
Nějaké čtení: http://msdn.microsoft.com/en-us/library/aa479086.aspx
20. 11. 2014 11:31:00
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069886
Automaticky nasadit novou instanci je problém vyřešený v oboru continuous integration (viz např. Jenkins). Po zaplacení spustíte nějaký deployovací úkol, který se postará o vše, od nastavení DNS, zkopírování kódu z verzovacího systému, vytvoření a naplnění databáze a otestování, že vše běží.
Kouzlo je samozřejmě ve správně napsaném úkolu.
Jestliže mluvíte o obchodní aplikaci typu eshop, rozhodně je lepší vytvořit pro každého zákazníka oddělenou instanci. Zákazníci budou chtít upravit leccos na míru, což je mnohem jednodušší při oddělených instalacích.
Pro každou instalaci vytvoříte vlastní větev ve verzovacím systému.
Pokud se požadavky nějakého zákazníka zásadně zvýší, nebudete pak mít například problém jeho instalaci přesunout na vyhrazený server, atd.
20. 11. 2014 11:52:58
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069885
uzivatel1
verified
rating uzivatele
(7 hodnocení)
20. 11. 2014 12:14:40
Děkuji za rady, odkazy si pročtu.
20. 11. 2014 12:14:40
https://webtrh.cz/diskuse/navrh-aplikace/#reply1069884
Pro odpověď se přihlašte.
Přihlásit