Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 EJB Types Session Beans Entity Bean Stateless Stateful 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) Remote Interface (EJBObject) Create - Find (for Entity) Factory Pattern “Business Methods” Proxy Pattern Bean Class (EntityBean/SessionBean) Deployment descriptor (ejb-jar.xml) EJB Runtime Home (“create”, “find”) EJB (“business methods”) Home Object Stub Home Object EJB Object Stub EJB Object Bean (“the entity”) Enterprise Bean Object EJB Container - Client JNDI Home Stub Client Home Stub Home Object RMI-IIOP Object Stub Object Stub Container EJB Object Enterprise Bean Object EJB Use Context ctx = new InitialContext(); BeanHome home = ctx.lookup(“myBean"); Container finds/creates Factory BeanRemote bean = home.create(); JNDI to LDAP or other Directory Service 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 EJB with CMP JMS, JTA, JAAS Compliance Test Application using Servlet, JSP JNDI, RMI, JDBC EJB Services Version 1.2, 1.3, … License 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 Container Managed Persistency (CMP) Entity Beans 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]