1. Definições
Alguns termos referentes às tecnologias empregadas no objeto desse estudo precisam ser definidos ou explicados.
Chamada de Procedimento Remoto
Quando um processo de um determinado sistema faz uma Chamada de Procedimento Remoto (do inglês Remote Procedure Call - RPC), como o nome diz, ele dispara um procedimento (ou subrotina) em outro computador como se o procedimento fosse local. Em outras palavras, uma implementação de RPC faz a abstração do local físico de funções computacionais, isolando e evitando os detalhes de interface com a rede. A figura a seguir, feita com base naquela presente em [1] , ilustra a descrição feita.
graphic
XML
O XML (Extensible Markup Language) é um formato de texto simples e flexível muito utilizado para troca de informações de diversos tipos. Assim como o HTML, é baseado em tags, mas, no entanto, não possui tags pré-definidas. Seu uso é recomendado pela W3C, ou seja, é um padrão oficial de organização de dados, fazendo do XML o formato mais usado para integração de sistemas.
XML Namespace
Para evitar conflitos gerados pela ambiguidade de nomes de tags e atributos XML, o conceito de namespace foi incorporado à linguagem. Essa característica permite que dois elementos com mesmo nome definidos por entidades diferentes possam coexistir em um documento XML. Para esclarecer esse conceito, um exemplo meramente ilustrativo foi escrito:
<raiz xmlns:a="http://www.definicao1.com" xmlns:b="http://www.definicao2.com">
       <a:elemento>
             <a:subelemento>Conteudo</a:subelemento>
       </a:elemento>
       <b:elemento>
             <b:outro_subelemento1>Valor1</b:outro_subelemento1>
             <b:outro_subelemento2>Valor2</b:outro_subelemento2>
       </b:elemento>
</raiz>
O exemplo anterior possui dois nós-filho do nó raiz - ambos com nome "elemento". Cada um deles se refere a uma tag diferente; o primeiro se refere a um elemento que possui apenas um nó-filho e o segundo, a um elemento com dois nós-filho. Para indicar essa diferença e evitar a ambiguidade, usa- se namespace. Isso é feito com a associação de prefixos (no caso, "a" e "b") aos endereços das definições dos elementos, na primeira linha do exemplo. Assim, sempre que o um nó xyz for antecedido do prefixo "a", estará indicado o uso do elemento xyz descrito no documento para o qual "a" aponta. Assim, "a:elemento" e "b:elemento" são entendidos como coisas diferentes.