Geronimo is a popular production-grade Open Source J2EE 1.4 certified server available free of charge. It is the only server of its kind licensed under the Apache Software License 2.0, allowing free adaptation and modification for commercial or non-commercial use. The server is well-supported internationally by a large base of users, developers, and support vendors. Geronimo can host a variety of server applications. It comes equipped with a relational database server and message broker, enabling you to immediately deploy your enterprise applications. With all this potential, getting started with Geronimo can be a daunting task. This team of experienced authors has crafted a book to make your experience with Geronimo go smoothly -- and they've packed it with numerous examples of configuration and deployment for the Geronimo server. Whether you've been using a commercial J2EE server or this is your first encounter with an application server, you'll quickly learn what Geronimo can do for your environment.
What you will learn from this book How to configure and deploy a J2EE application on Geronimo Ways to download, install, configure, and secure the server Expert tips on server customization and tuning How to use the various administrative, management, and troubleshooting tools that accompany Geronimo How to take advantage of the highly modular architecture of the Geronimo server, and how it works inside Who this book is for This book is for managers, administrators, and developers who are either considering Geronimo for possible production deployment, or are already using Geronimo and are looking for a way to kick-start the implementation process. Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
Table of Contents
Introduction. Chapter 1: Getting Started with Geronimo. Where to Find Geronimo. Before Installing Geronimo. Installing the Geronimo Server. Summary. Chapter 2: Basic Geronimo Configuration. Deploying Your First Geronimo Application. Geronimo and J2EE Software Components. Loading, Starting, and Stopping Components. Summary. Chapter 3: Apache and Geronimo. The Organization behind Geronimo. Understanding Open Source Software Licenses. Summary. Chaper 4: Geronimo's J2EE 1.4 Components. Geronimo and the J2EE Tiered Architecture. Geronimo's Web Tier. The Business Tier. The EIS Tier. Web Services. Interoperability Features. Support for Application Clients. Geronimo Container Services. Summary. Chapter 5: Geronimo Architecture and Directory Structure. GBeans in Geronimo. Geronimo Modules and Assemblies. Geronimo Directory Structure. Summary. Chapter 6: The Geronimo Deployer. Getting Acquainted with the Deployer. Using the Deployer. Summary. Chapter 7: Using the Geronimo Debug Console and jconsole. Debug Console Architecture. JMX Overview. JSR-77 Overview. Installing the Debug Console. Starting the Debug Console. Troubleshooting a Deployment - An Example. Summary. Chapter 8: Geronimo Web Console. Using the Web Console. Navigating the Server's Functional Menus. Navigating the Services Functional Menus. Deploying and Managing Applications. Working with Geronimo Plug-Ins. Security Configuration. Embedded Database. Summary. Chapter 9: Geronimo Deployment Plans. Deployment Descriptors and Plans. The Geronimo Deployment Architecture. Summary. Chapter 10: Web Container Configuration and Jetty. Web Container - Jetty or Tomcat. Configuring Web Applications. Jetty GBeans. Summary. Chapter 11: Tomcat Web Container Configuration. Using Tomcat in Geronimo. Configuring Tomcat. Summary. Chapter 12: Deploying Enterprise Applications (EAR) with OpenEJB. The J2EE Model for EJB Access. Example of Deploying Session and Entity EJBs. JavaMail Support. Working with the Database Connections Pool. The Geronimo Client Container. Summary. Chapter 13: Configuring and Deploying JDBC Resources with PostgreSQL. Architecture. Starting PostgreSQL. J2EE Connector Architecture and JDBC Resources. Configuring JDBC Resources. Deploying JDBC Resources. Highly Available PostgreSQL with Sequoia. Summary. Chapter 14: Deploying Web Services and CORBA Interoperation. Web Services Fundamentals. Example 1: Deploying a Web Service WAR on Geronimo. Example 2: Deploying a Stateless Session EJB As a Web Service. CORBA Concepts. Example 3: Exposing a Session EJB As a CORBA Component. Summary. Chapter 15: Security. Importance of a Security Subsystem. Geronimo Security Architecture. Configuring JAAS Login Modules. Using Security in Applications. Locking Down Geronimo. Summary. Chapter 16: Configuring, Deploying, and Using JMS Resources with Apache ActiveMQ. The ActiveMQ Message Broker Architecture. ActiveMQ Message Broker Configuration. The ActiveMQ Resource Adapter. ActiveMQ Resource Adapter Configuration. Deployment Scope. Summary. Appendix A: Geronimo Deployment Plans Cross-Reference. Deploying Web-Tier Applications - geronimo-web.xml. Deploying Business-Tier EJBs - openejb-jar.xml. Deploying EIS-Tier JCA connectors - geronimo-ra.xml. Deploying Enterprise Applications - geronimo-application.xml. Deploying J2EE Application Clients - geronimo-application-client.xml. J2EE Standard Specification Schemas for Deployment Descriptors. Appendix B: Run-Time Deployer Command Reference. The Command-Line Deployer. Deployment Using GUI Web Console. Auto Deployment Using the Hot Deployer. Index.
Jeff Genender has more than 17 years of software architecture, team lead, and development experience in multiple industries. He is a frequent speaker on topics pertaining to Enterprise Service Buses (ESBs), Service Oriented Architecture (SOA), and application servers. Jeff is an active committer and Project Management Committee (PMC) member for Apache Geronimo, as well as a committer on OpenEJB, ServiceMix, and Mojo (Maven plugins). Jeff also serves as a member of the Java Community Process (JCP) expert group for JSR-244 (Java Platform, Enterprise Edition 5 [Java EE 5] Specification) as a representative of the Apache Software Foundation. Jeff is an Open Source evangelist and has successfully brought Open Source development efforts, initiatives, and success stories into a number of Global 2000 companies, saving these organizations millions of dollars in licensing costs. Bruce Snyder is a 10-year veteran of enterprise software development and a recognized leader in Open Source software. Bruce has experience in a wide range of technologies, including Java Enterprise Edition (EE), Service Oriented Architecture (SOA), and Enterprise Service Buses (ESBs). In addition to his role as a senior architect for LogicBlaze, Bruce is also a founding member of Apache Geronimo and a developer for Apache ActiveMQ, Apache ServiceMix, and Castor, among other things. Bruce also serves as a member of a few JCP expert groups JSR-221 (JDBC 4.0), JSR-243 (Java Data Objects 2.0) and JSR-291 (Dynamic Component Support for Java). In addition, Bruce is also a speaker at industry conferences, including The ServerSide Java Symposium, Java in Action, JavaOne, ApacheCon, JAOO, SOAWeb Services Edge, No Fluff Just Stuff, and various Java user groups. Sing Li (who was bitten by the microcomputer bug in the late 1970s) has grown up with the Microprocessor Age. His first personal computer was a $99 do-it-yourself Netronics COSMIC ELF computer with 256 bytes of memory, mail ordered from the back pages of Popular Electronics magazine. A 20-year industry veteran, Sing is a system developer, Open Source software contributor, and freelance writer specializing in Java technology and embedded and distributed systems architecture. He regularly writes for several popular technical journals and e-zines, and is the creator of the "Internet Global Phone," one of the very first Internet phones available. He has authored and coauthored a number of books across diverse technical disciplines including Geronimo, Tomcat, JSP, servlets, XML, Jini, media streaming, device drivers, and JXTA.