480 likes | 693 Views
Entity Java Beans. Jorg Janke http://www.compiere.org Open 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.
E N D
Entity Java Beans Jorg Janke http://www.compiere.org Open Source ERP & CRM
Objectives • Know J2EE & EJB Buzzwords • Understanding of J2EE Architecture • Understanding of EJB Architecture • Know next steps to explore J2EE & EJB
EJB Types • Session Beans • Stateless • Stateful • Entity Bean • Bean Managed Persistency • Container Managed Persistency (CMP) • 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 JNDI Client Container Home Object Home Stub Home Stub RMI-IIOP Enterprise Bean Object EJB Object Object Stub Object Stub
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
How do EJBs “fit in” • Application Server • Business Objects • Coarse Grained Objects • Fine Grained Objects (not suited) • Local Interface
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 What is J2EE compliant
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 • jorg.janke@compiere.org