DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   Modularna centralizovana aplikacija (lupam keyworde) (http://www.devprotalk.com/showthread.php?t=2106)

misk0 23. 12. 2006. 17:46

Modularna centralizovana aplikacija (lupam keyworde)
 
Znaci postoje neka 2 pravca u razvoju Enterprise aplikacija (postoji njih i vishe, ali mene interesuju sad ova 2). Jedno je kad se naprave klijenti na koje se smjesti business logic, koji se instaliraju po radnim stanicama i onda sa centralnim serverom komuniciraju zbog razmjene podataka (obicno je centralni server DB) a sve operacije se obavjaljuju na samim klijentima (eventualno neke server stored procedure za duze obracune tj obrade).
Drugi metod je web-app-db server struktura gdje end-users imaju web browsere preko kojih pristupaju aplikaciji. Taj metod ima prednost prilikom azuriranja aplikacije da ne mora svaki klijent da skida nove verzije, ali ima problem sa ogranicenjima web browsera (dan danas, se ta ogranicenja polako smanjuju, ali i dalje je to ostaje web aplikacija).
Sad, meni pada na pamet jedna ideja, a vjerovatno nisam prvi koji je to smislio, a interesuje me sta mislite o tome, eventualno linkove prema tako necemu i slicno.
Znaci napraviti desktop aplikaciju, koja ima modul za autentifikaciju i neke konfiguracione parametre. Nakon uspjesnog prijavljivanja na sistem, aplikacija skida sve dostupne module sa servera (u skladu sa pravima naravno) i radi neko dinamicko ucitavanje istih u aplikaciju, kreirajuci meni, opcije i sve neophodno za funkcionisanje te aplikacije. Prednost vidim u tome sto i dalje ostaje deskop aplikacija, ali koja nema potrebe za 'fizickim' azuriranjem u smislu da pri promjeni verzije se mora skidati nova sa app servera i slicno.
Naravno, moduli bi se keshirali i imali neki verzioniranje tako da ne bi pri svakom pokretanju bilo potrebno skinuti sve.

Napisah svasta....... pa da vas cujem..

Dejan Topalovic 23. 12. 2006. 23:38

Kod nas u firmi je razvijena jedna takva desktop aplikacija (uradjena u Delphiju, a baza je Oracle), koju ti opisujes i radi bas tako kako si naveo. Prilikom startanja, provjerava da li postoji upgrade verzija i automatski se aktualizuje. Autentifikacija se trenutno odvija putem uskladistene procedure u bazi.

Aplikacija radi savrseno, ali se planira "portanje" na web based aplikaciju, radi lakseg odrzavanja. Npr. imali smo dosta problema sa razlicitim client OS-ima (negdje je Win 2000, negdje Win XP, negdje je Win 2003 32bit ili 64 bit, dok recimo Linux nije podrzan, i td.), zatim problema sa performansama (kada koristimo dedicated mode na Oracle sevreru, onda se baza preoptereti kad broj istovremenih korisnika predje 500-600, a kada koristimo shared mode, onda se korisnici zale da im generisanje reporta i izlistavanje informacija traje dugo), te problema sa upgradeom Oracle client softwarea na svakom clientu. Ja sam taj problem Oracle client softwarea rijesio sistemskim silent installom na sve cliente, no to je samo workaround. Osim toga, ima jos situacija, koje se moraju "rucno" rjesavati, a koje bi se mogle sprijeciti prebacivanjem aplikacije na web.

Bas ove sedmice smo razradjivali planove za iducu godinu i razgovarali smo o prebacivanju te aplikacije na web.

Predlozeni grubi koncept izgleda ovako:
- DB engine ostaje Oracle
- kao middle tier koristice se Oracle Application server (ja sam predlagao kao alternativu JBoss, ali nece proci, jer vec koristimo Oracle Application server)
- servisi ce se razvijati kao SOA servisi i to koristeci Java tehnologije (J2EE, JSP, JSF i td.)
- podaci o korisnicima, privilegijama i rolama (eng. roles) ce se cuvati u LDAP repositoryu, kojemu ce se moci pristupati i iz drugih aplikacija
- na clientu ce biti potreban samo browser, a kao client tehnologije koristice se JavaScript i AJAX, te eventualno SVN za prikazivanje chartova; testirace se kompatibilnost sa najzastupljenijim browserima i ti browseri ce biti izlistani u preporucenoj listi browsera za koristenje; samim tim ce biti omogucena podrska i za Linux korisnike


Eto, to je onako ugrubo opisano...

jablan 24. 12. 2006. 00:39

Citat:

Originalno napisao misk0
Sad, meni pada na pamet jedna ideja, a vjerovatno nisam prvi koji je to smislio, a interesuje me sta mislite o tome, eventualno linkove prema tako necemu i slicno.

Ne moraš čak ni da pišeš aplikaciju sa pluginovima, dovoljno je da korisniku staviš prečicu na desktopu koja pokazuje na exe na serveru... Ili da napraviš batch fajl koji će pre startovanja iskopirati poslednju verziju sa servera na lokalni hard-disk.

Ali veb aplikacija ima i nekih drugih prednosti. I dosta mana.

kaizen 24. 12. 2006. 01:05

Ne znam na kojoj platformi radiš, ali ako je u pitanju Java, definitivno pogledaj
java web start/.

misk0 24. 12. 2006. 11:57

@Dejan: to je super, pojavljuje se tonu nekih stvari o kojima nisam ni razmisljao.
A jeste razmisljali da i tu razvijete (ili koristite vec neki postojeci) app server. Tad se ne bi pojavljivao problem od 500 client konekcija na DB vec bi konekcije bile uradjene preko APP servera, a za DB bi se koristio connection pool.
Hm.. ali tu je opet opterecenje na APP serveru, pa pitanje kako njega rijesiti.

Ja imam iskustvo od prije par godina za Oracle DB i Oracle App Serverom, ali tad je na klijentima fakticki bilo neophodno dozvoliti izvrsavanje certifikovanih Java Appleta i citav ekran browsera je bio jedan java Applet. To je donekle OK rjesenje, ali desktop app mi i dalje izgledaju ljepse (i funkcionalnije) od Java Appleta, a osim toga manje opterecuju masinu. Znaci bilo bi interesantno iskoristiti vec postojeci App Server a napraviti EXE aplikaciju (interesuje me samo Windows platforma) koja bi se azurirala i svu komunikaciju obavljala sa app serverom.

@jablan: da, ali tad je potrebno imati domen, sharing i slicne stvari koje nisu bas najsrecnije rjesenje. Pogotovo ako je rijec o udaljenim lokacijama sirom zemlje i slicno. Mozda i moze ....

@kaizen: thx.

U sustini, ne radim jos nista, samo razmisljam, cisto da podijelim sa ljudim iz 'struke' ideje da vidim dokle to moze otici ukoliko se sutra ukaze potreba za tako necim.

Ajd, ako imate jos kakvih ideja ili zamisli, podijelite ih ovdje..

pozz.

Dragi Tata 24. 12. 2006. 16:50

Imaš .NET smart client aplikacije http://www.microsoft.com/net/products/client.asp kao i gorepomenute Java Web Start (ko tu koga kopira ne znam niti me interesuje).

Međutim, moj utisak je da te inicijative ne vode nikud i da "enterprise" ide na web kilijente i Ajax, ma koliko to ružno zvučalo.

jablan 24. 12. 2006. 20:40

Citat:

Originalno napisao miskО
da, ali tad je potrebno imati domen, sharing i slicne stvari koje nisu bas najsrecnije rjesenje. Pogotovo ako je rijec o udaljenim lokacijama sirom zemlje i slicno.

Onda poziv w g e t ili scp u batch fajlu pre startovanja aplikacije. Poenta je da pri izboru rešenja za nešto što ti treba (bilo šta, priča je generalna), pođeš od najjednostavnijeg mogućeg rešenja i komplikuješ ga samo ako je zaista neophodno... ;)

LiquidBrain 25. 12. 2006. 07:43

Elem, Java applet mopze da radi skoro sve kao desktop aplikacija, ne znam zashto kazesh da applet nije dovoljno dobar za to.

Web aplikacija je veoma dobro resenje, ako lepo u firmi standardizujete browsere, recimo Firefox, i napravite web aplikaciju koja radi kako treba pod firefox-om, imacete lepo okruzenje, jednostavno za odrzavanje,...


Vreme je GMT +2. Trenutno vreme je 14:45.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.