<?xml version="1.0" encoding="UTF-8"?>

<xwikidoc>
<web>Main</web>
<name>Overview</name>
<language></language>
<defaultLanguage>en</defaultLanguage>
<translation>0</translation>
<parent>Main.WebHome</parent>
<creator>xwiki:XWiki.benoitf</creator>
<author>xwiki:XWiki.benoitf</author>
<contentAuthor>xwiki:XWiki.benoitf</contentAuthor>
<creationDate>1160240078000</creationDate>
<date>1160333012000</date>
<contentUpdateDate>1160333012000</contentUpdateDate>
<version>1.6</version>
<title>Overview</title>
<template></template>
<attachment>
<filename>interceptor.png</filename>
<filesize>21114</filesize>
<author>xwiki:XWiki.benoitf</author>
<date>1160240185000</date>
<version>1.1</version>
<comment></comment>
</attachment>
<attachment>
<filename>persistence.png</filename>
<filesize>28022</filesize>
<author>xwiki:XWiki.benoitf</author>
<date>1160240210000</date>
<version>1.1</version>
<comment></comment>
</attachment>
<content>#includeMacros("Macro.PopupRightBox")
#popupRightBox("Don't miss the [Demos&gt;Main.Demos] for more information.")


1 :: EasyBeans/EJB3 features

1.1 Interceptors

The interceptors are a new features of the EJB 3. The EJB containers were already using this kind of interceptors but now, these interceptors are a standard feature of EJB 3.
It means that the developers of EJB can developed interceptors for their beans and it will be supported by all EJB vendors.

{image:interceptor.png}

As shown by the previous schema, the interceptors are chained. This means that you can check or modify the parameters of a method or change the value returned to the client.

1.1 Persistence

The persistence in EJB 3 is simplified (when comparing to CMP) and it is more like JDO or Hibernate patterns.

{image:persistence.png}

The Entity Beans are now POJO objects (Attributes with getters and setters), inheritance is also supported.
The persistence is done through the Entity Manager which is part of the EJB 3 persistence API (JPA).

An EJB 3 container can be plugged to different JPA vendors.
Some JDO vendors are now providing both JDO and JPA interfaces.</content>
<renderedcontent>
&lt;div class="popupRightBox"&gt;&lt;span class="title"&gt;Don't miss the &lt;span class="wikilink"&gt;&lt;a href="/xwiki/bin/view/Main/Demos"&gt;Demos&lt;/a&gt;&lt;/span&gt; for more information.&lt;/span&gt;
&lt;/div&gt;
&lt;h2 class="heading-1"&gt;&lt;span id="H3A3AEasyBeans2FEJB3features"&gt;:: EasyBeans/EJB3 features&lt;/span&gt;&lt;/h2&gt; 
&lt;h3 class="heading-1-1"&gt;&lt;span id="HInterceptors"&gt;Interceptors&lt;/span&gt;&lt;/h3&gt;&lt;p class="paragraph"/&gt;The interceptors are a new features of the EJB 3. The EJB containers were already using this kind of interceptors but now, these interceptors are a standard feature of EJB 3.
It means that the developers of EJB can developed interceptors for their beans and it will be supported by all EJB vendors.&lt;p class="paragraph"/&gt;&lt;img src="/xwiki/bin/download/Main/Overview/interceptor.png" alt="interceptor.png" /&gt;&lt;p class="paragraph"/&gt;As shown by the previous schema, the interceptors are chained. This means that you can check or modify the parameters of a method or change the value returned to the client.
&lt;h3 class="heading-1-1"&gt;&lt;span id="HPersistence"&gt;Persistence&lt;/span&gt;&lt;/h3&gt;&lt;p class="paragraph"/&gt;The persistence in EJB 3 is simplified (when comparing to CMP) and it is more like JDO or Hibernate patterns.&lt;p class="paragraph"/&gt;&lt;img src="/xwiki/bin/download/Main/Overview/persistence.png" alt="persistence.png" /&gt;&lt;p class="paragraph"/&gt;The Entity Beans are now POJO objects (Attributes with getters and setters), inheritance is also supported.
The persistence is done through the Entity Manager which is part of the EJB 3 persistence API (JPA).&lt;p class="paragraph"/&gt;An EJB 3 container can be plugged to different JPA vendors.
Some JDO vendors are now providing both JDO and JPA interfaces.
</renderedcontent>
</xwikidoc>