13.07.2015 Views

Uso de um Modelo de Interceptadores para Prover Adaptação ...

Uso de um Modelo de Interceptadores para Prover Adaptação ...

Uso de um Modelo de Interceptadores para Prover Adaptação ...

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.

3.6 O Mo<strong>de</strong>lo <strong>de</strong> <strong>Interceptadores</strong> no JacORB 55dinamicamente, assim como Lua. Portanto, o mo<strong>de</strong>lo <strong>de</strong> interceptadores, implementadona forma <strong>de</strong> objetos Java, também po<strong>de</strong>rá ativar <strong>um</strong>a proprieda<strong>de</strong> não-funcional no JacORBem tempo <strong>de</strong> execução. No entanto, existem alguns outros aspectos do JacORB que po<strong>de</strong>mtornar mais difícil a implementação do mo<strong>de</strong>lo <strong>de</strong> interceptadores.Por ser maior e mais complexo que o OiL, a <strong>de</strong>finição dos pontos <strong>de</strong> interceptação<strong>de</strong>ntro JacORB será mais complicada. Isto significa que vai ser mais difícil encontrar<strong>um</strong> local do JacORB no qual é possível inserir <strong>um</strong> ponto <strong>de</strong> interceptação <strong>para</strong> acessarinformações tais como o socket utilizado <strong>para</strong> conexão com <strong>um</strong> outro ORB. No entanto,os interceptadores <strong>de</strong> CORBA [48] po<strong>de</strong>riam ajudar na implementação <strong>de</strong>stes pontos <strong>de</strong>interceptação.Para isso, os interceptadores <strong>de</strong> CORBA, cujo suporte é oferecido pelo JacORB,seriam utilizados como pontos <strong>de</strong> interceptação. De forma similar ao que foi feito em[39], os interceptadores <strong>de</strong> CORBA seriam utilizados <strong>para</strong> ativar dinamicamente <strong>um</strong>aimplementação do mo<strong>de</strong>lo <strong>de</strong> interceptadores. Assim, os interceptadores <strong>de</strong> CORBApo<strong>de</strong>riam ser utilizados <strong>para</strong> ter acesso às requisições e respostas transmitidas entre <strong>um</strong>cliente e o servidor e também às referências <strong>de</strong> <strong>um</strong> objeto remoto. Entretanto, o acessoa informações tais como os fluxos <strong>de</strong> dados não são fornecidas pelos interceptadores <strong>de</strong>CORBA. Por isso, <strong>para</strong> obter estas outras informações, a inserção <strong>de</strong> outros pontos <strong>de</strong>interceptação <strong>de</strong>ve ser feita diretamente no JacORB, sem o auxílio dos interceptadores <strong>de</strong>CORBA.Outra diferença será a complexida<strong>de</strong> da implementação do mo<strong>de</strong>lo <strong>de</strong> interceptadoresno JacORB. Como o OiL foi feito usando Lua, as informações <strong>de</strong> seu estado internoestão <strong>de</strong>ntro <strong>de</strong> variáveis e tabelas que po<strong>de</strong>m ser acessadas diretamente pelo mo<strong>de</strong>lo <strong>de</strong>interceptadores. Além disso, não existe a necessida<strong>de</strong> <strong>de</strong> se preocupar com a <strong>de</strong>finição dostipos <strong>de</strong>ssas variáveis e tabelas, pois a linguagem Lua é fracamente tipada. Por isso, <strong>um</strong>amesma variável po<strong>de</strong> ser utilizada <strong>para</strong> armazenar qualquer tipo <strong>de</strong> valor.O JacORB, por sua vez, foi implementado em Java. Portanto, as informações <strong>de</strong>seu estado interno vão estar <strong>de</strong>finidas como atributos <strong>de</strong>ntro <strong>de</strong> objetos. Com isto, essasinformações só po<strong>de</strong>rão ser obtidas pelo mo<strong>de</strong>lo <strong>de</strong> interceptadores através <strong>de</strong> métodos<strong>de</strong>sses objetos. Além disso, a linguagem Java é fortemente tipada, ou seja, <strong>um</strong>a variávelpo<strong>de</strong> armazenar somente <strong>um</strong> tipo <strong>de</strong> valor. Devido a estas diferenças entre Lua e Java,po<strong>de</strong>-se concluir que a implementação do mo<strong>de</strong>lo <strong>de</strong> interceptadores no JacORB serámais difícil.

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

Saved successfully!

Ooh no, something went wrong!