Detailed instructions for use are in the User's Guide.
[. . . ] Putting oPen source to the test:
the making of JBoss enterPrise middleware
Through a rigorous productization process, JBoss Enterprise Middleware teams continually harden and transform cutting-edge open source technology into well-tempered enterprise software products with unsurpassed quality, performance, and stability -- then deliver it with top-notch support and mission-critical SLAs. June 2008
www. jboss. com
Putting open source to the test: The making of JBoss Enterprise Middleware
taBle of contents
AbstrAct EntErPrisE it MEEts OPEn sOurcE: bEnEfits And chAllEngEs crEAting JbOss EntErPrisE MiddlEwArE Open source for the enterprise hardening open source software into middleware products Defining products and identifying software sources branching code and assembling components Defining product release strategy Testing function and quality Certifying platform and database compatibility Validating stack compatibility Meeting requirements for performance, scalability, and resilience Security analysis, testing, and monitoring Platform certification: Behind the scenes Providing enterprise-quality support and service Legal assurance Professional documentation and training Leveraging a reference implementation Software localization Previews of coming attractions Jboss Enterprise Middleware: Delivering the best of both worlds About JBoss Enterprise Middleware About Red Hat Page 3
Page 4 Page 6 Page 6 Page 7 Page 7 Page 8 Page 9 Page 9 Page 10 Page 11 Page 11 Page 11 Page 12 Page 12 Page 13 Page 13 Page 13 Page 14 Page 14 Page 14 Page 16 Page 16
2 www. jboss. com
Putting open source to the test: The making of JBoss Enterprise Middleware
aBstract
For enterprise IT organizations and independent software vendors (ISVs), open source software eliminates high up-front license fees, provides transparent access to code, and delivers high-quality capabilities honed by many intelligent minds focusing on a problem. But wholehearted adoption of an open source approach also brings diverse challenges, including highly granular components with disparate versions that must be integrated and tested, variable component stability, uncertain platform and database compatibility, and unknown performance characteristics. Documentation and support may or may not be available to save time for busy developers. [. . . ] The team then defines specific objectives for the release, balancing ambitious requirements with time and resource constraints. Requirements include not only functional capabilities, but also usability requirements, platform certification, performance characteristics, scalability requirements, installation and migration tools, and other requirements for capabilities that make customers' lives easier.
crEAting JbOss EntErPrisE MiddlEwArE
1
Delivery phase jboss. org projects
2
Product requirements definition
3
Platform component engineering + integration
4
Platform testing certification + documentation
5
Platform release (general availability)
Productization Team
PLATFORM CANDIDATE RELEASE
QUALITY ASSURANCE
jboss. org engineers + community
Product management
JBoss productization engineers
JBoss QA documentation team, certified partners
JBoss release engineering
To create each JBoss Enterprise Middleware product, JBoss productization and delivery teams proceed through a well-defined productization process that takes an average of four to five months to complete.
brAnching cOdE And AssEMbling cOMPOnEnts Once requirements have been agreed upon and code sources identified, the JBoss Enterprise Middleware productization team creates a code branch that will become the next release of the product. At this point, ongoing open source community development no longer affects the branched code, so the product team can stabilize and test the software without having to incorporate new capabilities. Any code changes to the branch, no matter how minor, are first submitted to the upstream JBoss. org project for approval, and then, once approved, incorporated into the associated Enterprise JBoss Middleware product. The productization team combines the code from these various sources -- from JBoss. org projects or other open source projects -- and integrates them to form a single enterprise software product.
8 www. jboss. com
Putting open source to the test: The making of JBoss Enterprise Middleware
"We've found a high-quality, easily scalable server that can match our business growth, as well as superior professional service from the expert developers behind the technology. "
Michael McDonald, Director of Technology, Continental Airlines
In addition to assembling existing components into an integrated whole, the team may also develop new tools and capabilities where needed to support requirements that are not normally addressed by the open source community, such as migration or diagnostic tools. dEfining PrOduct rElEAsE strAtEgy The JBoss Enterprise Middleware product release schedule allows features and fixes to be delivered to customers in an orderly way while maximizing the stability of their platform. A hierarchy of major releases, minor releases, and cumulative patch releases provides IT organizations with a straightforward, manageable process. Because patch releases are made to the Enterprise branch of the code, customers are insulated from ongoing development in the open source community. While fixes and changes are made to the Enterprise branch, they are also given to the open source project community, enabling the open source project software to benefit from innovations and patches made by the Enterprise productization team. When the definition process is begun for the next major release of an Enterprise product, the team begins again by examining the open source community projects, enabling enterprise customers to benefit from the vibrant development process that has been advancing the state of the art. Of course, this new release then undergoes the same productization process to ensure enterprise-level quality, stability, and performance. tEsting functiOn And quAlity The JBoss Enterprise Middleware product testing process delivers production-quality software that represents a safe choice for enterprise IT organizations. While open source projects such as JBoss. org projects each conduct testing before releasing their components to the community for feedback, these tests may not be sufficient to provide the level of quality and stability needed for production use. Community testing may be limited in a variety of ways; depending on developer interest, certain use cases or configurations may be well tested while others are ignored. The JBoss Enterprise Middleware product testing process augments these tests with a wide range of additional component functional tests, integration tests, and compatibility tests designed to raise the bar for quality and stability and allow enterprise IT organizations to use the products with confidence. Wherever possible, real customer cases -- test cases provided by customers or discovered during the customer support process -- are used in the testing process to ensure that products meet customer expectations.
www. jboss. com 9
Putting open source to the test: The making of JBoss Enterprise Middleware
But product testing does not stop with functional testing. Each JBoss Enterprise Middleware product has a defined set of test criteria that must be passed before a release (major, minor, or patch) is delivered to customers. This process requires testing on a wide range of platforms, configurations, and load conditions as described in the following sections. It also includes installation and management testing.
"the Jboss Enterprise Application Platform was able to deliver the performance that was required and had the professional support necessary to enable us to confidently deploy the software in a production environment. "
- Per-Ola sjöswärd, Executive it strategist, swedish national Police board
cErtifying PlAtfOrM And dAtAbAsE cOMPAtibility For open source projects, the nature and extent of platform testing depends heavily on the platforms available to developers and the time they want to devote to platform testing vs. As a result, most open source software is tested only on a single common platform. But developers have long known that differences in operating systems and other platform components can lead to compatibility problems and that software must be tested on the platform or platforms on which it will run in production. JBoss Enterprise Middleware products are tested with a wide range of Java Virtual Machine (JVM) software and operating system software to ensure that they meet enterprise requirements (see sidebar). [. . . ] PrEViEws Of cOMing AttrActiOns With software from open source projects, mature capabilities are found alongside new, experimental features. For the new user, it can be hard to know which is which. While JBoss Enterprise Middleware products can include newer, experimental features that represent previews of new capabilities, these are clearly identified as Technology Previews that are defined and described in release notes and support policies to ensure that it is always clear to the user which capabilities are backed up by SLAs and which are not. Technology Previews represent features that are likely to be fully supported in a future release but are not yet complete. [. . . ]