Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com Exemplo expositivo João Paulo Ribeiro jpribeiro.com
O que vamos fazer? Web Services Service-Oriented Architecture Exemplo expositivo: Locadora de Carros Diagrama de Classes Diagrama Entidade-Relacionamento Escrever as classes Escrever o Data Access Object Escrever os web services Escrever o cliente
Web Services
Web Services São componentes de aplicações, disponíveis pela web A comunicação com web services é feita através de protocolos abertos O mais utilizado desses protocolos é o HTTP Web services podem ser utilizados para reutilizar componentes de aplicação... ... e conectar diferentes softwares já existentes, em diferentes plataformas
Web Services Protocolo Cliente Serviço Requisição Resposta Parâmetros podem ser passados, respeitando o contrato fornecido pelo serviço (API) Resposta Mensagem de resposta do serviço. Pode ser uma string, um arquivo XML, um objeto JSON, dentre outros Protocolo Serviço
Web Services HTTP Browser A requisição para visita a um site pode ser vista como um dos mais simples web services Browser Resposta O script index.php é processado, e então a página HTML resultante é transferida Requisição Requisição do tipo Get HTTP JPRibeiro.com/index.php
Web Services Existem protocolos (abertos) que definem/padronizam a comunicação dos web services: SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Description, Discovery and Integration REST: Representational State Transfer
Web Services Para nosso exemplo, construiremos serviços bastante simples em PHP, que não implementarão nenhum desses protocolos Em aplicações reais, deve-se buscar a adoção do protocolo mais adequado à situação, para se obter: Interoperabilidade com outros sistemas Segurança Escalabilidade
Service-Oriented Architecture
Service-Oriented Architecture Serviços = caixas pretas Baixo acoplamento Reusabilidade de componentes Maior segurança nos serviços (testes!)
Exemplo Expositivo: Locadora de carros Diagrama de classes
Referências http://www.dummies.com/Section/id-612246.html