Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael...
Transcript of Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael...
Web Services aplicado à Computação em Grade
Disciplina Engenharia de RedesProfessor: Dr. Michael Stanton
Aluno: Marcio BeloDezembro 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 o serviço
UDDI
WSDLPonteiros para a Descrição
Web Service
Descreve o Serviço
Consumidor
SOAP
Encontra um serviço
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