18.04.2013 Views

Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...

Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...

Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1. INTRODUCTION 1.2. Probl<strong>em</strong> Description<br />

This dissertation proposes the creation of a tool, entitled Smart Application Reconfiguration<br />

Tool (SmART), that is able to configure any application, regardless of how it represents its con-<br />

figuration. This tool was <strong>de</strong>veloped on the context of VIRTU project, which is a virtualization<br />

platform for the creation and manag<strong>em</strong>ent of VAs.<br />

1.2 Probl<strong>em</strong> Description<br />

The probl<strong>em</strong> of automatic application configuration is caused by software applications which<br />

<strong>em</strong>ploy different means of representing their configurations. In some cases, it was noticed that<br />

the same application impl<strong>em</strong>ented different configuration formats from one version to another.<br />

This lack of standardization reveals that the configuration aspects of the applications are put<br />

in the backburner by application <strong>de</strong>velopers. Currently, the solutions on the field of automatic<br />

configuration of applications are seldom. This work goes in a way as to explore the mentioned<br />

opportunity.<br />

VAs may have different formats and may contain all sorts of applications, so it would be<br />

very helpful if a tool could configure any kind of application insi<strong>de</strong> a VA. For this matter, it is<br />

essential that the tool interprets each configuration file in<strong>de</strong>pen<strong>de</strong>ntly of the application being<br />

configured, rather than having a limited set of known configurations and trying to match th<strong>em</strong><br />

with the configuration file.<br />

Besi<strong>de</strong>s the differences in the representation of configurations between two disparate ap-<br />

plications, once can also i<strong>de</strong>ntify divergent configurations in the same applications. Typically,<br />

whenever an application is upgra<strong>de</strong>d, so are its configuration files, even if the differences in<br />

both situations come down to one or two extra lines containing new parametrizable el<strong>em</strong>ents<br />

than before. This motivates the abstraction from the configuration representation, which will<br />

allow any application to be configured based on what settings it <strong>de</strong>fines, not how they are<br />

<strong>de</strong>fined.<br />

Two ways to configure applications in VAs can be i<strong>de</strong>ntified. The first sets up the config-<br />

uration files before the application is installed on the VA, whereas the second searches for the<br />

configuration files in the VA and changes th<strong>em</strong>. Given the fact that the we are <strong>de</strong>aling with text<br />

configuration files which need to be read and parsed in both approaches, applications whose<br />

configuration files are in the binary format may require special parsers. This is often the case<br />

in closed-source applications.<br />

An example of the typical usage of this tool is the case where many VAs containing the<br />

same applications (e.g., webserver) need to be <strong>de</strong>ployed on an intranet. Although these VAs<br />

have the same software, their configurations must be different (e.g., machine name, IP address,<br />

etc.). Following is a brief <strong>de</strong>scription of both approaches and the way in which each approach<br />

<strong>de</strong>als with the example case.<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!