xml e corbabosco.sobral/old_page/transparencias/ine5380... · como corba e xml se encaixam? esse é...

3

Click here to load reader

Upload: lamtu

Post on 28-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XML E CORBAbosco.sobral/old_page/transparencias/ine5380... · Como CORBA e XML se encaixam? Esse é um jogo que muitas pessoas estão jogando ... interagir e acessar repositorios

XML E CORBA

Como CORBA e XML se encaixam? Esse é um jogo que muitas pessoas estão jogando ultimamente. Um olhar mais aproximado sobre o assunto revela algumas sinergias interessantes.

Na sopa de acronimos que representa IT atualmente, dois tem estado sempre juntos no topo e despertado comentarios recentes: XML e CORBA. Ambos são importantes em seus meios; usados juntos, oferecem a arquitetura de sistemas sinergias valiosas. Corba é uma tecnologia mais madura, amparada por anos de avaliações e experiências, e produtos que atravessaram diversas gerações de evolução. Em contraste, XML embora derivada da venerável SGML (Standardized Generalized Markup Language), é relativamente nova. De fato, muitos membros da familia das tecnologias XML estão ainda em fluxo. Apesar disso, combinar XML e CORBA é útil por várias razões. Há um número de sinergias entre as duas tecnologias para uma bem sucedida computação de objetos distribuídos.Além disso, há muitos possiveis usos futuros dos dois que merecem ser observados pelas organizações IT. Arquitetos de Sistemas vão encontrar muitas maneiras de combinar XML e CORBA. Os usos mais imediatos de xml em sistemas de corba são configuração, como um formato portátil de documentos, desenvolvimento de meta dados e algumas aplicações de dados in-system.

XML em CORBA Há muitas maneiras de usar xml. Realmente pode ser usado dentro de CORBA. A OMG ja começou a "abraçar" xml, incorporando-o em diversas especificações propostas de corba.Os modelos de componentes CORBA, é para corba o que a enterprise JavaBeans é para Java - uma estrutura de componentes do lado do servidor (server-side). A submissão dos componentes usa xml para decriptar pacotes de software. Esse trabalho é na verdade baseado em outra proposta xml chamada Open Software Description (OSD), a qual foi submetida a w3c. XML engloba o "coração" de um outro padrão que será aprovado em breve.XML Metadata Interchange (XMI) é uma maneira de intercambiar metadados entre ferramentas de modelagem usando UML (Unified Modeling Language) e repositórios de metadados baseados em padrões MOF (Meta Object Facility).Isso vai tornar possivel fazer projetos mais sofisticados, em grande escala, trabalhando com numerosas ferramentas atraves de muitas plataformas; também fornece uma maneira para as ferramentas que não usam corba poderem interagir e acessar repositorios de meta dados baseados em corba. De muitas maneiras, XMI é uma demonstração perfeita do valor de XML ao ganhar a interoperabilidade completa dos sistemas.XML está sendoexplorada também para várias atividades relacionadas com o dominio OMG, onde pode ser usada para padronizar formatos de trocas abertos (intercâmbios). É ainda importante algumas vezes distinguir corba de xml. CORBA é uma tecnologia que

Page 2: XML E CORBAbosco.sobral/old_page/transparencias/ine5380... · Como CORBA e XML se encaixam? Esse é um jogo que muitas pessoas estão jogando ... interagir e acessar repositorios

permite criar sistemas de objetos distribuídos sofisticados em plataformas heterogeneas.XML é uma tecnologia para converter dados estruturados de forma portátil. CORBA permite que usuários conectem sistemas desiguais e deem forma a arquiteturas de objetos. XML irá permitir que usuários transmitam informações estruturadas dentro, entre e fora daqueles sistemas, e representar a informação de forma universal e através de arquiteturas. Ambas as tecnologias são language-independent e platform-vendor. O ajuste conceitual é perfeito. Para ver onde e como este ajuste é realizado melhor, iremos analisar como na verdade combinar corba e xml de uma série de perspectivas.

PERSPECTIVA DA INFORMAÇÃO

A informação nos sistemas, distribuidos ou não, vem em muitos "condimentos", muitos dos quais podem ser vantajosamente representados em XML.

XML é uma maneira natural de representar a configuração da informação para componentes, serviços, servidores entre outros. No passado, a configuração foi conseguida frequentemente com customização, formatos de dados não-portáteis e mecanismos. A configuração baseada em XML é portátil e usavel de uma forma genérica. Isto é direto e já sendo feito hoje.

Muitos dos dados de um sistema é dados de negócios. Estes dados podem ser obtidos de várias fontes tais como ambientes da transação, bases de dados relacionais e do objeto, e outros sistemas. Usando uma camada de dados que aceite e emita XML, e pluggins de adaptadores para os tipos diferentes de fontes de dados, desemparceiramos o nível elevado de processamento da torre de Babel abaixo. Uma dificuldade em fazer isto é que a estrutura de um documento XML - sua hierarquia dos elementos - não é a mesma que a estrutura que ele representa. O modelo do objeto de um documento que representa um objeto de negócio é o modelo para um documento não para um objeto de negócio. O desenvolvimento de XML para mapear as camadas do objeto é uma história em desenvolvimento.

Os sistemas devem manter dados da aplicação tais como o estado da sessão. Isto deve frequentemente ser comunicado entre subsistemas ou sistemas, sendo assim um candidato bom para a estandardização através de XML.

Usar XML para converter dados em sistemas baseados em corba ajuda a tornar o sistema mais flexível. Ao invés de estreitar as operações de interface de IDL para um conjunto de dados, as operações aceitam e emitem XML. Isto explica algumas das semânticas da interface. A vantagem é que os dados podem ser mudados sem mudar a relação (uma tarefa geralmente ardua e cara). Um particular "condimento" dos dados a que muitos estão aplicando atualmente XML é em metadados. Isto é necessário para sistemas com descoberta dinâmica e/ou para Gateways da tecnologia tais como o Gateway de XML-DSI. Os metadados para dados do negócio ou da aplicação são úteis para as atividades que variam da tradução entre formatos para pesquisa.

A perspectiva da camada

A maioria de arquiteturas de CORBA compreendem tiers múltiplos ou camadas. XML pode

Page 3: XML E CORBAbosco.sobral/old_page/transparencias/ine5380... · Como CORBA e XML se encaixam? Esse é um jogo que muitas pessoas estão jogando ... interagir e acessar repositorios

ser usado nas relações entre camadas para fornecer uma flexibilidade mais grande, servindo como a colagem na arquitetura.

A possibilidade de usar XML entre os dados armazenados e as camadas da lógica da aplicação foram discutidas mais cedo neste artigo. Uma possivel pergunta é sobre a praticidade de usar XML nos dados armazenados por ele próprio. Isto faz sentido se o sistema for centrado a documentos. Para muitos dados de negócio, entretanto, isto é problematico. Os obstáculos incluem os volumes grandes de dados existentes de não-XML e da natureza dos dados armazenados tipicamente. A habilidade de armazenar um documento como este não é a mesma habilidade de encontrar e alcançar os dados dentro de um documento de uma maneira útil e eficiente. XML dentro da base de dados é ainda uma área a ser debatida.

Os middle tiers podem emitir XML aos clientes. Alimentando os dados de XML em um processador de XSL fornecem o controle da apresentação. Os stylesheets diferentes de XSL podem apresentar o mesmo XML em maneiras ou em formatos diferentes. Os mesmos dados poderiam ser mostrados no texto ou em uma tabela, ou poderiam ser filtrados ou anotado. A apresentação podia ser feita em HTML, rtf, formato do processador de texto e assim por diante. Combinar XML e XSL conduz à flexibilidade grande no formulário e nos meios de apresentação Em sistemas simples isto está no cliente, ou dá forma a uma camada entre o cliente e a lógica do negócio. Uma aproximação mais sofisticada deve fornecer um serviço do formatador que faça exame de XML e de XSL e outputs formatos da apresentação. Isto é feito com uma relação muito genérica de IDL suportada por um processador de XSL. Uma camada de aplicação pode produzir output XML não apenas para o consumo do cliente, mas para dados intercambiarem-se com outros sistemas. Isto é particularmente útil para interações de business-to-business, visto por muitos como um "killer app" para XML.

A perspectiva da comunicação

XML fornece uma maneira de converter mensagens através de muitas tecnologias tradicionais que separam sistemas. Alguns esforços atuais estão explorando o uso de XML através do HTTP como uma alternativa a IDL/IIOP para alcançar sistemas de CORBA. Isto pode dar suporte a clientes simples não habliditados a CORBA, ou clientes usando um protocolo não compatível a IIOP. Além disso, usar o HTTP para transportar XML elimina muitas edições de firewalls. Um formato da mensagem XML de request/response pode ser interpretado por uma ponte de XML-CORBA: os parsers servlets, o cgi ou o API do web server analisam os pedidos XML, traduzem-nos em pedidos de CORBA e vice-versa. Essencialmente, tal sistema é um Gateway XML-to-CORBA DSI. Usar XML para ligar os mundos da Web e das tecnologias distribuídas precedentes do objeto é uma etapa em uma tendência para sistemas distribuídos "Web-inativos" - sistemas distribuidos que usamos padrões do Web do núcleo de URLs, de HTTP e de XML.