1. A computer enabled system for exposing distributed transaction services as web services, comprising:
a transaction service gateway server, running on one or more processors, that operates to invoke one or more distributed transaction services on a distributed transaction server upon receiving a request in a web service message from a web service client, wherein the transaction service gateway server includes:
a web service message engine to handle the web service message for the one or more distributed transaction services; and
a plug-in interface that expands functionality of the web service message engine; and
a plug-in shared library, associated with the plug-in interface, that includes a set of plug-in implementation functions, wherein the plug-in library uses a virtual table that stores one or more function pointers to at least one said plug-in implementation function for the plug-in interface, and
wherein the web service message engine operates to
access the virtual table in the plug-in shared library through the plug-in interface and use the at least one said plug-in implementation function to convert the web service message into one or more distributed transaction data structures, and
use another plug-in implementation function in the plug-in shared library to convert a response received from the distributed transactional server into another web service message for the web service client, wherein the response is associated with another one or more distributed transaction data structures.
2. The system according to claim 1, wherein:
the web service message uses a web service protocol.
3. The system according to claim 1, wherein:
the transaction service gateway server supports two way communication between the web service client and the distributed transaction server.
4. The system according to claim 1, wherein:
the plug-in shared library is dynamically loaded by the web service message engine using a plug-in mechanism.
5. The system according to claim 4, wherein:
the plug-in shared library includes a set of plug-in register functions.
6. The system according to claim 1, wherein:
the plug-in interface allows usage of data types not defined within the one or more distributed transaction services.
7. The system according to claim 1, wherein:
the plug-in interface allows usage of security tools not defined within the one or more distributed transaction services.
8. The system according to claim 1, wherein:
the plug-in interface allows usage of a handler not defined within the one or more distributed transaction services.
9. The system according to claim 1, wherein:
the web service message engine operates to convert between complex types in a web service message and complex distributed transaction data structures.
10. The system according to claim 1, further comprising:
the transaction service gateway server is in a group of transaction service servers, wherein the group of transaction service gateway servers support failover capability.
11. A computer enabled method for exposing distributed transaction services as web services using plug-in mechanism, comprising:
receiving a request in a web service message, at a transaction service gateway server, from a web service client, wherein the transaction service gateway server operates to invoke one or more distributed transaction services on a distributed transaction server upon receiving the request from the web service client, and wherein the transaction service gateway server includes:
a web service message engine to handle the web service message for the one or more distributed transaction services; and
a plug-in interface that expands functionality of the web service message engine;
associating a plug-in shared library with the plug-in interface , wherein the plug-in shared library includes a set of plug-in implementation functions, wherein the plug-in library uses a virtual table that stores one or more function pointers to at least one said plug-in implementation function for the plug-in interface; and
allowing the web service message engine to
access the virtual table in the plug-in shared library through the plug-in interface and use the at least one said plug-in implementation function to convert the web service message into one or more distributed transaction data structures, and
use another plug-in implementation function in the plug-in shared library to convert a response received from the distributed transactional server into another web service message for the web service client, wherein the response is associated with another one or more distributed transaction data structures.
12. A non-transitory machine readable storage medium having instructions stored thereon that when executed cause a system to:
receive a request in a web service message, at a transaction service gateway server, from a web service client, wherein the transaction service gateway server operates to invoke one or more distributed transaction services on a distributed transaction server upon receiving the request from the web service client, and wherein the transaction service gateway server includes:
a web service message engine to handle the web service message for the one or more distributed transaction services; and
a plug-in interface that expands functionality of the web service message engine;
associating a plug-in shared library with the plug-in interface , wherein the plug-in shared library includes a set of plug-in implementation functions, wherein the plug-in library uses a virtual table that stores one or more function pointers to at least one said plug-in implementation function for the plug-in interface; and
allow the web service message engine to
access the virtual table in the plug-in shared library through the plug-in interface and use the at least one said plug-in implementation function to convert the web service message into one or more distributed transaction data structures, and
use another plug-in implementation function in the plug-in shared library to convert a response received from the distributed transactional server into another web service message for the web service client, wherein the response is associated with another one or more distributed transaction data structures.
13. The system according to claim 1, wherein: the distributed transaction data structures are in a format that is specific to the distributed transaction server.
14. The system according to claim 1, wherein:
the virtual table is implemented using a programming language structure, and wherein the programming language structure indicates the set of plug-in implementation functions that need to be implemented for the plug-in interface in the plug-in shared library.
15. The system according to claim 1, wherein:
the set of plug-in implementation functions includes a plug-in initiating function, a plug-in exiting function, one or more plug-in setting functions.
16. The system according to claim 1, wherein:
the plug-in shared library is loaded in by the transaction service gateway server, and wherein the plug-in interface is defined by a configuration file.
17. The system according to claim 1, wherein:
the plug-in interface is associated with a different plug-in shared library that uses a different virtual table.
18. The system according to claim 1, wherein:
the transaction service gateway server can automatically look for a plug-in implementation function in the plug-in shared library to prepare input data in a specific data type for the distributed transaction server.
19. The system according to claim 1, wherein:
the web service message engine operates to publish a web service description of the one or more distributed transaction services based on a metadata repository associated with the distributed transaction server.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A magnetic particle separator for use with a microplate, comprising:
a) a base plate;
b) a plurality of magnets; and
c) a plurality of spacers, each having a first end and a second end;
d) wherein the first ends of said plurality of spacers are secured to the base plate and the second ends of said plurality of spacers are secured to said plurality of magnets;
e) whereby said plurality of magnets are separated from said base plate by a distance of at least 15 mm.
2. The magnetic particle separator of claim 1, wherein the plurality of magnets are diametrically charged.
3. The magnetic particle separator of claim 1, wherein each of the plurality of spacers is cylindrical.
4. The magnetic particle separator of claim 1, wherein there are at least twenty-four magnets secured to at least twenty four spacers, said spacers being secured to said base plate, for use with a ninety-six well microplate.
5. A magnetic particle separation system comprising:
a) a microplate having a plurality of wells for holding a plurality of biological samples containing magnetic particles and recesses being formed between the plurality of wells; and
b) a magnetic particle separator comprising a base plate, a plurality of magnets producing, respectively, a plurality of magnetic fields, and a plurality of spacers fixedly securing the plurality of magnets, respectively to the base plate;
c) wherein said plurality of spacers imposes a sufficient distance between the plurality of magnets and the base plate, such that when the microplate and the magnetic separation device are joined together by inserting the plurality of magnets into the recesses of the microplate, the plurality of magnetic fields produced by said plurality of magnets cause the magnetic particles in the plurality of biological solutions to be attracted to the sides of the plurality of wells and away from the bottoms of said plurality of wells.
6. The magnetic particle separation of claim 5, wherein when the microplate and the magnetic separator are joined together, the distance between the bottoms of the wells and the plurality of magnets is at least 15 mm.
7. The magnetic particle separation system of claim 5, wherein the plurality of magnets are diametrically-charged.
8. The magnetic particle separation system of claim 5, wherein each of the plurality of spacers is cylindrical.
9. The magnetic particle separation system of claim 5, comprising at least twenty-four magnets secured to at least twenty four spacers, respectively, said twenty four spacers being secured to said base plate.
10. The magnetic particle separation system of claim 5, wherein the microplate is a deep-well microplate.
11. The magnetic particle separation system of claim 5, wherein the plurality of magnetic fields produced by said plurality of magnets are oriented in the same orientation.
12. A method for separating magnetic particles and bound antibodies out of a plurality of biological samples contained in a microplate, the microplate having a plurality of wells with recesses formed therebetween, each well having a well depth, the method comprising:
a) providing a magnetic particle separator having a base plate, a plurality of magnets producing, respectively, a plurality of magnetic fields, and a plurality of spacers, each spacer fixedly securing one of the plurality of magnets to the base plate; and
b) inserting the plurality of magnets and at least a portion of each spacer into the recesses between the wells of the microplate such that the distance between the bottoms of the wells and the plurality of magnets is equal to not less than one third of the well depth;
c) whereby the plurality of magnetic fields produced by the plurality of magnets, respectively, cause the magnetic particles and bound antibodies in the plurality of biological samples to aggregate along the sides of the plurality of wells and away from the bottoms of said plurality of wells.
13. The method of claim 12, wherein each of the plurality of magnets is diametrically charged.
14. The method of claim 12, wherein each of the plurality of magnets is cylindrical.
15. The method of claim 12, wherein the well depth is at least 30 mm.
16. A method for isolating an analyte from a biological sample held in a microplate, the microplate having wells and recesses therebetween, the wells having a well depth, the method comprising the steps of:
a) combining magnetic particles and the biological sample in the wells of the microplate, thereby producing a mixture;
b) incubating the mixture under such conditions that the analyte binds to the magnetic particles;
c) applying a magnetic field to the incubated mixture in the wells to cause the particles and bound analyte to move toward the sides and away from the bottoms of the wells; and
d) recovering the magnetic particle bound analyte.
17. The method of claim 16, wherein said magnetic field is applied by
a) providing a magnetic particle separator having a base plate, a plurality of magnets that produces the magnetic field, and a plurality of spacers, each spacer fixedly securing one of said plurality of magnets to the baseplate; and
b) inserting the plurality of magnets and at least a portion of each spacer into the recesses between the wells of the microplate so that the distance between the bottoms of the wells and the magnets is equal to not less than a third of the well depth;
18. The method of claim 16, wherein the well depth is at least 30 mm.
19. The method of claim 16, wherein the step of recovering comprises removing the non-bound components of the biological sample from the wells.
20. The method of claim 16, wherein the step of recovering comprises removing the magnetic particle bound analyte from the wells.