[en] USING ANNOTATIONS IN OBJECT ORIENTED LANGUAGES TO SUPPORT COMPONENT ORIENTED PROGRAMMING - HUGO MARQUES DE CASTRO SALDANHA (2011)
[pt] Em sistemas distribuídos baseados em componentes de software, o uso de linguagens de programação orientadas a objeto é bastante comum para definir, através de frameworks, interfaces de programação para construção e uso de componentes. No entanto, o que se percebe na maioria dos modelos de programação que seguem essa abordagem, é a utilização de construções das próprias linguagens orientadas a objeto, como classes e interfaces, para definir uma interface de programação que segue um paradigma orientado a componentes. Como consequência, o código fonte mistura aspectos da funcionalidade do componente com os mecanismos de implementação específicos do modelo de programação, o que impede a reutilização deste componente em outros frameworks, além de incluir uma complexidade extra no código. Recentemente, observamos uma tendência à adição de metadados às implementações dos componentes, utilizando marcações específicas no código fonte. Estes metadados provêem as informações necessárias para que alguma ferramenta, seja baseada em geração de código ou em mecanismos de reflexão computacional da própria linguagem de programação, realize a integração da implementação do componente com a infra-estrutura de suporte do modelo de componentes. Essa técnica é denominada, por alguns autores, de Programação Orientada a Atributos. Linguagens como Java e C# já oferecem suporte nativo a esta técnica através das Anotações. O objetivo desta dissertação é investigar a adoção da técnica de programação orientada a atributos juntamente com uma linguagem orientada a objetos para construção de aplicações baseadas em componentes. Como parte do estudo, foi desenvolvido um novo mecanismo de programação baseado em atributos para a versão Java do middleware SCS.