How do customers know if a vendor’s application server truly implements all J2EE APIs correctly? Vendors might claim compliance but cut corners or implement APIs incorrectly. We need a standardized way to verify and certify implementations.
J2EE compliance is achieved when a vendor’s product passes the Test Compatibility Kit (TCK) provided by Sun. Compliant products earn the “J2EE-compliant” brand, assuring customers that the product correctly implements the specification.
- Sun provides three things: Specifications (PDFs), TCK (test suite), and RI (reference implementation)
- Vendor implements all J2EE APIs (EJB, JMS, JDBC, etc.)
- Vendor runs TCK tests against their implementation
- If all tests pass, Sun issues J2EE compliance certification
- Customers can check reviews (e.g., TheServerSide.com) to compare compliant products
Compliance encourages competition while ensuring code portability.
- TCK (Test Compatibility Kit): Comprehensive test suite from Sun
- Certification: “J2EE-compliant” brand issued by Sun
- Reference Implementation: Free, low-end implementation for developers
- Vendor competition: Compliance encourages innovation and price competition
- Customer confidence: Certified products guaranteed to work per spec
- Built from: J2EE Specification — compliance verifies spec implementation
- Builds into: EJB Container — containers must be J2EE-compliant
- Related: Java Platforms — compliance applies to J2EE platform
- Related: Component Architecture — compliant servers implement component model
- Incompatibilities: Ambiguities in spec can cause vendor differences despite compliance
- Human nature of competition: Vendors may interpret ambiguous specs differently
- Version lag: Some vendors slow to implement new J2EE versions
- Proprietary extensions: Vendors add features beyond spec, creating lock-in