Discussions

News: Avalon Excalibur 4.0 final release available

  1. Avalon Excalibur 4.0 final release available (7 messages)

    The Avalon team is proud to announce the 4.0 final release of the Avalon Excalibur, a set of components that are part of the open source Avalon framework, designed to simplify the building of server side Java applications. Exalibur contains several pool implementations, Component management implementations, and database management implementations.

    The Avalon project is Apache's Java Server Framework. It is separated into five sub projects: Framework, Excalibur, LogKit, Cornerstone, and Phoenix. Its purpose is to simplify server side programming for Java based projects.

    It formalizes serveral best of breed practices and patterns for server side programming.

    For more information about Avalon, please go to http://jakarta.apache.org/avalon

    About Avalon Excalibur 4.0
    Avalon Excalibur contains several premade Avalon Components and utilities to make your server side programming easier. There are several pool implementations, Component management implementations, and database management implementations.

    For more information about Avalon Excalibur 4.0, please go to http://jakarta.apache.org/avalon/excalibur

    Threaded Messages (7)

  2. Is this a component architecture that competes with EJBs?
  3. Does it compete with EJBs?[ Go to top ]

    The not so simple answer is yes and no! The main thing to understand about Avalon, is it deals with components at a higher level of abstraction than EJB. I refer to these as Large-grained components or business components. An example would be a customer component that contained addresses, names, contacts, etc.

    So you could write Avalon compliant components as EJBs (multiple EJBs = one Avalon component).

    However, Phoenix (part of Avalon) is a server orientated Application Server specifically for Avalon components. While it is intended only as a reference implementation, it could be said to compete with EJB. OTOH I believe you could develop a Phoenix implementation within an EJB server - Could someone from the Avalon project confirm this?

    My view is they are highly complimentary. an EJB server is a performing and scalable environment for fine grained components that are combined into Avalon compliant large-grained components that interface with a Avalon compliant framework that may or may not be implemented as EJBs. I think we will see Avalon framework implementations that use EJBs and implementations that do not. Also, we will see framework implementations that are specifically designed to support EJB Avalon components and implementations that provide no EJB support (aimed at lightweight devices).

    Phil Bradley
  4. Does it compete with EJBs?[ Go to top ]

    Hi,

    I guess Avalon is made up of several little bits. None of them really compete with EJBs and some compliement them.

    The part released today includes general purpose components from object/db/thread pooling to
    classes to parse command line arguments etc. As such it doesn't compete with EJBs at all.

    The other parts
    * Phoenix the application server
    * Cornerstone the services for Phoenix

    also don't really aim to compete with EJBs. With phoenix you assemble applications out of Blocks (think Lego for server applications). In practice this means that it would be useful if you wanted to write a web/mail/ejb/messaging or whatever server. So I guess it is kinda aimed at a different market.

    Phoenix is aimed at people who want to write servers themselves rather than database/transaction intensive middle tiers.

    Theres actually a JSR in progress to standardize access to an Application Server (Ther Services JSR) but at this stage Phoenix still uses Avalons component model.
  5. Does it compete with EJBs?[ Go to top ]

    <p>Actually you missed the granularity and purpose of Avalon's
    Components. To give an example of a server side system
    written with Avalon, look at Apache Cocoon 2 (http://xml.apache.org/cocoon2/). To give a short list of
    Components:</p>
    <pre>
    Generators (components that generate XML)
    Transformers (components that transform XML from one schema
                  to another)
    Serializers (components that turn XML into a stream)
    Actions (components that perform pure logic)
    </pre>
    <p>As you can see, Avalon Components tend to be more
    architectural than business logic oriented. The Avalon
    site has a very good tutorial that really goes into detail
    on how it can help you. It is not designed to replace or
    compete with EJBs in any way.</p>
  6. Applicability to business aplications[ Go to top ]

    Avalon is aimed at business components and business services as well as technical and infrastructure components and services.

    Go here for an example of how Avalon is used to develop a business application with inventory, billing, etc. components and services.

    http://jakarta.apache.org/avalon/developing/decomposing.html

    Phil Bradley
  7. Does it compete with EJBs?[ Go to top ]

    Avalons primary purpose is not building distributed business components but architecting server applications.
    Of course what good is a server application without running business components on it?
    But maybe you could think of an EJB vendor using Avalon to build its application server.
    Nothing prevents you from building Avalon components dealing with remote systems. But distributed systems and RMI is at the core of EJB.
    Nothing prevents you from building an Avalon application as an EJB or a servlet. Consider the popular cocoon application which runs as a servlet.
  8. Does it compete with EJBs?[ Go to top ]

    'Of course what good is a server application without running business components on it?'

    Exactly!

    Phil Bradley