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.3. Probl<strong>em</strong> Approach<br />

1.3 Probl<strong>em</strong> Approach<br />

Section 1.2 i<strong>de</strong>ntified two ways to configure applications in virtual appliances: pre and post-<br />

installation. The pre-installation approach has no outstanding requir<strong>em</strong>ent and operates by<br />

generating as many application packages as different required configurations for that applica-<br />

tion, and does not allow for the re-configuration of an application in a practical fashion (i.e.,<br />

without resorting to that application re-installation). On the other hand, the post-installation<br />

approach requires previous knowledge of the software running insi<strong>de</strong> the VA but, contrary<br />

to the previous approach, each different configuration only requires a new configuration file<br />

version, and allows for the practical re-configuration of an application. Given the benefits and<br />

drawbacks of each approach, the post-installation approach requir<strong>em</strong>ent was found tolerable<br />

and moreover, allows for better functionality than the pre-installation approach and, therefore,<br />

SmART will follow this discipline.<br />

The adopted approach operates by conducting a lexical analysis on an application’s con-<br />

figuration files with the aim of extracting the relevant information for that application con-<br />

figuration from th<strong>em</strong>. This raises a significant requir<strong>em</strong>ent which says that the configuration<br />

files must be in text format. A consequent implication of this requir<strong>em</strong>ent is that special for-<br />

mats, like the Windows OS registry or binary files, may not be configurable using the approach.<br />

However, there exist <strong>de</strong>dicated parsers for the treatment of those formats and these can be used<br />

by the framework to provi<strong>de</strong> support for the mentioned kinds of formats.<br />

Still in the scope of the applications supported by SmART, Section 1.2.3 conclu<strong>de</strong>d that, at a<br />

conceptual level, the structure of the configuration files expected to be found more regularly by<br />

the tool can be reduced to three types: INI-like, XML-like and Apache-like. These three types were<br />

already presented and impl<strong>em</strong>ent three patterns: parameters, comments and blocks, besi<strong>de</strong>s<br />

the patterns specific to a certain application. One way of tackling this probl<strong>em</strong> is to reduce<br />

the configuration files of any application to a generic structure, <strong>de</strong>ttached from its application<br />

specifics, which contains the relevant el<strong>em</strong>ents for its application configuration. This structure<br />

can then be modified without any knowledge of the application to which it belongs. Once<br />

altered, that structure is again converted to a configuration file in its original syntax, containing<br />

the applied modifications.<br />

1.4 Contributions<br />

This dissertation contributions for the automatic application configuration are:<br />

• I<strong>de</strong>ntification of commonalities amidst configuration files structures;<br />

• Proposal of a framework for the rebuilding of configuration files of an application;<br />

• Impl<strong>em</strong>entation of the proposed framework;<br />

• Provision of the VIRTU project with a state-of-the-art and innovative tool for application<br />

reconfiguration, in<strong>de</strong>pen<strong>de</strong>nt of its vendor.<br />

8

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

Saved successfully!

Ooh no, something went wrong!