Eenvoudige Java web applicatie, welke server

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Yalopa
  • Registratie: Maart 2002
  • Niet online

Yalopa

Less is more!

Topicstarter
Om mijn ontwikkel kunst wat van onder het stof te halen heb ik besloten een kleine, eenvoudige web applicatie te bouwen. De volgende keuze's hebben mij gebracht waar ik nu sta:

Geen licentie kosten, het is een hobbyprojectje, het moet gratis zijn, als het gevolg is dat ik mijn applicatie niet kan commercialiseren is dat maar zo, dat is toch de bedoeling niet

Ik werk op OSX, als het kan installeer ik liever geen VM's met linux of Windows -> hieruit volgt de keuze voor Java en niet voor MS. In het dagelijkse leven kom ik veel met MS in aanraking, eens iets anders is ook eens leuk, ik heb voor alle duidelijkheid niets tegen MS


Keuze IDE; eclipse vs netbeans, elk zijn mening, en misschien is het voor sommigen religieus, maar ergens las ik een overtuigend artikel dat Netbeans toch een stukje voorloopt. Aangezien ik iets simpels wil maken wil ik geen vergaande analyse doen, het is netbeans geworden.

Een leuke tutorial zoeken dan maar, gevonden, de tutorial maakt gebruik van Glassfish. Nooit van gehoord, maar prima zeker? ik ken alleen Tomcat, JBoss en Weblogic. Onderliggende database platform gezien mijn keuze om niet op MS te ontwikkelen is het geen MSSQL (wat ik een beetje ken). MySQL is een gekend platform en wordt in de tutorial gebruikt, opnieuw ik maak iets simpels, dus een dure oracle is geen optie :p

We beginnen er aan; tutorial volgen, falen, google, fixen, verdergaan....

Opeens kom ik op een pagina die mijn verteld dat Glassfish niet langer door Oracle ondersteund wordt, ik check bij oracle en idd ze stoppen er mee en raden aan om naar Weblogic te gaan.

Vanuit mijn natuur denk ik direct, iets wat EOL is, daar moet je niet meer op instappen, dus ik moet iets anders gaan zoeken, maar wat?

https://blog.idrsolutions...vaee-application-servers/

Wat gaat de applicatie doen?

Individuele (ingelogde) gebruikers kunnen data invoeren, die data wordt dan bijgehouden in een tabel. Op die data worden dan analyses uitgevoerd die gevisualiseerd worden in grafiekjes.

zeer eenvoudig dus.

Welke server is gratis, eenvoudig, geïntegreerd in een IDE en goed gedocumenteerd? (ik zie er geen graten in om naar eclipse over te stappen moest dat helpen.

You don't need eyes to see, you need vision


Acties:
  • 0 Henk 'm!

  • youri_ajax
  • Registratie: Mei 2013
  • Laatst online: 07-07 12:48
Tijdje gewerkt met het Spring framework, makkelijk te configureren en er is best veel te vinden over op het internet.

Weet helaas niet hoe de integratie is in netbeans met spring maar weet wel dat IntelliJ Ultimate (betaalde versie helaas) wel een hele goede ondersteuning heeft.

Acties:
  • 0 Henk 'm!

  • CubicQ
  • Registratie: September 1999
  • Laatst online: 11:49
Glassfish is EOL voor commerciele support vanuit Oracle (lees: ze hebben liever dat je betaalt voor hun duurdere WebLogic - dat zat er ten tijde van hun overname spree van een paar jaar geleden wel aan te zitten: ze hadden op een gegeven moment 3 Java applicatie servers, dan hebben ze uiteindelijk naar (ex Bea) WebLogic teruggebracht). Glassfish blijft de JEE reference application server, dus vanuit dat oogpunt zou ik die zeker voor een hobbyproject niet af laten vallen.

Wanneer je alleen servlets gebruikt, kan je kiezen voor iets simpels als Tomcat. Wanneer je de complete JEE stack gebruikt, heb je een uitgebreidere server nodig. Het 'mooie' van Java is, dat zolang je je aan de standaard houdt (lees: geen proprietary uitbreidingen gebruikt), je applicatie draait op een willekeurige server. Dus wanneer je applicatie server om wat voor reden niet bevalt, kan je altijd switchen. Dus ik zou niet al te veel effort steken in het vinden van 'de perfecte server'.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 10-07 13:07
Yalopa schreef op zondag 5 februari 2017 @ 11:55:
Keuze IDE; eclipse vs netbeans, elk zijn mening, en misschien is het voor sommigen religieus, maar ergens las ik een overtuigend artikel dat Netbeans toch een stukje voorloopt. Aangezien ik iets simpels wil maken wil ik geen vergaande analyse doen, het is netbeans geworden.
Uit welk jaar was dat artikel? 2005? ;) IntelliJ is de de facto standaard Java IDE tegenwoordig. Maar gebruik gerust welke jij 't makkelijkst vindt werken; geen van de 3 is slecht.
Een leuke tutorial zoeken dan maar, gevonden, de tutorial maakt gebruik van Glassfish. Nooit van gehoord, maar prima zeker? ik ken alleen Tomcat, JBoss en Weblogic. Onderliggende database platform gezien mijn keuze om niet op MS te ontwikkelen is het geen MSSQL (wat ik een beetje ken). MySQL is een gekend platform en wordt in de tutorial gebruikt, opnieuw ik maak iets simpels, dus een dure oracle is geen optie :p
Misschien de volgende keer gewoon hier vragen i.p.v. zelf gaan vogelen? ;) Uberhaupt het maken en deployen van een .war in een servlet container als Tomcat of Glasshfish is enorm 2002.

Anyway. Spring is het de facto standaard web framework tegenwoordig. Er zijn genoeg andere relatief populaire maar ik raad je, gewoon puur door de enorme community, aan om gewoon met Spring aan de slag te gaan.

Voor Spring is er "Spring Boot" wat gewoon prepackaged starters zijn waarmee je snel aan de slag kan. Een voorbeeld van de documentatie voor het maken van een REST API: https://spring.io/guides/gs/rest-service/

Wat betreft het interfacen met je database kan ik je Spring Data JPA aanraden, dat is ook relatief simpel. [Deze guide](https://spring.io/guides/gs/accessing-data-jpa/) maakt gebruik van de in-process H2 database maar je kunt door de connect string te veranderen ook naar bijvoorbeeld MySQL connecten.

Het voordeel van de Spring Boot aanpak is dat de applicatieserver in je applicatie ingebakken zit. Je kunt je server applicatie dus gewoon in je IDE starten. Een gebouwde versie start je gewoon met java -jar <applicatie>.jar.

Mocht je vragen hebben; shoot. Ik werk dagelijks met Spring Boot, zowel in m'n werk als in hobby projecten.
youri_ajax schreef op zondag 5 februari 2017 @ 12:19:
Weet helaas niet hoe de integratie is in netbeans met spring maar weet wel dat IntelliJ Ultimate (betaalde versie helaas) wel een hele goede ondersteuning heeft.
De gratis IntelliJ CE is ook helemaal prima.
CubicQ schreef op zondag 5 februari 2017 @ 12:46:
Glassfish blijft de JEE reference application server, dus vanuit dat oogpunt zou ik die zeker voor een hobbyproject niet af laten vallen.
Glassfish is complete bagger. Het is niet voor niets EOL. Voor een hobbyproject is het overkill.
Wanneer je alleen servlets gebruikt
Nergens voor nodig.
, kan je kiezen voor iets simpels als Tomcat. Wanneer je de complete JEE stack gebruikt, heb je een uitgebreidere server nodig.
Mocht je met Java EE aan de slag gaan, wat ik ten zeerste afraad voor een beginner, kun je gewoon TomEE gebruiken. Maar wat ik al zei; dat wil je echt niet als een beginner.

[ Voor 27% gewijzigd door Hydra op 05-02-2017 13:27 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 01:12

The Eagle

I wear my sunglasses at night

Niet installeren, wel alles kunnen draaien zonder gezeik: http://www.oracle.com/tec...y/developer-vm/index.html
En dan is in jouw geval met name de Oracle Webcenter Portal VM interessant.

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 11-07 12:37
Waarom niet Spring Boot gebruiken? Dan kun je een self-contained JAR bouwen die Tomcat of Jetty in zich heeft. Als je Spring kent of ermee wilt werken, dan kun je vrij eenvoudig met de Spring Initializr aan de slag.

Anders zou ik een losstaande Jetty (of Tomcat) gebruiken. Als je per se EE wilt kun je ook gaan voor TomEE. Qua database gebruiken wij op het werk vooral PostgreSQL. Deze database integreert netjes met JPA (en Hibernate) en is makkelijk op te zetten met Docker.

Wil je het eea verder makkelijk gebruiken / hosten, zou je eventueel ook naar Heroku kunnen kijken. Daar kun je in de gratis tier makkelijk wat simpele Java hosten, ook in combinatie met een database.

Acties:
  • 0 Henk 'm!

  • youri_ajax
  • Registratie: Mei 2013
  • Laatst online: 07-07 12:48
Hydra schreef op zondag 5 februari 2017 @ 13:23:
De gratis IntelliJ CE is ook helemaal prima.
Wanneer je naar https://www.jetbrains.com/idea/download/ gaat staat bij de CE dat Spring niet ondersteund wordt? Of is dit aan te vullen dmv plugins?

Acties:
  • 0 Henk 'm!

  • beany
  • Registratie: Juni 2001
  • Laatst online: 09:49

beany

Meeheheheheh

Niks mis met de keuze voor Java, maar volgens mij is .net core (MS) tegenwoordig ook op de mac beschikbaar. Mocht je de keuzes toch nog eens willen overdenken ;)

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 10-07 13:07
youri_ajax schreef op zondag 5 februari 2017 @ 14:36:
Wanneer je naar https://www.jetbrains.com/idea/download/ gaat staat bij de CE dat Spring niet ondersteund wordt? Of is dit aan te vullen dmv plugins?
Ultimate heeft een aantal Spring integraties maar die heb je niet nodig om met Spring te werken.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Yalopa
  • Registratie: Maart 2002
  • Niet online

Yalopa

Less is more!

Topicstarter
Een paar antwoorden...

Er wordt gerefereerd naar een niet EE server versie (BVB gewoon Tomcat) is dat voldoende voor wat ik wil gaan doen?

IntelliJ: de gratis versie heeft geen DB ondersteuning, dat is voor mij een vereiste

Oracle Webcenter Portal: Oracle enterprise, web logic, fusion middleware... ik weet uit mijn professionele leven wat die dingen kosten, en wil er zo ver mogelijk van af blijven. we hebben het over een simpele applicatie...

.net core ziet er wel interessant uit, ik wist niet dat het kon. Als de Webserver en DB ook geen Windows nodig hebben zou ik nog kunnen swithen. de kwaliteit van documentatie bij MS vind ik nl gigantisch goed

Gewoon vragen ipv google: schijnt nogal not done te zijn op GOT, bij de DEV niet dan? Ik ben echt niet thuis in de DEV wereld...

You don't need eyes to see, you need vision


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12-07 22:17

Creepy

Tactical Espionage Splatterer

Gewoon vragen zonder zelf zaken uit te zoeken is ook hier not done ;)

Voor een "simpele" web app is geen EE ondersteuning nodig en zal Tomcat voldoen. Daarnaast is er ook nog TomEE wat eigenlijk tomcat is met EE ondersteuning, wat Hydra ook al aangeeft.

IntelliJ CE heeft dan misschien gaan "db ondersteuning" , maar dat is meer de tooling in de IDE zelf. Een DB benaderen vanuit je code kan in elk geval altijd.

En om naast Spring een alternatief neer te leggen waar ik persoonlijk zelf erg gecharmeerd van ben: Dropwizard. Ideaal om snel een REST API mee te maken en dan met een JS framework ala Angular er tegen aan te praten, maar direct HTML serveren kan ook prima. D.m.v . een embedded Jetty heb je geen applicatie server nodig, gewoon de JAR runnen zorgt voor een draaiende web app.

[ Voor 14% gewijzigd door Creepy op 05-02-2017 19:56 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 10-07 13:07
Yalopa schreef op zondag 5 februari 2017 @ 19:40:
Er wordt gerefereerd naar een niet EE server versie (BVB gewoon Tomcat) is dat voldoende voor wat ik wil gaan doen?
Gebruik gewoon Spring Boot. Ik heb niet voor niet die links gepost. Wat ik al zei; Spring is de de facto standaard voor Java web apps en war deployments zijn outdated.
IntelliJ: de gratis versie heeft geen DB ondersteuning, dat is voor mij een vereiste
Als alternatief kan ik je DBeaver aanraden. Veel beter dan de Eclipse en Netbeans built-ins.
Oracle Webcenter Portal: Oracle enterprise, web logic, fusion middleware... ik weet uit mijn professionele leven wat die dingen kosten, en wil er zo ver mogelijk van af blijven. we hebben het over een simpele applicatie...
Vandaar. Spring Boot.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 09:46
Ik zou voor een simpele web applicatie waarschijnlijk ook Spring Boot inzetten. Veruit de makkelijkste manier om te starten, vanwege de "convention over configuration" aanpak. Dat kan echter ook in je nadeel werken op het moment dat er iets niet werkt, of niet werkt zoals je wil of verwacht. Zeker wanneer je geen ervaring hebt met Spring ben je dan wel even zoet met uitvogelen wat er in vredesnaam allemaal op de achtergrond voor je gedaan wordt en hoe. Gelukkig zijn Spring en Spring Boot wel erg populair, dus problemen zijn daarmee vaak erg Googlebaar.
Er zijn ook alternatieve micro frameworks, waarmee je vlot een webapplicatie in de lucht hijst. Spark en Ninja zijn op dat gebied vrij populair.

Acties:
  • 0 Henk 'm!

  • Mortis__Rigor
  • Registratie: Oktober 2004
  • Laatst online: 11:08
Zoals hier al een paar keren geopperd is, voor een simpele applicate zou ik ook Spring Boot gebruiken. Dan kun je zelf nog altijd kiezen wat de front-end moet zijn.
Met Spring boot is het heel eenvoudig om iets op Heroku te deployen.

Als IDE: IntelliJ Community Edition voldoet genoeg. Je hebt uw standaard Java, Maven/Gradle integratie. De Spring integratie zit er niet in, maar die ga je ook niet direct missen, denk ik.
Pagina: 1