Sunteți pe pagina 1din 7

http://www-

306.ibm.com/software/info1/websphere/index.jsp?tab=landings/apachegeronimo

About Apache Geronimo

Apache Geronimo is an open source J2EE application server project developed by the
Apache Software Foundation. Apache Geronimo benefits from the efforts of
collaborative development by an open community of Java developers worldwide. This
community of developers brings leading-edge architectural design, delivering a flexible,
highly modular application server that can support web and J2EE applications.

Whether you are a developer building a departmental application or an independent


software vendor needing a highly customizable, small footprint application server for a
customer solution, Apache Geronimo is your best option for a community-driven open
source application server. Apache Geronimo is a general runtime execution environment
and certified J2EE application server that you can configure to satisfy many different
infrastructure requirements.

Apache Geronimo brings together best-in-breed technologies across the broader open
source community to support J2EE specifications, including:

• Apache Tomcat and Jetty for Servlets 2.4 and JSP 2.0
• OpenEJB for EJB 2.1
• ActiveMQ for JMS 1.1
• MX4J for JMX 1.2
• TranQL for JDBC
• Apache Axis for Web Services
• HOWL (ObjectWeb) for JTA 1.0

Apache Geronimo is licensed under the Apache License, Version 2.0, one of the most
flexible licenses available for open source software. This license gives you the freedom to
use the technology however you wish, build derivative works for distribution, and make
code contributions of your choice back to the community. Using Apache Geronimo
allows you to benefit from the best of open source while participating in the innovation of
open source development.

Applications, application services, and components you can run on Geronimo

The integrated services shown in Table 1 enable you to run a variety of applications,
application services, and components on Geronimo. These include the following:

• Web applications based on JSPs and servlets


• Enterprise applications that contain JSPs, servlets, and EJBs
• Relational database services
• JMS-based message queue components
• MDB components
• Lightweight application components based on Spring
• Web services
• JBI service components

Is there any Integrated Development Environment (IDE) support for Geronimo?

Yes. A Geronimo plug-in for Eclipse is available from the Eclipse Web Tools Platform
project (see Resources for a link to the Web page). You can learn about the features of
this plug-in in the article "Create, deploy, and debug Apache Geronimo applications" (see
Resources). A NetBeans plug-in is another work in progress.

Table 3. Geronimo milestone builds


Milestone
Description
build

The latest feature set and closest to 1.0 release.


Incorporates a Web console. You can now easily
M5
select between Tomcat and Jetty for Web-tier
components.
The first milestone build that supports EJBs fully
M4 through OpenEJB.

Major milestone build. All Web-tier support is in


place, ActiveMQ is functional, and Derby is the
M3 built-in RDBMS. EJB support is broken. Favors
Jetty over Tomcat for Web-tier deployment.

M1 and Limited circulation release offering a restrictive


M2 feature set.

Why Choose IBM Support for Apache Geronimo

IBM Support for Apache Geronimo provides expert technical support for Apache
Geronimo, the open source application server project of the Apache Software
Foundation. IBM Support for Apache Geronimo provides the technical support you need
to confidently develop and deploy your web and J2EE applications using Apache
Geronimo. As IBM WebSphere software is overkill for many small and mid-sized
businesses, So, IBM made an interesting move when it acquired privately held Gluecode
Software, a provider of support for the Apache Geronimo Java application server based in
El Segundo, California. Gluecode offers packaging, support, and other services for
Apache Geronimo. IBM needed a less sophisticated and less costly Web application
server
Key Benefits:

• Multiple support options - IBM Support for Apache Geronimo gives you the
flexibility to choose from multiple support levels depending on your business
needs. Based on your requirements for features such as access methods, technical
contacts and targeted response times, you can optimize the value that you are
getting from the open source community and IBM.
• Direct linkage to the Apache Geronimo community - IBM is an active
participant in the Apache Geronimo community. This means that we continuously
work within the community to ensure that new features and capabilities are added
to the Apache Geronimo project for the advancement of community goals.
Additionally, all Apache Geronimo bug fixes developed by IBM will be
contributed into the Apache Geronimo community.
• Clear path to value-added products - Choosing Apache Geronimo gives you
first-hand exposure to the constant innovation of open, community-driven
technology. For a more predictable product release cycle, you have the option of
choosing Gluecode Standard Edition, a free application server built on the Apache
Geronimo code base. Gluecode Standard Edition is a small footprint application
server that has been optimized for web application deployment. It includes only
the features you require for web applications, along with value-added components
such as prepackaged database drivers to simplify deployment and maintenance.
Three support offerings for Gluecode Standard Edition are available for purchase.

Geronimo Vs. IBM WebSphere Application Server (WAS)

Based on the number of hits this blog is getting with the search term “Geronimo vs. WAS
CE”, it appears that there is some confusion about the similarities and differences
between Apache Geronimo and IBM WebSphere Application Server Community Edition
(WAS CE). Thought I’d try and clear up some of the confusion…..

This shouldn’t be an “is A better than B?” discussion.

WAS CE is built using an open source product, Apache Geronimo. Like Apache
Geronimo, WAS CE is free to download and use, and you can build it yourself from
open source code. Unlike Apache Geronimo, WAS CE however does not carry an OSI-
approved license, and as such, is not an open source product. WAS CE is built on an open
source product. Developers are using WAS CE and Apache Geronimo; it all depends on
what you’re need/comfort is.

If you want the newest stuff right away, then you’ll use Geronimo. If you want
predictable release cycles, then WAS CE will fit the bill. If you want to modify the
source code, fix bugs yourself or create a derivative work, then pick Geronimo. If you
want integration with other IBM products and broad platform/database support, then take
a peak at WAS CE. Both are free, or optionally, supported for a fee through IBM and
others, so have at it!

From a technical standpoint the WAS CE team takes Geronimo and…

Removes/Replaces:

• Jetty: because Geronimo comes in two flavors, one with Jetty as the JSP/Servlet
engine, and the other with Tomcat as the JSP/Servlet engine. WAS CE only
supports Tomcat.
• Apache Derby: Derby is used as an internal data store for Geronimo, but is also
exposed so that users can write their application data into Derby without having to
get another database or do the integration. IBM Cloudscape is IBM’s free and
supported version of Derby. I’m not the Derby/Cloudscape expert, but from what
I remember, they are identical at the bits/bytes level. In any case, you get
Cloudscape with WAS CE mainly so IBM can provide you support for the
database. If you buy support for WAS CE, you automatically get free support for
the copy of Cloudscape that comes with WAS CE; no separate contract, no
separate charges.
• Apache Directory Server: Mainly because users told us early on that they
already have a ‘company mandated’ directory server. So why give them
something very few are going to need/use (we do support Apache DS though).
• Servicemix: When we first made this decision it was because customers and
partners had told us to be careful to introduce technology in WAS CE that was (1)
fully baked and (2) was supported in the rest of the WebSphere Application
Server family of products. Servicemix didn’t fit the bill at the time. This one
may change with future releases of WAS CE, but don’t quote me though as I
don’t have a say anymore ;-)

Adds:

• Integration: Hooks into other IBM products like Rational Application Developer,
WebSphere MQ etc.
• Growth Path: migration path from WAS CE to the rest of the WebSphere
Application Server family of products.
• Bundled IBM JDK: or you can download WAS CE without a JDK. You can also
use the Sun JDK. (More here…)
• Platform Support: Support for Red Hat RHEL, Novell SLES, Red Flag Data
Center, Fedora, Mandriva, AIX, Solaris, Windows XP & 2003. (More here…)
NOTE: Geronimo has different binaries for Windows & Unix (including Linux &
Mac OS X), but does not make an explicit OS support statement. You can try
using it with any operating system you like, if it doesn’t work, try the Geronimo
mailing list for help. Or if you have paid for support, see which operating systems
your support provider supports.
• JDBC Drivers: Bundles JDBC drivers for Oracle, DB2, MySQL and MS SQL
Server to give you broad DB support (More here…)
• Directory Support: Support for Apache Directory Server, IBM Tivoli Directory
Server, MS Active Directory, OpenLDAP Server. (More here…)
• IBM documentation: Docs, samples and plenty of WAS CE resources on
developerWorks

As you may be able to tell, there are few major technical differences between Geronimo
& WAS CE. We made the decision early on to stay as close to Geronimo as we could and
still be able to give IBM customers what they expect out of an IBM product. The general
WAS CE vision is to do as much work as we can out in the Geronimo community. In
doing this, Geronimo users and WAS CE users get to benefit from the new features etc.
(like we did with the console & Eclipse plug-in).

Why Geronimo??
Both IBM and BEA are loosing deals in favor jboss, which is free - at least the license is
free - and of comparable quality. I see this with our customers: with our product we
support wls, was & jboss and small clients tend to choose jboss.

So what can IBM and BEA do to get a slice of this small business market? Push and open
source app server and sell service arround it, of course. Because was or wls can't compete
on the small business market with jboss because of their very high prices, but another
open source server could.

Geronimo's most distinctive features are its:

• Modular GBean-based architecture, which allows users to remove unneeded


services and build very lightweight configurations of the server
• Non-Profit ASF leadership, which provides legal protection, ensures stability
across the loss of individual contributors and insulates the project from
commercial conflicts of interest
• Diverse support community, in which companies compete freely and openly to
provide services, with none enjoying any particular trademark advantage

Exploring Geronimo's GBean Framework

Geronimo is built around an Inversion of Control (IoC) kernel that consumes and
manages components called GBeans. The GBean framework is the vehicle by which new
behaviors are added to the Geronimo kernel. Almost everything in Geronimo—including
containers, adapters, and applications—is a GBean.

The Geronimo GBean framework facilitates Java-based execution environments by


defining their capabilities through a configuration of components known as GBeans. At
the heart of each execution environment is a GBean component known as the kernel that
consumes and manages other GBeans.
The kernel manages GBean dependencies, state, and lifecycle. A GBean relies on the
kernel to "inject" dependencies into the GBean at runtime according to rules defined in a
configuration file called a deployment plan. The following code is an example of a
GBean declaration within a deployment plan:

The Lifecycle of a GBean

Geronimo GBeans handle lifecycle events and maintain states and association
dependencies. Geronimo's IoC execution environment revolves around a web of GBeans
and relies on being able to query the current state of each GBean. In addition, the
execution environment must be able to save the state of each GBean and restore that state
as needed. This need is met by the GBean framework's persistence sub-system.

Integrating a GBean into Geronimo

With the GBean class defined, you must compile and encapsulate it within an archive file
(.ear, .war, .jar, etc.). The archive must contain the deployment plan for the GBean, and
that plan must conform one of the deployment schemas found in the /schema directory.
This example deploys the TestGBean as a standalone module; therefore it must conform
to the geronimo-module-1.x.xsd schema.

Manage Apache Geronimo with JMX


The Java™ community has embraced the Java Management Extension (JMX)
specification and framework as the standard for systems, applications, and resource
management. The Apache Geronimo platform has been designed with manageability as a
top priority, and JMX is one of the primary contributing technologies. Discover how to
manage the Geronimo platform using JMX.

Apache Geronimo, which is built on a general-purpose Inversion of Control (IoC)


kernel that supports the JMX framework, oversees a collection of managed components
called Geronimo Beans (GBeans). Geronimo was created with JMX as the underlying
kernel infrastructure, so it shares several similarities with JMX Managed Beans
(MBeans). This structure has changed slightly over time, because using JMX as the
framework for locating objects, interobject communication, method interception, and so
on was seen as a stretch for JMX. However, the legacy of JMX is still evident in the
Geronimo architecture, especially in the GBean framework.

JMX has become the de facto standard for managing resources within the Java platform,
Java 2 Platform, Enterprise Edition (J2EE), and Java Enterprise Edition (Java EE). JMX
defines a standard for dynamically instrumenting Java classes, interfaces, and runtime
objects with attributes and operations that you can use for management purposes. JMX
can instrument and manage any resource -- such as an application, device, or service --
that you can abstract using the Java programming language. Each managed resource is
referred to as an MBean. JMX defines four types of MBeans:
• Standard MBeans: Use Java interfaces to define their management attributes and
operations.
• Dynamic MBeans: Use runtime discovery to define their management attributes
and operations.
• Model MBeans: Act as proxies for objects that expose manageable operations
and attributes.
• Open MBeans: Use a predefined metadata vocabulary to expose the manageable
attributes and operations of classes and objects.

Supportive with others :--

1.) PHP has been a popular scripting language for some time.
However, with the growing buzz over Java technology and Apache
Geronimo, a J2EE-certified application server, many experienced
developers shy away from using PHP with Geronimo, because
only JavaServer Pages (JSP) is supported out of the box. The PHP
Java Bridge solves this problem by providing full support for PHP
on Geronimo and for sharing sessions across both PHP and JSP
scripts.
2.) Geronimo will feature support for EJB, messaging, and security.
Clustering will be added to Geronimo at some point as well.

Drawbacks of Geronimo Server:--

2) This Server is not recommended for high load deployments. As of Now a


new Release (2007-04-29) of Geronimo a great milestone but this is also
not suitable for high load deployments.
3) Performance problems due to high server load or high communication
latency for remote clients.
4) Availability problems caused by server downtime or lack of connectivity.
Clients, in portions of the network that are temporarily disconnected from
the server, cannot be serviced.

S-ar putea să vă placă și