You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

  1. Architecture
    These points refer to the architecture aspects like extensibility, modularity, configurability and robustness.
    • General
    • Extensibility - ability to extend the run-time with new functionality.
      • HP supports
        • Handlers (section 13 in the HP runtime guide) - an ability to add user handlers & change system handlers
        • Extensible Lifecycle Manager - define custom lifecycle s for resources/providers by implementing OFFactory interface and adding it to the Factories registry.
    • Configurability - ability to control different runtime features and properties.
      • HP Supports (section 3 in the HP runtime guide):
        • Properties file to control basic functionalities
        • Simple JAX-RS Application - Load Application from flat text file
        • Deployment Configuration - ability to extend the DeploymentConfiguration class that controls all aspects of runtime configuration e.g. Handler Chains.
    • Resource and providers management - how the runtime manages resources & providers classes.
      • HP maintains (section 2.5 in the HP runtime guide):
        • Resources registry, for storing resource metadata in a sorted state.
        • Providers registry, for storing providers metadata in a hash.
    • Lifecycle management - how the runtime creates and manages resources & providers instances.
      • HP runtime uses Factory chain in order to create resources & providers instances. HP provides the following factories: DefaultOFFactory according to JAX-RS default behavior, ScopeOFFactory to support @Scope annotation, SpringOFFactory to delegate the creation to the Spring framework.
  2. JAX-RS Implementation
    • How much of JAX-RS API is implemented
      • HP - all JAX-RS spec and interfaces are implemented
    • TCK coverage
      • HP has not been tested with TCK
    • Which version of the JAX-RS is implemented
      • HP implemented JX-RS 1.0
    •  Deployment environments - support servlet container, endpoints.
      • HP supports servlet container
  3. Performance - how well the runtime performs vs. other implementations (jersey, resteasy, restlet).
    HP: Initial performance testing indicates that HP core engine performs better/equal to Jersey/Restlet/RestEasy runtimes.
  4. Additional Features - extra functionality on top of JAX-RS specification
    • HP provides support for the following feature (for a full list, refer to HP runtime guide)
      • Atom/App/JSON /HTML/OpenSearch/CSV representations
      • Spring integration
      • WebDAV
      • Resources administration view
      • X-HTTP-Method-Override
      • Runtime registration - ability to register multiple JAX-RS Applications in a runtime
      • Auto-generation of APP service document
      • Automatic link generation
      • Resource continues search option
  5. Maturity
    • HP 2.0 is based on previous versions that are being used by a dozen products.
  6. Client
    • HP 2.0 provides a Rest Client that uses JAX-RS concepts and as such shares a unified infrastructure with HP JAX-RS implementation.
  7. Runtime requirements
    • HP runtime supports Java 1.5 and higher.
  8. Documentation
    • The following documentation is provided by HP
      • Feature List - detailed explanation about HP runtime architecture & additional features over JAX-RS implementation
      • Java docs
      • Maven build site that provides: change log, test coverage reports, 3-rd parties dependencies report, surefire reports and more
      • Examples - 18 examples divided into 4 categories: core JAX-RS, Additional features, full application and client.
  • No labels