Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael...

19
Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003

Transcript of Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael...

Page 1: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

Web Services aplicado à Computação em Grade

Disciplina Engenharia de RedesProfessor: Dr. Michael Stanton

Aluno: Marcio BeloDezembro de 2003

Page 2: 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

Page 3: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 4: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 5: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 6: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

Web Services (3)• RPC

Page 7: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 8: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 9: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 10: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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>

Page 11: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 12: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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>

Page 13: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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;

Page 14: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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> (...)

Page 15: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 16: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 17: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 18: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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

Page 19: Web Services aplicado à Computação em Grade Disciplina Engenharia de Redes Professor: Dr. Michael Stanton Aluno: Marcio Belo Dezembro de 2003.

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