JAVA VIRTUAL MACHINE HAVING INTEGRATED TRANSACTION MANAGEMENT SYSTEM
A computing system is provided via which a specification of user-defined business logic of a desired transaction processing application may be provided, and the computing system ensures that a resulting configured system is fully transactional. The specification of user-defined business logic is provided as JAVA program instructions (or another programming language) which does not natively provide for specification of full transactionality. The business logic definition is processed to instantiate a subset of a plurality of possible service adaptors, to implement services of the transaction processing application. The instantiated service adaptors are such that, when executed, the arranged instantiated service adaptors will accomplish the business logic in conjunction with generic transaction processing logic. In addition, the arranged instantiated service adaptors are such that, when, when executed, the transaction processing application will be accomplished in a manner that is fully transactional.
1 . A computing system comprising at least one processor, the computing system configured as a transaction processing development framework to facilitate development of a desired transaction processing application, for execution by the computing system, the computing system configured to:
execute computer program instructions to process a specification of user defined business logic of the desired transaction processing application, wherein the specification of user-defined business logic is set forth as JAVA program instructions;
execute computer program instructions to process the business logic definition, to instantiate the transaction processing application, including to:
instantiate a subset of a plurality of possible service adaptors, to implement services of the transaction processing application; and
arrange the instantiated service adaptors such that, when executed, the arranged instantiated service adaptors will accomplish the business logic in conjunction with generic transaction processing logic; and
guarantee that the arranged instantiated service adaptors, when executed, will accomplish the transaction processing application in a manner that is fully transactional.
2 . The computing system of claim 1 , wherein:
the transaction processing application being accomplished in a manner that is fully transactional includes the business logic of the transaction processing application being accomplished, in conjunction with the arranged instantiated service adaptors, in a manner that is fully transactional.
3 . The computing system of claim 1 , wherein:
the computing system being configured to execute computer program instructions to process the specification of user-defined business logic set forth as JAVA program instructions includes the computing system being configured to execute a JAVA virtual machine (JVM)to process JAVA byte codes of the JAVA program instructions;
the computing system being configured to execute computer program instructions to guarantee that the arranged instantiated service adaptors, when executed, will accomplish the transaction processing application in a manner that is fully transactional includes the computing system being configured to link the processed JAVA byte codes to transaction and component functionality using at least one interface defined by at least one JAVA class, the transaction and component functionality configured to, when executed, accomplish the transaction processing application in a manner that is fully transactional.
4 . The computing system of claim 1 , further configured to:
execute computer program instructions to provide a transaction processing platform configured to execute the arranged instantiated service adaptors,
wherein arranging the instantiated service adaptors includes creating managed Java objects that have transactional functionality.
5 . The computing system of claim 1 , further configured to:
execute computer instruction program instructions to provide a transaction processing platform configured to execute the arranged instantiated service adaptors,
wherein
the transaction processing platform utilizes a type system; and
the type system utilized by the transaction processing platform is exposed to the JAVA code using JAVA bindings.
6 . A computer-implemented method of providing transactional behavior to a JAVA class, the method comprising:
by a computing device, processing JAVA code that defines transactional behavior; and
processing a particular JAVA class to cause the particular JAVA class to be treated as including the JAVA code defining the transactional behavior.
7 . The method of claim 6 , wherein:
processing the particular JAVA class to cause the particular JAVA class be treated as including the JAVA code defining the transactional behavior includes processing, in conjunction with processing the particular JAVA class, a JAVA annotation indication of the JAVA code that defines the transactional behavior.
8 . The method of claim 7 , wherein:
processing the JAVA annotation indication of the JAVA code that defines the transactional behavior includes causing properties of a class defining the transactional behavior to be extended to the particular JAVA class.
9 . The method of claim 6 , wherein:
causing the JAVA class to be treated as including the JAVA code defining the transactional behavior includes processing, in conjunction with processing the JAVA class, an indication of extending a transactional class to the JAVA class.
10 . The method of claim 6 , wherein:
causing the JAVA class to be treated as including the JAVA code defining the transactional behavior includes processing, in conjunction with processing the JAVA class, an indication of being contained by a transactional class.
11 . The method of claim 6 , wherein:
causing the JAVA class to be treated as including the JAVA code defining the transactional behavior includes incorporating the transactional behavior at class load time, whereby standard JAVA development tools may be employed.
12 . A method of operating a computing system comprising at least one processor, the computing system configured as a transaction processing development framework to facilitate development of a desired transaction processing application, for execution by the computing system, the method comprising:
causing the computing system to process a specification of user defined business logic of the desired transaction processing application, wherein the specification of user-defined business logic is set forth as JAVA program instructions;
causing the computing system to process the business logic definition, to instantiate the transaction processing application, including to:
instantiate a subset of a plurality of possible service adaptors, to implement services of the transaction processing application; and
arrange the instantiated service adaptors such that, when executed, the arranged instantiated service adaptors will accomplish the business logic in conjunction with generic transaction processing logic; and
guarantee that the arranged instantiated service adaptors, when executed, will accomplish the transaction processing application in a manner that is fully transactional.
13 . The method of claim 12 , wherein:
the transaction processing application being accomplished in a manner that is fully transactional includes the business logic of the transaction processing application being accomplished, in conjunction with the arranged instantiated service adaptors, in a manner that is fully transactional.
14 . The method of claim 12 , wherein:
processing the specification of user-defined business logic set forth as JAVA program instructions includes executing a JAVA virtual machine (JVM)to process JAVA byte codes of the JAVA program instructions;
guaranteeing that the arranged instantiated service adaptors, when executed, will accomplish the transaction processing application in a manner that is fully transactional includes linking the processed JAVA byte codes to transaction and component functionality using at least one interface defined by at least one JAVA class, the transaction and component functionality configured to, when executed, accomplish the transaction processing application in a manner that is fully transactional.
15 . The method of claim 12 , further comprising:
causing the computing system to provide a transaction processing platform configured to execute the arranged instantiated service adaptors,
wherein arranging the instantiated service adaptors includes creating managed Java objects that have transactional functionality.
16 . The method of claim 12 , further comprising:
providing a transaction processing platform configured to execute the arranged instantiated service adaptors,
wherein
the transaction processing platform utilizes a type system; and
the type system utilized by the transaction processing platform is exposed to the JAVA code using JAVA bindings.
17 . A computer program product comprising at least one computer readable-medium having computer program instructions tangibly embodied thereon, the computer program instructions configured to cause at least one computing device to provide transactional behavior to a JAVA class, including to:
process JAVA code that defines transactional behavior; and
process a particular JAVA class to cause the particular JAVA class to be treated as including the JAVA code defining the transactional behavior.
18 . The computer program product of claim 17 , wherein:
processing the particular JAVA class to cause the particular JAVA class be treated as including the JAVA code defining the transactional behavior includes processing, in conjunction with processing the particular JAVA class, a JAVA annotation indication of the JAVA code that defines the transactional behavior.
19 . The computer program product of claim 17 , wherein:
processing the JAVA annotation indication of the JAVA code that defines the transactional behavior includes causing properties of a class defining the transactional behavior to be extended to the particular JAVA class.
20 . The computer program product of claim 17 , wherein:
causing the JAVA class to be treated as including the JAVA code defining the transactional behavior includes processing, in conjunction with processing the JAVA class, an indication of extending a transactional class to the JAVA class.
21 . The computer program product of claim 17 , wherein:
causing the JAVA class to be treated as including the JAVA code defining the transactional behavior includes processing, in conjunction with processing the JAVA class, an indication of being contained by a transactional class.
22 . The computer program product of claim 17 , wherein:
causing the JAVA class to be treated as including the JAVA code defining the transactional behavior includes incorporating the transactional behavior at class load time, whereby standard JAVA development tools may be employed.