Toon posts:

[EJB] Koppen bij elkaar.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi mede(EJB)tweaker,

Ik heb al een tijdje verschillende topics hier gelezen over EJB's. Ik merk dat er veel onduidelijkheid en weinig ervaring hierover bestaat qua ontwikkeling, toepassing, deploy, enz.
Wanneer zet je nu entity-, session(stateless, stateful)- of messagedriven beans in. Kies je voor EJB1.1 of EJB2.0. (local of remote mode)enz. :?

Is het een idee om hierover eens de koppen bij elkaar te gaan steken hoe je nu effectief met EJB's om kan gaan. :)
Het zou misschien via een webForum kunnen of op een bepaalde plek een voorbeeldtoepassing maken. Kijk, zo groot is nederland nu ook weer niet.
Er kan worden afgesproken om dezelfde tool te gaan gebruiken.
Borland heeft een schitterende trial hiervoor: jBuilder6 Enterprise.

Laat maar eens horen hoe tweakerland.P&W hier over denkt.
Kennisuitbreiding hierover kan geen kwaad, lijkt me.

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Pfoe, ik heb 1 keertje met EJB gespeeld en daarna nooit meer :r :( Alle tutorials op internet die ik kon vinden gebruikte oude versies van J2ee, alles heel vaag en onduidelijk... Het verschil tussen web-container en App-container snap ik nog steeds niet :D Ik begin er niet meer aan. Maar als er hier mensen zijn die nog leuke linkjes ofzo hebben dan zal ik er weer es naar gaan kijken, met name JSP en servlets lijken me wel interresant.

Ook had een collega een keer de petshop-demo van Sun (een EJB app) geinstalleerd en die scheen erg traag te werken :?

En inderdaad, JBuilder is een fijn pakket :)

Misschien is EJB een onderwerp voor het thema-forum ;) ?

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

Alarmnummer

-= Tja =-

EJB zijn toch is volledig anders dan Servlets en JSP?? *heeft vroeger wel eens een tutorial gevolgd maar heb me er nooit voor kunnen interesseren*

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Op maandag 18 maart 2002 16:59 schreef Alarmnummer het volgende:
EJB zijn toch is volledig anders dan Servlets en JSP?? *heeft vroeger wel eens een tutorial gevolgd maar heb me er nooit voor kunnen interesseren*
Je kan vanuit een servlet/jsp een EJB aanroepen, en dat lijkt me nou juist interressant :)

* MisterData snapt ook al geen hol van Tomcat, en heeft op het moment geen zin om ernaar te kijken

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Het punt van EJB's is dat je binnen een heel strakke omlijning moet werken. Veel dingen mag je niet zomaar doen.

Een leuke uit de EJB specificatie: Gebruik van de java.io package is strikt verboden. Het heeft een te grote impact op de overdraagbaarheid van de EJB's.

session beans worden over het algemeen gebruikt voor het afhandelen van request.

statefull session beans worden vers geinstantieerd en gelden zolang de sessie van de aanroeper duurt. Een sessie kan eindigen na een timeout of op afroep door de sessie eigenaar.

Stateless session beans worden meestal gepooled, zoals de naam al zegt bevatten ze geen status/sessie info. Een business functie wordt aangeroepen, afgehandeld en klaar. De bean gaat weer terug in de pool voor de volgende request.

Daarnaast heb je entity beans, dit is een stuk lastiger dan session beans. Belanrijkste om te onthouden is dat het weggooien van een entity bean inhoud dat je de data die het beestje bevat ook uit je persistente storage wordt gedelete (database). Je hebt BMP en CMP -> Bean of Container Managed Persistence. Verschil merk je van buitenaf niet. Het houdt in dat de verantwoordelijkheid voor de opslag bij de Bean of de Container ligt.

Message driven beans maken gebruik van JMS. Java Message Service. Dit is een redelijk nieuwe API waarmee je een bericht kan sturen. Leuke is dat je zo'n bericht als een soort email achtig ding kan zien. De aflevering ervan geschied automatisch nadat je het verstuurd hebt, het kan gecached worden, of opgeslagen ter latere verwerking. En nog meer van dat soort leuke dingen.

Belangrijkste om te onthouden van een het EJB systeem is dat het bedoeld is om je werk uit handen te nemen. Je hoeft bij correct gebruik veel minder low-level te programmeren. Daarnaast moet je, mits volgens de specificaties gebouwd, een EJB met een vinger in je neus in een ander type App container kunnen deployen.

Verschil tussen Web en App containers?

Web biedt een runtime aan voor servlets (dus impliciet ook JSP's) terwijl een App container een runtime aanbiedt voor EJB's. Concreet houdt dit in dat een Web Container de serlvet en JSP api beschikbaar stelt en dat een App container de EJB api beschikbaar stelt.

Verder moet je niet vergeten dat EJB's context gebonden componenten zijn. Dit betekend dat een EJB zonder zijn omgeving (app container) nergens toe in staat is.

Hoe leer je werken met EJB's en J2EE in het algemeen? Niet met een paar tutorialtjes. Daar is J2EE te omvangrijk en complex voor. Ik zou zeggen koop er een GOED boek over. Verder heb je alleen de J2EE SDK van Sun nodig, daar zit alles in wat je nodig hebt. (ok ook de standard SDK) En je favoriete ontwikkel omgeving. De J2EE SDK bevat een complete reference implementatie, dus je hoeft niet meteen te duiken op alle complexe details van een commerciele app server. Want die zijn helaas vaak nogal ingewikkeld van opzet en niet erg eenduidig wat betreft gui en configuratie.

Vergeet ook de officiële Sun J2EE tutorial niet. Daar staat alles in wat je weten moet over EJB's. 't Is echter van redelijk niveau en je MOET overweg kunnen met Java in het algemeen, anders snap je er geen drol van:
http://java.sun.com/j2ee/tutorial/1_3-fcs/index.html

Gelukkig ook te downloaden (onderandere als PDF):
http://java.sun.com/j2ee/tutorial/download.html

PDF versie is een dikke 700 pagina's.