METHOD FOR DECOUPLING COMPONENTS OF A SOFTWARE SYSTEM AT COMPILE TIME AND LOAD TIME
First Claim
1. In a data processing system with a Java platform, a method comprising:
- pre-defining a number of implementation classes required to facilitate a decoupling of software components at a load/compile time to accelerate application startup;
recording one or more method names and one or more argument lists from a required remote interface into a local interface;
augmenting the local interface with an annotation that defines the remote interface in order to alert a runtime process that the local interface emulates the remote interface;
initiating the creation of a dynamic proxy;
appending a predefined keyword to the name of the local interface to enable the generation of a new classname;
detecting when the new classname is loaded; and
when the new classname is loaded;
loading an implementation for the remote class; and
associating the implementation with the dynamic proxy, which subsequently implements the interfaces when required by one of a specific user action and a system action.
5 Assignments
0 Petitions
Accused Products
Abstract
A method, system and computer program product for decoupling components of a software system at load/compile time to accelerate application startup times. In particular, a software components partitioning (SCP) utility pre-defines a number of (implementation) classes to initiate and facilitate the decoupling process. The SCP utility allows the method names and argument lists to be recorded from a remote interface into a local interface which emulates the remote interface. The local interface is augmented with an annotation to define the remote interface. Additionally, a pre-defined keyword is appended to the name of the local interface to enable the creation of a (pre-defined) classname. Furthermore, when the classname is loaded, an implementation (via a Java implementation class, for example) for the remote class is loaded, and the implementation is associated with a dynamic proxy that implements both the local and remote interfaces, on demand.
37 Citations
12 Claims
-
1. In a data processing system with a Java platform, a method comprising:
-
pre-defining a number of implementation classes required to facilitate a decoupling of software components at a load/compile time to accelerate application startup; recording one or more method names and one or more argument lists from a required remote interface into a local interface; augmenting the local interface with an annotation that defines the remote interface in order to alert a runtime process that the local interface emulates the remote interface; initiating the creation of a dynamic proxy; appending a predefined keyword to the name of the local interface to enable the generation of a new classname; detecting when the new classname is loaded; and when the new classname is loaded; loading an implementation for the remote class; and associating the implementation with the dynamic proxy, which subsequently implements the interfaces when required by one of a specific user action and a system action. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product comprising:
-
a computer readable medium; and program source code on said computer readable medium that when executed within a data communication device, said program code provides the functionality of; pre-defining a number of implementation classes required to facilitate a decoupling of software components at a load/compile time to accelerate application startup; recording a set of method names and argument lists from a required remote interface into a local interface; augmenting the local interface with an annotation that defines the remote interface in order to alert the runtime that the local interface emulates the remote interface; initiating the creation of a dynamic proxy; appending a predefined keyword to the name of the local interface to enable the generation of a new classname; detecting when the new classname is loaded; and when the new classname is loaded; loading an implementation for the remote class; and associating the implementation with the dynamic proxy, which subsequently implements the interfaces when required by a specific user action or system action. - View Dependent Claims (6, 7, 8)
-
-
9. A data processing system comprising:
-
a processor which executes a Java Platform software; a memory system which stores the Java Platform; a utility executing on the processor which provides the functions of; pre-defining a number of (implementation) classes required to facilitate a decoupling of software components at a load/compile time to accelerate application startup; recording a set of method names and argument lists from a required remote interface into a local interface; augmenting the local interface with an annotation that defines the remote interface in order to alert the runtime that the local interface emulates the remote interface; initiating the creation of a dynamic proxy; appending a predefined keyword to the name of the local interface to enable the generation of a new classname; detecting when the new classname is loaded; and when the new classname is loaded; loading an implementation for the remote class; and associating the implementation with the dynamic proxy which subsequently implements the interfaces when required by a specific user action or system action. - View Dependent Claims (10, 11, 12)
-
Specification