Claims
- 1. A system for deploying applications, comprising:
a data storage component capable of containing at least one application to be deployed; a managed component capable of receiving the application from the data storage component and executing the application; and an administration component for deploying the application from the data storage component to the managed component, the managed component adapted to prepare the managed component for deployment and activate the deployment once the managed component is prepared.
- 2. A system according to claim 1, further comprising:
a deployment tool for guiding the deployment of the application.
- 3. A system according to claim 1, further comprising:
additional managed components for receiving and executing the application.
- 4. A system according to claim 1, further comprising:
additional managed components for receiving and executing the application, the administration component further adapted to deploy the application to the additional managed components.
- 5. A system according to claim 1, wherein:
the administration component comprises a master deployer and the managed component has a slave deployer, the master deployer being adapted to send deployment information to the slave deployer and the slave deployer being adapted to manage the deployment on the managed component, the slave deployer being further adapted to notify the administration component of the success of the deployment on the managed component.
- 6. A system according to claim 1, further comprising:
a staging directory that can be shared by the managed component and any other managed component to receive the deployment, the staging directory capable of holding the application until activated by the administration component.
- 7. A system according to claim 1, further comprising:
a production directory in communication with the managed server, the production directory adapted to hold the deployed application for the managed server.
- 8. A method for deploying an application, comprising:
invoking a preparation operation on an application container for a node on which the application is to be deployed; and activating the deployed application on the node.
- 9. A method according to claim 8, further comprising:
determining whether the preparation operation has succeeded before activating the deployed application.
- 10. A method according to claim 8, further comprising:
invoking the preparation operation for additional nodes on which the application is to be deployed.
- 11. A method according to claim 10, further comprising:
activating the deployed application on the additional nodes.
- 12. A method according to claim 10, further comprising:
activating the deployed application on any nodes for which the preparation operation was successful.
- 13. A method according to claim 8, further comprising:
cancelling the deployment if the preparation operation is not successful.
- 14. A method according to claim 10, further comprising:
cancelling the deployment if the preparation operation is not successful on any of the nodes.
- 15. A method according to claim 10, further comprising:
continuing the deployment if the preparation operation is not successful on all of the nodes.
- 16. A method according to claim 10, further comprising:
invoking a preparation operation on an application container for a second node on which a second application is to be deployed.
- 17. A method according to claim 16, further comprising:
activating the second application on the second node.
- 18. A method according to claim 8, wherein:
invoking a preparation operation further comprises executing an init phase in which the deployment descriptors are analyzed, and executing a prepare phase in which the application is initialized.
- 19. A method according to claim 8, wherein:
activating the deployed application on the node further comprises executing an activate phase in which the node is informed it should prepare for requests on the application, and executing a start phase in which the application is actually deployed and executable on the node.
- 20. A method according to claim 8, further comprising:
switching application directories from a staging directory to a production directory when deploying an application.
- 21. A method according to claim 8, further comprising:
switching a class loader when deploying an application.
- 22. A method according to claim 8, wherein:
the deployed application can be activated on the node using an implicit preparation operation if the preparation operation is not successful.
- 23. A method for concurrently deploying an application on multiple nodes, comprising:
contacting a master deployer on an administration server using a deployment tool; passing to the administration server the path to a source containing an application to be deployed; sending the path to a slave deployer for each node on which the application is to be deployed; pulling the application from the source into a staging directory using the slave deployer and attempting to load the application; informing the master deployer of the success of each load; and directing the slave deployers to execute one of activating the applications or cancelling the deployment.
- 24. A system for deploying an application, comprising:
means for invoking a preparation operation on an application container for at least one node on which the application is to be deployed; means for activating the deployed application on any node for which the invoked preparation operation is successful; and means for canceling the deployment on any node for which the invoked preparation operation is not successful.
- 25. A computer-readable medium, comprising:
means for invoking a preparation operation on an application container for at least one node on which the application is to be deployed; means for activating the deployed application on any node for which the invoked preparation operation is successful; and means for canceling the deployment on any node for which the invoked preparation operation is not successful.
- 26. A computer program product for execution by a server computer for deploying an application, comprising:
computer code for invoking a preparation operation on an application container for at least one node on which the application is to be deployed; computer code for activating the deployed application on any node for which the invoked preparation operation is successful; and computer code for canceling the deployment on any node for which the invoked preparation operation is not successful.
- 27. A computer system comprising:
a processor; object code executed by said processor, said object code configured to:
invoke a preparation operation on an application container for at least one node on which the application is to be deployed; activate the deployed application on any node for which the invoked preparation operation is successful; and cancel the deployment on any node for which the invoked preparation operation is not successful.
- 28. A computer data signal embodied in a transmission medium, comprising:
a code segment including instructions to invoke a preparation operation on an application container for at least one node on which the application is to be deployed; a code segment including instructions to activate the deployed application on any node for which the invoked preparation operation is successful; and a code segment including instructions to cancel the deployment on any node for which the invoked preparation operation is not successful.
CLAIM OF PRIORITY
[0001] This application claims priority to U.S. Provisional Patent Application No. 60/349,432, filed Jan. 18, 2002, entitled “SYSTEMS AND METHODS FOR APPLICATION DEPLOYMENT,” which is hereby incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60349436 |
Jan 2002 |
US |