a.dostal wrote:
1. Je možné vytvořit Swing (desktopovou) aplikaci tak, že na klientském PC bude jen "nějaký komunikátor, přihlášení", po kterém se Swing aplikace natáhne na klienta či se budou stahovat objekty ze serveru?
Ano, a uz dva lide vam odpovedeli, ze reseni se jmenuje Java Web Start. Pred spustenim aplikace se vzdy prekontroluje, zda neni na serveru novejsi verze, a pokud je, tak se nejdriv stahne ta novejsi verze a pak se teprve aplikace spusti.
2. Při změně *.jar, *.class souboru chci, aby se změna projevila i u klienta, který má aplikaci zrovna spuštěnou. Lze toho nějak docílit? Pokud by měl aplikaci nataženou celou na svém PC, tak využít "automatickou aktualizaci".
Teoreticky to mozna jde, ale myslim, ze do toho nechcete jit. To by znamenalo menit casti aplikace za jejiho behu, a to je velice slozity problem. Jeste si tak dovedu predstavit, ze celou aplikaci rozdelite na nezavisle bloky, a dokazete za behu vyhodit a znovu nahratcely blok. Ale vymenit za behu jenom par trid, na jejichz prave existujicich instancich zrovna zavisi jine casti aplikaci, IMHO nejde.
Tedy abych byl presny - podle mne nejde, abyste za behu menil *rozhrani* trid, protoze pak muze v bezici aplikaci dojit k nekompatibilnim zmenam.Aktualizace aplikace pri startu, jako to dela Java Web Start, vam nestaci ? Muzete si prece do aplikace dodelat ocichavatko, ktere
kdyz zjisti, ze je k dispozici novejsi verze, zobrazi v jedoucich aplikacich vystrahu "prosim prestartujte aplikaci, mame novou verzi".
Pokud to poběží ze serveru, tak aby objekt musel být zrušen a vytvořen z nového kodu (asi je to takto nesmysl, ale nevím jak lépe to popsat).3. Jak moc je to náročné na výkon sítě, pokud výsledky z DB budu posílat na klientské PC do jeho aplikace?
To co popisujete je dvouvrstva architektura s tlustym klientem - posilate klientovy vysledky z DB a tlusty klient s nimi musi umet neco udelat.To co se nekteri snazili naznacit je, ze lepsi je trivrstva architektura - vysledky z DB posilate do aplikacniho serveru, se kterym komunikuje
uzivatelske rozhrani. To ma vyhodu v tom, ze muzete mit nekolikruznych rozhrani (Swing, staticke HTML, HTML+JavaScript/AJAX, mobily, ...) k jednou naprogramovane logice aplikace.
4. Učím se Swing, jak vytvářet (JTable) tabulky, pracovat s nimi, události, vícevláknové programování, apod. Bude muset být tento kod pro Swing aplikaci hodně pozměněn pokud se data i celá aplikace mají stahovat ze sítě?
Swing je na tvorbu uzivatelskeho rozhrani. Aplikacni logiku muzete mit budto ve stejnem programu (dvouvrstva arch.) nebo na jinem stroji (trivrstva arch.). Na programovani uzivatelskeho rozhrani to nemam mit vliv, protoze i ve dvouvrstve architekture je rozumne oddelit zobrazovani od aplikacni logiky. Viz Model-View-Controller. http://en.wikipedia.org/wiki/Model-view-controller
5. Poslední a asi nejdůležitější věc o kterou mě šlo. Na co bych se měl ve svém studiu nejvíce zaměřit. Podotýkám, jsem v této oblasti začátečník a nerozumím úplně všemu co zde lidé psali.
IMHO potřebujete dvě víceméně nesouvisející věci. Jedna je umět programovat grafické uživatelské rozhraní (GUI) ve Swingu, a druhá je umět navrhnout správnou architekturu celé aplikace. Pro začátek, aby toho nebylo najednou moc, si můžete zkusit naprogramovat tlustého klienta, který přes JDBC rovnou přistupuje do databáze, rovnou na svém stroji. Pak z něj udělat aplikaci spouštěnou přes Java Web Start. V té době pochopíte, proč je lepší udělat to třívrstvě, tak jako další krok přesunete Model ze svého tlustého klienta na aplikační server. A to dobou už budete mít aplikaci hotovou :-) Makub -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Supercomputing Center Brno Martin Kuba Institute of Computer Science email: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 --------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature
