Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  Migrare aplicat...
 Migrare aplicatie pe Client/server
 
 10/19/2010 12:24:23 PM
User is offlineEugen Gliga
1052 posts
1st




Migrare aplicatie pe Client/server
 (N/A)

Subiectul s-a mai discutat, dar as vrea sa punctez anumite aspecte.

Migrarea se poate face cel mai simplu prin reproiectarea intregii aplicatii. In cazul meu acest lucru nu este posibil, atat din lipsa de timp cat si datorita faptului ca aplicatiile curente sufere tot timpul modificari si practic daca lucrez in paralel pe ambele aplicatii ajung ca anumite modificari sa le fac de doua ori. Solutia la care m-am gandit este sa modific doar aplicatiile curente sa le aduc cat mai aproape de modul de lucru al aplicatiilor C/S, mai exact sa le fac 3-tier si doar in final sa fac trecerea bazelor de date pe server sau sa las posibilitatea aplicatiei sa mearga in ambele moduri.
Orice indicatii ar fi binevenite.
Nu in ultimul rand ar fi decizia asupra Serverului. Deocamdata am facut teste atat cu Firebird cat si cu PostgreSQL si amandoua mi se par acceptabile la prima vedere.


 10/19/2010 2:11:20 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Migrare aplicatie pe Client/server
 (N/A)
Desi e de dorit, nu e neaparat necesara reproiectarea intregii aplicatii.
Cea mai simpla migrare se face inlocuind toate tabelele deschise de aplicatie cu view-uri locale sau cursoradapter.
Imperios necesara este existenta cheilor primare in fiecare tabela.
Daca aplicatia a scris direct in tabele, fara buffering si comenzi explicite pentru editare/salvare, se poate ajunge la o comportare apropiata cu row buffering in view-uri. Ideal ar fi insa lucrul in tabel buffering, cu salvare explicita.
Se verifica functionarea corecta a aplicatiei.
Se configureaza baza de date pe server si se importa datele.
Se inlocuiesc view-urile locale cu remote view-uri.
O astfel de aplicatie poate lucra cu tabele locale la fel de bine ca si cu orice server.

Migrarea pe C/S nu se justifica in cazul unei aplicatii monopost.
In cazul unei aplicatii monopost, e indicata o baza de date accesibila fara instalarea si configurarea unui server, cum ar fi firebird sau sql server compact.

In ceea ce priveste serverul, trebuie avut in vedere pe ce sistem de operare va rula, ce restrictii impune licenta, ce limitari are implementarea sql, ce posibilitati ofera trigger-ele, ce utilitare pentru editarea bazei de date si gestionarea serverului sunt disponibile ...
Avand in vedere ca o mare parte din operatiile asupra bazei de date se vor executa pe server - nu se va aduce o tabela intreaga pe local pentru a se calcula ceva si nici nu se va inlocui local si apoi actualiza tabela de pe server - posibilitatile limbajului sql implemantat pe server nu sunt de neglijat.
Nu trebuie trecute cu vederea versiunile free (express) ale serverelor comerciale.
Pentru departajare, ar trebui facute pe fiecare server o serie de proceduri de calcul - cum ar fi pretul mediu ponderat, pret FIFO/LIFO si altele - si abia dupa compararea lor sa se ia o decizie.



Daniel Buduru
 10/19/2010 2:48:13 PM
User is offlineOvidiu Dobie
105 posts
5th


Re: Migrare aplicatie pe Client/server
 (N/A)
As ruga frumos pe cineva care a lucrat si cu Firebird si cu PostgreSQL sa ne expuna diferentele, avantajele si dezavantajele practice ...
Eu nu am lucrat cu nici unul din ele si ar trebui sa aleg unul din ele...
Si, da, aici se poate include si Microsoft® SQL Server® 2005 Express sau/si Microsoft® SQL Server® 2008 Express  ...
sper sa nu fiu prea mult offtopic...

Ovidiu Dobie
 10/19/2010 3:17:50 PM
User is offlinemr_api
368 posts
3rd


Re: Migrare aplicatie pe Client/server
 (N/A) Modified By mr_api  on 10/19/2010 3:18:40 PM)
Lucrez cu Firebird de vreo 3 ani dar in mediul.NET,pot spune ca sunt foarte multumit de el,destul de simplu in utilizare,puternic,kit de instalare mic (<7MB), mailist activ,etc.
Despre PostgreSQL(< 47MB) se spune ca ar fi mai bun decat MySql,este ceva  mai complex decat Firebird,nu stiu daca si mai rapid.
Ambele nu au limitarile versiunilor express (SqlServer,etc),pot fi folosite fara restrictii si in scop comercial.

 10/19/2010 3:20:55 PM
User is offlineEugen Gliga
1052 posts
1st




Re: Migrare aplicatie pe Client/server
 (N/A)
Multumesc pt indicatii. Pt inceput o sa incep sa  inlocuiesc toate tabelele deschise cu cursor adapter.
Pt chei primare ar fi recomandat sa folosesc intotdeauna GUID ?


 10/19/2010 3:44:16 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Migrare aplicatie pe Client/server
 (N/A)
Atentie la tabelele utilizate ca sursa in combobox, listbox, sa nu ramana pe dinafara.
O metoda buna este aceea de a redenumi toate tabelele din baza de date, astfel incat tentativa de deschidere a unei tabela altfel decat prin ca/view/sqlexec sa declaseze o eroare. CA poate avea ca alias numele original al tabelei, astfel incat codul nu se schimba prea mult.

GUID are dezavantajul de a fi lung, dar poate fi generat oriunde, independent de masina si tabela.
Foreignkey pe GUID ocupa ceva spatiu, dar stocarea GUID pe server e mai compacta decat in dbf.
Autoincrement e mic, rapid, dar pune problema regasirii cheii primare dupa o inserare.
Se poate folosi si o combinatie, de exemplu in tabele in relatie 1-to-many, cum ar fi factura/pozitii, headerul poate avea cheie primara GUID in timp ce pozitiile pot avea cheia primara autoincrement, intrucat o pozitie se regaseste dupa header, nu dupa id-ul propriu.


Daniel Buduru
 10/19/2010 3:44:28 PM
User is offlineOvidiu Dobie
105 posts
5th


Re: Migrare aplicatie pe Client/server
 (N/A)
@mr_api
Eu am avut o mica tangenta cu Firebird prin 2007 cand era trecerea de la 1.5 la 2.0. Acum vad ca s-a ajuns la 2.5. E ok versiunea aceasta?
Atunci nu imi placea Firebird ca baza de date era intr-un singur fisier *.fdb (nu-mi placea pentru ca parca seamana cu Access) si parca erau ceva probleme la acel file si cu o operatie de mentenanta a bazei de date, care nu mai tin minte cum se numea :(, se putea "repara"
P.S. ba da, am gasit, e vb de : backup/restore procedure (gbak)

Ovidiu Dobie
 10/19/2010 3:51:03 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Migrare aplicatie pe Client/server
 (N/A)
Versiunile Express sunt utilizabile pentru aplicatii comerciale.
Aici e o comparatie intre versiunile ms sql server 2008, si se poate face o parere in ce ce consta aceste limitari.
http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx
Mi exista versiuni express pentru Oracle si DB2, nici aceste anu sunt de ignorat

Aici e o comparatie intre postgresql, mysql, mssql
http://www.postgresonline.com/journal/archives/130-Cross-Compare-of-PostgreSQL-8.4,-SQL-Server-2008,-MySQL-5.1.html

Se pot gasi destule comparatii la o cautare pe net. Atentie la versiuni, nu toate compara ultima versiune a fiecarui server.


Daniel Buduru
 10/19/2010 4:05:04 PM
User is offlinemr_api
368 posts
3rd


Re: Migrare aplicatie pe Client/server
 (N/A) Modified By mr_api  on 10/19/2010 4:05:42 PM)
@ Ovidiu Dobie
Am folosit doar 2.1,intentionez sa trec la 2.5 care aduce multe imbunatatiri,cred ca problema despre care vorbesti este legata de extensia gdb si system resore: http://www.firebirdfaq.org/faq353/
Si acum baza de date este tot intr-un singur fisier,dar nu vad importanta.
 10/19/2010 6:06:32 PM
User is offlineEugen Gliga
1052 posts
1st




Re: Migrare aplicatie pe Client/server
 (N/A)
O comparatie intre PostgreSql si Firebird se poate vedea aici:

http://www.amsoftwaredesign.com/pg_vs_fb

Totusi aceste comparatii nu prea te ajuta sa faci o alegere. Cel mai bine este de testat mai multe variante.


 10/19/2010 8:31:42 PM
User is offlinemr_api
368 posts
3rd


Re: Migrare aplicatie pe Client/server
 (N/A)
Comparatia este veche,cel putin acolo este vorba de Firebird 2.0.x(2007),un exemplu : la temporary tables scrie NO,dar incepnd cu versiunea 2.1 care a fost un alt pas major, exista si aceasta facilitate,acum vorbim de un alt pas major, versiunea 2.5 si in curand de 3,desigur si PG a ajuns la versiunea 9.
 10/19/2010 8:51:10 PM
User is offlineEugen Gliga
1052 posts
1st




Re: Migrare aplicatie pe Client/server
 (N/A)
Pai de asta am zis ca nu sunt prea te ajuta dar o idee tot iti faci. Acuma, daca motivul de alegere s-ar baza pe o facilitate pe care o are doar unul din ele, este simplu sa te documentezi daca intre timp a aparut sau este pe cale de a se implementa.
Din ce am testat pana acum firebird mi se pare mai omenesc. Adica baza da date este un fisier pe care il faci unde vrei si pe care il vezi ca exista. La postgresql n-am gasit niciun fisier cu numele bazei de date. Nu ar fi asta un motiv serios de alegere, dar ma gandesc  in ce o fi constand diferenta aia de marime pt kitul de instalare. In rest am inteles ca postgresql ar avea driverele odbc foarte bine puse la punct, dar nici despre firebird n-am auzit ca ar avea drivere odbc proaste.


 10/19/2010 9:22:33 PM
User is offlinemr_api
368 posts
3rd


Re: Migrare aplicatie pe Client/server
 (N/A) Modified By mr_api  on 10/19/2010 9:31:31 PM)
la PostgreSQL nu vei gasi un fisier anume,trebuie sa faci backup ca sa poti avea un fisier exact al unei baze de date,la Firebird lucrurile sunt altfel,asta mi-a placut si mie.Pot sa-ti mai spun despre Firebird,comparativ cu foxpro/dbf-urile ca nici nu se compara,in 3 ani nu am avut nici o situatie de corupere tabela,index,etc.Despre driverele odbc nu stiu ce sa-ti spun,folosesc conectorul .NET.
Din cate imi amintesc,PostgreSQL are inclus in kit si un manager,pt Firebird poti folosi Flame Robin , EMS SQL Manager for Firebird  sau mult mai ok este versiunea personal IBExpert
 10/19/2010 9:24:20 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Migrare aplicatie pe Client/server
 (N/A) Modified By Daniel Buduru  on 10/19/2010 9:24:43 PM)
Diferenta de marime a kitului de instalare vine si de la ce stie sa faca serverul respectiv, ce functii are implementate si multe altele.
Amprenta redusa nu este si un indice de performanta.
Stabilitatea in functionare este si ea un factor de decizie, in special in cazul unui client care nu dispune de un administrator de sistem / un administrator de baza de date.
Unele servere se instaleaza si configureaza mai greu, dar poti sa uiti cu totul de ele. In caz de avarie iti trimite un email ... La altele, instalarea se face instant, dar se mai intampla sa "pice" din cand in cand ...
O decizie pertinenta poate fi luata doar dupa instalarea si utilizarea mai multor servere.
Un test e realizarea unei rutine pentru "running total" si evaluarea timpului de raspuns pe 3-500K inregistrari.
Al test e modificarea structurilor, triggerelor, procedurilor stocate si a functiilor utilizator in timp ce pe baza de date se lucreaza si sunt conexiuni deschise.
Si nu se opresc aici ...



Daniel Buduru
  Visual FoxPro  Client/Server  Migrare aplicat...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement