Interoperabilidade no Contexto do Software Público Brasileiro
- A área de tecnologia da informação e comunicação (TIC) está passando por importantes alterações, e os principais fatores que a impulsionam são:
- A crescente demanda, das organizações, por maior flexibilidade para acompanhar a velocidade de mudanças, provocadas pela globalização e inovação tecnológica, e dar respostas mais rápidas para a realização de novos modelos de negócios;
- A grande demanda por sistemas de missão crítica de operação ininterrupta, integrados a sistemas de terceiros, que se alteram continuamente;
- As novas demandas por acesso ubíquo, facilidade de uso, personalização, capacidade transacional confiável em qualquer plataforma, desde sistemas embarcados até os altamente distribuídos;
- A emergência do software livre, que altera a dinâmica do mercado de TIC, e cria novos ecossistemas e novas oportunidades em razão de aumentar a competição, alinhar-se com normas abertas, posicionar-se como bem público e reduzir custos.
- Essas mudanças provocam, como conseqüência, uma crescente complexidade de software, e tornam-se a principal motivação para a “industrialização” do desenvolvimento de software. As técnicas empregadas no desenvolvimento de software fundamentam-se na transformação semi automática e sistemática das abstrações do domínio do problema para a codificação em software. Nessa visão, para o desenvolvimento de software, modelos são os principais artefatos. Os desenvolvedores são sustentados por tecnologias de transformação de modelos, que a partir da abstração do domínio do problema geram modelos intermediários, até chegar à implementação em código de execução de software. Nesse contexto, a engenharia de software é conduzida por modelos, onde linguagens com abstração apropriada aos analistas de negócios facilitam a comunicação destes com os profissionais de TI. Com a elevação do nível de abstração para o contexto do problema, e o auxílio de ferramentas de transformações de modelos pode-se reduzir a complexidade. Os modelos, no nível do problema, consistem em linguagens apropriadas ao domínio de negócios que possibilitam reduzir o hiato existente estes e a sua realização em código de software.
- Quando a empresa precisa realizar negócios eletronicamente com outras empresas ou com a administração pública, a complexidade aumenta em razão da necessidade de integração de sistemas de software, onde ocorre a troca de diferentes tipos de informação. Esse problema é denominado “barreira de interoperabilidade”, que consiste na dificuldade da empresa em prover informação num formato inteligível aos seus parceiros.
- Uma forma de solucionar esse problema é realizar manualmente o mapeamento sintático da informação. Esta técnica, que faz parte da solução denominada interoperabilidade técnica ou sintática, é usada quando a informação não é muito complexa. Contudo, apresenta as seguintes desvantagens:
- É necessário o conhecimento detalhado dos esquemas fonte e destino. Os novos esquemas precisam ser estudados detalhadamente antes de criar os mapeamentos, e consiste numa atividade de alto custo.
- O mapeamento é uma tarefa de difícil entendimento e suscetível a erros, realizada por técnicos que precisam conhecer detalhadamente os esquemas. Os técnicos, normalmente, pensam em termos sintáticos e não semânticos, quando o desejável seria que o mapeamento fosse realizado pelos especialistas de negócios.
- Outra maneira é realizar o mapeamento baseado na semântica. Por exemplo, conceitos como "Rua", "Bairro", "Cidade" podem compor um ativo semântico, e serem agrupados numa entidade semântica denominada “Endereço”, a qual é associada ao conceito, bem definido, endereço. O processo de mapeamento é baseado em ontologias, que são usadas para definir e ligar os ativos semânticos. A ligação com a sintaxe original é realizada de forma transparente ao usuário. Se as empresas adotarem a mesma ontologia como referência, o processo de mapeamento pode ser realizado de forma mais natural, baseado no significado dos conceitos. Essa técnica faz parte da solução denominada interoperabilidade semântica, onde os ativos semânticos e mapeamentos podem ser reusados e compartilhados.
- Contrapondo-se à crescente complexidade, o desenvolvimento de software, cada vez mais, se beneficia do trabalho colaborativo de equipes multidisciplinares, distribuídas globalmente, realizando seus trabalhos em grupos de pesquisas em universidades, institutos de pesquisas, empresas e administração pública. Associada ao trabalho colaborativo está a representação do conhecimento através dos inúmeros artefatos digitais como workflows, ontologias, modelos de dados e serviços, manuais de uso, etc. O reuso desses ativos de software e de conhecimento é de extrema importância econômica e social, por permitir o aceleramento de novas soluções e a disseminação do próprio conhecimento. O reuso, promovido por novas técnicas de colaboração, torna evidentes algumas questões como a filtragem colaborativa, baseada em atributos de qualidade e de confiança.
- O progresso científico, cada vez mais, depende do compartilhamento e colaboração no uso de recursos, artefatos, dados e resultados. A colaboração e compartilhamento são promovidos por meio da conexão diversificada entre pessoas e idéias, realizada com o auxílio de plataformas de redes sociais, que descobrem e interpretam o conhecimento gerado por outras pessoas, de uma forma não prevista quando criado. Esse efeito caracteriza a inteligência coletiva da comunidade científica, aberta à sociedade em geral, promovendo o efeito rede, realizado através de “tagging”, revisão, discussão, recomendação baseada no uso, filtragem coletiva e reputação.
- Esse modo colaborativo que também se aplica ao desenvolvimento de software é essencial para o modelo de software como bem público, devido ao seu aspecto de aproveitamento e reuso do conhecimento produzido e o baixo custo que está relacionado. Compartilhamento é a utilização ótima do recurso conhecimento, onde não é necessário manter sigilo, porque o lucro está associado ao benefício comum que pode ser alcançado. Nesse contexto, a abstração por meio de modelos e a formalização do conhecimento, permitem a construção de comunidades por meio de linguagens de modelagem compartilhadas e especificas por domínios. As plataformas e "frameworks" interoperáveis promovem a criação de ecossistemas digitais, onde grupos de pessoas têm a oportunidade de compartilhar uma linguagem, trabalhar colaborativamente, e compartilhar informação, serviços e componentes de software.
- O objetivo do vetor interoperabilidade, no contexto do Software Público Brasileiro (SPB), é constituir comunidades de prática para tratar das questões de interoperabilidade, pertinentes aos mais variados colaboradores das comunidades do SPB. No intuito de promover e motivar o tema da interoperabilidade, as ações iniciais estão concentradas em tornar disponível a informação necessária para o entendimento básico, teórico e prático, nos domínios da interoperabilidade técnica e semântica. Assim, as atividades estão estruturadas nas seguintes fases: (i) Definição dos conceitos e levantamento do estado da técnica; (ii) Análise dos requisitos de interoperabilidade; (iii) Propostas de melhores práticas para arquiteturas, técnicas para a gestão do conhecimento de arquiteturas visando a a melhoria da interoperabilidade no SPB.

Powered by: