A fim de que todos os Estados possam integrar facilmente os componentes nos seus sítios nacionais, a funcionalidade comum especificada foi implementada através de componentes abertos que podem ser selecionados por cada Estado em função da sua política e regulamentação nacionais em matéria de TI. Cada Estado-Membro pode escolher livremente o equipamento e a plataforma de software, incluindo a base de dados e os sistemas operativos, tendo em conta as características independentes a executar para obter o acesso às bases de dados indexadas que contêm perfis de ADN abrangidas pela parte três, título II, do presente Acordo. Foi desenvolvido e testado com êxito na rede comum existente um protótipo para o intercâmbio de dados de ADN. A versão 1.0 foi introduzida no ambiente de produção e está ser utilizada nas operações correntes. Os Estados podem utilizar o produto que foi desenvolvido em conjunto, mas também podem desenvolver os seus próprios produtos. Os componentes do produto comum serão mantidos, adaptados e desenvolvidos no futuro em função das alterações dos requisitos TI, forenses e/ou de política funcional. 5.6. Protocolos e normas a utilizar na arquitetura da aplicação: 5.6.1. XML O intercâmbio de dados de ADN aproveitará plenamente o esquema XML na forma de anexo às mensagens de correio eletrónico SMTP. A XML (eXtensible Markup Language – Linguagem de Marcação Expansível) é uma linguagem de marcação de uso geral recomendada pelo W3C (World Wide Web Consortium – Consórcio da Web) para a criação de linguagens de marcação especializadas, capaz de descrever muitos tipos diferentes de dados. A descrição do perfil de ADN que se presta ao intercâmbio entre todos os Estados foi efetuada com a XML e o esquema XML no documento ICD. 5.6.2. ODBC A conectividade de bases de dados abertas (Open DataBase Connectivity) constitui um método normalizado de software API para aceder a sistemas de gestão de bases de dados que a torna independente das linguagens de programação, bases de dados e sistemas operativos. A ODBC tem contudo de algumas limitações: a administração de um grande número de máquinas-cliente pode implicar uma grande diversidade de pilotos e DLLs. Esta complexidade pode dificultar a administração do sistema. 5.6.3. JDBC