Engenharia Web

José Carlos Ramalho

Dep. de Informática, Universidade do Minho

Este é um livro aberto e vivo que surgiu como forma de publicar conteúdos de suporte a uma série de disciplinas lecionadas na área da Engenharia Web. Do seu índice constarão temas como:

  • XML: Schemas, DTDs, Xpath;

  • XSL;

  • Bases de dados relacionais;

  • Web Services: SOAP, WSDL;

  • Semantic Web: Ontologias, SPARQL, OWL, SKOS, RDF.

Estará a sofrer alterações constantes que serão devidamente documentadas no seu historial.

A versão Web será sempre de acesso livre. Poderão ser criadas edições PDF a pedido com um custo simbólico.

Os conteúdos aqui apresentados são originais. Partes dos textos foram inspiradas nos livros publicados do autor publicados pela FCA e em vários tutoriais publicados na Web e disponibilizados em cursos de pós-graduação.

Historial de Revisões
2013-01-03

Disponibilização da primeira versão.

Contem um capítulo descritivo do SOAP e outro bem aprofundado sobre implementação de Web Services com PHP usando SOAP.


Índice

I. SOAP
1. SOAP
1. Mensagem SOAP
1.1. Envelope
1.2. Header
1.3. Body
1.4. Fault
2. Tipos de dados
2.1. Tipos simples
2.2. Tipos estruturados
2.2.1. Arrays
2.2.2. Produto cartesiano (structs)
2.2.3. Listas de estruturas
3. Alguns exemplos de extensões SOAP
3.1. Security Assertion Markup Language (SAML)
2. PHP e NuSOAP
1. Hello world
2. Deteção de erros ("debugging")
2.1. Visualização do pedido e da resposta
2.2. Visualização da informação resultante das ações executadas
2.3. Teste de falha na chamada SOAP
2.4. Esqueleto base de um cliente
3. NameSpaces
4. Tipos de Dados Simples
5. SOAP Faults
6. SOAP arrays
7. SOAP e produto cartesiano

Lista de Figuras

1.1. Estrutura de uma mensagem SOAP
1.2. Troca de mensagens SOAP
2.1. Invocação do cliente com passagem de parâmetros no URL
2.2. Invocação do cliente: client-aritmetica.php
2.3. Invocação do cliente com parâmetros inteiros
2.4. Invocação do cliente com parâmetros reais
2.5. Repostas do cliente aos parâmetros 8 e 4
2.6. Chamada do método dobro para a lista [1,2,3,4,5]

Lista de Exemplos

1.1. Um Pedido SOAP
1.2. Uma Resposta SOAP
1.3. Elemento Fault numa mensagem SOAP
1.4. O atributo type numa mensagem SOAP
1.5. Representação em SOAP de um array
1.6. Representação em SOAP de um produto cartesiano
1.7. Representação em SOAP de uma lista de estruturas
1.8. Representação em SOAP de estruturas aninhadas
2.1. O servidor: serv-hello.php
2.2. O cliente: client-hello.php
2.3. O cliente: client-hello2.php
2.4. Cliente com visualização do pedido e da resposta
2.5. Cliente que imprime a informação de debug
2.6. Cliente que testa falhas na chamada do serviço
2.7. Esqueleto para um cliente com tratamento de erros
2.8. Servidor usando NameSpaces para registar os métodos
2.9. Cliente usando NameSpaces
2.10. Pedido SOAP com NameSpaces
2.11. Resposta com NameSpaces
2.12. O servidor: serv-aritmetica.php
2.13. O cliente: client-aritmetica.php
2.14. O servidor: serv-aritmetica2.php
2.15. O cliente: client-aritmetica2.php
2.16. Pedido para o método div
2.17. Resposta da chamada ao método div
2.18. Verificação de tipos no servidor
2.19. Verificação de tipos nos métodos mul e div
2.20. Parâmetros inteiros: 7 e 5
2.21. Parâmetros inteiros: 8 e 4
2.22. Servidor para processar listas: o dobro
2.23. Cliente do processador de listas: o dobro
2.24. Pedido SOAP para o método dobro
2.25. Pedido SOAP: dobro de uma lista híbrida
2.26. Servidor de listas: listas de listas
2.27. Cliente de listas: listas de listas
2.28. Pedido SOAP para a chamada com listas de listas
2.29. Servidor de listas de listas: soapval
2.30. Resposta do mapSomaLista com soapval
2.31. O servidor lista de Aluno: notaMaisAlta
2.32. O cliente lista de Aluno: notaMaisAlta
2.33. Pedido: Aluno com notaMaisAlta de uma Lista de Aluno
2.34. Resposta: Aluno com notaMaisAlta de uma Lista de Aluno