sexta-feira, 30 de setembro de 2016

Web Service.

                                      Curso – Sistemas de Informação, 5º Período, Noturno.
                                      Disciplina – Banco de Dados II.
                                      Docente - Prof. Dr. Geraldo Corrêa.
                                      Discentes -  Edson Junior,   Fadrique Brito e
                                                          Thalles Carvalho.
                                      Data – 30/09/2016
                                      Trabalho – Web Service.
 
 
 
Introdução

Web services é uma aplicação utilizada para integração de sistemas em rede, sendo possível a troca de mensagens entre diferentes sistemas, aplicações, plataformas e linguagens por meio de XML ou entrega de serviços na web, que padroniza as comunicações entre sistemas.

Para fazer a troca de informações entre sistemas, utiliza -se a linguagens de marcação denominada XML, onde as mensagens XML contém requisições, informações que serão passadas ao Web services para que o Web Services entenda a requisição planeja a resposta e a responda.

Outro padrão para realização para o Web Service, é o XSD ( XML Schema Definition), onde o XSD válida a requisição XML recebida no Web Service e também distribui informações por meio de leiaute, facilitando a identificação de operações do serviço.

Já o WSDL ( web Services Description Language), descreve informações do serviço, como por exemplo, como acessá-lo, características, operações e métodos, para utilização do Web Services.

Por fim temos o SOAP ( Simple Object Access Protocol) responsável por entregar a mensagem onde é definido o protocolo de transporte da mensagem até a aplicação por meio de HTTP que é o mais utilizado, trabalhando na porta 80.

Exemplo de serviços que utilizam o Web Service é a emissão de Nota Fiscal, que são enviados a empresas, que validam a autenticidade da nota garantindo segurança ao usuário.
Outro método é a consulta de CEP utilizado pelo correio.

Como é Feita a troca de Dados ?

  • Primeiro o cliente cria um arquivo XML requisitando um serviço ao Web Service, neste arquivo devem estar contidas informações sobre a requisição.
  • Segundo ele envia ao Web Service que irá analisar a requisição e processar a resposta ao cliente no formato XML.
  • E por fim ele envia o arquivo ao Cliente, dando informações sobre a resposta, se caso a requisição foi realizada ou se deu algum erro.
Ciclo de Vida do Web Service

    O desenvolvimento do ciclo de vida inclui o requisito do projeto, publicação e tempo de execução.
    Na fase de construção inclui o desenvolvimento e todos testes do Web Service, define descrição da interface do serviço e toda sua implementação.
    Na fase de publicação é feita a publicação do serviço e definições que serão implementados para o consumidor.
    Na etapa de execução é o período que o Web Service fica disponível para ser acessado por meio da rede, podendo ser acessado através do provedor de serviços.
    E Por fim a etapa de Gerenciamento, onde o monitoramento do serviço é realizada identificando erros e garantindo Segurança, confiabilidade, disponibilidade e qualidade de serviço.

Motivações para o uso:
  • Integração entre serviços distintos.
  • Padronização no retorno de cada requisição de serviços.
  • Independência de tecnologia de desenvolvimento e plataformas.
  • Os Web Services estão acima de plataformas, bancos de dados, e linguagens de programação, livrando completamente os desenvolvedores das limitações previamente encontradas na interface entre aplicativos.
  • Segurança.



Aprofundamento nas tecnologias utilizadas.

XML

Extensible Markup Language. É um tipo de documento, usado pelo método SOAP para troca de mensagens. Ressalta se dois requisitos fundamentais do XML:
  • Comunicação via protocolo, sendo geralmente utilizado o HTTP;
  • Envia e recebe dados, formatados como documentos, em arquivos XML.
    O XML é responsável por especificar como os dados serão apresentados genericamente, define como e com que qualidade os dados serão transmitidos e especifica como os serviços serão publicados e lidos.

    WSDL
   
    Web Services Description Language. É um padrão que visa descrever Web Services de forma a reduzir o máximo a necessidade de comunicação entre ambas as partes que estejam envolvidas em uma integração de dados.
    Descreve serviços e suas mensagens, ignorando os protocolos de rede e os formatos das mensagens.
    O WSDL descreve os serviços disponibilizados na rede através de uma semântica XML, que por sua vez, providencia os dados necessários para se chamar o sistema e procedimento que se faz necessário para que se tenha uma comunicação. Vale a comparação de que, enquanto o SOAP (ver mais abaixo) especifica a comunicação entre cliente e servidor, o WSDL especifica os serviços oferecidos.
    Apesar de todas suas vantagens, o WSDL em muitas vezes é ignorado por empresas devido a sua complexidade, que utilizam um método chamado Bottom-up que serve para você descrever seu Web Service a partir de uma linguagem de programação que você escolher, porém isso pode vir a trazer alguns problemas na hora de requisitar os serviços.

    SOAP

    Simple Object Access Protocol. Tem foco na troca de mensagens estruturadas, sendo baseado em XML e para transmissões de mensagens utiliza, geralmente, HTTP. O SOAP não impõe semântica, tanto de programação, quanto de implementação, pois isso permite que o serviço seja chamado por aplicações feitas através de qualquer linguagem de programação, o que provê a interoperabilidade e intercomunicação entre diferentes sistemas.

    O SOAP, baseado em XML, consistente, principalmente, em três partes:
  • Um envelope, que define o que está na mensagem e como processá-la;
  • Um conjunto de regras que são codificadas, e que expressam as instâncias dos tipos de dados definidos na aplicação;
  • Uma convenção para representar chamadas a procedimentos e respostas.

    O SOAP  contém mecanismos que lhe ajudam a definir a unidade de comunicação, lidar com erros, mecanismos de extensão que permitem evolução e representar tipos de dados em XML entre mensagens SOAP e HTTP. Vale ressaltar a simplicidade do protocolo, sendo compatível para o serviço independente do vendedor, da linguagem, do modelo de objetos ou do transporte.

    UDDI

    Universal Description, Discovery and Integration. É uma especificação técnica que tem por objetivo descrever, descobrir e integrar Web Services.

    Assim que um Web Service é construído, é necessário que se consiga acessar os serviços de qualquer local da internet, e uma das maneiras de se realizar isso, é fazendo com que a aplicação cliente acesse a URI do serviço. Pode-se denominar o UDDI como um mediador de serviço, cujo permite que as aplicações clientes encontrem um fornecedor do serviço necessário.

    Já na sua versão 3.0, o UDDI focou na possibilidade de permitir implementações com restrições, formando uma facilidade para as empresas, de maneira privada, utilizassem do serviço, respeitando suas restrições e infra-estruturas. Há três tipos de registros no especificação UDDI 3.0:

  • Privado: Também conhecido como Intranet, é um registro interno que fica isolado da rede pública e protegido por um firewall. Permite apenas o acesso à serviços para tarefas administrativas e o acesso aos dados de registros são  feitos de forma segura.
  • Semi Privado: Também chamado de Extranet. É um registro desenvolvido dentro de um ambiente controlado, há o acesso para a rede externa, porém seu acesso é controlado e usado/compartilhado apenas com sócios de confiança. Podem ser compartilhados dados com outros registros, sempre de modo controlado.
  • Público: Chamado de Site Web. Interagindo como um usuário final, o serviço público lembra o serviço de nuvem. O acesso aos dados do registro é aberto ao público, e eles podem ser compartilhados ou transferidos para outros registros.

    Em geral, o UDDI é uma interface Web, onde é definido serviços que possibilita a descrição e descoberta de negócios, organizações e outros provedores de serviços, disponibilizando o acesso e gerenciamento de tais serviços. É também baseado em outros padrões de serviços já estabelecidos, sendo eles, HTTP, XML, SOAP, etc.

Qualidade de Serviço em Web Services

Podemos definir a qualidade de serviços como um conjunto de requisitos não funcionais, eles são: desempenho, confiabilidade, disponibilidade e segurança. Com o crescimento do Web Service, as qualidades são os critérios que diferenciam os serviços. Entretanto não é algo fácil de  provar que a aplicação tenha a qualidade exigida.

Temos a seguir alguns parâmetros que define a  qualidade do serviço:

  • Disponibilidade: É o parâmetro que define se o Web Service vai está pronto para uso quando o usuário requisitar alguma ação da aplicação.

  • Confiabilidade: É a comprovação de que o serviço vai agir como o consumidor tenha esperado. É se o serviço vai ser executado de maneira correta. É o laço de confiança entre o cliente entre o provedor de serviços.

  • Custo: É o valor que o provedor de serviços cobra pelo o acesso feito ao serviço.

  • Throughput: É o número de requisições que são terminadas em um tempo previsto. E está ligado diretamente ao tempo de resposta do sistema. Pois quanto mais requisição ele consegue fechar em menos tempo, menor será a sobrecarga do sistema.

  • Tempo de Resposta: É o tempo que a requisição demora para ser iniciada para ser executada até o momento que o requisitante recebe a resposta da mesma. Nesse tempo está embutido toda a sobrecarga e os atrasos que podem ocorrer na rede.

  • Latência: Tempo gasto entre a chegada da requisição e o envio da resposta.

  • Desempenho: É a medida de tempo utilizando o tempo de resposta e throughput. Desempenho é bom quando o throughput é alto e o tempo de resposta baixo.

  • Segurança: É garantir a integridade das mensagens de serviço de cliente ao provedor de serviços. Está ligada diretamente a confiabilidade.

  • Regularidade: Mostra se o Web Service está de acordo com as leis, regras, padrões e acordo de níveis de serviços estabelecidos.

  • Robustez/Flexibilidade: É a forma que o serviço encontra para contornar entradas incorretas, incompletas e conflitantes e também para gerar o resultado correto.

  • Precisão: Avalia qual é a probabilidade de ocorrer algum erro no serviço.

  • Reputação: É a avaliação feita pelo o cliente. Pode ser feita no final de cada serviço, através de enquetes, perguntas e grau de satisfação.
       


REFERÊNCIAS

Carlos J. Feijo Lopes, Web Service: Metodologias de Desenvolvimento. Disponível em: <tp://repositorium.sdum.uminho.pt/bitstream/1822/559/1/LR04.pdf>.Acessado em 28 de Setembro de 2016.

DevMedia, Introdução às tecnologias Web Services: SOA, SOAP, WSDL e UDDI - Parte1. Disponível em: <http://www.devmedia.com.br/introducao-as-tecnologias-web-services-soa-soap-wsdl-e-uddi-parte1/2873> Acessado em 28 de Setembro de 2016.

Rômulo Rosa Furtado, Web Services. Disponível em <http://suporte.inf.ufes.br/files/Web%20Services.pdf>. Acessado em 28 de Setembro de 2016

Bruno Tardiole, Modelos e Algoritmos para composição de WebServices. Disponível em: <http://www.teses.usp.br/teses/disponiveis/55/55134/tde-05042010-111224/pt-br.php> Acessado em 28 de Setembro de 2016.

Forum IMasters, Descrevendo, descobrindo e integrando Web Services – UDDI. Disponível em: <http://imasters.com.br/artigo/4474/web-services/descrevendo-descobrindo-e-integrando-web-services-uddi?trace=1519021197&source=single> . Acessado em : 28 de Setembro de 2016.


 

Nenhum comentário:

Postar um comentário