Universidade Federal Fluminense Mestrado em Sistemas de Telecomunicações Disciplina: Fundamentos de Sistemas Multimídia Web Services Aluno: Leonardo Severo Alves de Melo leonardo.severo@ig.com.br
Introdução Web services é um conjunto de tecnologias criadas com o objetivo de prover uma prestação de serviços qualquer, novos ou não, de forma integrada.
Benefícios: Abertura de novas portas para oportunidades de interação e negócios entre empresas, parceiros e clientes; Permite que os usuários se integrem melhor a aplicações via qualquer dispositivo capaz, como handhelds e computadores pessoais; Reduz o tempo de desenvolvimento, poupando tempo e dinheiro.
Objetivos: Aplicações funcionando como serviços Troca de Informações entre aplicações Compartilhamento de aplicações Modelo e Padronização para Comunicação (XML) Aplicações sabem como se comunicar Grande potencial para B2B
Exemplos: Fábrica de carros Sites de busca (Google) Localização de serviços via dispositivos móveis Fornecedores de produtos Geladeira Validação de dados financeiros
Exemplo prático...apresentação da HP
E como funciona?
Mais detalhadamente...
Grupos de Trabalho: Quem estuda e qual o objetivo? XML Protocol Working Group: Criar protolocos simples que podem ser desdobrados e facilmente programados por scripts, ferramentas XML e interativas de desenvolvimento web, etc.. Web Services Description Working Group: Projetar os componentes de interface de comunicação, tratando da mensagem, padrões de troca e associações protocolares. Web Services Choreography Working Group: Desenvolvimento e padronização de processos integraveis de web services, levando em conta as particularidades individuas de cada serviço, colaboradores e usuários Semantic Web Services Interest Group: Estudar inovações na integração tecnológica entre web services, seus serviços e potenciais. Todos inseridos no W3C!
Tecnologias envolvidas XML SOAP WSDL UDDI
Linguagem XML (extensible Markup Language). Uma metalinguagem de desenvolvimento.. Atrativo pelo uso de padrões, aceitação no mercado, independente de plataforma, localização e linguagem da aplicação. Características da linguagem: Origem no SGML; Representação estruturada dos dados; Separação entre dados e apresentações;
Princípais benefícios Buscas mais eficientes Desenvolvimento de aplicações flexíveis para Web Integração de dados de fontes diferentes Computação e manipulação locais Multiplas formas de visualizar dados Atualizações granulares dos documentos Fácil distribuição na Web Escalabilidade Compressão
Estrutura básica
XML <estante> <livro> <titulo>onze Minutos</titulo> <autor>paulo Coelho</autor> <preco>39.95</preco> </livro> <livro> <titulo>a semente da vitoria</titulo> <autor>nuno Cobra</autor> <preco>25.00</preco> </livro> </estante> "I know what it means, and you tell me how it should look
SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação entre máquinas. Principais benefícios: Simplicidade na implementação e uso; É um padrão da indústria; Usa os mesmos padrões da web (comunicação via http, protocolos de autenticação e encriptação são os mesmos, implementado pelo próprio servidor); Invisiveis para firewalls e roteadores; Independente de sistemas operacionais e CPUs; Tanto os dados como as funções são descritas em XML, o que torna o protocolo não apenas fácil de usar como também muito robusto.
E como funciona? Aplicação A codifica RPC em uma mensagem SOAP A mensagem SOAP é encapsulada em um HTTP Aplicacao B decodifica Aplicação B envia resultado para A em uma mensagem SOAP
E como funciona?
SOAP Request POST /InStock HTTP/1.1 Host: www.stock.org Content-Type:application/soap+xml; charset=utf-8 Content-Length: nnn <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/ soap-envelope" soap:encodingstyle= "http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.stock.org/stock"> <m:getstockprice> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope>
SOAP Response HTTP/1.1 200 OK Content-Type: application/soap; charset=utf-8 Content-Length: nnn <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/ soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/ soap-encoding"> <soap:body xmlns:m="http://www.stock.org/stock"> <m:getstockpriceresponse> <m:price>34.5</m:price> </m:getstockpriceresponse> </soap:body> </soap:envelope>
WSDL (Web Services Description Language). Constitui-se de uma gramática especializada para integração entre tecnologias.. Descreve as interfaces de Web Services e como invocar um serviço. Características / benefícios principais: Documento XML Descreve a comunicação entre as aplicações; Assegura a interoperabilidade entre as camadas subsequentes; Possibilita a agregação de outras tecnologias.
Tipos de operações Cliente One-way deve receber uma mensagem mas não retorna uma resposta Request-response deve receber uma requisição e retorna uma reposta Servidor Solicit-response a operação pode enviar uma requisição e esperar uma resposta Notification a operação envia uma mensagem mas não espera resposta
WSDL <definitions>... <message name="gettermorequest"> <part name="termo" type="xs:string"/> </message> <message name="gettermoresponse"> <part name="valor" type="xs:string"/> </message> <porttype name= termosglossario"> <operation name="gettermo"> <input message="gettermorequest"/> <output message="gettermoresponse"/> </operation> </porttype>... </definitions>
UDDI (Universal Description, Discovery and Integration) Define um modo de publicação e descobrimento de informações sobre web services; Provê um registro distribuído de negócios e serviços implementada em um documento de formato XML comum. Lista de serviços: Páginas Brancas: empresas e serviços Páginas Amarelas: serviços por área da indústria, tipo de serviço Páginas Verdes: mecanismos técnicos (interfaces URLs)
Especificações que permitem a publicação de informações Service Provider 1. Publica serviço 4. Invoca serviço 5. Retorna resultados 2. Busca WSDL UDDI registry Service Requester 3. Envia WSDL
Problemas: Especificação não finalizada Categorias de registro não padronizadas Falta autenticação para acesso restrito a aplicações Disponibilidade de serviços no nível de producao nao é suficiente
Em suma: Acessando um Web Service Cliente Servidor de Aplicação Pedido SOAP Resposta SOAP XML HTTP Server SOAP Processor Sistema Corporativo WSDL O cliente procura um Web Service Registro de Serviços (UDDI) O Web Service se registra Serviços descobertos e utilizados dinamicamente!
Conclusão O modo de ver o mundo mudou com a chegada dos web services. A comunicação entre sistemas imediata, fácil, ágil e invariável não é apenas mais uma necessidade ou luxo: é uma exigência mercadológica. Quem não aderir, não irá sobreviver.
Conclusão (cont.) Questões ainda em aberto ou em evolução Segurança Transações Garantia de entrega Performance 93% dos profissionais de TI da Fortune 2000, indicam que Web Services é uma iniciativa chave de TI.
Conclusão (cont.) O futuro dos Web Services quebrará barreiras para um mundo conectado Entre sistemas e organizações; De confiança; Entre pessoas; De conhecimento; De uso diário.
The End