Showing posts with label JAXR. Show all posts
Showing posts with label JAXR. Show all posts

Monday, 4 April 2016

What are JAXR capability profiles ?


Related features are grouped into a capability.
  • Each capability is represented by a Java interface type.
  • Each feature is represented by a method of the Java interface type.
Examples : xxLifeCycleManager, xxQueryManager

JAXR categorizes capabilities into a small set of capability profiles. Capability profile is a set of capabilities.

Two capability profiles defined in JAXR :
  • Level 0 profile for basic features (Business interface)
  • Level 1 profile for advanced features (Generic interface)


Level 0 Profile (Business Interface)
  • Must be supported by all JAXR providers
    • Applications that use only methods defined in Level 0 profile are portable over all JAXR providers.
  • Provides basic registry capabilities
  • Interfaces are defined in JAXR Business API
  • JAXR providers for UDDI must be level 0 compliant

Level 1 Profile (Generic Interface)
  • Optionally, supported by JAXR provider
  • Provides advanced registry capabilities
  • Implies support of Level 0 profile
  • Interfaces are defined in JAXR Generic API
  • JAXR providers for ebXML must be level 1 compliant

JAXR Provider must implement Capability profile in its entirety.
JAXR Provider must not implement methods beyond its declared capability profile
  • Must throw UnsupportedCapabilityException when a method that is not supported is invoked
  • Ensures portability of JAXR application


CapabilityProfile Interface
  • Implemented by JAXR provider
  • Used by JAXR client to find the capability level of a JAXR provider

Explain JAXR Architecture


Main components of JAXR

Registry Provider
  • Provides an implementation of a registry specification
  • is not expected to implement JAXR specification
  • examples: UDDI registry, ebXML registry

JAXR Provider
  • Implements JAXR specification
  • Typically functions as facade to existing registry providers
  • example: JAXR reference implementation

JAXR Client
  • Uses JAXR APIs to access services provided by JAXR Provider

Remote communication occurs between JAXR provider and Registry providers.
JAXR client and JAXR provider are expected to be co-located in a same JVM in most implementations.



JAX-R provider implementation

JAX-R provider implementation can be composed of :

1. JAXR pluggable provider
  • Provides a single abstraction for multiple registry-specific JAXR providers.
  • Provides a Pluggable ConnectionFactory implementation that can create JAXR Connections using the appropriate registry-specific JAXR provider.

2. Registry-specific JAXR provider
  • Plugs into JAXR pluggable provider.
  • Translates client request to registry provider specific request and dispatch them using registry provider specific protocol.

What is JAXR ? Why JAXR ?


  • Standard Java™ API for performing registry operations over diverse set of registries.
  • A unified information model for describing business registry contents.
  • Provides multi-layered API abstractions.

Why JAXR ?
  • Too many overlapping registry standards
  • Industry needs standards to merge
  • The JAXR API is the confluence of registry standards
  • Provides a simple API for the Java™ platform, for accessing diverse registries
  • Works with existing registry implementations
  • Enables web services and peer-to-peer computing for the Java™ and J2EE™ platforms