Java Enterprise System deployments typically fall into two categories, those based primarily on services provided with Java Enterprise System and those that require a significant number of custom services that are integrated with Java Enterprise System services. You can think of the former type of deployment as an 80:20 deployment (80% of the services are provided by Java Enterprise System) and similarly, the former as a 20:80 deployment.
For 80:20 deployments, during the implementation phase, you typically develop a pilot deployment for testing purposes. Because 80:20 deployments use mature Java Enterprise System services that provide “out-of-the-box” functionality, pilot deployments move relatively quickly from development, testing, and modification steps, to production deployments. A pilot deployment verifies the functionality of a solution, but also provides information on how well the system performs.
20:80 deployments, on the other hand, introduce new, custom services that do not have the history of interoperability that comes with 80:20 deployments. For this reason, you create a prototype, which is a proof-of-concept deployment that typically requires a more rigorous development, testing, and modification cycle before going into production. A prototype lets you determine how well a proposed solution solves the problem in a test environment. Once the prototype demonstrates the functionality is sufficient, you can move on to more rigorous testing and then to a pilot deployment.
Actual enterprise deployments can vary greatly in the amount of custom development of services they require. How you use pilot and prototype deployments for testing purposes depends on the complexity and nature of your deployment.