J2EEJ2EE
• Java 2 Platform, Enterprise Edition
• Specification defined by Sun to run applications in application servers
• It defines APIs group • Servlets• JSP (Java Server Page)• JDBC (Java Database Connectivity)• EJB (Enterprise Java Beans)• JNDI (Java Naming and Directory Interface)• JMS (Java Messaging Service)• JTA (Java Transaction API)
• Java 2 Platform, Enterprise Edition
• Specification defined by Sun to run applications in application servers
• It defines APIs group • Servlets• JSP (Java Server Page)• JDBC (Java Database Connectivity)• EJB (Enterprise Java Beans)• JNDI (Java Naming and Directory Interface)• JMS (Java Messaging Service)• JTA (Java Transaction API)
J2EEJ2EE
• 2 agents• J2EE Application Servers
• J2EE Applications
• 2 agents• J2EE Application Servers
• J2EE Applications
J2EE Application Servers J2EE Application Servers
• They implement J2EE specification
• They provide a framework to run applications
• Examples• Oracle Application Server• WebLogic• Websphere• Sun One• JRun• Jboss• Iplanet
• They implement J2EE specification
• They provide a framework to run applications
• Examples• Oracle Application Server• WebLogic• Websphere• Sun One• JRun• Jboss• Iplanet
J2EE ApplicationsJ2EE Applications
• Applications that run within a J2EE application server
• Web application (WAR)• Enterprise java beans applications (JAR)• Enterprise applications (EAR)
• Applications that run within a J2EE application server
• Web application (WAR)• Enterprise java beans applications (JAR)• Enterprise applications (EAR)
J2EE Compatible?J2EE Compatible?
• J2EE compatible Applications Server • When it meets the entire J2EE specification • Sun certifies an application server as J2EE compatible
• J2EE compatible Application • When it runs within a J2EE server
• J2EE compatible Applications Server • When it meets the entire J2EE specification • Sun certifies an application server as J2EE compatible
• J2EE compatible Application • When it runs within a J2EE server
Web GeneXus Java Applications Web GeneXus Java Applications
• They use• Servlets• JDBC• JNDI
• Deployment for J2EE servers• War Deployment
• They use• Servlets• JDBC• JNDI
• Deployment for J2EE servers• War Deployment
J2EE Compatible?J2EE Compatible?
• J2EE and EJBs• A J2EE application does not have to use EJBs• Is GeneXus J2EE? <> Does GeneXus implement EJBs?
• J2EE and EJBs• A J2EE application does not have to use EJBs• Is GeneXus J2EE? <> Does GeneXus implement EJBs?
Enterprise java beansEnterprise java beans
• Reusable component that runs in a J2EE server • They implement
• Business logic • Access to database
• They run within container with middleware services• Security • Load balance • Persistency• Pool
• They may be used locally or remotely
• Reusable component that runs in a J2EE server • They implement
• Business logic • Access to database
• They run within container with middleware services• Security • Load balance • Persistency• Pool
• They may be used locally or remotely
Enterprise java beans typesEnterprise java beans types
• Entity beans• They model business data
• Session beans• They model business logic • Stateful• Stateless
• Message-driven beans• They model business logic • They are asynchronically called
• Entity beans• They model business data
• Session beans• They model business logic • Stateful• Stateless
• Message-driven beans• They model business logic • They are asynchronically called
Enterprise java beans typesEnterprise java beans types
• What will we generate?
• Session beans• Stateless
• Message-driven beans
• What will we generate?
• Session beans• Stateless
• Message-driven beans
ImplementationImplementation
• Main procedures with call protocol• Enterprise java bean
• Session bean steteless• Message driven Bean
• Business component• Session beans stateless
• Interface may be local, remote or both • EAR Deployment• It can be called from GeneXus or from external applications • ¿Session beans stateful?
• Data cache
• Paging
• Call external EJBs • Remote objects shown as EJBs (Rocha)
• Main procedures with call protocol• Enterprise java bean
• Session bean steteless• Message driven Bean
• Business component• Session beans stateless
• Interface may be local, remote or both • EAR Deployment• It can be called from GeneXus or from external applications • ¿Session beans stateful?
• Data cache
• Paging
• Call external EJBs • Remote objects shown as EJBs (Rocha)
DemoDemo
• Bank Account Application • Bank Account
• Id• Owner• Balance
• 4 EJBs• Local
• getOwner
• getBalance
• ModifyBalance
• Remote• Transfer
• It uses getBalance and ModifyBalance
• Bank Account Application • Bank Account
• Id• Owner• Balance
• 4 EJBs• Local
• getOwner
• getBalance
• ModifyBalance
• Remote• Transfer
• It uses getBalance and ModifyBalance
SummarySummary
• GeneXus Java Web applications run in J2EE servers
GeneXus is J2EE
• Being J2EE does not imply using EJBs• EJBs will be generated in the next version
• GeneXus Java Web applications run in J2EE servers
GeneXus is J2EE
• Being J2EE does not imply using EJBs• EJBs will be generated in the next version