Arquitetura de Serviços na Embrapa, viabilização da integração de informações eletrônicas de UDs e UCs 12 de agosto de 2014 Fernando Chagas Santos
Agenda 1. Contextualização 2. Proposta para a Integração das Informações 3. Formas de Integração 4. Cenários de Integração 5. Gerenciamento de APIs 6. Conclusões
Contextualização A integração de informações eletrônicas entre as unidades (administrativas, descentralizadas e escritórios) da Embrapa é um desafio. As unidades se situam em diferentes regiões geográficas e possuem estruturas organizacionais próprias. Dificuldades de comunicação. Dificuldades na definição de padrões (administrativos e tecnológicos). 17 unidades administrativas 46 unidades descentralizadas 16 escritórios Fonte: https://www.embrapa.br/embrapa-no-brasil
Contextualização As unidades acabam criando mecanismos próprios para a obtenção de informações de outras unidades. Integração em nível de dados (por exemplo, JDBC). Dificulta o reuso de serviços. Carga de dados em bases próprias. Pode levar à falta de integridade dos dados sob o ponto de vista organizacional. Utilização de robôs. Pode infringir à política de segurança da informação da organização. Como obter informações sem a necessidade das unidades criarem mecanismos próprios?
Proposta para a Integração das Informações Disponibilizar um canal único para a produção e o consumo de informações. Aplicativos Internos Canal único de comunicação Usuário Externo Empregado da Embrapa Gerenciamento Ciclo de vida da informação Segurança da informação Aplicativos Externos
Formas de Integração Existem basicamente 3 níveis de formas de integração de informações. Camada de Apresentação Padrão de Interface HTML, HTTP (REST) Camada de Aplicação Padrões da Web SOAP, XML, HTTP Camada de Gerenciamento de Recursos Padrão de acesso a dados JDBC, ODBC
Formas de Integração Cenário 1 Informações fornecidas por um aplicativo web monolítico. HTML HTTP Canal de comunicação Navegador Servidor Web A informação é acoplada ao sistema. Os novos sistemas não conseguem reutilizar os serviços já existentes. A integração é normalmente realizada em nível de dados (JDBC).
HTML
Formas de Integração Cenário 2 Informações fornecidas utilizando serviços web. SOAP XML HTTP WSDL Canal de comunicação Cliente Servidor A informação normalmente é desacoplada do sistema. Possibilita o reuso de serviços já existentes por novos sistemas. Integração ocorre utilizando protocolos da web.
Serviço de Autorização e Autenticação de Usuários SOAP XML HTTP WSDL Canal de comunicação Cliente Servidor https://sistemas.sede.embrapa.br/segurancaws/segurancawsendpoint?wsdl SOAP
Formas de Integração Cenário 3 Serviços oferecidos utilizando o estilo arquitetural REST XML \ JSON \ TXT HTTP Canal de comunicação Cliente Servidor Web A informação é desacoplada do sistema. Possibilita o reuso de serviços já existentes por novos sistemas. Integração ocorre utilizando HTTP (REST) (camada de apresentação). Apropriado para uso por dispositivos móveis.
listarpastas( m356110 ) listaremailsentrada( m356110 ) exibiremail(30722)
https://correio.embrapa.br/zimbra/home/fernando.chagas/inbox?fmt=json listaremailsentrada( m356110 )
Formas de Integração Resumo Cenário 1 Cenário 2 Cenário 3 Camada de Apresentação Padrão de Interface HTML, HTTP (REST) Camada de Aplicação Padrões da Web SOAP, XML, HTTP Camada de Gerenciamento de Recursos Padrão de acesso a dados JDBC, ODBC
Gerenciamento de APIs Solução Tecnológica Em qual linguagem/plataforma a unidade deve implementar os serviços? Applications-By-Forms (ABF) Serviços devem ser bem projetados e documentados
Gerenciamento de APIs Plataforma O desafio é o desenvolvimento de serviços (SOAP e REST) e o gerenciamento de APIs. Aplicativos Internos Plataforma para o gerenciamento de APIs Usuário Externo Empregado da Embrapa Gerenciamento Ciclo de vida dos serviços Segurança dos serviços Aplicativos Externos
Gerenciamento de APIs Plataforma API (Application Programming Interface) fornece uma forma de desenvolvedores interagirem e consumirem um serviço. Gartner prevê que 75% das empresas mais ricas do mundo irão desenvolver pelo menos uma API neste ano. O Gerenciador de APIs lida com esses desafios. Ciclo de Vida da API Versionamento Segurança Governança
Conclusões A unidades deveriam evitar a integração de informações em nível de dados (JDBC) e utilizar formas de integração mais abstratas. A utilização de uma plataforma de gerenciamento de APIs é fundamental para facilitar a integração entre as unidade. Canal único de comunicação Gerenciamento de serviços O efetivo gerenciamento de APIs auxilia na construção de inovação na agricultura: Dispositivos móveis PaaS: plataforma como serviço Internet das Coisas
fernando.chagas@embrapa.br Obrigado