Dobry den,

Hned na zaciatok by som povedal, ze by som to riesil nejakym animovanym gifom v GUI.

Ak je vsak silna potreba mat presny progress bar, tak prvy prblem by som riesil tak ze namiesto argumentu Department by som prenasal DepartmentInfo strukturu, ktora by obsahovala ako Department tak ProgressListener. V nizisch vrstvach by sa volal listener ak by nebol null. Tym sa uplne nevyriesi vas problem ale aspon v signature metody neuvidite ProgressListener, mozno by nejako mohlo pomoct AOP.

Co sa tyka druheho problemu tak to co hladate su asynchronne web service. Pekny clanok je: http://dev2dev.bea.com/pub/a/2005/03/callback_clients.html

Martin Krajci

Tomas Hubalek wrote:

Zdar,

Mam takovy spise filozoficky problem. Chtel bych aplikaci striktne oddelit do vrstev, tj. business logika by nic nevedela o GUI a opacne GUI by melo business logiku referencovanou jen jako implementace interfacu ktere by ziskalo pres Spring Context (s tim, ze se pozdeji rozhodnu jestli to bude EJB Session bean nebo se primo pujde do databaze).

Problem pri tomto jinak jiste hezkem oddeleni je, kdyz nektere metody business logiky dlouho trvaji a chtel bych uzivatele informovat o tom, kolik procent bylo hotovo. Pak asi musim metodu napsat misto

List <Employee> getEmployeesByDepartment(Department dpt);

necim jako

List <Employee> getEmployeesByDepartment(Department dpt, ProgressListener pl);

Jeste dalsi problem nastane, pokud by implementace toho interface byla proxy k web service (a mozna ze u EJB by to mohlo byt take). Pokud vim, u web services je to volani jako u webu a proste to zavolam a dostanu odpoved. Tam bych asi zadnou informaci o progressu nedostal, ne? Jak to resite v tomto pripade? Jen nejakou animaci ala web browser?

Pokud na to existuje nejaky fikany design pattern, urcite budu rad, kdyz me nasmerujete.

Dik

Tom


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email ______________________________________________________________________

Odpovedet emailem