Bruno C. de Paula
Web Services
REST
2º Semestre 2009 > PUCPR >
Pós em BD
Resumo da aula
Trabalharemos agora com
os serviços REST;
Entender uma
arquitetura orientada a
recursos é importante
para valorizar uma
arquitetura orientada a
serviços.
Modelos de Web Service:
SOAP x REST
23/10/09
3
SOAP
23/10/09
4
23/10/09
5
Analogia com restaurante!
Você busca nas páginas amarelas
(UDDI) um restaurante para comer;
Chegando lá, recebe um cardápio
(WSDL) com as opções de comida;
Faz o pedido ao garçom (SOAP) que
andando, leva à cozinha (HTTP);
Lá na cozinha, você não sabe o que tem
dentro (e não importa), o Cozinheiro
prepara a comida (Sistema);
Depois de pronto, recebe uma
resposta (SOAP).
23/10/09
6
Padrões para desenvolver SOAP
Pilha WS-*
Dezenas de padrões;
“BigWebServices”;
Segurança: WS-Security, WS-Policy,
XML-Signature, XML-Encryption;
Notificação de eventos: WS-Notification,
WS-Eventing;
Endereçamento: WS-Addressing;
Tolerância a falhas: WS-Reliability;
Transações: WS-Transaction.
23/10/09
7
“BigWebServices?”
WS-* >> ASAP (Asynchronous Service Access Protocol), BPEL4WS
(Business Process Execution Language), ebSOA TC (Electronic Business Service
Oriented Architecture), ebXML (Electronic Business XML), International Health
Continuum TC, oBIX TC , SAML (Security Assertion Markup Language), SOAP
(Simple Object Access Protocol), SOAP MTOM (SOAP Message Transmission
Optimization Mechanism), ranslation WS TC , UBL (Universal Business Language),
UDDI (Universal Description, Discovery, and Integration), WS-Addressing, WSAtomicTransaction, WSBPEL (Business Process Execution Language), WS-CAF (WS
Composite Application Framework ), WS-CF (WS Coordination Framework), WSChoreography , WS-CDL (Web Services Choreography Description Language), WSCoordination, WS-CTX, WS Context, WS-Discovery (Web Services Dynamic
Discovery), WSDL (WS Description Language), WSDM (WS Distributed
Management), WS-Enumeration, WS-Eventing, WS-Federation (Web Services
Federation Language), WSIL (WS Inspection Language), WS-Manageability, WSMetadataExchange (Web Services Metadata Exchange), WS-MessageDelivery, WSNotification, WS-Policy, WS-Provisioning, WS-Reliability, WS Reliable Messaging,
WS-RF (WS-Resource Framework), WS-Reliablemessaging , WSRP (WS Remote
Portals), WS-Security, WS-SecureConversation, WS-SecurityPolicy, WS Security
Services TC, WS-TM (WS Transaction Management), WS-Transfer, WS-Trust, XML23/10/09
Encryption, XML-Signature
8
REST
23/10/09
9
REST
Cada url deve representar um recurso
(ROA);
Geralmente, via método GET, cada
recurso deve ser diferenciável;
Usa os verbos HTTP;
NÃO TEM WSDL e nem UDDI!
Retorno livre:
• XML;
• JSON;
• Etc.
23/10/09
10
Exemplo de chamada a um
serviço
Mais exemplos:
http://local.yahooapis.com/MapsService/V1/mapImage?appid=YD-4g6HBf0_JX0yq2Isd
http://json-random.appjet.net/?num=5&min=10&max=20&callback=randomcallback
http://iplocationtools.com/ip_query_country.php?ip=74.125.45.100
http://www.spore.com/static/model/500/226/147/500226147573.xml
...
23/10/09
11
Verbos HTTP
Exemplo voltado para Banco de
Dados – Amazon S3
Amazon's Simple Storage Service;
Serviço de
armazenamento e
transferência de
arquivos sob
demanda;
23/10/09
13
Exemplo voltado para Banco de
Dados – Amazon S3 - Comandos
GET / - Lista seus depósitos de dados;
GET /depósito – Lista objetos de um
depósito;
PUT /depósito – Cria um depósito;
GET /depósito/objeto – Obtém o valor e
metadados sobre um objeto;
DELETE /depósito/objeto – Exclui um
objeto.
Verbos simples, voltados à manipulação
de recursos!
23/10/09
14
Programação de serviços REST
Java: JSR-311 (JAX-RS), RestLet,
Apache CFX, GlassFish Jersey, Gomba …
.Net: WCF REST Starter Kit;
...
Você não precisa de nenhum kit para
implementar REST, é só entender como
desenvolver um aplicativo Web!
23/10/09
15
Lembre-se:
este não é um curso de
Programação!
23/10/09
16
Orquestração de serviços REST
via geradores de mashup
Vamos usar o Yahoo! Pipes:
• http://pipes.yahoo.com
Serviços Similares:
• IBM ManyEyes e IBM Lotus Mashups;
• Intel MashMaker;
• OpenKapow;
• Serena Business Mashups;
• JackBe;
23/10/09
17
Referência sugerida
RESTFul Serviços Web – Leonard
Richardson & Sam Ruby
23/10/09
18
Download

Apresentação referente a serviços REST