Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access...
Transcript of Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access...
Universidade Federal FluminenseMestrado em Sistemas de Telecomunicações
Disciplina: Fundamentos de Sistemas Multimídia
Web Services
Aluno: Leonardo Severo Alves de [email protected]
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
UDDI
SOAPWSDL
XML
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 umamensagem SOAP
A mensagem SOAP é encapsulada em um HTTP
Aplicacao B decodifica
Aplicação B envia resultado para Aem uma mensagem SOAP
E como funciona?
SOAP Request
POST /InStock HTTP/1.1Host: 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.
Cliente
� One-way – deve receber uma mensagem mas não retorna umaresposta
� Request-response – deve receber uma requisição e retornauma 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ãoespera resposta
Tipos de operações
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
ServiceRequester
UDDI registry
1. Publica serviço
4. Invoca serviço 2. Busca
WSDL
3. Envia WSDL
5. Retorna resultados
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
Servidor de Aplicação
SistemaCorporativo
HTTPServer
SOAPProcessor
Cliente
Pedido SOAP
Resposta SOAPXMLXML
Registro de Serviços(UDDI)
O cliente procura um Web Service
O Web Service se registra
WSDLWSDL
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