Šta je novo?

U cemu ovo programirati, na kojoj platformi....

Pa server sw moze da radi sve... od generisanja izvestaja i slanja emaila pa do serviranja web strana korosnicima. Prednost je sto moze da mu pridje sa bilo koje lokacije, da se korisnik loguje i obavi posao. Ceo benchmark trosi max 5% procesora, doduse baza mu je malo veca, ali on definitivno nece imati toliki obim posla da mu baza naraste preko 1GB.. VPS hosting radi sve sto on mora da obezbedi:
- infrastrukturu za masine (kablovi, struja, klima)
- administratora
- redovan backup
- odrzavanje

Sve ovo kosta dosta para koje on realno ne mora da plati. Sustina je da kakav god hw uzme to ce biti overkill za poslove koji njemu treba da se obavi. Npr.. spucao bi 1-2 TB u neki RAID a realno bi se iskoristilo max 30GB sa sve operativnim sistemom, SQL database serverom i podacima. Zatim bi spucao novac u masinu koja bi 99.9% svog vremena provela u idle rezimu. A sve se to vrti i greje i to treba hladiti, pa onda obezbediti posebnu prostoriju sa klima uredjajima (bar 2 komada).. a sve to trosi struju...
E sad.. jedino ako planira da server skida torrent preko noci pa da ima smisla da ga napravi kodd sebe, mada i u tom slucaju moze da ostavi neku klijentsku masinu da radi i te stvari :)

Sto se klijentske app tice, ideja je da se uradi u php/asp/jsp i da se koristi neka od postojecih sistema za baze mysql/mssql/oracle. Web server na virtuelnoj masini generise dinamicki html koji servira konektovanim klijentima... bas kao sto to radi ovaj forum. Iskusniji developeri u ovoj oblasti mogu da objasne kako se postavlja ovakav sistem (npr.. web server code, biznis logika i baza se razdvajaju).

Rentiranje ovakvog sistema moze da te kosta od 350-1000e godisnje (postoje razne opcije). Recimo da je 1000e. Koliko bi novca u startu morao da pripremi da bi napravio sistem kod sebe? Min 5000e. Tu nije uracunat novac za odrzavanje koji bi morao da plati. Izrada serverskog sw i licenciranje neophodnog sw je posebna prica.

Meni licno, VPS je sasvim logican izbor. Ako bi mozda mogao jos neki hint o poslu da nam kazes.. npr.. kolika je kolicina podataka koja se obradjuje? Da li postoje neki teski (MB/GB) fajlovi koja moraju da se cesto prebacuju sa klijenta na server i nazad?
 
Kombo je i više nego dovoljan za ono što bi on hteo.

Problem je što bi, u slučaju web hostinga, praktično imao web sajt sa bazom u pozadini. Sva biznis logika bi mu bila ili u stored procedurama ili u php/js kodu na frontendu. Recimo automatsko slanje mejlova - morao bi da radi iz stored procedura (kao i sve ostale automatizovane taskove). Nešto može da se napravi, ali nije najbolje rešenje. Ipak mu treba i application server.
 
Poslednja izmena:
Problem je što bi, u slučaju web hostinga, praktično imao web sajt sa bazom u pozadini. Sva biznis logika bi mu bila ili u stored procedurama ili u php/js kodu na frontendu. Recimo automatsko slanje mejlova - morao bi da radi iz stored procedura (kao i sve ostale automatizovane taskove). Nešto može da se napravi, ali nije najbolje rešenje. Ipak mu treba i application server.

Mislim da to nije potrebno. Svako slanje se radi uglavnom kao rezultat akcije korisnika ili na tacno odredjeno vreme. Za ovo prvo nije problem posto kad klikne na dugme izvrsice se to sto treba. Za ovo drugo takodje nije problem posto u cronu lepo definises kada i sa kojom frekvencijom ce se nesto desavati. U svakom slucaju nema mnogo smisla koristiti stored procedure za to. U principu skoro sve mozes da resis bez koriscenja stored procedura.
 
Sve da bude u PHPu na frontendu? Kako bi radio rollback u slučaju da se sesija prekinula? Recimo, korisnik pokrene neko reindeksiranje šifarnika, ili pokrene zatvaranje fiskalne godine sa pratećim proračunima koji apdejtuju nekoliko tabela i prekine se njegova sesija?

Nisam web developer, ali mi scenario gde se ovakva aplikacija cela napravi u nekom skripting jeziku, a da rešenje bude kvalitetno, ne izgleda vrlo verovatan. :)
 
Na pocetku koda imas start transaction, na kraju stavis commit i to je to... :) Hvatas exeception i ako ga je bilo ili je doslo do neke greske ides na roll back... Ako pukne program usred svega ili ga neko ubije opet nisi odradio commit transakcije i nista se nece promeniti...
 
Poslednja izmena:
Commit i rollback DB transakcija? A šta da radiš ako su proračuni malo veći, ako ne možeš samo da počneš DB transakciju i sve uradiš odjednom, nego moraš da radiš commit u nekim međukoracima?
 
PHP nije skripting jezik. Nisam znao šta da ti odgovorim, jer nisam razumeo šta si mislio. PHP je backend, a JS je deo frontenda.
 
PHP jeste skripting jezik iako se izvršava na serveru.

Nisam se dovoljno precizno izrazio - pod front-endom nisam mislio na kod koji se izvršava u samom browseru na radnoj stanici (js), nego na GUI (web interfejs) aplikacije, tj. onaj deo koji je prezentovan korisniku.


edit: Za rollback operacija sam ozbiljno pitao, pošto me zanima kako se takve stvari rešavaju ako se koristi samo PHP. Šta je neka najčešća praksa? Da li se ignoriše abort sesije i nastavlja sa izvršavajem, da li se pri sledećem pokretanju nekako detektuje da je posao završen do pola i radi clean up, itd? Ako korisnik prekine svoju web sesiju, a PHP skript nastavi da se izvršava na serveru, da li on nekako može iz nove sesije da dobije neki info o progresu, itd...
 
Poslednja izmena:
Ja kad nesto ne znam cutim, ispadam pametniji...

Ponovicu pitanje, mozda ce ti biti jasnije iz drugog puta: koji kompajler koristis za PHP?
 
A u okviru tog HTML + JS koda imaš i PHP skripte. Možeš da ih razdvajaš templejtima koliko hoćeš, ali ne možeš da napraviš multi tier aplikaciju. Kako pokrećeš nove tredove u PHPu, kako praviš callback funkcije, kakva je podrška za OOP, itd...? Mislim da web aplikacije ipak treba razvijati alatima namenjenim za to (ASP.NET/C#, JavaEE, itd...) a PHP ostaviti za dinamičke web strane.
 
Poslednja izmena:
@geronimo i @zeleni_zub
Samim tim što nema kompajler, nije programski jezik? PHP nije programski jezik visokog nivoa, on je programski jezik namenjen za rad na web serveru i komunikaciju sa bazom. Zaboga, nećemo valjda sad da se pobijemo oko terminologije.
 
A u tom HTML i JS kodu se nalaze i PHP skripte. Možeš da ih odvajaš templejtima koliko hoćeš, na istom su tier-u - na frontend delu aplikacije. :) Jel možeš u PHP-u da kreiraš nove tredove, da li postoje callback funckije, kakva je podrška za OOP, itd... Mislim da za razvoj web aplikacija treba da se koristi alat koji je i namenjen za to (ASP.NET/C#, JavaEE, itd...), a ne jezik koji je namenjen za izradu dinamičkih web strana.
 
A u okviru tog HTML + JS koda imaš i PHP skripte. Možeš da ih razdvajaš templejtima koliko hoćeš, ali ne možeš da napraviš multi tier aplikaciju. Kako pokrećeš nove tredove u PHPu, kako praviš callback funkcije, kakva je podrška za OOP, itd...? Mislim da web aplikacije ipak treba razvijati alatima namenjenim za to (ASP.NET/C#, JavaEE, itd...) a PHP ostaviti za dinamičke web strane.

Jesi li ti ikada radio nesto za Web? I odakle ti ideja da ne mozes multi thread da radis u PHP-u? Naravno da mozes, ali to nije bas uvek logicno (recimo ja sam to radio za neke crawlere koji su morali u vise threadova da dovlace podatke kako bi se sve ubrzalo) buduci da ce ti cesce trebati da usluzis vise korisnika u isto vreme a taj deo ce ti sam http server obaviti... ASP mozes da koristis za web strane ukoliko ti ne smeta mala cinjenica da najverovatnije svi ostali OS-ovi sem Win (ukljucujuci tu i mobile OS-ove) nece moci da koriste tvoj sajt.

BTW dinamicka web strana i jeste web aplikacija... Samo sto PHP ide za server side, JS na client-side i jos dodas AJAX da se sve to lepo uveze...

Sto se OOP podrske u PHP tice, naravno da postoji ali ocigledno da ti to nisi ni probao...

BTW kad si kod JAVA, pitam se samo kako pokreces sav taj JAVA kod ako nemas JRE? Ja sam mislio da se racunaju samo oni jezici kod kojis dobijas izvrsni fajl koji mozes da pokrenes na odrgovarajucem OS-u bez dodatnih biblioteka i interpretera?

Sto se samih transakcija tice (da ne bude bas sve off-topic), ti mozes koliko god hoces puta da pokreces transakciju i da je commitujes samo sto je los programerski pristup da ti to radis dok korisnik ceka... Pre ce biti, ako je neka dugacka operacija u pitanju, da ces zapoceti transakciju u pozadini (tj preko nekog crona) i samo obavestiti korisnika kad zavrsi...
 
svi ostali OS-ovi sem Win (ukljucujuci tu i mobile OS-ove) nece moci da koriste tvoj sajt.

Ako pričamo o web aplikaciji koja se koristi u nekom poslovnom sistemu i u firmi se koristi Windows kao OS na radnim stanicama onda ne vidim nikakav problem u tome. U slučaju da se koriste i drugi operativni sistemi u skladu sa tim će i razvijati aplikacije.


Sto se OOP podrske u PHP tice, naravno da postoji ali ocigledno da ti to nisi ni probao...

Probao sam. Nisam pitao da li ima, nego kakva je u poređenju sa Javom i C#-om. Pošto probati i intenzivno raditi u nekom jeziku ipak nije isto.


Jesi li ti ikada radio nesto za Web? ...

Kao što sam već napisao, ne bavim se razvojem web aplikacija (ako ne računamo nešto malo web servisa), zato i pitam. Sa PHPom sam radio vrlo malo, pošto nemam PHP u okruženju u kome radim (Oracle, Java, Tuxedo, Tomcat/Axis, python, C++, C#), ali za to vreme nisam stekao utisak da je dobar izbor za razvoj kompleksnih aplikacija (ako se koristi samo PHP).

Ne bih počinjao raspravu compiled vs. interpreted, pošto mislim da nema smisla, a i nije mi to ni bila namera. Što se tiče tehnologija, nemam omiljeni tim - uvek se koristi ono šta će najoptimalnije završiti posao.

Sto se samih transakcija tice (da ne bude bas sve off-topic), ti mozes koliko god hoces puta da pokreces transakciju i da je commitujes samo sto je los programerski pristup da ti to radis dok korisnik ceka... Pre ce biti, ako je neka dugacka operacija u pitanju, da ces zapoceti transakciju u pozadini (tj preko nekog crona) i samo obavestiti korisnika kad zavrsi...

Meni, recimo izgleda potpuno neprirodno da se koristi cron job za pokretanje nekog procesa u okviru jedne aplikacije. Navikao sam da na serverima cron jobovi služe za administrativne taskove, a aplikacije imaju svoje application servere u okviru kojih rade.


edit: Vezano za Nemanjin post: Samo diskutujemo, da svi mislimo isto ne bi ni bilo foruma. No hard feelings? :)

edit_2: Nemam ja ništa protiv PHPa, znam ja da svašta može da se uradi u njemu, ali je pitanje da li treba tako. :) Imam i ja bash skriptove koje sada kada pogledam mogu samo da se lupim po glavi što ih nisam od početka pisao u python-u, C++ aplikacije koje su trebale da budu C#, kod u aplikacijama koji je trebao u PL/SQL procedure, PL/SQL procedure koje su trebale da budu u kodu u aplikaciji... ali ne znači da je to tako trebalo uraditi.
 
Poslednja izmena:
Ja sam se samo šalio sa svojom porukom, ali nisam stavio smajli. Da je kao kod nas u skupštini palo bi polivanje vodom, iznošenje sa sve četiri u vis i prizivanje baba Simane. :d

Super je tema, baš je čitam sa uživanjem, što odavno nisam.
 
Meni, recimo izgleda potpuno neprirodno da se koristi cron job za pokretanje nekog procesa u okviru jedne aplikacije. Navikao sam da na serverima cron jobovi služe za administrativne taskove, a aplikacije imaju svoje application servere u okviru kojih rade.
.

Kad kazem to ne mora da bude UNIX cron... To moze da bude i neki custom queue koji obavlja poslove kako mu pristizu... U praksi je najbolje sve dugacke procese odvojiti od glavnog programa... Sto se same price na ovom threadu tice PHP server je samo jedno resenje (naveo sam tri), ali i najjeftinije... Naravno da moze da pise klijenta i server u cemu hoce ali ce ga vecina resenja ograniciti samo na jednu platformu... Za ovo sto njemu treba mislim da je PHP /JS najbolje resenje posto zahteva najmanje rada na njegovoj strani... Server moze da mu bude hostovan gde god hoce i njemu je samo potrebno da obezbedi internet link i to je sve... O odrzavanju servera ce se brinuti drugi, a i moze da koirsti program i sa mobilnog ako mu zatreba...
 
@geronimo i @zeleni_zub
Samim tim što nema kompajler, nije programski jezik? PHP nije programski jezik visokog nivoa, on je programski jezik namenjen za rad na web serveru i komunikaciju sa bazom. Zaboga, nećemo valjda sad da se pobijemo oko terminologije.

Pu pu pu, daleko bilo, taman posla. Ja licno nisam tvrdio da PHP nije programski jezik. Naravno da jeste, akcenat je bio na tome da li je scripting ili ne, moje replike su bile samo sa tim u vezi i mislim da sam bio dovoljno jasan. Ovim smo temu odvukli u potpuno drugom smeru, uveren sam da sam pokretac ove teme to nije zeleo.

Vidim da neki ovde tvrde da web aplikacija pisana u ASP.NET-u ne moze da se koristi na nekoj drugoj klijentskoj platformi sem windowsa. Ovo naravno nije tacno, web aplikacije pisane u ASP.NET-u itekako mogu da se koriste na bilo kojoj klijentskoj platformi (win/linux/android) - kao i svaka druga web aplikacija (ovo je inace i jedna od glavnih prednosti web aplikacija).

Postoji jedna izreka koju cu prevesti sa engleskog - kad imas samo cekic svaki problem lici na ekser. Drugim recima, ne treba ovde polemisati o PHP vs ASP.NET vs. JAVA u globalu i po sistemu ciji je veci/deblji/duzi vec koja tehnologija bi obezbedila najoptimalnije rezultate mereno vremenom implementacije, pouzdanoscu i kvalitetom krajnjeg proizvoda. Svaka tehnologija je namenjena da resava odredjeni skup problema, mozemo mozda diskutovati o necijim afinitetima ali polemisanje o tome da li je ASP.NET bolji od PHP-a, da li je Linux bolji od windowsa nema mnogo smisla. Preduslov za ovakve diskusije je da ucesnici budu upoznati sa svim tehnologijama o kojima se prica a ne da se iznose pausalne tvrdnje koje jednostavno nisu tacne.
 
Poslednja izmena:
Vidim da neki ovde tvrde da web aplikacija pisana u ASP.NET-u ne moze da se koristi na nekoj drugoj klijentskoj platformi sem windowsa. Ovo naravno nije tacno, web aplikacije pisane u ASP.NET-u itekako mogu da se koriste na bilo kojoj klijentskoj platformi (win/linux/android) - kao i svaka druga web aplikacija (ovo je inace i jedna od glavnih prednosti web aplikacija).

Ako si mislio na moj post onda si lose procitao... Rekao sam da postoji sansa da nece raditi na drugim platformama i browserima. Ako sumnjas u to onda probaj da otvoris npr Intesa e-banking sajt (nije jedini primer, ali mi prvi pada na pamet) pa ces videti o cemu pricam... Jedino radi u IE, a samim tim i jedino u Windowsu... To je primer lose uradjenog portala... Takodje ista banka je i primer all-windows softvera... Njihov ceo softver je Delphi na Win, a cak su im i bankomati na Windowsu (jedno vreme si cak mogao prilikom koriscenja istih da na trenutak vidis i Bliss wallpaper) sto za posledicu ima to da su neverovatno spori...
 
Offtopic: Svi Wincor bankomati su Windows XP mašine (a to je velika većina bankomata kod nas). Sporost pojedinih Intesinih bankomata nema veze sa Windowsom nego sa nečim drugim (mada mislim da je problem do sada rešen) - radili su oni na Windowsu u pre nego što su imali problem sa performansama. Bankomat samostalno radi vrlo mali broj stvari - to je state mašina koju kroz stejtove vodi host koji kontroliše bankomate, tako da je operativni sistem na samom bankomatu od vrlo malog značaja.
 
Poslednja izmena:
Server stranu treba razdvojiti na vise slojeva.. bazu i API ka bazi, web server i generisanje HTML-a i biznis logika. Ova 3 sloja medjusobno komuniciraju. U sustini. web server generise dinamicki HTML i na taj nacic prezentuje user interface aplikacije. U tom HTML-u moze biti JS-a koji se izvrsava na klijentu iskljucivo da bi se sminkao UI.. nikakva obrada podataka ne sme tu da se desava.
U zavisnosti od web servera i baze treba izabrati alat za dalji rad. Zaokruzena resenja su .net/ASP i JSP. Nisam web developer tako da nisam u mogucnosti da nabrojim i druga resenja. Ideja je da se biznis logika izvrsava iskljucivo na serveru i da se desava tek kada se proveri validnos user inputa. Na taj nacin se web aplikacije stiti od hakovanja.

U cemu pisati biznis logiku? Pa ima mnogo nacina... od C++, C#, Java, Python, Ruby,.. ko sta vole.. Svaki programerski jezim ima svoj prdenosti i mane. Uglavnom treba razresiti komunikacjiu izmedju web servera koji prima komande korisnika i treba da ih prosledi biznis delu. Obicno se koristi neko resenje tipa SOAP ili nesto slicno. Poenta je uvezati sve to. Npr.. Webserver moze da pokrene biznis deo da uradi neke izvestaje i ovaj ce kada zavrsi da smesti u bazu izvestaj. Web server kasnije generise html stranu na osnovu stanja u bazi. Ili treba da se posalje ponuda na neki mail... Korisnik popuni ponudu u nekoj standardnoj formi, to zavrsi u bazi, a webserver pokrene biznis deo da na osnovu tog zapisa u bazi generise PDF sa memorandumom i lepo slozenom ponudom i sve to spakuje i posalje klijentu.

Stvarno nije bitno koji ce se jezik koristiti na server strani sve dok je dovoljno fleksibilan za rad. Licno sam c++ programer ali ovakve stvari nikada ne bih radio u c++ jer je overkill. Moze svasta i brzo da se uradi ali nedostaje lako povezivanje sa drugim delovima sistema. Drugi jezici mozda nisu toliko brzi, ali neki poseduju jako dobro razradjene mehanizma za komunikaciju sa web serverom i bazom.

Bitno je da se uradi kako treba, a ne pomocu stapa i kanapa.
 
Ako si mislio na moj post onda si lose procitao... Rekao sam da postoji sansa da nece raditi na drugim platformama i browserima. Ako sumnjas u to onda probaj da otvoris npr Intesa e-banking sajt (nije jedini primer, ali mi prvi pada na pamet) pa ces videti o cemu pricam... Jedino radi u IE, a samim tim i jedino u Windowsu... To je primer lose uradjenog portala... Takodje ista banka je i primer all-windows softvera... Njihov ceo softver je Delphi na Win, a cak su im i bankomati na Windowsu (jedno vreme si cak mogao prilikom koriscenja istih da na trenutak vidis i Bliss wallpaper) sto za posledicu ima to da su neverovatno spori...

Da, mislio sam na tvoj post, iako bez namere da prozivam vec samo da ukazem na podatak koji si izneo a koji nije tacan. Vrlo dobro sam procitao tvoj post vise puta pre nego sto sam odgovorio. Primer koji si naveo sa eBank sistemom intese (slicna stvar je sa Raiffeisen-om) nema nikakve veze sa platformom na kojoj je napisan vec sa ActiveX kontrolama koje se u tim web aplikacijama koriste a koje imaju za posledicu da im se moze pristupiti samo iz IE i samo ako je klijentska platforma Win. Dakle, jos jednom ponavljam, web aplikacije pisane u ASP.NET su kao i bilo koja druga web aplikacija pisana u nekom drugom jeziku - u generalnom slucaju nezavisne od klijentske platforme. Druga je prica zasto i da li i kada se moraju koristiti specificne kontrole i biblioteke kojima generalno nije mesto u web aplikacijama - to je primer koji si ti naveo i koji je izuzetak a ne pravilo. Poznati primer odlicno napisane ASP.NET web aplikacije je stackoverflow, probaj da mu pristupis sa npr. androida ili Linuxa i uverices se da radi podjednako dobro kao i kada je klijentski OS ovde omrazeni windows.

Inace, slazem se sa yooyo-om u potpunosti, ja uvek koristim navedeni pristup pri projektovanju aplikacija. Navedeni pristup obezbedjuje pored ostalog i skalabilnost, a uz pazljiv dizajn i nesmetan rad u klasterskom okruzenju. Naravno, sve ove stvari su za navedeni primer aplikacije sa brojem 5-10 korisnika overkill, jer ta aplikacija ce raditi sve i da se hostuje na laptopu sa tako mizernim opterecenjem. To ne znaci da je ne treba isprojektovati u startu na nacin da u buducnosti moze da podrzi nadgradnje ili daleko veca opterecenja - ukoliko se za tim pojavi potreba. Medjutim, ako takva potreba nije u perspektivi ja bih jos jednom razmislio i u razmatranje uzeo desktop klijente.
 
Poslednja izmena:
@marko_84,

Procitao sam tvoj post, gde si naveo malo detaljnije logiku i potrebe projekta.
Imas 2 opcije, druga opcija ima 2 podopcije:

1. Win .NET aplikacija, klijent-server arhitektura sa MS SQL bazom podataka na Win Server-u.
Prednosti:
- Totalno zatvoren sistem, bez mogucnosti pristupa spolja.
- Sigurnost podataka i backup istih je lakse ostvariti.
- Brze izvrsavanje kompleksnih kalkulacija i generisanje izvestaja.
- Nezavisan sistem od internet pristupa.
- "Podela posla" izmedju klijent i server app.

Mane:
- Iskljucivo vezano za Windows platformu.
- Win Server se placa. (MS SQL moze da bude i besplatna/express verzija, ali ukoliko potrebe postanu vece, MS SQL je izuzetno skup proizvod)


2. Web app
a) ASP.NET aplikacija, intranet app, sve se izvrsava na serveru, potreban samo browser na klijentskoj strani
Prednosti:
- Totalno zatvoren sistem, bez mogucnosti pristupa spolja(auth moze da se koriste preko Win Auth).
- Sigurnost podataka i backup istih je lakse ostvariti.
- Nezavisan sistem od internet pristupa.
- Nevezanost za platformu, osim u slucaju koriscenja ActiveX kontrola(koje su Windows IE - only)

Mane:
- Windows Server se placa, MS SQL se placa(osim u slucaju koriscenja Express edition verzije).
- Brzina izvrsavanja komandi/zahteva/izvestaja u potpunosti zavisi od brzine servera, optimizacije samog koda aplikacije i baze podataka.

b) PHP intranet app(lakse naci PHP dev, nego programere za ostale skript jezike)
Prednosti:
- Linux OS Server, besplatno
- MySQL, PostgreSQL - besplatno
- Totalno zatvoren sistem, bez mogucnosti pristupa spolja(potrebna dobra auth funkcionalnost).
- Nezavisan sistem od internet pristupa
- Apsolutno cross-browser i cross-platform sistem.

Mane:
- Brzina izvrsavanja komandi/zahteva/izvestaja u potpunosti zavisi od brzine servera, optimizacije samog koda aplikacije i baze podataka.



Moj predlog ti je ASP.NET aplikacija... a ti izaberi shodno svojim mogucnostima.
 
Moj predlog ti je ASP.NET aplikacija... a ti izaberi shodno svojim mogucnostima.

Zasto ASP.NET, a ne PHP? Po ovome sto si naveo skoro su identicni sa razlikom da ce ga ASP verzija kostati vise (zbog Windows servera). Verovatno si zaboravio da navedes neku prednost ASP? Inace, PHP ces moci lepo da koristis i na Windows platformi za slucaj da bas zelis... Isto tako MySQL ce raditi na obe platforme i jos je besplatan pa me interesuje zasto preferiras MSSQL? Iz navike ili nesto drugo? U principu vidim po netu da ga ljudi koriste za velike sisteme koji su na Windows platformi (zbog, logicno, dobre integracije sa OS-om) i da se tu uglavnom poredi sa Oracle bazom... Za ovaj obim posla koji je on naveo to nema mnogo uticaja...
 
Nije baš ni MySQL besplatan. :)

http://www.mysql.com/products/
https://shop.oracle.com/pls/ostore/...:PROD_HIER_ID:58095029061520477171389&tz=1:00


Tehničke razlike između MySQLa, Oracle-a i MS SQL možeš da nađeš na netu. Ovde recimo imaš razlike između Oracle Standard i Enterprise baze (nađi Feature and Option Availability Matrix): http://www.oracle.com/us/products/database/039449.pdf


U principu pored tehničkih karakteristika (performanse, skalabilnost, razni management, backup, HA, security i ostali feature-i), najvažnija je podrška, kao i činjenica koja se baza najviše koristi u nekoj industriji. To ti osigurava da je tvoj problem koji ćeš potencijalno imati, neko ko radi u istoj industriji već imao i da postoji gotovo rešenje.

Ako finansijske institucije koriste Oracle, DB2 i MSSQL, sigurno se nećeš napraviti pametan i razviti rešenje koje koristi MySQL. Niko ne želi da bude pionir, svi vole već proverena rešenja i enterprise tržište je tromo i veomaaaa se polako menja. Ako ne razvijaš aplikacije, nego si samo korisnik, ti nećeš krenuti od izbora baze, nego ćeš izabrati softver koji odgovara zahtevima core business-a, a softver vendor će te već usloviti koju ćeš bazu da koristiš, pa ćeš na osnovu toga izabrati i ostatak platforme (OS, serveri, ...).

Takođe, šta ćeš recimo sa MySQLom ako Oracle odluči da prestane da ga razvija (malo verovatno, ali nije nemoguće)? Ili da mu poveća cenu drastično (to sa drastičnim povećanjem cene su već uradili sa Tuxedom kada su kupili BEA-u)?


Svi smo mi poslom uslovljeni tako da razmišljamo. Svi vole da u produkciji imaju rešenja koja su se već dobro pokazala i koja će imati dobru podršku u dužem periodu. U poslu želiš garancije, a kod besplatnih rešenja nemaš nikoga ko ti te garancije pruža. Možeš to da kompenzuješ recimo većim razvojnim timom, uradiš fork svoje MySQL verzije i time si rizike umanjio time što si proizvod stavio pod svoju kontrolu. Ali to može da se isplati Google-u, Facebook-u i sličnim kompanijama koje bi celo bogatstvo davale na licence.
 
Poslednja izmena:
Takođe, šta ćeš recimo sa MySQLom ako Oracle odluči da prestane da ga razvija? Ili da mu poveća cenu drastično (to sa drastičnim povećanjem cene su već uradili sa Tuxedom kada su kupili BEA-u)?

Sta ces sa MSSQL ako MS odluci da ga ukine? Ili ako Oracle odluci da poveca cenu 10x?

Kod MySQL je bar jasna situacija... Ako Oracle ugasi svoj development tim preuzece ga neka od Open Source fondacija... To je prednost GPL... Nikad neces ostati na cedilu... Pogledaj samo primer sta je bilo sa Star Office kad je Sun odlucio da nece da ga razvija... Napravljen je odmah OpenOffice.org koji je Oracle odlucio da nece da razvija... Nisam nesto primetio da se ugasio projekat... Cak su i da bi se osigurali da Oracle nesto ne pocne da zeza odmah napravili LibreOffice... Ako iz nekog razloga nestane Oracle sta ce se desiti sa svim njihovim bazama? Sve koje su bile proprietary ce se ili ugasiti ili preci kod nekog drugog... Samo ce preziveti GPL aplikacije... Ne nasedaj na FUD kad je u pitanju Open Source... Tu se prilicno lako nalazi podrska... Cak mozes i da biras od koga ces je uzeti... Pa kako mislis da Red Hat zaradjuje (promet oko 900 miliona dolara)? I kako je MySQL AB zaradjivao pre prodaje? Takodje, kako onda objasnjavas da je najpopularniji web server Apache koji je besplatan i nema zvanicnu podrsku a koristi ga duplo vise ljudi nego MS resenje?

Sto se cene podrske tice niko nije rekao da je besplatna... Kostace ga isto kao da je uzeo i bilo koju drugu bazu...

BTW izgleda da nisi procitao lepo moj prethodni post. Nigde nisam pitao koja baza se gde koristi i koje su razlike vec zasto preferira MSSQL u odnosu na MySQL. Na tako malom obimu posla zaista ne vidim bilo kakvu razliku izmedju ta dva... Oba ce obaviti posao... (bar prema onome sto je naveo)

Nego, da ne davimo vise sa off-topicom, interesuje me sta je originalni poster odlucio da uradi... U Srbiji svasta mozes da vidis pa cak i to da klijenti budu standalone programi koji svi koriste isti shared disk na 'serveru' (sto je bilo ok resenje pre 7-8 godina)... (ovo resenje radi jedna nasa poznata firma i koristi se npr u Ruskom caru da konobari tako unose narudzbine na PDA uredjajima) :D
 
Nazad
Vrh Dno