entity java beans jorg janke open source erp & crm
TRANSCRIPT
Entity Java Beans
Jorg Janke
http://www.compiere.orgOpen Source ERP & CRM
Objectives
Know J2EE & EJB Buzzwords Understanding of J2EE Architecture Understanding of EJB Architecture Know next steps to explore J2EE &
EJB
Java Application Tiers
Java Application Tiers (Detail)
J2SE
EJB Types
Session Beans Stateless Stateful
Entity Bean Bean Managed Persistency Container Managed Persistency (CMP)
Message Bean
Stateless Session Bean
Stateful Session Bean
Entity Bean
Message Bean
EJB Source Code Home Interface (extends EJBHome)
Create - Find (for Entity) Factory Pattern
Remote Interface (EJBObject) “Business Methods” Proxy Pattern
Bean Class (EntityBean/SessionBean) Deployment descriptor (ejb-jar.xml)
EJB Runtime Home (“create”, “find”)
Home Object Stub Home Object
EJB (“business methods”) EJB Object Stub EJB Object
Bean (“the entity”) Enterprise Bean Object
EJB Container - Client
Client Container
Home Stub Home Stub
Object Stub Object Stub
RMI-IIOP
Home Object
EJB Object
Enterprise Bean Object
JNDI
EJB Use Context ctx = new InitialContext();
JNDI to LDAP or other Directory Service BeanHome home =
ctx.lookup(“myBean"); Container finds/creates Factory
BeanRemote bean = home.create(); Container creates EJB Object -> myBean
Bean.doSomething(); Business Method “Proxy”
Getting started
The hard way Download, Install & Implement the
J2EE Reference Implementation (Cloudscape)
The easy way Select a IDE
J2EE support often in “Enterprise Edition” Free: Forte / NetBeans
Now you have your IDE …
Check what Containers are supported (or included)
Download & Install the Container E.g. JBoss includes Tomcat
IDEs provide Wizards / Templates Packaging & Deployment
For a live demo … visit me
JBuilder New …
New Module (multiple Beans)
New Session Bean
Stateless Session Bean
Session Bean Properties
Home Interface
Remote Interface
Bean Class
Deployment Descriptor
Add additional methods …
Create Test Client
Client 1 – Lookup
Client 1 - Create
Client 1 – Business Methods
Entity Bean
Home Interface
Remote Interface
Bean Class
Client 2
Client 2 – Lookup / Create
Client 2 – Business Methods
Java Application Tiers
How do EJBs “fit in”
Application Server Business Objects Coarse Grained Objects Fine Grained Objects (not suited)
Local Interface
What is J2EE compliant Server providing
Web Services Servlet, JSP
JNDI, RMI, JDBC EJB Services
EJB with CMP JMS, JTA, JAAS
Compliance Test Version 1.2, 1.3, …
License
Application using One of the
technologies Servlet or RMI &
JDBC will do
When to use EJBs You need a EJB project for your CV Highly shared, long lived objects
Entity Beans Container Managed Persistency (CMP)
Data Access Object Receiving Messages (JMS) (Simple) Transaction Support (outside
JDBC) Security Support
Compiere & J2EE Compiere does not use EJBs EJB Container (candidate: JBoss)
Additional Installation effort Additional Operation effort Plus: Could be installed automatically
Compiere’s Business Objects (Invoice,..) dynamically are generated Based on Data Dictionary Business Objects & Behavior are
“personalized”
Intro Resources http://java.sun.com/j2ee/
Deployathon http://java.sun.com/blueprints
http://java.sun.com/j2ee/tutorial J2EE “community” sites
http://www.theserverside.com http://www.middleware-company.com/ http://www.onjava.com (O’Reilly)
Thanks
You can download the presentation http://www.compiere.org/download
My contact: http://www.compiere.com/consulting.
html [email protected]