Gentoo Enterprise Java Environment

From Gentoo Linux Wiki

Jump to: navigation, search
This page is a candidate for deletion 
Reason given: I do not think this package is offered anymore. Should the article be removed?
If you disagree with its deletion, please explain why on its discussion page.
If you intend to fix it, please remove this notice, but do not remove this notice from articles that you have created yourself.
Make sure no other pages link here and check the page's history before deleting.

Author : Mark Wolfe <mwolfe@netspace.net.au>
Updated: 2004-11-01 by Karl Trygve Kalleberg <karltk@gentoo.org>

Contents

[edit] Introduction

The Java development enviroment is a constantly evolving landscape of tools and technologies. Gentoo offers a excellent platform for Java developers to keep up with this ever changing landscape using tools like Portage. It also has very active community that ensures its users are well supported.

The main objective of the Gentoo Enterprise Java Environment project is to build an enviroment that welcomes Java developers in with open arms, sit them down and presents a suite of preinstalled tools for their coding pleasure. This suite of tools will consist of the latest and greatest that open source has to offer. All of which will be installed and configured in a way which makes it easy for the Java developer to get up and running quickly.

The areas of Java development that will be targeted during this project are everything from simple Java applications through to web and enterprise applications.

As well as building an environment the goal of this project is to also assemble documentation and samples for the aforementioned tools and technologies, to assist those new to Java development.

This document provides an overview of the project's aims as well as detailing the methodology that will be followed. It will also describe the goals of the first iteration and set out a time table for subsequent iterations.

[edit] Project Goals

As mentioned in the Introduction, the primary goal of this project is to create an environment for Java developers based around a suite of open source tools. This suite will begin with a modest list which will hopefully grow in flourishing community which will supply feedback and ideas during the course of this project.

Once up and running it is hoped that the maintainer of each of these subprojects will also provide howto's, examples and tests for their component. On top of this examples will be built that showcase how these components can be used to build a system.

Deliverables:

  • One or several graphical development environments
  • The full range of Linux JVMs
  • A core set of libraries for EJB and Java webapp development
  • A flexible, easy-to use, cross-appserver deployment mechanism
  • Documentation: HOWTOs, examples, showcases

[edit] Project Methodology

We intend to conduct development using an iterative approach, known from methodologies such as Extreme Programming (XP). Each iteration will be made up of the following phases:

  1. Release Planning Phase
    This will entail identifying new features discussing goals and identifying development resources.
  2. Development Phase
    This phase will involve building any components required to achieve the goals set out for this iteration. As well as building "glue" to enable tools and components to work well together. As each goal is achieved developers will be encouraged to provide tech notes and tests for their components.
  3. Acceptance Phase
    Once the development phase is completed the outcomes of this are tested and reviewed by the community.
  4. Release Phase
    During this phase releases will be packaged and news items will be posted promoting the features in new release. These will be released to the community as well as anyone else that will listen.

[edit] Initial Release

The initial list of tools is as follows:

  • A complete set of SDKs (pick your flavour Sun, IBM or blackdown)
  • A graphical development environment: Eclipse
  • Ant
  • A selection of web containers: Tomcat, Jetty
  • A selection of application servers: JBoss, ...
  • A set of support libraries and tools: Struts, XDoclet, Hibernate, Log4j, MX4J
  • A pre-packaged, integrated set of above support libraries and tools: Appfuse
  • A set of component configuration tools which take care of installing and configuring components, as well as replicating an existing, configured environment to fresh Gentoo installations.

This modest list of tools will be easily installable through the top-level metapackage dev-java/gentoo-enterprise-java, provided as an ebuild in Portage.

This ebuild will form the basis of this project evolving and updating as new packages are incorportated into the environment.

[edit] Future Releases

One of the most important goals for subsequent iterations is the implementation of standards based technologies relating to deployment of enterprise applications (WAR's and EAR's) in Gentoo. This technology would be implemented to deploy to many different containers.

A standard for this already exists, JSR-88 which encompasses a standardised API for the deployment of Enterprise Java Applications.

Wish list goals for future releases of this project could include the following:

  • Gentoo Java Development Live CD/DVD
  • Gentoo Java Server Live CD
  • Gentoo Java Knowledge Base (BIG Wiki)
Personal tools