Toon posts:

[j2ee] Welke application server

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben op zoek naar advies welke application server ik het beste zou kunnen gebruiken. Het gaat om een web applicatie voor een startup bedrijf waar ongeveer 10 users tegelijk ingelogd zullen zijn (schatting).

In het verleden was de keus makkelijk omdat er maar 1 AS was: Orion.

Er waren vroeger ook wel andere verkrijgbaar, maar die klapte er altijd meteen uit onder load, dus in de praktijk was er echt maar 1. Als ik nu naar de schaarse J2EE benchmarks kijk dan zie ik dat er ook nog andere servers zijn tegenwoordig die er helemaal niet meteen uit klappen. Zie bv

http://www.webperformanceinc.com/library/ServletReport/

Helaas is deze test weer uitsluitend gedaan met de out-of-the-box instellingen van elke AS / servlet container en onder Windows. Natuurlijk draait bijna niemand in het echt een server onder Windows, zodat je aan deze test nog niet al te veel hebt.

Ik zit dus te twijfelen welke AS of servlet container het beste is. Prijs is een hele belangrijke issue, dus de grotere commerciele vallen al meteen af. Orion is nog net te doen kwa prijs.
Ik heb geen EJB nodig, maar wil wel JSF gaan gebruiken en mischien daarna nog spring.

Orion was altijd de onbetwiste performance koning, maar loopt nu wel erg achter op de specificaties (J2EE 1.3 is pas sinds heel kort 100% geimplementeerd). Ik zat dus te kijken naar:
-Apache met de container Tomcat (snel, gratis, en de nieuwste specs), of
-Jboss (gebruikt tomcat als servlet container, dus vergelijkbare snelheid, ook gratis plus gecertificeerd).
-Toch Orion (bewezen snel, volledige start server binnen de seconde: vooral heel handig voor developpen)

Nadeel van Jboss is wel dat er veel zaken bijzitten die ik helemaal niet ga gebruiken. Hoewel de applicatie die er moet draaien verre van simpel is (zo'n 200.000 regels code), wordt er dus geen gebruik gemaakt van EJB of andere 'enterprise' technieken. Nadeel van Orion is toch de prijs, maar voornamelijk het feit dat ze zo achter lopen of de specs en er weinig hoop is dat er binnen afzienbare tijd een J2EE 1.4 implementatie van komt.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op maandag 14 februari 2005 @ 11:12:
Er waren vroeger ook wel andere verkrijgbaar, maar die klapte er altijd meteen uit onder load, dus in de praktijk was er echt maar 1.
Met 10 concurrent users zal die load wel niet zoveel voorstellen.
Helaas is deze test weer uitsluitend gedaan met de out-of-the-box instellingen van elke AS / servlet container en onder Windows. Natuurlijk draait bijna niemand in het echt een server onder Windows, zodat je aan deze test nog niet al te veel hebt.
Wij draaien JBoss/Windows only. (Op de servers draait er windows 2003 server geloof ik).
Ik zit dus te twijfelen welke AS of servlet container het beste is. Prijs is een hele belangrijke issue, dus de grotere commerciele vallen al meteen af.
Ik vond zelf Jetty wel erg prettig. En Tomcat is ook wel vrij bekend en werk ik zo nu en dan ook mee. En verder werk ik ook met JBoss (dat is op mijn werk). Ik erger me bij jboss alleen groen en geel aan die belachelijke lange stacktraces als er iets fout gaat bij het opstarten van mijn systeem. 10.000+ regels is geen probleem (en meteen kut omdat mijn console max 10.000 regels aankan).
-Apache met de container Tomcat (snel, gratis, en de nieuwste specs), of
Tomcat is ook een volledige webserver. Dus als je niet al te veel gekkigheid nodig bent zou je misschien apache links kunnen laten liggen.
-Jboss (gebruikt tomcat als servlet container, dus vergelijkbare snelheid, ook gratis plus gecertificeerd).
Het is maar net wat je nodig bent. JBoss ondersteund alle j2ee specs maar als je maar een fractie nodig bent kan een kleine servlet container ook voldoende zijn.
-Toch Orion (bewezen snel, volledige start server binnen de seconde: vooral heel handig voor developpen)
Hot deploy maakt veel goed.. en op mijn werk is de opstarttijd van een kale jboss ook maar een paar seconden.

Ik werk zelf ook met Spring en dat draait onder de door mij genoemde servers goed. Het voordeel aan jboss is dat je een omgeving hebt waar alles al in zit.. Database connectie pooling, jms etc etc. Met tomcat moet je dat zelf weer met externe tools gaan toevoegen.

[ Voor 9% gewijzigd door Alarmnummer op 14-02-2005 11:29 ]


Verwijderd

Topicstarter
Alarmnummer schreef op maandag 14 februari 2005 @ 11:19:
[...]
Met 10 concurrent users zal die load wel niet zoveel voorstellen.
Voor het applicatie gedeelte niet nee. Ik was er nog vergeten bij te vermelden dat er ook een gedeelte bij zit wat alleen maar (dynamische) content laat zien (views serveren) en daar is de load veel hoger. Het systeem wat in Amerika draait haalt wel eens 2 miljoen views per dag op redelijk simpele hardware.

De web applicatie heeft echter bij lange na niet zoveel users, er zitten alleen een zooitje editors op die content aan maken. Dat editten moet natuurlijk wel snel blijven, maar heeft hele andere performance eisen dan de servers die de content laten zien.
Wij draaien JBoss/Windows only. (Op de servers draait er windows 2003 server geloof ik).
Hmmm, ok. Ik ben er niet al te diep ingedoken, maar ik had begrepen dat het niet al te vaak voorkwam dat mensen een server op Windows draaien. Ik dacht dat Windows meer een desktop OS is (voor games, en office werk enzo), en Linux meer voor de servers, zekers als het voor non-MS server werk is (dus geen exchange of IIS server).
Ik erger me jboss alleen groen en geel aan die belachelijke lange stacktraces als er iets fout gaat bij het opstarten van mijn systeem. 10.000+ regels is geen probleem (en meteen kut omdat mijn console max 10.000 regels aankan).
Ik las dat in een andere thread van jou ja. Met 10.000+ regels zouden onze log files ook zeer snel overlopen denk ik.
Tomcat is ook een volledige webserver. Dus als je niet al te veel gekkigheid nodig bent zou je misschien apache links kunnen laten liggen.
Dat is waar. Wat zou het voordeel zijn om Tomcat toch met apache te gaan gebruiken? Mischien de URL re-writing feature van apache? Dat leek me wel handig eigenlijk.
Hot deploy maakt veel goed.. en op mijn werk is de opstarttijd van een kale jboss ook maar een paar seconden.
Dat klinkt toch wel goed. Ik heb al even Sun Application Server geprobeerd, maar die deed er echt lang over.
Ik werk zelf ook met Spring en dat draait onder de door mij genoemde servers goed. Het voordeel aan jboss is dat je een omgeving hebt waar alles al in zit.. Database connectie pooling, jms etc etc. Met tomcat moet je dat zelf weer met externe tools gaan toevoegen.
Connection pooling is iets wat ik zeker wel nodig heb.

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
JBoss kan heel geschikt zijn. Dit omdat alle componenten binnen JBoss als het ware plugins zijn. Je kan de server dus zo kaal maken als je wilt.

(kan je terugvinden in de documentatie die tegenwoordig ook gratis is).

Binnen JBoss zijn drie server soorten standaard aanwezig, minimal, default en all in de documentatie is terug te vinden wat welke allemaal standaard ondersteund. Het is ook mogelijk om er zelf één bij te maken.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op maandag 14 februari 2005 @ 12:06:
Hmmm, ok. Ik ben er niet al te diep ingedoken, maar ik had begrepen dat het niet al te vaak voorkwam dat mensen een server op Windows draaien. Ik dacht dat Windows meer een desktop OS is (voor games, en office werk enzo), en Linux meer voor de servers, zekers als het voor non-MS server werk is (dus geen exchange of IIS server).
Ons zuster bedrijf dat de hosting doet draait voornamelijk windows server 2003.
Ik las dat in een andere thread van jou ja. Met 10.000+ regels zouden onze log files ook zeer snel overlopen denk ik.
Van de logfiles kan ik de config opties aanpassen... mijn console niet... tenminste niet dat ik meer dan 10.000 regels krijg. Als ik jetty trouwens gebruik dan heb ik er geen last van... werkt echt zoveel prettiger, maar dan moet je zelf weer allerlei zaken toe gaan voegen. Als ik er thuis mee werk heb ik daar niet zoveel problemen mee, maar allerlei opensource zaken bij elkaar te gaan verzamelen en daar iets werkbaars mee te maken is ook niet altijd even bevordelijk voor de stabilteit. Verder loop je vaak tijd te verknallen door bagger documentatie.
Connection pooling is iets wat ik zeker wel nodig heb.
Probeer JBoss eens zou ik zeggen. En als je er een beetje op let (en zeker icm met spring) is het volgens mij niet zo ingewikkeld om een applicatieserver onafhankelijke applicatie op te stellen.

[ Voor 13% gewijzigd door Alarmnummer op 14-02-2005 12:20 ]


Verwijderd

certifiëring is geen echte pro voor JBoss als je geen EJB/JMS/ andere enterprise features nodig hebt.
Tomcat heeft ook Connection pooling, en Tomcat is de reference implementation van de JSP/Servlet standaard, dus dat lijkt me net zo goed als een certificaat.
Spring kan je dan helpen met enkele techniciteiten als transactionmanagement die je anders met een full blown appserver(EJB session layer) zou implementeren.

Naar wat ik hoor (geen ervaring) is Jetty lichter, performanter en makkelijker te gebruiken dan Tomcat. Jetty gebruikt dacht ik ook dezelfde JSP/Servletengine (Jasper en Katalina?) dan Tomcat, wat het technische verschil dus niet zo groot kan maken.
Databasepooling en Jetty? Kan niet zo moeilijk zijn (maar ik weet het niet, ik weet dat het in Tomcat heel eenvoudig is).

En zoals je wel zult weten draait JAVA op zowat alles, dus kan je application server op Unix (solaris, HP-UX, ...), linux (kies maar), windows (kies maar, maar mss toch best een NT variant) draaien. Maar gezien je budget kun je wel besparen op een windows licentie en een of andere linux nemen (kijk wel uit naar de java ondersteuning, ik heb problemen gehad met Debian stable en de sun SDK)

Jetty werd gekozen door de ontwikkelaars van Geronimo (een JBoss concurrent in wording) en loont dus zeker ook de moeite...

Kijk dus eens goed naar Tomcat en Jetty, op die manier heb je een makkelijker en overzichtelijker keuze te maken. Alarmnummer heeft gelijk ivm Spring, het zal je met enkele eenvoudige truucjes enkele belangrijke mogelijkheden leveren (transaction management is het eerste waar ik aan denk).

Verwijderd

Topicstarter
Bedankt voor alle replies.

We draaien nu al Debian Linux met sun JDK en Orion. Dit draait opzich stabiel. Slechts 1 keer last gehad met de JDK 1.4.0 (die klapte er meteen uit met allemaal rare VM errors), maar voorderest weinig last gehad. (draaien nu 1.4.2).

De app zou portable moeten zijn, ik kan hem tenminste zo onder Sun AS 8.0 draaien. Ik zou ook niet zo snel weten hoe ik iets AS specifics zou moeten doen eigenlijk. Wat is nu typisch iets dat op de ene AS wel zou werken en op de andere niet?

Ik had begrepen dat Jboss vroeger Jetty gebruikte en nu Tomcat. Volgens het rapport wat ik in de TS quote is jetty wat minder kwa performance.

offtopic:
Wat is performanter? Heeft dat met het engelse woord performance te maken of is het iets totaal anders?

Verwijderd

Verwijderd schreef op maandag 14 februari 2005 @ 14:19:
Bedankt voor alle replies.

We draaien nu al Debian Linux met sun JDK en Orion. Dit draait opzich stabiel. Slechts 1 keer last gehad met de JDK 1.4.0 (die klapte er meteen uit met allemaal rare VM errors), maar voorderest weinig last gehad. (draaien nu 1.4.2).

De app zou portable moeten zijn, ik kan hem tenminste zo onder Sun AS 8.0 draaien. Ik zou ook niet zo snel weten hoe ik iets AS specifics zou moeten doen eigenlijk. Wat is nu typisch iets dat op de ene AS wel zou werken en op de andere niet?

Ik had begrepen dat Jboss vroeger Jetty gebruikte en nu Tomcat. Volgens het rapport wat ik in de TS quote is jetty wat minder kwa performance.

offtopic:
Wat is performanter? Heeft dat met het engelse woord performance te maken of is het iets totaal anders?
JBoss had vroeger 2 downloads:
Jboss + Tomcat en JBoss + Jetty

en toen had je nog de keuze. Maar nu ondersteunt JBoss enkel nog Tomcat. Ik heb nog nooit performanceklachten gehoord over Jetty, maar persoonlijk spreek ik me daar niet over uit.


iets typisch dat verschilt per application server? deployment descriptors voor EJB's durven al eens verschillen, datasource definities, ... dus vooral configuratie bestanden bij mijn weten

offtopic:
inderdaad. Performant betekent snel en goed requests afhandelen.
Vergeet niet dat je het grootste deel van die performantie zelf in handen hebt aangezien die application servers niet zoveel verschillen onderling.

  • Jrz
  • Registratie: Mei 2000
  • Laatst online: 19:46

Jrz

––––––––––––

Als het alleen een servlet-container moet zijn, zal je niets aan jboss hebben..
tomcat of resin komen dan naar voren.

Ikzelf vind resin lekkerder werken. Kost 500 dollar, of gratis (niet-commercieel)
Super snel, en werkt lekker tijdens ontwikkelen.. al 5 jaar geen problemen mee gehad

[ Voor 52% gewijzigd door Jrz op 14-02-2005 16:37 ]

Ennnnnnnnnn laat losssssssss.... https://github.com/jrz/container-shell (instant container met chroot op current directory)


Verwijderd

Topicstarter
Veel keuzes op het J2EE platform... Keuze voor de AS, keuze voor de VM, keuze voor het framework. Iniedergeval zijn alle frameworks anders (behalve de JSF implementaties dan weer), maar vooral de AS en de VM zijn van iedereen eigenlijk hetzelfde.

Ja, resin zat ik zeker ook nog naar te kijken. Deze komt ook goed uit het raport. De 500 kunnen we wel betalen, is nog altijd goedkoper dan Orion.

Ik zat nu te denken aan de jrockit vm (alternatieve vm van Bea, schijnt een stuk sneller dan die van Sun te zijn) icm met toch maar Jboss. Ik zal eens wat gaan performance testen wat voor onze app het beste performed (met The Grinder, aan java load test framework).

  • Jrz
  • Registratie: Mei 2000
  • Laatst online: 19:46

Jrz

––––––––––––

Ik denk dat je je teveel zorgen maakt over de performance.. Een andere VM zal wat schelen ja, maar daar zal het niet van af gaan hangen.

Ennnnnnnnnn laat losssssssss.... https://github.com/jrz/container-shell (instant container met chroot op current directory)


  • simon
  • Registratie: Maart 2002
  • Laatst online: 13-05 17:26
Opmerking van een noob op dit gebied, ben er ook mee begonnen. Ik begon met tomcat maar ik werd gek van de config hell, de manual is op veel plekken een ramp en mist gewoon stukken. Zetten ze doodleuk bij dat ze 't nog niet af hebben...Die van jboss daarentegen dekt wel meer :)

|>


Verwijderd

Topicstarter
Jrz schreef op maandag 14 februari 2005 @ 17:35:
Ik denk dat je je teveel zorgen maakt over de performance.. Een andere VM zal wat schelen ja, maar daar zal het niet van af gaan hangen.
Nouja, als een andere VM beter scaled (memory efficienter gebruikt) en het is gratis, dan is dat toch mooi meegenomen. Natuurlijk zal ik daar niet al te veel tijd in gaan stoppen, omdat veel execution tijd toch in onze queries zit (die doen nogal ingewikkelde dingen).

In het verleden hadden we wel wat problemen met de Sun 1.4.2 JDK icm met hyperthreading in de P4 CPU. Maar je hebt met java dus zoals gezegd veel keuzes, was het OS nog vergeten, maar daarvoor staat onze keuze al vast: Debian GNU/Linux.
Vergeleken daarbij is ASP.NET wat makkelijker. Windows, het standaard .NET framework met het standaard ASP.NET, en IIS.

Verwijderd

En een Macromedia Jrun 4 :) Overall voordelig, compleet, en snel :)

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 13-05 13:51
Verwijderd schreef op maandag 14 februari 2005 @ 17:44:
Maar je hebt met java dus zoals gezegd veel keuzes, was het OS nog vergeten, maar daarvoor staat onze keuze al vast: Debian GNU/Linux.
Ik heb goede ervaring met de combinatie Apache/Resin op een zeer hoog traffic CMS (website van een van de grootste landelijke krant). Wel met een batterij aan caching, loadbalancers en wat al nog meer ervoor om de load op te vangen.

Andere klant draait met IIS/Resin (vloeken in de kerk :) op een 100% database (Oracle) content driven dynamische site voor max. ongeveer 100 concurrent users. Werkt ook goed, de ontwikkelomgeving draait op Apache/Resin, wederom zonder problemen.
Pagina: 1