www.lucaspersona.com.br

Sobre:
Bacharel em Ciência da Computação pela EEP, atua como Arquiteto de Software na Ci&T Software SA.
Nos últimos 7 anos participou em diversos projetos de TI, com maior destaque em tecnologia Java a partir de 1999.
Iniciou a aplicação de AOP em sistemas comerciais em 2001.
Um dos revisores do livro "The Practical Guide to Enterprise Architecture", editora Prentice Hall, tem seus artigos publicados no site EnterpriseGuys.
Está envolvido em áreas como AOP (Programação Orientada a Aspectos), Design Patterns, Metodologias Ágeis (XP: eXtreme Programming), Arquitetura J2EE, GA/GP (Algoritmos Genéticos / Programação Genética) e SOA (Arquitetura Orientada a Serviços).

Download Curriculum Vitae
Português : PDF - Curriculum Vitae em Português Word - Curriculum Vitae em Português
English : PDF - English Resume Word - English Resume


     Principal principal     Artigos artigos     Experiência experiência     Contato contato

Artigos » AOP » Proxies e Malas

[Anterior: "Corrida sem fim"] [Próximo: "Era da Desinformação"]

 
AOP

Proxies e Malas

Apesar da EMBRATUR ter iniciado o ano com comemorações pelos bons resultados do Turismo Brasileiro, malas nunca estiveram tão na moda como agora.
Maior destaque que o delas, apenas para seus carregadores. Estes são entrevistados, fotografados e divulgados por todo o mundo.

São os intermediários. Estão presentes nas transações, representando uma outra parte. Sua função é transportar, cada qual sua "mala", entre o requisitante e a parte remota criando a ilusão que existe um acesso direto entre os participantes da transação.

Este conceito, também conhecido como proxy, está presente em vários momentos da nossa vida da política à Internet. E quase sempre é transparente. Até virar notícia.

Nos sistemas, onde estas questões são solucionadas através do uso de Proxies, o mais comum são as classes de Proxy programadas diretamente para desempenhar sua função.

Com todas as chamadas bem definidas, qualquer alteração na classe principal afeta diretamente o Proxy. E isto é um problema disto. Sua ligação direta com uma das partes. Compromete.

Então temos os Proxies Dinâmicos. Genéricos. Que em sua implementação não sabem para quem trabalham. Realizam sua função e repassam as malas.

Mas sua atuação está baseada em Reflexão. Isto permite maior flexibilidade, mas tem seu preço: Performance.

Porém, apesar de todo seu apelo, o uso isolado de Proxies Dinâmicos necessita de uma chamada explícita a eles. Alguns consideram ser tão simples quanto um telefonema. Mas é preciso incluir um código específico de recuperação do Proxy, seja ele dinâmico ou não, todas as vezes que for necessário utilizar seus serviços.

Se é preciso chamar, é possível descobrir quem chamou. Compromete. Também.

Unindo estas necessidades, podemos verificar na utilização da Programação Orientada a Aspectos, um adicional ao prover a solução de proxies. Sem a necessidade de explicitar, diretamente no código, o uso do Proxy. Seja ele dinâmico ou não.

Um aspecto que identifique o ponto exato da chamada pode definir a forma de utilização do Proxy. Ou mesmo sua não-utilização por uns tempos. Para não comprometer.

A forma de implementação desta solução é variada. Depende da linguagem de programação. Depende da implementação de Orientação a Aspectos preferida. Está relacionada ao gosto e necessidade de cada um. Como as malas.