350 likes | 454 Views
Web Services. Uninorte Semana de Tecnologia da Informação Neyvo Pinheiro de Souza Neyvo.com. Web Services. Modelos de Computação Distribuída. Web Services. Modelos de Computação Distribuída. Web Services. Conceito.
E N D
Web Services Uninorte Semana de Tecnologia da Informação Neyvo Pinheiro de Souza Neyvo.com
Web Services Modelos de Computação Distribuída
Web Services Modelos de Computação Distribuída
Web Services Conceito Web Services são componentes de software que independem de implementação ou de plataforma e podem ser descritos, publicados e invocados sobre uma rede através de mensagens padrão XML.
Web Services Arquitetura Web Services
Web Services • Tecnologias envolvidas em Web Services • XML • SOAP • WSDL • UDDI
Web Services • XML • No contexto de Web Services, a XML não é apenas utilizada como formato para troca de mensagens, mas também como a forma através da qual os serviços são definidos • Permite superar as limitações do HTML • Possibilita criar qualquer número de elementos (tags) com significado associado às informações
Web Services • XML • Através de XML esquemas é possível validar as informações separadamente e descrever os atributos e características dos dados • Duas partes só podem trocar informações em XML e entender os elementos da mesma forma se compartilharem uma mesma definição sobre quais e como os elementos podem ser utilizados
Web Services WSDL • A WSDL é a linguagem padrão XML utilizada para descrever interfaces de Web Services • A WSDL é dividida em três elementos principais: • Definições de tipo de dados - determinam a estrutura e o conteúdo das mensagens. • Operações abstratas - determinam as operações possíveis • Protocolos de ligação - determinam as formas de transmissão das mensagens pela rede até os destinatários
Web Services • WSDL – Camadas de descrição dos serviços
Web Services • SOAP • O SOAP é um protocolo para troca de informações em ambiente descentralizado e distribuído que permite comunicação entre aplicações de forma simples e completamente independente de sistema operacional, linguagem de programação ou plataforma • A comunicação é realizada através de trocas de mensagens, transmitidas em formato XML, incluindo os parâmetros usados na chamada, bem como os dados de resultados. • Também pode ser utilizado para invocar, publicar e localizar Web Services no registro UDDI
Web Services • SOAP • O SOAP pode ser utilizado em combinação com uma variedade de outros protocolos, como HTTP, SMTP, FTP, dentre outros. Também suporta RemoteProcedureCall • O modelo de dados SOAP oferece definições para tipos de dados como string, integer, float, double e date
Web Services • SOAPaaa • Um pacote SOAP possui as seguintes partes: • Envelope: define o início e o fim das mensagens, quem poderá tratá-las e se o tratamento é obrigatório ou opcional • Cabeçalho: contém atributos opcionais das mensagens • Corpo: contém os dados em XML • Anexo: consiste de um ou mais documentos anexados a mensagem principal • RPC: define como o modelo RPC (RemoteProcedurecall) interage com o SOAP, com o objetivo de invocar procedimentos em um sistema remoto. • Codificação: define como representar dados simples e complexos a serem transmitidos nas mensagens
Web Services SOAP Envelope, Cabeçalho e Corpo das mensagens SOAP
Web Services SOAP Envelope, Cabeçalho e Corpo das mensagens SOAP
Web Services SOAP Invocação do serviço utilizando SOAP
Web Services • UDDI • Para que um serviço seja utilizado é necessário que o cliente consiga localizá-lo, e esta localização pode ser feita através do UDDI, que é uma especificação técnica para descrever, descobrir e integrar Web Services • Para isso, existe um registro global público, chamado UDDI business registry, no qual toda a informação está disponível para consultas em geral. Entretanto, um registro privado pode adicionar controle de segurança para proteger os dados e prevenir acessos não autorizados
Web Services • UDDI utilizado para descobrir um Web Service
Web Services • UDDI utilizado para descobrir um Web Service
Web Services • Exemplo
Web Services • Exemplo • Criar um banco de dados mysql: Agenda • Tabela agenda: id,nome e telefone • Criar um Web Service em Java • Criar um Cliente em Java • Criar um Cliente em PHP • Executar o Cliente em C#
Web Services • Exemplo – Banco de Dados • Criar um banco de dados mysql: Agenda • Tabela agenda: id,nome e telefone • Preencher dados na tabela
Web Services • Exemplo - Java • aaa • Utilizando o Netbeans • Criar um Projeto Web AgendaService • Criar uma conexão com o banco de dados • Criar uma classe Agenda • Criar uma classe AgendaDao • Criar um Web Service para listar os dados da tabela
Web Services • ClassseConexao
Web Services • Classse Agenda
Web Services • Classe AgendaDao – Parte 1
Web Services • Classe AgendaDao – Parte 2
Web Services • Classe AgendaDao – Parte 3
Web Services • MetodolistaAgenda
Web Services • Exemplo - Projeto AgendaClient
Web Services • Web Service em PHP com NuSOAP • API desenvolvida em PHP • Permite a criação de clientes e servidores • Possui suporte embutido a WSDL. • Instalação simplificada • servidor Web com suporte a PHP • biblioteca de classes nusoap.php
Web Services • Exemplo - Cliente em PHP
Web Services • Exercícios • Criar um método no web service para pesquisar • Criar um método no web service para incluir
Web Services • FIM • http://neyvo.com