Avatar billede rubberduckone Nybegynder
24. februar 2008 - 22:02 Der 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...
Avatar billede arne_v Ekspert
24. februar 2008 - 22:41 #1
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.
Avatar billede arne_v Ekspert
24. februar 2008 - 22:55 #2
Med hensyn til det konkrete spørgsmål.

Det er jo en vanskelig sag at svare på.

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.

Så ingen konklusion men dog nogle betragtninger.
Avatar billede rubberduckone Nybegynder
24. februar 2008 - 23:54 #3
Hej Arne,

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??

Ellers mange tak for kanon svar.
Avatar billede arne_v Ekspert
25. februar 2008 - 00:38 #4
JSP er en del af Java EE.

Tomcat er en glimrende server til JSP og servlet.

Jeg har brugt Tomcat en del gennem årene.
Avatar billede rubberduckone Nybegynder
25. februar 2008 - 17:48 #5
Oops - blush!!

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)
Avatar billede arne_v Ekspert
25. februar 2008 - 18:21 #6
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.

----

Og et svar.
Avatar billede rubberduckone Nybegynder
26. februar 2008 - 00:02 #7
Uhh... der ramte du lige min akilleshæl (mySQL tabeltyper)

Har netop gang i en tråd i forum på mySQL vedr. emnet...

http://forums.mysql.com/read.php?10,197808,197808#msg-197808

Hvad vil du foreslå som tilgang??

- - - -

Valget er umiddelbart mellem
LAMP og PostgreSQL+Tomcat+Java EE

ved... - ved ikke... - ved... - ved ikke... // ;o)

Mange tak for kommentarerne, de er meget værdifulde.
Avatar billede arne_v Ekspert
26. februar 2008 - 00:23 #8
re din tråd)

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.
Avatar billede arne_v Ekspert
26. februar 2008 - 00:27 #9
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.
Avatar billede arne_v Ekspert
26. februar 2008 - 00:30 #10
re valg)

I sidste ende er det jo dit valg.

Du kan også vælge at kigge lidt på begge dele.

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
Avatar billede rubberduckone Nybegynder
02. marts 2008 - 20:46 #11
hmmm - interessant // ;o)

Mange tak for gode tips og råd.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester