Resource Adapter Classloader Interoperability via System Registry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The J2EE Connector Architecture does not provide a standardized mechanism for class loading, leaving it to individual application server vendors, which can lead to interconnection issues between disparate computational entities.

Innovation Solution

A mechanism for loading a class with a resource adapter classloader is developed, allowing classes loaded by the resource adapter classloader to be made accessible to other classloaders through a system classloader, enabling sharing of class information and eliminating the need for classes to be placed in the CLASSPATH, by setting an indicator tag to true in configurations like weblogic-ra.xml.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If each application server vendor implements its own class loading mechanism, then implementation flexibility is improved, but system interoperability deteriorates

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidsystem interoperability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a universal class loading mechanism through the ClassLoaderRegistry that serves multiple functions: it manages classes loaded by resource adapters, enables access to these classes by other components, and provides standardized interaction across different application server vendors. This registry acts as a common infrastructure that accommodates vendor-specific implementations while ensuring system-wide interoperability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The ClassLoaderRegistry serves as an intermediary between resource adapters and other system components. Instead of direct connections between disparate vendors' systems, the registry mediates class loading and access, providing a standardized interface that translates between different vendor-specific mechanisms and ensures consistent behavior across the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If classes are loaded by resource adapter classloaders, then resource adapter functionality is improved, but class accessibility to other components deteriorates

Engineering Contradiction:
Improveresource adapter functionalityVSAvoidclass accessibility
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The patent implements feedback mechanisms where the ClassLoaderRegistry tracks classes loaded by resource adapters and automatically makes them accessible to other components. The system monitors class loading events and responds by registering these classes with the registry, enabling subsequent access requests from other components to succeed without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The ClassLoaderRegistry provides universal access to classes loaded by any resource adapter classloader. Once a class is loaded by a resource adapter, the registry ensures it becomes accessible to all authorized components in the system, making the classloading mechanism serve both resource adapter functionality and system-wide accessibility requirements simultaneously.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If a standardized class loading mechanism is implemented, then system interoperability is improved, but implementation flexibility deteriorates

Engineering Contradiction:
Improvesystem interoperabilityVSAvoidimplementation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the class loading system into distinct components: resource adapter classloaders that handle vendor-specific loading requirements, and a central ClassLoaderRegistry that provides standardized access. This segmentation allows each component to maintain its specific characteristics while working together through standardized interfaces, preserving both interoperability and implementation flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The ClassLoaderRegistry acts as an intermediary layer that standardizes interactions between resource adapters and system components. It provides a uniform interface for class access while allowing resource adapters to use their own specialized loading mechanisms underneath, thus maintaining implementation flexibility while ensuring standardized interoperability.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If classes are made accessible through system classloader, then class sharing is improved, but classloader complexity deteriorates

Engineering Contradiction:
Improveclass sharingVSAvoidclassloader complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The ClassLoaderRegistry serves as an intermediary that manages class sharing between different classloaders. Instead of direct complex interactions between multiple classloaders, the registry mediates access by maintaining a centralized registry of available classes and their associated classloaders, simplifying the overall system architecture while enabling extensive class sharing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7788660B2Resource adapter classloading
Publication Date: 2010.08.31 ORACLE INT CORP
  • US7788660B2 patent drawing
  • US7788660B2 patent drawing
  • US7788660B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for loading a class with a resource adapter classloader and enabling the class to be accessible by other components that interconnect with the resource adapter. In an embodiment, a method for loading a class with a resource adapter classloader is provided that includes detecting an indicator specifying that at least one class loaded by a classloader associated with a resource adapter be made accessible to at least one other classloader. The at least one class loaded by the classloader associated with the resource adapter is made accessible to a system classloader. The at least one other classloader is permitted the capability to access the at least one class loaded by the classloader associated with the resource adapter via the system classloader.