24. februar 2008 - 22:02Der er
10 kommentarer og 1 løsning
Savner kategori: 'Arkitektur' (fx. til valg af web apps)
Hej,
Har i flere omgange haft behov for med ligesindede, at vende tanker om valg af arkitektur, inden man kaster sig ud i, hvad man selv tror er den rigtige løsning.
Hver gang har jeg fundet det vanskeligt at finde den rette kategori og denne gang er den helt gal. Til trods for, at det faktisk drejer sig om et forholdsvis typiskt problem.
Derfor kære 'ekspert-admin' - kan vi ikke få en 'Arkitektur' kategori?
Er ved at ville etablere et lille privat 'hjemmenet', som over tid forhåbentlig udbygges. Men hvad skal man vælge - jeg har hørt mange forslag og for og imod, men savner folk med praktiske erfaringer og saglige, 'ikke-religiøse' argumenter...
1. LAMP (Linux, Apache, MySQL, PHP) 2. UNIX, Oracle, Tomcat, JSP 3. Linux, Tomcat, PostgreSQL, JSP 4. MS baseret (med fare for at miste det ene øje // ;o) ) osv, osv...
Lytter meget gerne til jer andres erfaringer og synspunkter...
Arkitektur i den mest forgyldte udgave tror jeg ikke at der er basis for i dette forum.
Applikations arkitektur håndteres som oftest fint i kategorien for det sprog/framework, som applikationen laves i.
Men jeg fornemmer at det heller ikke er det du leder efter. I virkeligheden tror jeg at dit problem ville være løst, hvis en tråd kunne være en del af flere forskellige kategorier. Dit spørgsmål kunne f.eks. kryds postes i styresystemer server genrelt, programmering generelt og databaser generelt.
Jeg tror at du skal starte med valg programmerings sprog.
Jeg antager at det skal være med web frontend.
De 3 mainstream muligheder er: * PHP * ASP.NET med C# * Java EE
ASP er outdated. Ruby on Rails og diverse Python baserede løsninger er for eksotiske. ASP.NET med VB.NET vil jeg kun anbefale hvis du har pæn VB erfaring.
Alle 3 kan løse opgaven.
Alle 3 er gratis.
Et af de væsentlige kriterier for dit valg må være hvad du har erfaring med og kender bedst - det koster tid at sætte sig ind i noget nyt.
ASP.NET med C# vil jeg kun anbefale hvis du skal bruge Windows som platform (du skal ikke satse på noget Mono).
Java EE vil jeg kun anbefale hvis I vil hoste selv - det er besværligt og dyrt at finde web hoteller til det.
PHP er nemmere at gå igang med en ASP.NET og Java EE. Specielt Java EE er mega stort at sætte sig ind i.
Ulempen ved at PHP er så nemt er at der alt for ofte bliver lavet noget slam kode i det. Og der er absolut ikke behov for at du bidrager til det. Det er muligt at lave pæn kode i PHP, men du kommer til at lede længe efter godt materiale og vil skulle sortere grundigt i det du læser.
Personligt er jeg mest Java EE person.
Med hensyn til database, så skal du overveje hvor store datamængder du har.
SQLServer, DB2, Oracle, Sybase findes i en gratis udgave, men den kan kun klare op til en vis størelse. Derefter bliver det dyrt - meget dyrt.
MySQL, PostgreSQL, FireBird er gratis uanset hvad.
MySQL inkl. client libs er GPL med FLOSS exception, så du skal lige overveje om du kan leve med det (hvis du bruger PHP er det ikke et problem).
Bortset fra SQLServer som er Windows only så findes de alle til de gængse platforme.
Styresystem er mest et spørgsmål om hvad du kender og kan nemmest sætte op og vedligeholde.
Tak for kommentar. Det var lige noget i den stil jeg håbede på. Men mener jo jeg bør kunne overholde 'god stil' og undgå at poste i flere fora. Derfor kunne jeg som du selv anfører godt bruge en tværgående kategori. Vel noget i stil med 'topologier' for netværksgruppen - blot endnu mere generelt da den jo dækker flere subgrupper.
Konkret er dit svar lige hvad jeg leder efter. Personlige anbefalinger. Du har ikke anført noget om Tomcat/JSP - er det forkert at antage at det så ligger undefor dit erfaringsområde??
Min bekymring/nysgerrighed går især på udstrækningen af integration og API gennemførelse de forskellige systemer imellem. Der er jo ikke meget ved at have de hver især hurtigste/bedste, hvis de ikke kan spille sammen...
På den front forekommer det mig at,
1. LAMP løsningen er meget brugt, men mest værdsat i privat regi og at 2. Tomcat/Java EE (JSP) bruges meget i erhvervsliv, hvis man da ikke anvender 3. MSSQL/ASP/C#
Hvordan er din fornemmelse for 1. PostgreSQL? (anvendelse/kompleksitet/integration osv) 2. mySQL - vil billedet mon ændre sig efter Sun's opkøb eller styrkes de yderligere?
Ved den sidste er lidt kringlet... // ;o)
PS: Kast et svar - så er der fulde bonus point / ;o)
Uanset om du koder i PHP, Java eller C# saa er f.eks. database adgangen rimeligt standardiseret.
Med Pear MDB, JDBC og ADO.NET kan man tilgaa alle eller stort set alle databaser ens.
Der er mere forskel hvis du skal til at integrere med andre systemer f.eks. ERP systemer.
----
PHP er ogsaa staerkt paa vej i erhvervslivet. De mange gratis fora/CMS systemer er blevet opdaget. Xoops, Typo3 etc..
----
PostgreSQL er en OK database. Ikke helt saa kendt som MySQL men saerdeles stabil. Performance omkring middel. Ingen problemer med brug fra hverken PHP, Java eller C#.
Jeg tror ikke at der sker de store aendringer med MySQL p.g.a. SUN's overtagelse. Husk at MySQL ikke bare er MySQL - der er MySQL med MyISAM tabeller og MySQL med InnoDB tabeller - og der er stor forskel paa de to.
Jeg er ret sikker på at InnoDB understøtter de samme data typer som MyISAM.
InnoDB har som du har fundet ud af transaktioner og foreign keys.
Men det er ikke gratis at have transaktioner - i de fleste tilfælde vil MyISAM tabeller performe markant bedre end InnoDB tabeller for INSERT/UPDATE/DELETE - der er ikke nogen nævneværdig forskel for SELECT.
Hvis du vælger PHP så tror jeg at du godt kan vælge MyISAM - man kan godt bruge transactions i PHP, men jeg tror at det er 1 ud af 1000 PHP apps som bruger det.
Hvis du vælger Java EE så skal du nok vælge InnoDB - det er muligt at lave JSP/servlet uden transaktioner, men bruger man EJB's så er det et krav.
I så fald vil: - PHP få dig til at sukke dybt over alt det man skal lære i Java EE - Java EE få dig til at sukke dybt over de fleste af de PHP eksempler du kan finde
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.