Scripted DeploymentThe commands to deploy an application are written in a scripting language. The script is executed, and the commands are executed in sequence. The scripting language may be a shell script or batch file, or it may be a higher level language -Perl, Python, Ruby, or a build-tool language such as Make or Ant. Features
Advantages
Disadvantages
Declarative information is the key to making tools such as Alien work; this cross-distribution installer can read RPM metadata and install the described artifact on .deb systems...the declarative aspects of an RPM file can be translated into the .deb equivalent. Scripts cannot be translated, or understood on a machine except by executing them and observing what changes have taken place. SmartFrog supportSmartFrog is clearly positioned as an alternative to scripting, because we believe that model-driven deployment is a better way to describe complex, distributed applications. Even so, we know how popular scripts of some form or other, be they the scripts to start up databases or application servers, or existing Ant build files. The runshell component (/org/smartfrog/services/os/runshell/components.sf can execute a shell script on startup; parameters to the script can be used as part of the model. The ShellScript components /org/smartfrog/services/shellscript/components.sf are more powerful, as they start a shell script to which commands can be issued by remote callers. This can be used to connect together the inputs and outputs of processes running on different machines. Script failure can be detected and reported. What SmartFrog cannot do is automatically roll back the changes made by the script during undeployment. For Ant integration, the sf-ant components offers complete access to Ant's own tasks as SmartFrog components, and the ability to execute Ant build files within SmartFrog's own process. What SmartFrog cannot do is automatically roll back the changes made by the build file during undeployment. |