• Nenhum resultado encontrado

componente, respectivamente. O componente deve implementar a interface LifeCy- cleController para fornecer reconfigurações dinâmicas.

No modelo Fractal os componentes são classificados e definidos de acordo com sua es- trutura (OW2, 2004):

• Componente base - um componente simples sem nenhuma interface de controle; • Componente primitivo - um componente com interfaces de controle, mas que não

expõe o seu conteúdo;

• Componente composto - um componente que expõe seu conteúdo;

• Subcomponente - um componente que está contido em outro componente;

• Supercomponente - um componente que contém subcomponente(s). Devido ao com- partilhamento de componentes, um componente pode ter vários supercomponentes;

• Componente de ligação - um componente que permite à comunicação entre outros componentes.

2.6 Soluções de Middleware para Interoperabilidade

De acordo com (WEGNER, 1996), interoperabilidade é a capacidade de dois ou mais compo-

nentes de software cooperarem apesar das diferenças de linguagem, interface e plataforma de execução. Em outra definição, interoperabilidade é a capacidade que um ou mais sistemas possuem para: conectar-se, compreender e trocar dados com o outro para um determinado propósito (BLAIR et al., 2011). Tradicionalmente, existe uma separação de interoperabilidade

sintática (assinatura de operações) e semântica (o "significado" das operações) (VALLECILLO; HERNANDEZ; TROYA, 2000). A primeira trata das questões em nível de ligação, enquanto a

segunda abrange os aspectos comportamentais em nível semântico da interoperabilidade de componentes.

No estudo introdutório do estado da arte da pesquisa sobre soluções para interoperabi- lidade de middleware por (BLAIR et al., 2011), algumas abordagens foram organizadas de

2.6 Soluções de Middleware para Interoperabilidade 17

• Middleware Tradicional - não permite interoperabilidade entre os diferentes estilos middleware e implementações específicas. Buscam um padrão comum / plataforma para todo o sistema distribuído. Estas tecnologias resolvem desafios de interopera- bilidade para a maioria das diferentes extensões focando a interoperabilidade entre sistemas e máquinas com hardware e linguagens de programação heterogêneos. A fi- gura 2.4 ilustra o padrão de interoperabilidade utilizado pela abordagem de middleware tradicional que fornece uma infraestrutura de software bem integrada e em rede para simplificar o desenvolvimento de aplicações distribuídas. Esta abordagem é inviável para ambientes pervasivos e dinâmico, onde os sistemas interagem espontaneamente, porque todas aplicações seriam obrigadas a serem implementadas usando o mesmo middleware;

Figura 2.4: Padrão de interoperabilidade utilizado pelo middleware tradicional (BLAIR et al.,

2011).

• Plataformas de Interoperabilidade - reconhecem que a heterogeneidade de mid- dleware é inevitável e, portanto, permite que clientes se comuniquem com um mid- dleware encontrado dinamicamente. A figura 2.5 mostra o padrão de interoperabi- lidade utilizado por plataformas de interoperabilidade que fornecem uma tecnologia de middleware independente para o cliente, servidor ou peer a ser implementado, a fim de garantir que a aplicação pode interoperar com todos os serviços, independen- temente das tecnologias de middleware que empregam. Essas soluções dependem de uma escolha em tempo de projeto para desenvolver aplicações que visem o uso de plataformas de interoperabilidade e, portanto, são inadequadas para outros casos de interoperabilidade, por exemplo, quando duas aplicações desenvolvidas sobre os di- ferentes middleware legado precisam de interoperabilidade espontânea em tempo de execução;

2.6 Soluções de Middleware para Interoperabilidade 18

Figura 2.5: Padrão de interoperabilidade utilizado por plataformas de interoperabilidade (BLAIR et al., 2011).

• Pontes - suportam a tradução bidirecional (comunicação) entre diferentes plataformas de middleware. Assim, os clientes em um domínio middleware podem interoperar com servidores em outro domínio middleware. A figura 2.6 ilustra o padrão de interoperabi- lidade utilizado por pontes de software que atuam como um mapeamento um-para-um entre os domínios; elas levam mensagens de um cliente em um formato e, em seguida, esta é empacotada para o formato do middleware servidor; a resposta é então mape- ada para o formato da mensagem original. Esta abordagem tem como desvantagem o esforço necessário para estabelecer pontes entre todos os diferentes protocolos de middleware;

Figura 2.6: Padrão de interoperabilidade utilizado por pontes de software (BLAIR et al., 2011).

• Soluções de Interoperabilidade Transparentes - permitem que duas aplicações le- gadas se comuniquem de forma transparente, sem qualquer alteração para estas apli- cações. A figura 2.7 apresenta o padrão de interoperabilidade utilizado por soluções de interoperabilidade transparentes. Nessa abordagem, as mensagens de protocolo específico, o comportamento e os dados são capturados pelo framework de interopera- bilidade e traduzido para uma representação intermediária. Em seguida, um mapeador subsequente traduz a representação intermediária para a representação do middleware legado específico. A utilização desta solução permite que um middleware possa ser mapeado para qualquer outro através do desenvolvimento destes dois elementos tradu-

2.6 Soluções de Middleware para Interoperabilidade 19 tores, ou seja, não é necessário o mapeamento direto para outro protocolo. O desafio com esta abordagem é o problema do maior divisor comum, que pode ocorrer devido à necessidade de identificar entre todos os protocolos um subconjunto de funcionali- dades similares a serem suportadas pela solução. Desta forma, quando o número de protocolos aumenta este subconjunto torna-se menor, restringindo o que é possível ser suportado pela abordagem.

Figura 2.7: Padrão de interoperabilidade utilizado por soluções de interoperabilidade trans- parentes (BLAIR et al., 2011).

• Mobilidade Lógica - supera heterogeneidade pela migração de aplicativos e serviços para o ambiente local de execução, assumindo que o ambiente tem os mecanismos para interpretar este código. A mobilidade lógica é caracterizada pelo uso de código móvel a ser transferido de um dispositivo e executado em outro. A figura 2.8 ilustra o padrão de interoperabilidade utilizado por soluções de mobilidade lógica. A abordagem para resolver interoperabilidade é, por conseguinte, simples; um serviço divulga o seu com- portamento e também o código para interagir com ele. Quando um cliente descobre o serviço desejado ele baixa e usa o código que é dinamicamente disponível para ele em tempo de execução. Os padrões de interoperabilidade utilizados por soluções de mobilidade lógica necessitam que todos os aplicativos estejam em conformidade com a mesma plataforma para que o software implantado possa ser executado.

Documentos relacionados