System and method for automatic porting of software applications into a cloud computing environment
First Claim
1. A non-transitory computer readable storage medium, including computer-readable instructions stored thereon, which when read and executed by one or more computers, cause the one or more computers to perform a method comprising:
- providing, at a computing environment that enables software applications to be compiled and deployed to run within the computing environment, one or more service configurations,wherein each service configuration of the one or more service configurations defines a service usage to be found within source code of the software applications to be compiled and deployed, together with an associated action to be performed instead of the service usage;
receiving a software application to be compiled and deployed to the computing environment, wherein the software application includes one or more service usages provided within a source code of the software application and associated with a service configuration;
for each service usage found within the source code of the software application and associated with a service configuration;
determining a matching service configuration for the service usage, and an associated action defined by the matching service configuration, to be performed instead of the service usage, andmodifying the software application during compilation, according to the matching service configuration and associated action defined by the matching service configuration, to create an application runtime,including replacing code within the software application associated with the service usage, with a modified code for use within the computing environment; and
packaging a handler, with the software application as modified, to enable the software application as modified to run within an application runtime within the computing environment and to use a corresponding service provided by the computing environment.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with an embodiment, described herein is a system and method for automatic porting of software applications into a cloud computing environment (cloud environment, cloud). A cloud service enables software developers to deploy user applications to run within the cloud environment. When a user application is deployed to the environment, a deployment logic determines those aspects of the application, such as certain service usages, that may be incompatible with features provided by the environment, or that should use a particular cloud service, and automatically ports the application, including the use of one or more handlers or extensions, for use within the environment. For example, a user application may have been originally developed to use JAVAMAIL™, which presents a security risk in a cloud environment. To minimize such risk, the application can instead be ported to use, for example, a REST-based e-mail service supported by the cloud environment.
29 Citations
19 Claims
-
1. A non-transitory computer readable storage medium, including computer-readable instructions stored thereon, which when read and executed by one or more computers, cause the one or more computers to perform a method comprising:
-
providing, at a computing environment that enables software applications to be compiled and deployed to run within the computing environment, one or more service configurations, wherein each service configuration of the one or more service configurations defines a service usage to be found within source code of the software applications to be compiled and deployed, together with an associated action to be performed instead of the service usage; receiving a software application to be compiled and deployed to the computing environment, wherein the software application includes one or more service usages provided within a source code of the software application and associated with a service configuration; for each service usage found within the source code of the software application and associated with a service configuration; determining a matching service configuration for the service usage, and an associated action defined by the matching service configuration, to be performed instead of the service usage, and modifying the software application during compilation, according to the matching service configuration and associated action defined by the matching service configuration, to create an application runtime, including replacing code within the software application associated with the service usage, with a modified code for use within the computing environment; and packaging a handler, with the software application as modified, to enable the software application as modified to run within an application runtime within the computing environment and to use a corresponding service provided by the computing environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for automatic porting of software applications into a cloud computing or other environment, comprising:
-
one or more computers, including one or more processors and a computing environment provided thereon that enables software applications to be compiled and deployed to run within the computing environment; a data defining one or more service configurations, wherein each service configuration of the one or more service configurations defines a service usage to be found within source code of the software applications to be compiled and deployed, together with an associated action to be performed instead of the service usage; and an application compiler, which upon receiving a software application to be compiled and deployed to the computing environment, wherein the software application includes one or more service usages provided within a source code of the software application and associated with a service configuration, for each service usage found within the source code of the software application and associated with a service configuration; determines a matching service configuration for the service usage, and an associated action defined by the matching service configuration, to be performed instead of the service usage, and modifies the software application during compilation, according to the matching service configuration and associated action defined by the matching service configuration, to create an application runtime, including replacing code within the software application associated with the service usage, with a modified code for use within the computing environment; and packages a handler, with the software application as modified, to enable the software application as modified to run within an application runtime within the computing environment and to use a corresponding service provided by the computing environment.
-
-
19. A method of automatic porting of software applications into a cloud computing or other environment, comprising:
-
providing, at one or more computers including one or more processors, a computing environment that enables software applications to be compiled and deployed to run within the computing environment, and one or more service configurations, wherein each service configuration of the one or more service configurations defines a service usage to be found within source code of the software applications to be compiled and deployed, together with an associated action to be performed instead of the service usage; receiving a software application to be compiled and deployed to the computing environment, wherein the software application includes one or more service usages provided within a source code of the software application and associated with a service configuration; for each service usage found within the source code of the software application and associated with a service configuration; determining a matching service configuration for the service usage, and an associated action defined by the matching service configuration, to be performed instead of the service usage, and modifying the software application during compilation, according to the matching service configuration and associated action defined by the matching service configuration, to create an application runtime, including replacing code within the software application associated with the service usage, with a modified code for use within the computing environment; and packaging a handler, with the software application as modified, to enable the software application as modified to run within an application runtime within the computing environment and to use a corresponding service provided by the computing environment.
-
Specification