Teste
Daniel Neis
Moodle Moot 2013
Webservices
Segundo W3C:
"A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format
[...] typically conveyed using HTTP with an
XML serialization in conjunction with other
Web-related standards."
Protocolos
• REST
• SOAP
• XMLRPC
http://stackoverflow.com/questions/209905/rest-and-soap
Webservices no Moodle
• Permitem que outros sistemas façam login no Moodle realizem operações
• Existem webservices já implementados para executar diversas funções
• Existe um webservice específico para a aplicação "mobile"
Webservices no Moodle
Habilitando o uso de Web Services
Gerenciando os protocolos
Implementando Web Services
• Todo plugin pode exportar suas funções via webservice • Para implementar funcionalidades apenas via webservice, utilize plugins "locais"
Plugins locais
• Estão localizados no diretório moodle/local
• Tem a mesma estrutura padrão que outros plugins o
version.php, lang directory, db directory, etc
• Por padrão, não ficam acessíveis pela interface Implementando Web Services
• Serviços e funções são descritos no arquivo db/services.php Implementando Web Services
Implementando Web Services
• As funções são implementadas no arquivo externallib.php • Para cada função do webservice, é precisao implementar 3 funções no Moodle
Implementando Web Services
• Uma função que descreve os parâmetros
Implementando Web Services
• Uma função que descreve os valores de retorno Implementando Web Services
• E a implementação do serviço
Um cliente de exemplo
Outro cliente de exemplo
Obrigado!
daniel@attosistemas.com.br