[Java] Beginnen met J2EE

Pagina: 1
Acties:

  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Topicstarter
Ik ben nu 10 maanden weer een beetje met Java aan het proggen geweest en het bevalt me uiterst goed. Ik wil nu alleen eens wat verder gaan kijken dan alleen de standaard versie en omdat webservices momenteel een hot-topic zijn wilde ik me eens gaan verdiepen in J2EE.

Ik heb al wat rondgekeken en er zijn een aantal zaken waar ik niet uit ben gekomen. Als meest cruciale onderdeel is er de application server. Als ik de J2EE sdk installeer krijg ik een mooite application server op mijn PC'tje. Wat ik nu niet begrijp is waar deze app server voor dient en wat de verschillen zijn met de commerciele app server (zoals Websphere). Kan ik goed uit de voeten met de standaard SDK add server of zal ik toch meer richting iets als JBoss gaan denken (en waarom!).

Ik wilde mijn kerstvakantie hieraan wijden en dat is de reden dat ik dit hier post. Ik zou graag wat dingen over J2EE hier uiteen willen zetten zodat anderen er ook gebruik van kunnen maken. Het gaat mij erom om in heldere taal de basis beginsels van J2EE mee te krijgen.

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


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

Alarmnummer

-= Tja =-

Je wilt je kerstvakantie hieraan wijden? Neem paar een paar jaar vakantie :P J2EE is (te) complex! :)

Ik zou als ik jou was even kijken naar Axis voor Webservices en Jetty als webapplicatie server (dat is voor jou op dit moment voldoende).

[ Voor 6% gewijzigd door Alarmnummer op 27-12-2004 16:11 ]


  • MrBarBarian
  • Registratie: Oktober 2003
  • Laatst online: 07-03-2023
Sun heeft een uitgebreid document over J2EE op haar website staan lijkt me.. Anders zijn er wel boeken (o'reilly?) die je ene zet in de goeie richting geven..

iRacing Profiel


  • kasper_vk
  • Registratie: Augustus 2002
  • Laatst online: 08-04-2025
Deddiekoel schreef op maandag 27 december 2004 @ 15:40:
[...]
Ik heb al wat rondgekeken en er zijn een aantal zaken waar ik niet uit ben gekomen. Als meest cruciale onderdeel is er de application server. Als ik de J2EE sdk installeer krijg ik een mooite application server op mijn PC'tje. Wat ik nu niet begrijp is waar deze app server voor dient en wat de verschillen zijn met de commerciele app server (zoals Websphere). Kan ik goed uit de voeten met de standaard SDK add server of zal ik toch meer richting iets als JBoss gaan denken (en waarom!).
[...]
Wat betreft die application server: ik kan je alleen melden dat ik zelf de combinatie Eclipse + JBoss + Lomboz plugin er prettig vindt werken. Waarom? Omdat je de server-side code op JBoss binnen Eclipse kunt debuggen via Lomboz... een stuk handiger dan logs & println()'s.

Wat die applicatieon server precies doet? Grofweg 2 dingen (naast wat de jvm voor je doet):
als webserver functioneren (please, anybody correct me if i'm wrong) en dus servlets & jsp's aanspreekbaar maken.
Ten tweede is een application server een 'container' voor 'Enterprise Java Beans'. Deze EJB's zijn overigens echt iets heeeeeel anders dan 'normale' Java Beans. Kort door de bocht nemen ze je veel werk uit handen en komen ze in 3 smaken: Session, Entity en Message EJB's.

Alleen al over die EJB's kun je vreselijk veel schrijven / lezen; die servlets en jsp's zijn aanzienlijk simpeler qua concept.
Een servlet is niets anders dan 'iets dat een verzoek krijgt en daarop een reactie teruggeeft'; een HttpServlet is dan ook de meest gebruikte vorm; die beantwoord dus http-requests. Een jsp is feitelijk ook een servlet (althans, ze worden omgezet naar een servlet), maar de nadruk ligt op het genereren van html; een jsp ziet er dus uit als voornamelijk een html-pagina met wat sturing en logica -tags erin.
In een full-blown J2EE web-app gebruikt men vaak servlets als AL-controllers, jsp's als view en EJB's als BL-controllers en model. Simpel gezeg dan ;)

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'


  • kasper_vk
  • Registratie: Augustus 2002
  • Laatst online: 08-04-2025
Alarmnummer schreef op maandag 27 december 2004 @ 16:11:
Je wilt je kerstvakantie hieraan wijden? Neem paar een paar jaar vakantie :P J2EE is (te) complex! :)

Ik zou als ik jou was even kijken naar Axis voor Webservices en Jetty als webapplicatie server (dat is voor jou op dit moment voldoende).
Kasper_vk beaamt dit 100%, al zweer ik dus bij Eclipse + Lomboz + JBoss.

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'


  • Stephan Oudmaijer
  • Registratie: Oktober 2000
  • Laatst online: 16-08-2023
ik weet nog wel twee leuke boek voor je :))

http://eu.wiley.com/Wiley...productCd-0764543857.html

en

http://eu.wiley.com/Wiley...productCd-0764558315.html

Die sample hoofdstukken zijn een goed begin.

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

Alarmnummer

-= Tja =-

MrBarBarian schreef op maandag 27 december 2004 @ 16:12:
Sun heeft een uitgebreid document over J2EE op haar website staan lijkt me.. Anders zijn er wel boeken (o'reilly?) die je ene zet in de goeie richting geven..
Bij J2EE zie je al heel snel door de bomen het bos niet meer (j2EE is tenslotten een vergaarbak voor allerlei enterprise zaken).

@TopicStarter:
1) Probeer uit te zoeken hoe servlets werken en hoe je een servlet (hello world) op een webapplicatieserver (jetty - lekker licht) aan de praat krijgt.
2) Probeer bovenstaande via ANT aan de praat te krijgen. Builden, warren copieeren
3) Dan proberen hoe je via Axis webservices aan de praat krijgt.

Andere zaken zou ik voorlopig even links laten liggen omdat je zo snel van het pad af kan raken.

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

[b]kasper_vk schreef op maandag 27 december 2004 @ 16:13:[/b
Wat die applicatieon server precies doet? Grofweg 2 dingen (naast wat de jvm voor je doet):
als webserver functioneren (please, anybody correct me if i'm wrong) en dus servlets & jsp's aanspreekbaar maken.
Ten tweede is een application server een 'container' voor 'Enterprise Java Beans'. Deze EJB's zijn overigens echt iets heeeeeel anders dan 'normale' Java Beans. Kort door de bocht nemen ze je veel werk uit handen en komen ze in 3 smaken: Session, Entity en Message EJB's.
Ik dacht dat een application server alleen het tweede doel behartigd. Voor de webserver functionaliteit wordt vaak gebruik gemaakt van een JSP en Servlet compatible webserver als Tomcat. JBoss levert bijv. Tomcat mee voor de JSP en servlets.

Als je nog een goed boek zoekt, ik ben erg tevreden over het boek Pro J2EE 1.4 Sue Spielman en Meeraj Kunnumparuth (je zal het maar moeten spellen :P). Dat is uitgegeven door Apress.

[ Voor 4% gewijzigd door FendtVario op 27-12-2004 16:29 . Reden: typo ]

www.fendt.com | Nikon D7100 | PS5


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Deddiekoel schreef op maandag 27 december 2004 @ 15:40:
Ik heb al wat rondgekeken en er zijn een aantal zaken waar ik niet uit ben gekomen. Als meest cruciale onderdeel is er de application server. Als ik de J2EE sdk installeer krijg ik een mooite application server op mijn PC'tje. Wat ik nu niet begrijp is waar deze app server voor dient en wat de verschillen zijn met de commerciele app server (zoals Websphere). Kan ik goed uit de voeten met de standaard SDK add server of zal ik toch meer richting iets als JBoss gaan denken (en waarom!).
De J2EE Reference implementation bevat idd een appserver, deze kan je gebruiken maar de licentie (Sun J2EE SDK license) laat dit niet toe voor commercieel gebruik. Ik zou eerder richting JBoss kijken (of Tomcat indien je voldoende hebt aan een webserver alleen).
Een commerciële applicatie server zoals een Websphere bevat nog wel wat meer dan een servlet-container en een ejb-container. Zo bevat een Websphere daarbuiten nog een embedded http-server (hiernaast kan nog een andere http-server draaien, ondersteund voor verschillende vendors), J2C-Container, JNDI, JMS-Service, Security Service, Application Assembler Tool, mogelijkheid tot clustering (zowel horizontaal als verticaal) Network deployment mogelijkheden, JAAS, ...

Zelf heb ik al met beiden gewerkt (JBoss, WAS) en ik moet zeggen dat beiden zeer goed werken. Een opvallend negatief punt bij de JBoss AppServer is dat deze door hot-deployment wel eens overkop kan gaan. Maar na het herstarten van de appserver zijn de problemen hiermee ook wel opgelost.

Mijn raad aan jou is: Begin eerst met een simpele http-server zoals Tomcat (omdat je de extra functionaliteiten van een appserver toch niet dadelijk zal nodig hebben). Deze zijn relatief simpel op te zetten en makkelijk te onderhouden.
Ik wilde mijn kerstvakantie hieraan wijden en dat is de reden dat ik dit hier post. Ik zou graag wat dingen over J2EE hier uiteen willen zetten zodat anderen er ook gebruik van kunnen maken. Het gaat mij erom om in heldere taal de basis beginsels van J2EE mee te krijgen.
Ik denk niet dat je met je kerstvakantie alleen al zou toekomen hoor. :+
Deze kerstvakantie zal dus niet volstaan om J2EE onder de knie te krijgen hoor. Dit is niet om je te ontmoedigen, maar dan weet je wel waar je staat en dat je niet teveel hooi op je vork zal moeten nemen. Ik raad je aan om simpel te beginnen. Probeer eerst eens met pure JSP's iets op te zetten. Daarna ga je verder en betrek je er servlets bij voor je applicatielogica. Probeer daarnaast ook ANT zeker eens uit om je build/deploy proces te vergemakkelijken..

Als je hier al aardig mee overweg kan, kan je eens kijken naar een MVC framework zoals Struts/Tiles, JSF, Webwork/Sitemesh (ik raad je Struts aan.. maar dat is mijn persoonlijke opvatting). Op die manier kan je al aardige applicaties opzetten en zo kan je je steeds meer en meer verdiepen in de webapplicatie ontwikkeling. Dadelijk naar webservices springen is natuurlijk ook een optie, maar dit is misschien iets té veel van het goede (van de hak op de tak springen?)

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

Alarmnummer

-= Tja =-

Kortom: gebruik iets simpels. De meest simpele webapplicatie server = Jetty. Kijk daar na en laat die grote jongens Tomcat ed links liggen. Eerst simpel zodat je tenmisnte ook kunt achterhalen waarom er bv iets fout gaat of hoe het in elkaar zit.

Anders loop je gegarandeerd het risico dat je de problemen van de oplossing loopt op te lossen, ipv het probleem op te lossen.

  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Topicstarter
Bedankt!
Ik had niet de illusie dat ik een weekje even J2EE kon leren maar ik wil in deze week gewoon de concepten wat helder voor me hebben. Een van de doelen was wel om een J2EE versie van "Hello World" te krijgen. Dat moet allemaal te doen zijn.
Ik heb ook redelijk wat ervaring met PHP en dacht eigenlijk dat JSP ook iets dergelijks was. Is dit een misvatting? en als het wel zo is dat de twee vergelijkbaar zijn hoe groot is de stap van JSP naar webservice (want die kant wil ik zeker op)?

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


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

Alarmnummer

-= Tja =-

Deddiekoel schreef op maandag 27 december 2004 @ 22:35:
Bedankt!
Ik had niet de illusie dat ik een weekje even J2EE kon leren maar ik wil in deze week gewoon de concepten wat helder voor me hebben. Een van de doelen was wel om een J2EE versie van "Hello World" te krijgen. Dat moet allemaal te doen zijn.
Ik heb ook redelijk wat ervaring met PHP en dacht eigenlijk dat JSP ook iets dergelijks was. Is dit een misvatting? en als het wel zo is dat de twee vergelijkbaar zijn hoe groot is de stap van JSP naar webservice (want die kant wil ik zeker op)?
JSP en Webservice zijn 2 totaal verschillende zaken. En met Axis werken is net zo simpel als RMI (je krijgt skeletons/stubs) en je hebt eigelijk geen ene klap te maken met Webservices. Het enigste dat je behoorlijk wat tijd gaat kosten is de configuratie van (brakke) Axis. Het is typisch zo`n opensource product. Slechte foutmeldingen, slecht gedocumenteerd. Maarja die brakke kut webservice implementatie van Sun is ook geen alternatief (zeker niet als je een speciale versie van Tomcat moet installeren).

In de toekomst (nu niet), moet je ook kijken naar Spring. Spring is het lijm tussen allerlei j2ee technieken en een van de mogelijkheden is dat je gewoon java objecten in een remote proxy kan gooien. Een van deze remote proxies is een webservice proxy. Hierdoor is het nog eenvoudiger geworden om met webservices te werken. Je moet uiteraard wel een course grained interface maken, anders krijg je namelijk een chatty app. Spring maakt trouwens ook gebruik van Axis.

[ Voor 18% gewijzigd door Alarmnummer op 27-12-2004 22:50 ]


  • CubicQ
  • Registratie: September 1999
  • Laatst online: 10:48
JSP wordt in J2EE gebruikt voor de presentatielaag. En inderdaad, globaal gezien kan je JSP pagina's vergelijken met PHP pagina's. In beide gevallen heb je HTML met daarin tags waarin je programmeer-instructies zet.

Het is echter aan te raden om zo weinig mogelijk (of nog beter: geen) java code in je JSP's op te nemen en voor echte code servlets (of andere echte java objecten) te gebruiken.

Ik zou je trouwens aanraden om nog niet direct te beginnen met webservices / EJBs (tenzij je al ervaring hebt met CORBA oid), in eerste instantie maakt het niet echt heel erg uit waar je services leven, in het begin voor hobby-projectjes is een pojo (plain old java object) net zo makkelijk.

Persoonlijk zou ik gaan voor de volgende leerweg: JSP, Servlet, JSP / Servlet / Javabean gecombineerd (MVC Pattern!), beginnetje met JSTL / evt zelfs custom tags, daarna zou je kunnen kijken naar bijvoorbeeld Struts, da's een mooi voorbeeld van een MVC pattern wat in de praktijk veel gebruikt wordt. Daarna is je vakantie wel om denk ik :) Daarna zou ik pas gaan kijken naar dingen als webservices, EJB's, etc. Functioneel gezien gebruik je een WS niets anders dan een pojo (als je de juiste tools gebruikt om proxies te maken), dus het enigste wat je erbij krijgt is dat je deployment een stuk moeilijker wordt dan wenselijk is.

Verwijderd

vergeet niet dat TS reeds JAVA begonnen was enkele maanden geleden ofzo. Stel je voor dat hij toen SWING binnenstebuiten gekeerd heeft. Dan vind ik het niet geheel onlogisch dat hij webservices belangrijker vind dan webapplicaties. Tenslotte leunt dat dan meer aan bij zijn 'leertraject'. En ik vind WS iets betere/nuttiger/breder toepasbaare materie dan Session Beans (die ik niet slecht vind, begrijp me niet verkeerd).

Maar ik zou idd nog niet echt beginnen met EJBs, JMS ed. Begin met enkele eenvoudige webservices, gooi er javamail bij en probeer er beetje bij beetje meer API's in te betrekken. Je kerstvakantie zal snel vooruit gaan ;)

Mijn ervaring leert dat teveel initiele configuratie het echt (leren) ontwikkelen remt...dus one at a time je hebt de tijd...

  • MrBarBarian
  • Registratie: Oktober 2003
  • Laatst online: 07-03-2023
Alarmnummer schreef op maandag 27 december 2004 @ 16:19:
[...]

Bij J2EE zie je al heel snel door de bomen het bos niet meer (j2EE is tenslotten een vergaarbak voor allerlei enterprise zaken).
Helaas klopt dat ja.. Maar ik denk dat het wel verstandig is eerst eens te kijken wat J2EE nou eigelijk inhoudn, en welke termen erin rondzwerven (veel dus).. Als je direct met bouwen begint mis je, denk ik, de kern erachter..

Ergens (weet niet meer waar) zwerft een gratis e-book over de J2EE specification in het rond. Dat boek is ondertussen veroudert, maar geeft wel goed weer waar de J2EE-wereld nu eigelijk om draait.. Misschien dat iemand weet welk boek ik bedoel?

iRacing Profiel

Pagina: 1