Transcript Document
Web Services aplicado à
Computação em Grade
Disciplina Engenharia de Redes
Professor: Dr. Michael Stanton
Aluno: Marcio Belo
Dezembro de 2003
Roteiro
• Introdução
• Web Services
– XML, SOAP, WSDL, UDDI
•
•
•
•
Computação em Grade
OGSA
Uso de Web Services no OGSA
Conclusão
Introdução
• Web Services: tecnologia emergente para o
problema de RPC
• Computação em Grade: potencializar o uso
de computadores ligados em rede
• OGSA: padronização para ambientes em
grade
Web Services (1)
• Mecanismo de RPC
• Proposta aberta mantida pela W3C
• Totalmente baseado em padrões abertos
– HTTP, TCP/IP, XML, etc.
• Independência de plataforma e linguagem
• Interface inteligível para computadores
• Utiliza a onipresente infra-estrutura da
Internet
Web Services (2)
• RPC (Remote Procedure Call)
– Surgiu com o modelo Cliente/Servidor
– Implementados nos primeiros SOs de rede
– Não havia padronização: cada SO implementava seus
protocolos, geralmente binários
– Transparência na invocação de procedimentos remotos
– client stub e server stub: procedimentos procuradores
para o procedimento real
Web Services (3)
• RPC
Web Services (4)
• Web Service: encapsula uma lógica de aplicação,
acessível programaticamente por um cliente ou
outro Web Service
• Padrões RPC anteriores como CORBA, DCOM,
RMI: arquitetura fortemente acoplada
• Web Services: arquitetura fracamente acoplada
• São acessados por um servidor HTTP
Web Services: Tecnologias (5)
Ponteiros para a Descrição
WSDL
UDDI
Encontra um
serviço
Ponteiros para
o serviço
Consumidor
Descreve o
Serviço
Web Service
SOAP
Mensagens em XML
Web Services: XML (6)
• Língua franca da Internet
• Semelhança com o padrão HTML, baseado
em tags
• Flexibilidade na interpretação dos dados por
computador/programador: dado + semântica
• Documento XML pode ter outro associado
que define sua gramática: DTD ou Schemas
• Parser XML: interpretador de fácil acesso
Web Services: XML (7)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
<?xml version="1.0"?>
<MANUFACTURER>KomputerSource
<PRODUCT>
<CLASS>Printer
<TYPE>dot matrix</TYPE>
</CLASS>
<NAME>Wizbang3000</NAME>
<FEATURES>
<SPEED Units="ppm">40</SPEED>
<QUALITY Units="dpi">60</QUALITY>
</FEATURES>
<PRICE Units="USD">
<RETAIL>200</RETAIL>
<WHOLESALE>110</WHOLESALE>
</PRICE>
<WEIGHT Units="lbs">10</WEIGHT>
</PRODUCT>
</MANUFACTURER>
Web Services: SOAP (8)
• Simple Object Access Protocol
• Formato de mensagem para invocação de serviços,
escrito em XML
• Criado inicialmente por iniciativa da Microsoft
para o ambiente Windows e adotado pela W3C
• SOAP Envelope
– SOAP Header: controle da mensagem
– SOAP Body: serialização dos parâmetros
Web Services: SOAP (9)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<n:alertcontrol env:mustUnderstand="false"
xmlns:n="http://example.org/alertcontrol">
<n:priority>1</n:priority>
<n:expires>2001-06-22T14:00:00-05:00</n:expires>
</n:alertcontrol>
</env:Header>
<env:Body>
<m:alert xmlns:m="http://example.org/alert">
<m:msg>Pick up Mary at school at 2pm</m:msg>
</m:alert>
</env:Body>
</env:Envelope>
Web Services: WSDL (10)
•
•
•
•
•
•
•
Web Services Description Language
Descreve a interface (contrato) do serviço
Semelhante a IDL de CORBA ou DCOM
Escrito em XML
Suficiente para produzir proxy (client stub)
Acessível por HTTP via Internet
Seções
– Abstratas: Types, Messages e PortTypes;
– Concretas: Bindings e Services;
Web Services: WSDL (11)
<?xml version="1.0" encoding="UTF-8" ?>
( ... )
<message name="Simple.foo">
<part name="arg" type="xsd:int"/>
</message>
<message name="Simple.fooResponse">
<part name="result" type="xsd:int"/>
</message>
<portType name="SimplePortType">
<operation name="foo" parameterOrder="arg" >
<input message="wsdlns:Simple.foo"/>
<output message="wsdlns:Simple.fooResponse"/>
</operation>
</portType>
(...)
Web Services: UDDI (12)
• Universal Description,
Discovery and Integration
• Páginas amarelas de Web
Services: classificadas de
forma padronizada
• Disponibiliza com um Web
Service num nodo UDDI
• É um sistema de registros:
ponteiros para os serviços
Computação em Grade
• Capacidade de compartilhar e agregar capacidades
computacionais e oferecê-las como um serviço
• Surgiu com a descentralização da computação,
possibilitada pela melhoria nas redes de computadores
• Uso de vários computadores colaborando para um mesmo
propósito, ao invés de um caríssimo mainframe
• Cluster x GRID
• Aplicação para problemas que exigem alto poder
computacional
OGSA (1)
• Open Grid Services Architecture
• Padrão aberto para implementação da grade
• Define interface padrões para:
–
–
–
–
–
Descoberta de serviços
Criação dinâmica de serviços
Gerenciamento do ciclo de vida dos serviços
Notificações
Tratamento de erros
OGSA (2)
• Web Services: mecanismo para troca de
mensagem usado no OGSA
• Fornece ao OGSA as vantagens de
independência e flexibilidade
• Arquitetura OGSA é dividida em unidades
funcionais de baixo nível: instâncias de Web
Services
Referências
[1] Andrew S. Tanenbaum. Distributed Operating Systems. Prentice Hall. 1995.
[2] W3C. Web Services Archtiecture. August, 2003.
Disponível em www.w3c.org/TR/2003/WD-ws-arch-20030808/
[3] SYSTINET. Web Services: A Practical Introduction. 2003.
[4] uddi.org. UDDI Executive White Paper. November 14, 2001.
Site: www.uddi.org
[5] uddi.org. UDDI Technical White Paper. September 6, 2000.
Site: www.uddi.org
[6] Rajkumar Buyya. Answers to the Enterprise Architect Magazine Query.
Disponível em http://www.cs.mu.oz.au/~raj/press/EA03/EAInterview.pdf
[7] I.Foster, C.Kesselman,J.M.Nick, S.Tuecke. The Phisiology of the Grid – An
Open Grid Services Architecture for Distributed Systems Integration. Draft,
2002.
Disponível em
http://www.gridforum.org/ogsi-wg/drafts/ogsa_draft2.9_2002-06-22.pdf