From Fedora Project Wiki
 
(14 intermediate revisions by 4 users not shown)
Line 12: Line 12:
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->


JBoss Application Server 7 (http://www.jboss.org/jbossas) is a fast, lighweight and modular Java EE application server
{{admon/important|Full Java EE profile is not available yet|Because of the huge amount of work to include JBoss AS, only '''a subset of the full Java EE functionality is provided'''. You can expect everything what is available in '''Web Profile''' with addition of messaging subsystem (HornetQ). Unfortunately we don't have JPA2 provider packaged (Hibernate), but we're working on it. If you have any questions - please join #fedora-java. We'll extend the available subsystems set with every update. If you want help us - please let us know on IRC.}}
 
JBoss Application Server 7 (http://www.jboss.org/jbossas) is a fast, lighweight and modular Java EE application server.


== Owner ==
== Owner ==
Line 23: Line 25:
== Current status ==
== Current status ==
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Last updated: 2012-01-22
* Last updated: 2012-04-17
* Percentage of completion: 40%
* Percentage of completion: 100%


<!-- 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. -->
Line 33: Line 35:
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->


JBoss AS 7 is fast, modular and lightweight Java EE application server.
JBoss AS 7 is fast, modular, lightweight, elegantly adminstrable, compliant Java EE application server with easily usable test features.


=== Fast ===
=== Fast ===
Line 54: Line 56:


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.
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.
=== Elegant Administration ===
Rather than sending you on a wild goose chase to change a setting in the application server, configuration in AS 7 is centralized, simple and user-focused. The configuration file is based on a straightforward domain model that you can easily comprehend and no internal wiring is exposed.
The centralized configuration also unifies management. The same configuration file can be used for multiple servers in domain mode. In contrast, standalone mode controls a single instance, similar to how previous versions of JBoss AS were launched.
=== Strict Compliance ===
JBoss has always been committed to application portability to prevent vendor lock-in. That's why we've made AS 7 Java EE 6 Full Profile certified. But we didn't stop there!
AS 7 boasts an internal test suite based on Arquillian that achieves even more strict compliance to the portability expectations of our community of users.
As long as your application is Java EE compliant, you should expect it to run on AS 7. If you can't, it may be an indication that your application has portability problems.
=== Easily Testable ===
From the very start, AS 7 has been designed with testability in mind. The secret to that fidelity is Arquillian: a component model for integration tests that execute inside the real runtime environment.
By removing the clutter from your tests and handling deployment and test execution, Arquillian enables you to write tests for just about any use case your application encounters: real tests.
Thanks to the speed of AS 7, Arquillian tests run nearly as fast as unit tests.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 60: Line 84:
Allow to run full Java EE applications on one of the most popular Java application servers.
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.
The side benefit of having AS 7 in Fedora is that with the many Java libraries packaged - Fedora could be the best foundation for Java developers.


== Scope ==
== Scope ==
Line 69: Line 93:
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.
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.
JBoss AS has a modular architecture. This means that not all modules (version 7.1.CR1b has 56 modules) are required to run AS 7. The core of AS 7 can be run with abut 15 modules and be extended later on with new features like Java Transaction API or Enterprise Java Beans.


== How To Test ==
== How To Test ==
Line 104: Line 128:
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->


The [[Features/oVirt|oVirt]] management interface requires AS7.  
The [[Features/oVirt|oVirt]] management interface requires AS 7.  


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->


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.
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 AS 7 features would be simply not available where other would work properly. In such case all mising features will be documented.


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->


Upstream has a [https://docs.jboss.org/author/display/AS71|very good documentation].
Upstream has a [https://docs.jboss.org/author/display/AS71 very good documentation].


== Release Notes ==
== Release Notes ==
Line 126: Line 150:




[[Category:FeaturePageIncomplete]]
[[Category:FeatureAcceptedF17]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 17:45, 11 October 2012


JBossAS7

Jbossas7 ligature 128.png

Summary

Important.png
Full Java EE profile is not available yet
Because of the huge amount of work to include JBoss AS, only a subset of the full Java EE functionality is provided. You can expect everything what is available in Web Profile with addition of messaging subsystem (HornetQ). Unfortunately we don't have JPA2 provider packaged (Hibernate), but we're working on it. If you have any questions - please join #fedora-java. We'll extend the available subsystems set with every update. If you want help us - please let us know on IRC.

JBoss Application Server 7 (http://www.jboss.org/jbossas) is a fast, lighweight and modular Java EE application server.

Owner

  • Email: mgoldman@redhat.com

Current status

  • Targeted release: Fedora 17
  • Last updated: 2012-04-17
  • Percentage of completion: 100%


Detailed packaging status is maintained on separate wiki page.

Detailed Description

JBoss AS 7 is fast, modular, lightweight, elegantly adminstrable, compliant Java EE application server with easily usable test features.

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.

Elegant Administration

Rather than sending you on a wild goose chase to change a setting in the application server, configuration in AS 7 is centralized, simple and user-focused. The configuration file is based on a straightforward domain model that you can easily comprehend and no internal wiring is exposed.

The centralized configuration also unifies management. The same configuration file can be used for multiple servers in domain mode. In contrast, standalone mode controls a single instance, similar to how previous versions of JBoss AS were launched.

Strict Compliance

JBoss has always been committed to application portability to prevent vendor lock-in. That's why we've made AS 7 Java EE 6 Full Profile certified. But we didn't stop there!

AS 7 boasts an internal test suite based on Arquillian that achieves even more strict compliance to the portability expectations of our community of users.

As long as your application is Java EE compliant, you should expect it to run on AS 7. If you can't, it may be an indication that your application has portability problems.

Easily Testable

From the very start, AS 7 has been designed with testability in mind. The secret to that fidelity is Arquillian: a component model for integration tests that execute inside the real runtime environment.

By removing the clutter from your tests and handling deployment and test execution, Arquillian enables you to write tests for just about any use case your application encounters: real tests.

Thanks to the speed of AS 7, Arquillian tests run nearly as fast as unit tests.

Benefit to Fedora

Allow to run full Java EE applications on one of the most popular Java application servers.

The side benefit of having AS 7 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 AS 7. The core of AS 7 can be run with abut 15 modules and be extended later on with new features like Java Transaction API or Enterprise Java Beans.

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.

Note.png
Quickstart selection
Representative set of quickstarts that should be checked while testing the distribution needs to be picked up.

User Experience

TBD

Dependencies

The oVirt management interface requires AS 7.

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 AS 7 features would be simply not available where other would work properly. In such case all mising features will be documented.

Documentation

Upstream has a very good documentation.

Release Notes

TBD

Comments and Discussion