Академический Документы
Профессиональный Документы
Культура Документы
JavaBeans™ 3.0
Technology java.sun.com/javaone/sf
Work in Progress
Linda DeMichiel
EJB Specification Lead
Sun Microsystems
java.sun.com/j2ee
SM
1 | 2004 JavaOne Conference | Session TS-1861
Goal of This Talk
SM
2 | 2004 JavaOne Conference | Session TS-1861
Agenda
SM
4 | 2004 JavaOne Conference | Session TS-1861
EJB™ 3.0 Technology Expert Group
Agenda
SM
5 | 2004 JavaOne Conference | Session TS-1861
EJB™ 3.0 Technology Expert Group
SM
7 | 2004 JavaOne Conference | Session TS-1861
EJB™ 3.0 Technology Overview:
Environment
SM
8 | 2004 JavaOne Conference | Session TS-1861
EJB™ 3.0 Technology Overview:
POJO Beans
SM
9 | 2004 JavaOne Conference | Session TS-1861
EJB™ 3.0 Technology Overview: CMP
SM
10 | 2004 JavaOne Conference | Session TS-1861
EJB™ 3.0 Technology Overview:
EJB™ QL
SM
11 | 2004 JavaOne Conference | Session TS-1861
Agenda
SM
14 | 2004 JavaOne Conference | Session TS-1861
Session Beans
SM
15 | 2004 JavaOne Conference | Session TS-1861
EJB™ 2.1 Technology
Stateless Session Bean
SM
16 | 2004 JavaOne Conference | Session TS-1861
EJB™ 2.1 Technology
Stateless Session Bean Class
<session>
<ejb-name>CalculatorEJB</ejb-name>
<home>com.example.CalculatorHome</home>
<remote>com.example.Calculator</remote>
<ejb-class>com.example.CalculatorBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
...
...
...
SM
18 | 2004 JavaOne Conference | Session TS-1861
What’s Wrong With This Example?
SM
21 | 2004 JavaOne Conference | Session TS-1861
Same Example With Remote Access
SM
22 | 2004 JavaOne Conference | Session TS-1861
Deployment Descriptor
SM
23 | 2004 JavaOne Conference | Session TS-1861
Some Simplifications We Have Made
SM
25 | 2004 JavaOne Conference | Session TS-1861
Stateful Session Beans
SM
26 | 2004 JavaOne Conference | Session TS-1861
Stateful Session Bean Example
SM
29 | 2004 JavaOne Conference | Session TS-1861
Example
@Resource(name=”myDB”)
public DataSource customerDB;
SM
30 | 2004 JavaOne Conference | Session TS-1861
With Setter Injection
@Resource(name=”myDB”)
public void setDataSource(DataSource myDB) {
customerDB = myDB;
}
}
}
SM
31 | 2004 JavaOne Conference | Session TS-1861
@Inject
@Inject
public void setCustomerDB(DataSource
customerDB) {
this.customerDB = customerDB;
}
}
} SM
32 | 2004 JavaOne Conference | Session TS-1861
Injection
SM
33 | 2004 JavaOne Conference | Session TS-1861
Dynamic Lookup
SM
34 | 2004 JavaOne Conference | Session TS-1861
Client View
• Homes eliminated
─ With metadata, injection, easy lookup(), etc.,
Homes not needed for session beans (either
stateless or stateful)
─ Stateless SessionBean homes not very
useful anyway
• Stateful SessionBean homes have useful create
methods
─ But: shifting functionality to “initialization” business
method enables home to be eliminated
─ @Remove annotation completes the picture
SM
35 | 2004 JavaOne Conference | Session TS-1861
Entity Beans: Goals
SM
37 | 2004 JavaOne Conference | Session TS-1861
Process We Went Through (Cont.)
SM
38 | 2004 JavaOne Conference | Session TS-1861
POJO Entity Beans
SM
41 | 2004 JavaOne Conference | Session TS-1861
Example: EJB™ 3.0 Technology
Entity Bean Today
SM
42 | 2004 JavaOne Conference | Session TS-1861
Example: EJB™ 3.0 Technology
Entity Bean Today (Cont.)
...
@OneToMany(cascade=ALL)
public Set<Order> getOrders() {
return orders;
}
SM
43 | 2004 JavaOne Conference | Session TS-1861
Client View
SM
45 | 2004 JavaOne Conference | Session TS-1861
EJB™ 2.1 Technology View
SM
46 | 2004 JavaOne Conference | Session TS-1861
EJB™ 3.0 Technology and Its Implications
for EJB™ Technology Evolution
• TS-2836
─ EJB 3.0: Simplifying and Enhancing the
Persistence Model
─ TS-2836 will also cover the new
query language features we’ve added
• BOF-1864
─ Enterprise JavaBeans™ 3.0 Technology Community
Discussion
─ Come and meet members of the EJB™ 3.0
Technology Expert Group
SM
49 | 2004 JavaOne Conference | Session TS-1861
Q&A
SM
50 | 2004 JavaOne Conference | Session TS-1861
Enterprise
JavaBeans™ 3.0 java.sun.com/javaone/sf
Work in Progress
Linda DeMichiel
EJB Specification Lead
Sun Microsystems
java.sun.com/j2ee
SM
51 | 2004 JavaOne Conference | Session TS-1861