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 nahrat
cely 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 nekolik
ruznych 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
--------------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem