Para o desenvolvimento do projeto, a linguagem PHP foi selecionada devido às inúmeras vantagens compostas pela mesma, tais como, sua vasta documentação, facilidade de uso e aprendizagem, bem como sua imensa biblioteca de funções.
PHP
Segundo o Niederauer (2004, p.19), PHP significa (um acrônimo recursivo para "PHP: Hypertext Preprocessor"). É uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico. "Hoje mais de 10 milhões de sites no mundo inteiro utilizam PHP".
O PHP teve início por Rasmus Ledorf, que resolveu criar alguns scripts simples para integração com seu site pessoal no ano de 1994. Ledorf queria na verdade somente dar um pouco de vida aos sites estáticos existentes naquele momento, mas ele não imaginava que estava nascendo ali uma das mais poderosas ferramentas para Web, o PHP.
Usos da Web Service no presente trabalho
No presente trabalho o uso de Web Service se torna primordial para o funcionamento da base de dados uma vez que todas as manipulações são feitas através de chamadas HTTP, usando RESTful/JSON Api.
A Web Service reúne padrões que asseguram a interoperabilidade; estes podem ser acessados via protocolos padrões da Web, tais como: HTTP, HTTPS, entre outros. Os mesmos podem ser aplicados a diversas plataformas de integração e suportam tanto aplicações ponto a ponto (estruturas mais simples) quanto aplicações distribuídas (estruturas mais complexas).
Figueiredo (2008, p.5) salienta que "os Web Services são por vezes denominados de serviços de aplicações, sendo serviços que foram disponibilizados por servidores Web para utilizadores Web ou para programas ligados à Web, sendo os seus fornecedores denominados, na generalidade, de Application Service Providers".
Características Web Service
Algumas características que podem ser observadas em um Web Service:
- Uso intenso de XML;
- Grande apoio da industria, tais como: IBM, Microsoft;
- Baseado em padrões abertos, tais como: XML, HTTP, SOAP, WSDL e UDDI;
- Uso de URIs para identificação.
RESTful
O termo REST (Representacional State Transfer) vem da dissertação de doutorado de Roy Fielding, publicada em 2000.
Para Fielding (apud OLIVEIRA, 2009, p.51), REST é "um conjunto de princípios arquiteturais que quando aplicadas como um todo enfatiza a escalabilidade da interação entre componentes para reduzir a latência de interação, garantir segurança e encapsular sistemas legados".
Fielding também cunhou o termo RESTful e os classificou com os seguintes princípios:
- Cliente servidor;
- Apoiar sistemas de cache;
- Estado nulo;
- Sistema em camadas, ou seja, suportar escalabilidade;
- Stateless;
- Sistema uniforme composto por 4 diretivas padronizadas, GET, PUT, POST, DELETE.
Características RESTful
Algumas características do RESTful:
- Atribuir identificação as unidades de recurso - URI;
- Utilização de métodos padronizados, GET, PUT, POST, DELETE;
- Apresenta recursos com múltiplas representações ou seja como os dados podem ser tratados text/json, text/xml;
- Comunicação sem controle de estado, esta define que não deve haver dados da sessão do cliente armazenados no servidor.