takvima osjećaju).
Drugo, zanima me sama koncepcija i dobri argumenti za i protiv nekoga
riješenja. Ne tražim gotovo riješenje nego samo vašu sugestiju koja može
utjecati na moju finalnu odluku, dakle želio bih čuti dodatno mišljenje.
Odlučio sam razviti poslovni sustav koji između ostaloga ima i B2B tj.
proširen je web shopom, portaloidnim oblikom web stranice, modulima za veće
kupce, čak i veleprodajne narudđbe. Dakle, slično microlineovom riješenju i
sl. Smisao je napraviti poslovni sustav gdje će se voditi matični podaci,
osnovni podaci matrijalnog poslovanja, faktura i kalkulacija, zaprimanja
narudžbi u kombinaciji sa sustavom za održavanje web stranice tipa
oglašavanja akcija, best buy ponuda, info izloga i sl.
Inače za w32 programiram u Delphiju dok za SSI koristim PHP4 (ne na tom
nivou da prepravljam opensource riješenja nego doslovno "štrikam" svoj kod)
no razvio sam jedan vlastiti CMS u kombinaciji ASP + MS Access baza.
Osnovna ideja je razviti 2-tired aplikaciju ili čak n-tired aplikaciju no ne
mogu se generalno odlučiti što odabrati s obzirom da bi sve skupa trebalo
biti prilagodljivo bilo kojem provideru i cijenom prihvatljivo većini
korisnika. Dakle, pametnije mi je pisati neke wraper module u php-u. i na
"client side" module za w32 koji sinkroniziraju bazu nego napraviti sustav
koji radi kod jednog jedinog providera koji dopušta konekciju na bazu još od
nekud osim sa localhosta.
Baza koja mi se najviše sviđa i koja mi je "omiljena" je IB tj. Firebird.
Nedostatak je što po mojim saznanjima jako malo providera hosta IB/FB bilo
na win bilo na unix hostevima. Lite verzija bi bila zadovoljavajuća u
kombinaciji s accessom no ta baza mi je otprilike "jednaka" kao i MySql.
Idealno riješenje bi bio naravno MSSQL no cijena hostanja je uglavnom
visoka, čak je dosta WPP-a ni nema.
Je li odabrati jednu bazu za Internet i na njoj voziti nešto što se
sinhronizira s lokalnom bazom drugog tipa ? Recimo na netu vrtjeti
razvikani MySql, a lokalno nešto drugo i sinhronizaciju npr. matičnih
podataka, narudžbi, poslovnih transakcija i sl. raditi "ručno". Ili pak
glavnu bazu vrtjeti na netu, a lokalnim w32 clientom pristupati podacima na
netu ?
U svemu tome opet mogu razviti kompletan sustav kao SSI i apsolutno sve
raditi na netu, bez nekih lokalnih clienata na korisnikovom desktopu.
Evo osnova koje sam zaključio i odlučio pa me ispravite ako griješim i
nadopunite ako nešto ispustim:
FB / IB - baza lagana za održavanje, koristi native pristup iz delphija bez
2 i 3-party layera tipa odbc,ado, bde i sl. postoji u embeded izvedbi gdje
korisnik ne mora imati ni instaliran ni zasebno pokrenut servis tj. server.
Nudi dosta toga, proširivi UDF-ovi. Nedostatak - malo tko je hosta.
MSSQL - veliko i moćno, čak i zahtjevno. Skupo hostanje, SSI uglavnom bolje
podržan kroz ASP koji je meni osobno ipak "djetinjast" u nekim stvarima u
odnosu na PHP. Ako se koristi PHP hosta se uglavnom na linuxu + dodatni host
za MSSQL što je visoka cijena hostanja.
MSDE - sve lijepo i krasno i svima poznato no ako se koristi slabija verzija
MSSQL-a. onda se može sve izbjeći i poprilično papanje resursa na clientu i
odabrati FB / IB.
MySql - kad odraste bit će dobar, no verziju 5 vidim još nitko ne hosta. Bez
viewa, bez triggera, bez generatora, datetime polja i transakcija nećemo
razgovarati o bazi nego o poluproizvodu primjenjivom do određene granice.
Kao client baza opet zahtjeva zaseban servis i instalaciju kod clienta.
Access ? He,he... onda može i Paradox i dBase3+ ;-))
Čega se plašim? Plašim se ljudi, šarenila i raznolikosti. Struka me do sad
naučila da ljudi imaju svakojake mašine, da je idealno instalirati što
manju, što robusniju stvar koju je teže uništiti, zaustaviti u radu,
promjeniti parametre. Dovoljno govori podatak da će netko iz čistog neznanja
zaustaviti neki servis jer je vidio da mu pojede 40MB radne memorije pa
makar to bio i DB server, ili da će ga deinstalirati i sl. Razne verzije
ADO-a. po terenu, svaki radi na svoj način, firewallovi koji rade svakako i
konfigurirani su prema trenutnom smijeru vjetra u glavi korisnika. Osim toga
bi li vi kupili sustav koji radi pod samo određenim uvjetima, na samo
određenoj konfiguraciji, koji se može "okačiti" na Internet kod samo
određenog providera ? Netko će trebati provjeravati stanje narudžbi i
update podataka na webu jednom tjedno, no nekome će trebati update svakih 10
minuta.
Moglo bi se sve na w32 napaviti kroz ADO i "univerzalno" pa da koristi
većinu baza, no ne želim se odreći viewa, triggera i generatora i koristiti
priručna riješenja popud držanja max. vrijednosti i oponašanja generatora
dodatnom tablicom stanja i sl. Radije ću se peekvalificirati u zidare (bez
uvijrede zidarima) nego biti "Šampion" ako to ne moram.
Evo, ... otprilike sam vam iznio svoje pitanje i razmišljanje (iako
vjerojatno malo zbrkano napisano) pa bi volio malo diskusije i vaših
ideja/vizija i sl.
Hvala!