(Created page with "<!-- All fields on this form are required to be accepted by FESCo. We also request that you maintain the same order of sections so that all of the feature pages are uniform. --...") |
m (→Current status) |
||
Line 27: | Line 27: | ||
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | <!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | ||
Detailed packaging status is maintained on [[JBossAS7|separate wiki page]]. | |||
== Detailed Description == | == Detailed Description == |
Revision as of 18:57, 22 January 2012
JBossAS7
Summary
JBoss Application Server 7 (http://www.jboss.org/jbossas) is a fast, lighweight and modular Java EE application server
Owner
- Name: Marek Goldmann
- Email: mgoldman@redhat.com
Current status
- Targeted release: Fedora 17
- Last updated: 2012-01-22
- Percentage of completion: 40%
Detailed packaging status is maintained on separate wiki page.
Detailed Description
JBoss AS 7 is fast, modular and lightweight Java EE application server.
Fast
In the highly optimized boot process of AS 7, services are started concurrently to eliminate unnecessary waits and to tap into the power of multi-core processors. Non-critical services are kept on ice until first use.
Subsequent boots shave additional time by leveraging cached or indexed metadata.
As a result, AS 7 offers a 10-fold reduction in startup time over previous versions and even gives Jetty and Tomcat a run for their money.
Modular
Hierarchical classloaders are problematic, often causing failed deployments and quirky behavior. The time has come to say goodbye to the parent delegation model and find the path to modularity (i.e. sane classloading).
AS 7 does classloading right. It uses JBoss Modules to provide true application isolation, hiding server implementation classes from the application and only loading the classes your application needs. Modules, packaged as collections of classes, are peers that remain isolated unless explicitly defined as a dependency of another module. Visibility rules have sensible defaults, yet can be customized.
Lightweight
AS 7 takes an aggressive approach to memory management to minimize garbage collector pauses, only loads JAR files it needs and uses indexed metadata over full parses. All this keeps the memory footprint exceptionally small.
These optimizations enable AS 7 to run with stock JVM settings and on small devices. It also leaves more headroom for application data and supports higher scalability.
Benefit to Fedora
Allow to run full Java EE applications on one of the most popular Java application servers.
The side benefit of having AS7 in Fedora is that with the many Java libraries packaged - Fedora could be the best foundation for Java developers.
Scope
The moving goal is to package latest available JBoss AS version 7.1. Current work is based on version 7.1.CR1b.
There are a lot of Java libraries that need to be packaged to achieve this feature completness in 100%. Between 100 and 200 new packages must be added. It's hard to estimate the total count, as there are many build-time depndencies that are not a hard requirement to build the package, for example various test frameworks.
JBoss AS has a modular architecture. This means that not all modules (version 7.1.CR1b has 56 modules) are required to run AS7. The core of AS7 can be run with abut 15 modules and be extended later on with new features like transactions or ejb.
How To Test
No system preparation besides installing JBoss AS is required.
yum install jboss-as
JBoss AS documentation provides many quickstarts that can be used to check if the server works properly.
User Experience
TBD
Dependencies
The oVirt management interface requires AS7.
Contingency Plan
Although the dependency tree is very large - it doesn't affect the Fedora community in case of a partial submission. The result of such submission would be that some of the AS7 features would be simply not available where other would work properly. In such case all mising features will be documented.
Documentation
Upstream has a good documentation.
Release Notes
TBD