1 / 20

Getting up to speed with Apache Geronimo Tom McQueeney tom@mcqueeney

Getting up to speed with Apache Geronimo Tom McQueeney tom@mcqueeney.com. O'Reilly Open Source Convention Aug. 4, 2005 45 minutes Audience: J2EE developers. Goals for this talk. Demystifying Geronimo What's inside, terminology Exploring the architecture

judys
Download Presentation

Getting up to speed with Apache Geronimo Tom McQueeney tom@mcqueeney

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Getting up to speed with Apache Geronimo Tom McQueeney tom@mcqueeney.com O'Reilly Open Source Convention Aug. 4, 2005 45 minutes Audience: J2EE developers

  2. Goals for this talk • Demystifying Geronimo • What's inside, terminology • Exploring the architecture • Kernel, GBeans, configurations • Demo and examples: Deploying apps • Web app • EJB • Web Service • Customizing Geronimo • Database and Messaging System • Tomcat vs. Jetty web containers • Review and Summary • Where to find more tools and resources

  3.  Mail Server CORBA Overview: Geronimo as a J2EE 1.4 Application Server Java Application EIS Message Queue Directory Service RDBMS Deployment and Management Tools JSPs Servlets EJBs J2EE 1.4 APIs J2SE 1.4 APIs J2EE 1.4 APIs J2SE 1.4 APIs Web Container Applet EJB Container Web Browser Application Client Kernel

  4.  Mail Server CORBA Logging Log4j Overview Geronimo and Open Source Projects ActiveMQ Derby Java Application EIS Message Queue Velocity Directory Service RDBMS Deploy and Mgmt Tools XML Beans TranQL CMP JSPs Servlets EJBs J2EE 1.4 APIs J2SE 1.4 APIs Tomcat Jetty J2EE 1.4 APIs J2SE 1.4 APIs Web Container Applet OpenEJB EJB Container Web Browser Application Client Kernel

  5. Custom Code Overview Geronimo - Open Source Projects J2EE 1.4 APIs Axis Scout Xerces HOWL Web Services JAX-RPC JAXP JAXR JTA SAAJ JOTM MX4J Management JMX ActiveMQ JACC JCA JMS Velocity JavaMail JAF Monitoring J2SE 1.4 APIs Custom Code Custom Code TranQL Custom Code Custom Code JNDI JAAS Java IDL RMI-IIOP JDBC

  6. Overview Core Geronimo Infrastructure Deployment and Management Tools Configuration Management MBeans GBeans Logging Geronimo Kernel

  7. G-Lingo: Kernel • The “core” framework • Manages all J2EE services, lifecycles • Configurations, GBeans, dependencies • Based on Inversion of Control (IoC) • GBean tells kernel what it needs and kernel "injects" it • Lightweight footprint • J2EE services live outside the kernel Geronimo Kernel

  8. G-Lingo: Configuration • A deployable component • Your J2EE modules are configurations • J2EE services like JMS are configurations • Managed as unit: Started, stopped, undeployed • Each configuration has a unique name • May depend on one other configuration (parent) • Saved in a configuration store: restored on restart • May define one or more GBeans Configuration Management Geronimo Kernel

  9. G-Lingo: GBean (Geronimo bean) • Managed object that wraps a Geronimo service • Class or object with a kernel-managed lifecycle: start, stop, fail • Geronimo creates them to manage deployed components • You can configure existing GBeans to add services to an application (in deployment plan). E.g. • GBean wraps a Tomcat access log "Valve" for a web app • GBean wraps customized security realm • You must create GBean if you add new service GBeans Configuration Management Geronimo Kernel

  10. G-Lingo: GBeans / MBeans (JMX managed bean) • Kernel exposes GBeans as MBeans for management • Kernel creates and uses JMX MBeanServer for object management • Kernel wraps all GBeans in an MBean • Exposes MBeans/GBeans for external management and monitoring MBeans GBeans Configuration Management Geronimo Kernel

  11. Module Module Module Module Application Clients EJB Applications Resource Adapters Web Applications RAR JAR WAR JAR 22 22 22 22 G-Lingo: Module(not a Geronimo-specific term) • J2EE term for a deployable J2EE component • Every module requires J2EE deployment descriptor • Optional: Geronimo-specific deployment descriptor • It's called a Deployment Plan when used outside JAR file Enterprise Archive EAR

  12. Geronimo Deployment Plan .xml J2EE Module J2EE Module No plan supplied: Container uses default values Geronimo Default Deployment Plan .xml J2EE Deployment Descriptor .xml J2EE Deployment Descriptor .xml G-Lingo: Deployment Plan, 3 Options • No plan: Use Geronimo’s module defaults (war, jar, ear) • Supply deployment plan within the jar (requires specific name) • 3. Supply plan to deploy tool as external file J2EE Module Geronimo Deployment Plan .xml J2EE Deployment Descriptor .xml

  13. G-Lingo Deployment Plan - File Names • Required plan file name when included in module JAR

  14. Deployment Facilities • Deploying to Geronimo • Deploy tool: Java CLI application packaged as executable JAR: deployer.jar • Connects to Geronimo locally (remotely?) over RMI • JSR-88 deployment tool • Maven deployer plug-in for Maven fans • Also maven plug-in to stop/start Geronimo Deployment and Management Tools

  15. Deployment Examples • Demo of deploying three types of modules: • Web application • EJB • Web Service • Additional topics covered during the demo • Starting/Stopping Geronimo • Configurations • Derby database and database connectors • Customizing the message system

  16. Demo

  17. Geronimo Coming Features • J2EE 1.4 certification • Passed J2EE 1.4 TCK on June 29 at 9:17:07.002 pm PDT • Better management and monitoring tools • Clustering and failover support • wadi.codehaus.org • Spring integration • EJB 3.0 support

  18. Geronimo Resources • Online information • geronimo.apache.org • Download the source to build • Documentation? • wiki.apache.org/geronimo • How to build/install from source • NB: Wiki has history of stale information • issues.apache.org/jira/secure/BrowseProject.jspa?id=10220 • Bugs and roadmap to future releases • geronimolive.com • Links to articles and supporting open source projects • jroller.com/page/GeronimoLive • Blog on Geronimo

  19. Geronimo Community • Join the Apache Geronimo Community • Use Geronimo and provide feedback • Something broken or unclear? • Have a suggestion for new features? • Develop and donate code • Submit bug patches, improvements • Keep updated on news – Mailing Lists • Users: user-subscribe@geronimo.apache.org • Developers: dev-subscribe@geronimo.apache.org • Join the discussion - IRC • Used by development team for daily communication [irc.freenode.net channel: #geronimo]

  20. Questions? Tom McQueeney tom@mcqueeney.com www.mcqueeney.com www.geronimolive.com

More Related